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 />

Table H-1<br />

Required Driver Entry Points (Continued)<br />

Routine<br />

endMCastAddrDel( )<br />

endMCastAddrGet( )<br />

endPollSend( )<br />

endPollReceive( )<br />

endAddressForm( )<br />

endPacketDataGet( )<br />

endPacketAddrGet( )<br />

Purpose<br />

Delete an address from the device’s multicast address list.<br />

Get the list of multicast addresses maintained for this device.<br />

Do a polling send.<br />

Do a polling receive.<br />

Add the appropriate link-level information into a mBlk in<br />

preparation for transmission.<br />

Extract packet data (omitting link-level information) from one<br />

mBlk and write it to another.<br />

Extract address information (omitting packet data) from one<br />

mBlk and write out each source and destination address to its<br />

own mBlk. For an Ethernet packet, this requires two output<br />

mBlks. However, for some non-Ethernet packets, this could<br />

require as many as four output mBlks because the local source<br />

and destination addresses can differ from the ultimate source and<br />

destination addresses.<br />

! WARNING: If you are porting a driver from the BSD 4.3 model, you might be<br />

tempted to use the existing xxIoctl( ) entry point as your endIoctl( ) entry point,<br />

skipping the creation of separate entry points for the various MCastAddr entry<br />

points. Do not do this. Your driver must implement all entry points shown in<br />

Table H-1.<br />

Loading the Device: endLoad( )<br />

Your endLoad( ) entry point serves the same function that the attach( ) entry points<br />

do under the 4.3 BSD based system. endLoad( ) is the initial entry point into every<br />

network interface driver. The tUserRoot task specifies your endLoad( ) as an input<br />

parameter when it calls muxDevLoad( ) to load your driver.<br />

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

290

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

Saved successfully!

Ooh no, something went wrong!