Modules/IPStack - Add structure for propagating ICMP errors
[tpg/acess2.git] / KernelLand / Modules / IPStack / ipv4.h
index 2c3e1ca..c31b751 100644 (file)
@@ -6,6 +6,7 @@
 #define _IPV4_H_
 
 #include "ipstack.h"
+#include "include/buffer.h"
 
 typedef struct sIPv4Header     tIPv4Header;
 
@@ -41,12 +42,16 @@ struct sIPv4Header
 #define IP4PROT_ICMP   1
 #define IP4PROT_TCP    6
 #define IP4PROT_UDP    17
+#define IPV4_BUFFERS   3       // 1 + Link
 
 #define IPV4_ETHERNET_ID       0x0800
 
 // === FUNCTIONS ===
-extern int     IPv4_RegisterCallback(int ID, tIPCallback Callback);
+extern int     IPv4_RegisterCallback(int ID, tIPRxCallback *RxCallback, tIPErrorCallback *ErrCallback);
 extern Uint16  IPv4_Checksum(const void *Buf, size_t Length);
-extern int     IPv4_SendPacket(tInterface *Iface, tIPv4 Address, int Protocol, int ID, int Length, const void *Data);
+extern Uint32  IPv4_Netmask(int FixedBits);
+extern int     IPv4_SendPacket(tInterface *Iface, tIPv4 Address, int Protocol, int ID, tIPStackBuffer *Buffer);
+
+extern void    IPv4_HandleError(tInterface *Iface, tIPErrorMode Mode, size_t Length, const void *Buf);
 
 #endif

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