DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

udi_gio_client_ops_t(3udi)


Client entry point ops vector

SYNOPSIS

#include <udi.h>

typedef const struct {

	udi_channel_event_ind_op_t *channel_event_ind_op;

	udi_gio_bind_ack_op_t *gio_bind_ack_op;

	udi_gio_unbind_ack_op_t *gio_unbind_ack_op;

	udi_gio_xfer_ack_op_t *gio_xfer_ack_op;

	udi_gio_xfer_nak_op_t *gio_xfer_nak_op;

	udi_gio_event_ind_op_t *gio_event_ind_op;

} udi_gio_client_ops_t;
 
/* Ops Vector Number */
 
#define  UDI_GIO_CLIENT_OPS_NUM				2
 

DESCRIPTION A Generic I/O client 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 acknowledgements, and event indications.

EXAMPLE The driver's udi_init_info might include the following:

#define MY_GIO_OPS  1 /* Ops for my parent GIO provider */

#define MY_GIO_META 1 /* Meta index for GIO meta */
 
static const

   udi_gio_client_ops_t ddd_gio_client_ops = {

	ddd_gio_channel_event_ind,

	ddd_gio_bind_ack,

	ddd_gio_unbind_ack,

	ddd_gio_xfer_ack,

	ddd_gio_xfer_nak,

	ddd_gio_event_ind

};
 
...
 
static const udi_ops_init_t ddd_ops_init_list[] = {

	{	MY_GIO_OPS,

		MY_GIO_META,

		UDI_GIO_CLIENT_OPS_NUM,

		0, /* chan_context_size */

		(udi_ops_vector_t *)&ddd_gio_client_ops },

	{ 0 }

};
 

UDI Core Specification Contents