02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

H<br />

Implementing a MUX-Based Network Interface Driver<br />

mib2Tbl<br />

An M2_INTERFACETBL structure for tracking the MIB-II variables used in<br />

your driver. Your driver must initialize the structure referenced here, although<br />

both your driver and the MUX will later adjust the values stored in the table.<br />

NOTE: The mib2Tbl field is retained for backwards compatibility with RFC 1213.<br />

It is not recommended for new drivers. For new drivers, use the RFC 2233<br />

interface. For more information, see H.7 Converting an END Driver from RFC 1213<br />

to RFC 2233, p.311.<br />

pAddrList<br />

A pointer to the head of a list of multicast addresses. The MUX sets and<br />

manages this list, but it uses your driver’s endMCastAddrAdd( ),<br />

endMCastAddrDel( ), and endMCastAddrGet( ) entry points to do so.<br />

nMulti<br />

A value indicating the number of addresses on the list referenced in the<br />

multiList member. The MUX sets this value using the information returned by<br />

your driver’s endMCastAddrGet( ).<br />

protocols<br />

The head of the list of protocols that have bound themselves to this network<br />

driver. The MUX manages this list.<br />

snarfProto<br />

A BOOL indicating whether a packet-snarfing protocol has bound itself to this<br />

driver. Such a protocol can prevent the packet from passing on to lower<br />

priority protocols (see Snarfing Protocols Block Packets to Lower Priority Protocols,<br />

p.302). The MUX sets and manages this value.<br />

pMemPool<br />

A pointer to a netBufLib-managed memory pool. The MUX sets the value of<br />

this member. Treat it as opaque.<br />

pMib2Tbl<br />

The interface table for RFC 2233 compliance.<br />

H<br />

Tracking Your Device’s Control Structure: DEV_OBJ<br />

Your driver uses the DEV_OBJ structure to tell the MUX the name of your device<br />

and to hand the MUX a pointer to your device’s control structure. This control<br />

structure is a device-specific structure that you define according to your needs.<br />

Your driver uses this control structure to track things such as flags, memory pool<br />

285

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!