...
A sample Ethernet interface API structure is shown below.
Code Block |
---|
const NET_DEV_API_ETHER NetDev_API_<controler> = { NetDev_Init, (1)
NetDev_Start, (2)
NetDev_Stop, (3)
NetDev_Rx, (4)
NetDev_Tx, (5)
NetDev_AddrMulticastAdd, (6)
NetDev_AddrMulticastRemove, (7)
NetDev_ISR_Handler, (8)
NetDev_IO_Ctrl, (9)
NetDev_MII_Rd, (10)
NetDev_MII_Wr (11)
}; |
Panel | ||
---|---|---|
| ||
(1) Device initialization/add function pointer (2) Device start function pointer (3) Device stop function pointer (4) Device Receive function pointer (5) Device transmit function pointer (6) Device multicast address add function pointer (7) Device multicast address remove function pointer (8) Device interrupt service routine (ISR) handler function pointer (9) Device I/O control function pointer (10) Physical layer (PHY) register read function pointer (11) Physical layer (PHY) register write function pointer |
It is the device driver developers’ responsibility to ensure that all of the functions listed within the API are properly implemented and that the order of the functions within the API structure is correct.
...
The following figure describes the call path from the application layer through the Core, Interface and Controller layers.
...
Panel |
---|