5
#include <pcilib/unit.h>
7
#define PCILIB_VIEW_INVALID ((pcilib_view_t)-1)
9
//typedef void *pcilib_view_context_t;
10
typedef struct pcilib_view_context_s *pcilib_view_context_t;
13
pcilib_version_t version;
14
size_t description_size;
15
pcilib_view_context_t (*init)(pcilib_t *ctx);
16
void (*free)(pcilib_t *ctx, pcilib_view_context_t *view);
17
int (*read_from_reg)(pcilib_t *ctx, pcilib_view_context_t *view, const pcilib_register_value_t *regval, pcilib_data_type_t viewval_type, size_t viewval_size, void *viewval);
18
int (*write_to_reg)(pcilib_t *ctx, pcilib_view_context_t *view, pcilib_register_value_t *regval, pcilib_data_type_t viewval_type, size_t viewval_size, const void *viewval);
19
} pcilib_view_api_description_t;
22
const pcilib_view_api_description_t *api;
23
pcilib_data_type_t type; /**< The default data type returned by operation, PCILIB_VIEW_TYPE_STRING is supported by all operations */
24
const char *unit; /**< Returned unit (if any) */
25
const char *name; /**< Name of the view */
26
const char *description; /**< Short description */
27
} pcilib_view_description_t;
33
int pcilib_add_views(pcilib_t *ctx, size_t n, const pcilib_view_description_t *desc);
34
pcilib_view_t pcilib_find_view_by_name(pcilib_t *ctx, const char *view);
40
#endif /* PCILIB_VIEW_H */