Modules/IPStack - Moving to reduction of memcpy usage
[tpg/acess2.git] / KernelLand / Modules / IPStack / link.h
1 /*
2  * Acess2 IP Stack
3  * - Link/Media Layer Header
4  */
5 #ifndef _LINK_H_
6 #define _LINK_H_
7
8 #include "include/buffer.h"
9
10 // === EXTERNAL ===
11 typedef void (*tPacketCallback)(tAdapter *Interface, tMacAddr From, int Length, void *Buffer);
12
13 extern void     Link_RegisterType(Uint16 Type, tPacketCallback Callback);
14 extern void     Link_SendPacket(tAdapter *Interface, Uint16 Type, tMacAddr To, tIPStackBuffer *Buffer);
15 extern void     Link_WatchDevice(tAdapter *Adapter);
16
17 // === INTERNAL ===
18 typedef struct sEthernetHeader  tEthernetHeader;
19 typedef struct sEthernetFooter  tEthernetFooter;
20 struct sEthernetHeader {
21         tMacAddr        Dest;
22         tMacAddr        Src;
23         Uint16  Type;
24         Uint8   Data[];
25 };
26
27 struct sEthernetFooter {
28         //Uint32        CRC;
29 };
30
31 #endif

UCC git Repository :: git.ucc.asn.au