11
int pcilib_property_registers_read(pcilib_t *ctx, pcilib_register_bank_context_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t *regval) {
14
pcilib_view_t view = addr;
15
pcilib_value_t val = {0};
17
if ((view == PCILIB_VIEW_INVALID)||(view >= ctx->num_views))
18
return PCILIB_ERROR_INVALID_ARGUMENT;
20
err = pcilib_get_property(ctx, ctx->views[view]->name, &val);
23
*regval = pcilib_get_value_as_register_value(ctx, &val, &err);
29
int pcilib_property_registers_write(pcilib_t *ctx, pcilib_register_bank_context_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t regval) {
32
pcilib_view_t view = addr;
33
pcilib_value_t val = {0};
35
if ((view == PCILIB_VIEW_INVALID)||(view >= ctx->num_views))
36
return PCILIB_ERROR_INVALID_ARGUMENT;
38
err = pcilib_set_value_from_register_value(ctx, &val, regval);
41
return pcilib_set_property(ctx, ctx->views[view]->name, &val);