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
tcp/tcb.h
- Committer:
- andrewboyson
- Date:
- 2018-11-11
- Revision:
- 79:f50e02fb5c94
- Parent:
- 78:9d8fc88df405
- Child:
- 80:4ef1500fca1d
File content as of revision 79:f50e02fb5c94:
#ifndef TCB_H #define TCB_H #include <stdint.h> #include <stdbool.h> #define TCB_EMPTY 0 #define TCB_SYN_RECEIVED 1 #define TCB_ESTABLISHED 2 #define TCB_CLOSE_FIN_WAIT 3 struct tcb { int state; uint32_t timeSendsBeingAcked; //Used for RTO uint32_t timeLastRcvd; //Used for detect idle links int remArIndex; int ipType; uint16_t remPort; uint16_t locPort; uint32_t remMss; uint32_t window; uint32_t remIsn; uint32_t bytesRcvdFromRem; uint32_t bytesAckdToRem; bool rcvdFin; int32_t todo; uint32_t locIsn; uint32_t bytesSentToRem; uint32_t bytesAckdByRem; bool sentFin; }; extern uint32_t TcbElapsed; extern uint32_t TcbGetIsn(void); extern struct tcb* TcbGetExisting(int ipType, int remArIndex, uint16_t port); extern struct tcb* TcbGetEmpty(void); extern void TcbGetNext(struct tcb** ppTcb); extern void TcbMain(void); extern void TcbInit(void); #endif