udi_gio_provider_ops_t(3udi)


Provider entry point ops vector

SYNOPSIS

#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				1
 

DESCRIPTION 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 }

};
 

UDI Core Specification Contents