|
|
udi_gio_provider_ops_t(3udi)
Provider entry point ops vector
#include <udi.h>typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_gio_bind_req_op_t *gio_bind_req_op; udi_gio_unbind_req_op_t *gio_unbind_req_op; udi_gio_xfer_req_op_t *gio_xfer_req_op; udi_gio_event_res_op_t *gio_event_res_op; } udi_gio_provider_ops_t; /* Ops Vector Number */#define UDI_GIO_PROVIDER_OPS_NUM 1DESCRIPTION A Generic I/O provider uses the udi_gio_provider_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for receiving generic I/O bind and transfer requests, and event responses.
EXAMPLE The driver's udi_init_info might include the following:
#define MY_GIO_OPS 1 /* Ops for my child GIO client */
#define MY_GIO_META 1 /* Meta index for GIO meta */ static const udi_gio_provider_ops_t ddd_gio_provider_ops = { ddd_gio_channel_event_ind, ddd_gio_bind_req, ddd_gio_unbind_req, ddd_gio_xfer_req, ddd_gio_event_res }; ... static const udi_ops_init_t ddd_ops_init_list[] = { { MY_GIO_OPS, MY_GIO_META, UDI_GIO_PROVIDER_OPS_NUM, 0, /* chan_context_size */ (udi_ops_vector_t *)&ddd_gio_provider_ops }, { 0 } };