xref: /qemu/tests/qtest/libqos/fw_cfg.h (revision 234c69c5f92f18d7692e859d2784edb17a88873f)
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