A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.
Dependents: oldheating gps motorhome heating
ip4hdr.h
00001 #include <stdbool.h> 00002 #include <stdint.h> 00003 00004 extern char* Ip4HdrPtrVersionIhl (char* pPacket); 00005 extern char* Ip4HdrPtrTos (char* pPacket); 00006 extern char* Ip4HdrPtrLength (char* pPacket); 00007 extern char* Ip4HdrPtrId (char* pPacket); 00008 extern char* Ip4HdrPtrFragInfo (char* pPacket); 00009 extern char* Ip4HdrPtrTtl (char* pPacket); 00010 extern char* Ip4HdrPtrProtocol (char* pPacket); 00011 extern char* Ip4HdrPtrChecksum (char* pPacket); 00012 extern char* Ip4HdrPtrSrc (char* pPacket); 00013 extern char* Ip4HdrPtrDst (char* pPacket); 00014 extern const int IP4_HEADER_LENGTH; 00015 00016 extern uint8_t Ip4HdrGetVersion (char* pPacket); 00017 extern int Ip4HdrGetHeaderLen (char* pPacket); 00018 extern uint8_t Ip4HdrGetTos (char* pPacket); 00019 extern uint16_t Ip4HdrGetLength (char* pPacket); 00020 extern uint16_t Ip4HdrGetId (char* pPacket); 00021 extern uint16_t Ip4HdrGetFragOffset(char* pPacket); 00022 extern bool Ip4HdrGetDontFrag (char* pPacket); 00023 extern bool Ip4HdrGetMoreFrags (char* pPacket); 00024 extern uint8_t Ip4HdrGetTtl (char* pPacket); 00025 extern uint8_t Ip4HdrGetProtocol (char* pPacket); 00026 extern uint16_t Ip4HdrGetChecksum (char* pPacket); 00027 extern uint32_t Ip4HdrGetSrc (char* pPacket); 00028 extern uint32_t Ip4HdrGetDst (char* pPacket); 00029 00030 extern void Ip4HdrSetVersion (char* pPacket, uint8_t value); 00031 extern void Ip4HdrSetHeaderLen (char* pPacket, int value); 00032 extern void Ip4HdrSetTos (char* pPacket, uint8_t value); 00033 extern void Ip4HdrSetLength (char* pPacket, uint16_t value); 00034 extern void Ip4HdrSetId (char* pPacket, uint16_t value); 00035 extern void Ip4HdrSetFragInfo (char* pPacket, uint16_t value); 00036 extern void Ip4HdrSetFragOffset (char* pPacket, uint16_t value); 00037 extern void Ip4HdrSetDontFrag (char* pPacket, bool value); 00038 extern void Ip4HdrSetMoreFrags (char* pPacket, bool value); 00039 extern void Ip4HdrSetTtl (char* pPacket, uint8_t value); 00040 extern void Ip4HdrSetProtocol (char* pPacket, uint8_t value); 00041 extern void Ip4HdrSetChecksum (char* pPacket, uint16_t value); 00042 extern void Ip4HdrSetSrc (char* pPacket, uint32_t value); 00043 extern void Ip4HdrSetDst (char* pPacket, uint32_t value);
Generated on Tue Jul 12 2022 18:53:40 by 1.7.2