udi_nd_ctrl_ops_t(3udi)


ND control entry point ops vector

SYNOPSIS

#include <udi.h>

typedef const struct {

	udi_channel_event_ind_op_t *channel_event_ind_op;

	udi_nd_bind_req_op_t *nd_bind_req_op;

	udi_nd_unbind_req_op_t *nd_unbind_req_op;

	udi_nd_enable_req_op_t *nd_enable_req_op;

	udi_nd_disable_req_op_t *nd_disable_req_op;

	udi_nd_ctrl_req_op_t *nd_ctrl_req_op;

	udi_nd_info_req_op_t *nd_info_req_op;

} udi_nd_ctrl_ops_t;
 
/* ND Control Ops Vector Number */
 
#define  UDI_ND_CTRL_OPS_NUM				1
 

DESCRIPTION A Network Driver uses the udi_nd_ctrl_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for the Network Interface Metalanguage control channel operations.

REFERENCES udi_nd_tx_ops_t, udi_nd_rx_ops_t

EXAMPLE A typical Network Driver may include the following declarations:

/* Forward Declarations */

static udi_channel_event_ind_op_t

			my_channel_event_handler;

static udi_nd_bind_req_op_t my_bind_handler;

static udi_nd_unbind_req_op_t my_unbind_handler;

static udi_nd_enable_req_op_t my_enable_handler;

static udi_nd_disable_req_op_t my_disable_handler;

static udi_nd_ctrl_req_op_t my_control_req_handler;

static udi_nd_info_req_op_t my_info_provider;
 
static const udi_nd_ctrl_ops_t my_ctrl_ops = {

	my_channel_event_handler,

	my_bind_handler,

	my_unbind_handler,

	my_enable_handler,

	my_disable_handler,

	my_control_req_handler,

	my_info_provider

};
 
#define MY_ND_CTRL_OPS  4

#define MY_NET_META     1 /* meta_idx */
 

 
static const udi_ops_init_t my_net_ops_init[] = {

	{

		MY_ND_CTRL_OPS,

		MY_NET_META,

		UDI_ND_CTRL_OPS_NUM,

		sizeof(my_net_child_data_t),

		(udi_ops_vector_t *)&my_ctrl_ops,

	},

	...

};
 

 

Which would then be used with the following udiprops.txt entries:

requires udi_nic 0x101

child_bind_ops 1 0 4 # Net Meta bind for primary rgn
 

UDI NIC Driver Specification Contents