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.

VxWorks 5.5<br />

<strong>BSP</strong> Developer’s <strong>Guide</strong><br />

Your endMCastAddrDel( ) must also reconfigure the driver (in a<br />

hardware-specific way) so that the driver longer receives frames with the<br />

specified address.<br />

Getting the Multicast Address Table: endMCastAddrGet( )<br />

Your endMCastAddrGet( ) must get a table of multicast addresses and return it in<br />

the buffer referenced in the pMultiTable parameter. These addresses are the list of<br />

multicast addresses to which the interface is currently listening. Your<br />

endMCastAddrGet( ) must take the following form:<br />

STATUS endMCastGetAddr<br />

(<br />

void* pCookie,<br />

MULTI_TABLE* pMultiTable<br />

)<br />

To get the list of multicast address, use the routines provided in etherMultiLib.<br />

This function should return OK or ERROR. If an error occurs, it should set errno.<br />

The parameters are:<br />

pCookie<br />

Passes in a pointer to the END_OBJ structure you returned from your<br />

endLoad( ).<br />

pMultiTable<br />

Passes in a pointer to a buffer. This is an output parameter. Your<br />

endMCastAddrGet( ) must write a MULTI_TABLE structure into the<br />

referenced buffer. end.h defines MULTI_TABLE as follows:<br />

typedef struct<br />

{<br />

long len; /* length of table in bytes */<br />

char *pTable; /* pointer to entries */<br />

} MULTI_TABLE;<br />

Modify the len member of the MULTI_TABLE to indicate just how many<br />

addresses you are returning. Write the addresses to the buffer referenced in the<br />

pTable member of the MULTI_TABLE.<br />

298

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

Saved successfully!

Ooh no, something went wrong!