1*234c69c5SAnthony Liguori /* 2*234c69c5SAnthony Liguori * libqos fw_cfg support 3*234c69c5SAnthony Liguori * 4*234c69c5SAnthony Liguori * Copyright IBM, Corp. 2012-2013 5*234c69c5SAnthony Liguori * 6*234c69c5SAnthony Liguori * Authors: 7*234c69c5SAnthony Liguori * Anthony Liguori <aliguori@us.ibm.com> 8*234c69c5SAnthony Liguori * 9*234c69c5SAnthony Liguori * This work is licensed under the terms of the GNU GPL, version 2 or later. 10*234c69c5SAnthony Liguori * See the COPYING file in the top-level directory. 11*234c69c5SAnthony Liguori */ 12*234c69c5SAnthony Liguori 13*234c69c5SAnthony Liguori #ifndef LIBQOS_FW_CFG_H 14*234c69c5SAnthony Liguori #define LIBQOS_FW_CFG_H 15*234c69c5SAnthony Liguori 16*234c69c5SAnthony Liguori #include <stdint.h> 17*234c69c5SAnthony Liguori #include <sys/types.h> 18*234c69c5SAnthony Liguori 19*234c69c5SAnthony Liguori typedef struct QFWCFG QFWCFG; 20*234c69c5SAnthony Liguori 21*234c69c5SAnthony Liguori struct QFWCFG 22*234c69c5SAnthony Liguori { 23*234c69c5SAnthony Liguori void (*select)(QFWCFG *fw_cfg, uint16_t key); 24*234c69c5SAnthony Liguori void (*read)(QFWCFG *fw_cfg, void *data, size_t len); 25*234c69c5SAnthony Liguori }; 26*234c69c5SAnthony Liguori 27*234c69c5SAnthony Liguori void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key); 28*234c69c5SAnthony Liguori void qfw_cfg_read_data(QFWCFG *fw_cfg, void *data, size_t len); 29*234c69c5SAnthony Liguori void qfw_cfg_get(QFWCFG *fw_cfg, uint16_t key, void *data, size_t len); 30*234c69c5SAnthony Liguori uint16_t qfw_cfg_get_u16(QFWCFG *fw_cfg, uint16_t key); 31*234c69c5SAnthony Liguori uint32_t qfw_cfg_get_u32(QFWCFG *fw_cfg, uint16_t key); 32*234c69c5SAnthony Liguori uint64_t qfw_cfg_get_u64(QFWCFG *fw_cfg, uint16_t key); 33*234c69c5SAnthony Liguori 34*234c69c5SAnthony Liguori #endif 35