X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FIPStack%2Fipstack.h;h=3833ce7b0d6c2ed345765f511a6678f2d6529383;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hp=ddcdde9649ea22810e8a2a273809fc32281c5ddf;hpb=5ee801f4fb22bba3298f10273027e67f53692e4c;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/IPStack/ipstack.h b/KernelLand/Modules/IPStack/ipstack.h index ddcdde96..3833ce7b 100644 --- a/KernelLand/Modules/IPStack/ipstack.h +++ b/KernelLand/Modules/IPStack/ipstack.h @@ -15,7 +15,16 @@ typedef struct sAdapter tAdapter; typedef struct sInterface tInterface; typedef struct sSocketFile tSocketFile; -typedef void (*tIPCallback)(tInterface *Interface, void *Address, int Length, void *Buffer); +typedef enum eIPErrorMode +{ + IPERR_MISC, + IPERR_HOST_UNREACHABLE, + IPERR_PORT_UNREACHABLE, +} tIPErrorMode; + +// NOTE: Non-const to allow reuse of Rx buffer for prepping Tx +typedef void tIPRxCallback(tInterface *Interface, void *Address, int Length, void *Buffer); +typedef void tIPErrorCallback(tInterface *Interface, tIPErrorMode mode, const void *Address, int Length, const void *Buffer); enum eInterfaceTypes { AF_NULL,