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

Committer:
andrewboyson
Date:
Tue Oct 23 06:46:50 2018 +0000
Revision:
73:43e3d7fb3d60
Child:
74:c3756bfa960e
Separated the TCP header into its own module

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 73:43e3d7fb3d60 1 extern void TcpHdrLog(uint16_t calculatedChecksum);
andrewboyson 73:43e3d7fb3d60 2
andrewboyson 73:43e3d7fb3d60 3 extern void TcpHdrRead ( void* pPacket);
andrewboyson 73:43e3d7fb3d60 4 extern void TcpHdrReadOptions( void* pPacket);
andrewboyson 73:43e3d7fb3d60 5
andrewboyson 73:43e3d7fb3d60 6 extern void TcpHdrWrite(int size, void* pPacket);
andrewboyson 73:43e3d7fb3d60 7 extern void TcpHdrAddChecksum(void*pPacket, uint16_t checksum);
andrewboyson 73:43e3d7fb3d60 8
andrewboyson 73:43e3d7fb3d60 9 extern void TcpHdrWriteOptions(void* pPacket);
andrewboyson 73:43e3d7fb3d60 10 extern void TcpHdrClearOptions(void);
andrewboyson 73:43e3d7fb3d60 11
andrewboyson 73:43e3d7fb3d60 12 extern uint16_t TcpHdrSrcPort;
andrewboyson 73:43e3d7fb3d60 13 extern uint16_t TcpHdrDstPort;
andrewboyson 73:43e3d7fb3d60 14 extern uint32_t TcpHdrSeqNum;
andrewboyson 73:43e3d7fb3d60 15 extern uint32_t TcpHdrAckNum;
andrewboyson 73:43e3d7fb3d60 16 extern int TcpHdrSize;
andrewboyson 73:43e3d7fb3d60 17 extern bool TcpHdrURG; //indicates that the Urgent pointer field is significant
andrewboyson 73:43e3d7fb3d60 18 extern bool TcpHdrACK; //indicates that the Acknowledgment field is significant. All packets after the initial SYN packet sent by the client should have this flag set.
andrewboyson 73:43e3d7fb3d60 19 extern bool TcpHdrPSH; //Push function. Asks to push the buffered data to the receiving application.
andrewboyson 73:43e3d7fb3d60 20 extern bool TcpHdrRST; //Reset the connection
andrewboyson 73:43e3d7fb3d60 21 extern bool TcpHdrSYN; //Synchronize sequence numbers. Only the first packet sent from each end should have this flag set. Some other flags and fields change meaning based on this flag, and some are only valid for when it is set, and others when it is clear.
andrewboyson 73:43e3d7fb3d60 22 extern bool TcpHdrFIN; //No more data from sender
andrewboyson 73:43e3d7fb3d60 23 extern uint16_t TcpHdrWindow;
andrewboyson 73:43e3d7fb3d60 24 extern uint16_t TcpHdrChecksum;
andrewboyson 73:43e3d7fb3d60 25 extern uint16_t TcpHdrUrgent;
andrewboyson 73:43e3d7fb3d60 26
andrewboyson 73:43e3d7fb3d60 27 extern uint16_t TcpHdrMss;