LOCAL NET_FUNCS netFuncs =
{
(FUNCPTR)fei82557Start, /* start func. */
(FUNCPTR)fei82557Stop, /* stop func. */
(FUNCPTR)fei82557Unload, /* unload func. */
(FUNCPTR)fei82557Ioctl, /* ioctl func. */
(FUNCPTR)fei82557Send, /* send func. */
(FUNCPTR)fei82557MCastAddrAdd, /* multicast add func. */
(FUNCPTR)fei82557MCastAddrDel, /* multicast delete func. */
(FUNCPTR)fei82557MCastAddrGet, /* multicast get fun. */
(FUNCPTR)fei82557PollSend, /* polling send func. */
(FUNCPTR)fei82557PollReceive, /* polling receive func. */
endEtherAddressForm, /* put address info into a NET_BUFFER. */
endEtherPacketDataGet, /* get pointer to data in NET_BUFFER. */
endEtherPacketAddrGet /* Get packet addresses. */
};
/*
* NET_FUNCS - driver function table
*
* This is a table that is created, one per driver, to hold all the
* function pointers for that driver. In this way we can have only one
* instance to this structer, but one pointer per netDevice structure.
*/
typedef struct net_funcs
{
STATUS (*start) (END_OBJ*); /* Driver's start func. */
STATUS (*stop) (END_OBJ*); /* Driver's stop func. */
STATUS (*unload) (END_OBJ*); /* Driver's unload func. */
int (*ioctl) (END_OBJ*, int, caddr_t); /* Driver's ioctl func. */
STATUS (*send) (END_OBJ* , M_BLK_ID); /* Driver's send func. */
STATUS (*mCastAddrAdd) (END_OBJ*, char*); /* Driver's mcast add func. */
STATUS (*mCastAddrDel) (END_OBJ*, char*); /* Driver's mcast delete func. */
STATUS (*mCastAddrGet) (END_OBJ*, MULTI_TABLE*);
/* Driver's mcast get fun. */
STATUS (*pollSend) (END_OBJ*, M_BLK_ID); /* Driver's polling send func. */
STATUS (*pollRcv) (END_OBJ*, M_BLK_ID); /* Driver's polling receive func. */
M_BLK_ID (*formAddress) (M_BLK_ID, M_BLK_ID, M_BLK_ID, BOOL);
/* Driver's addr formation func. */
STATUS (*packetDataGet) (M_BLK_ID, LL_HDR_INFO *);
/* Driver's packet data get func. */
STATUS (*addrGet) (M_BLK_ID, M_BLK_ID, M_BLK_ID, M_BLK_ID, M_BLK_ID);
/* Driver's packet addr get func. */
int (*endBind) (void*, void*, void*, long type);
/* information exchange between */
/* network service and network driver */
} NET_FUNCS;
0 评论:
发表评论