2 * Acess2 E1000 Network Driver
3 * - By John Hodge (thePowersGang)
6 * - Intel E1000 Network Card Driver (core)
9 #define VERSION VER2(0,1)
14 #include <IPStack/include/adapters_api.h>
17 int E1000_Install(char **Arguments);
18 int E1000_Cleanup(void);
19 tIPStackBuffer *E1000_WaitForPacket(void *Ptr);
20 int E1000_SendPacket(void *Ptr, tIPStackBuffer *Buffer);
21 void E1000_IRQHandler(int Num, void *Ptr);
24 MODULE_DEFINE(0, VERSION, E1000, E1000_Install, E1000_Cleanup, NULL);
25 tIPStack_AdapterType gE1000_AdapterType = {
27 .Type = 0, // TODO: Differentiate differnet wire protos and speeds
28 .Flags = 0, // TODO: IP checksum offloading, MAC checksum offloading etc
29 .SendPacket = E1000_SendPacket,
30 .WaitForPacket = E1000_WaitForPacket
34 int E1000_Install(char **Arguments)
36 for( int id = -1; (id = PCI_GetDevice(0x8086, 0x100E, id)) != -1; )
40 return MODULE_ERR_NOTNEEDED;
43 int E1000_Cleanup(void)
48 tIPStackBuffer *E1000_WaitForPacket(void *Ptr)
53 int E1000_SendPacket(void *Ptr, tIPStackBuffer *Buffer)
58 void E1000_IRQHandler(int Num, void *Ptr)