Andrew Boyson / net

Dependents:   oldheating gps motorhome heating

Committer:
andrewboyson
Date:
Sat Nov 17 15:49:03 2018 +0000
Revision:
83:08c983006a6e
Parent:
82:20781198d26d
Child:
93:580fc113d9e9
Added "send requests via IPv4" toggles for DNS, NTP and TFTP.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 74:c3756bfa960e 1 #ifndef TCB_H
andrewboyson 74:c3756bfa960e 2 #define TCB_H
andrewboyson 74:c3756bfa960e 3
andrewboyson 61:aad055f1b0d1 4 #include <stdint.h>
andrewboyson 61:aad055f1b0d1 5 #include <stdbool.h>
andrewboyson 61:aad055f1b0d1 6
andrewboyson 74:c3756bfa960e 7 #define TCB_EMPTY 0
andrewboyson 74:c3756bfa960e 8 #define TCB_SYN_RECEIVED 1
andrewboyson 74:c3756bfa960e 9 #define TCB_ESTABLISHED 2
andrewboyson 74:c3756bfa960e 10 #define TCB_CLOSE_FIN_WAIT 3
andrewboyson 10:f0854784e960 11
andrewboyson 10:f0854784e960 12 struct tcb
andrewboyson 10:f0854784e960 13 {
andrewboyson 10:f0854784e960 14 int state;
andrewboyson 79:f50e02fb5c94 15 uint32_t timeSendsBeingAcked; //Used for RTO
andrewboyson 82:20781198d26d 16 int countSendsNotAcked; //Used for RTO
andrewboyson 79:f50e02fb5c94 17 uint32_t timeLastRcvd; //Used for detect idle links
andrewboyson 74:c3756bfa960e 18 int ipType;
andrewboyson 80:4ef1500fca1d 19 int remArIndex; //Unique per remote ip when taken with the ipType
andrewboyson 80:4ef1500fca1d 20 int locIpScope; //Unique per local ip
andrewboyson 74:c3756bfa960e 21 uint16_t remPort;
andrewboyson 74:c3756bfa960e 22 uint16_t locPort;
andrewboyson 74:c3756bfa960e 23 uint32_t remMss;
andrewboyson 74:c3756bfa960e 24 uint32_t window;
andrewboyson 74:c3756bfa960e 25
andrewboyson 74:c3756bfa960e 26 uint32_t remIsn;
andrewboyson 74:c3756bfa960e 27 uint32_t bytesRcvdFromRem;
andrewboyson 74:c3756bfa960e 28 uint32_t bytesAckdToRem;
andrewboyson 74:c3756bfa960e 29 bool rcvdFin;
andrewboyson 74:c3756bfa960e 30
andrewboyson 54:84ef2b29cf7e 31 int32_t todo;
andrewboyson 74:c3756bfa960e 32
andrewboyson 74:c3756bfa960e 33 uint32_t locIsn;
andrewboyson 74:c3756bfa960e 34 uint32_t bytesSentToRem;
andrewboyson 74:c3756bfa960e 35 uint32_t bytesAckdByRem;
andrewboyson 74:c3756bfa960e 36 bool sentFin;
andrewboyson 10:f0854784e960 37 };
andrewboyson 10:f0854784e960 38
andrewboyson 52:fbc5a46b5e16 39 extern uint32_t TcbElapsed;
andrewboyson 61:aad055f1b0d1 40 extern uint32_t TcbGetIsn(void);
andrewboyson 80:4ef1500fca1d 41 extern struct tcb* TcbGetExisting(int ipType, int remArIndex, int locIpScope, uint16_t remPort, uint16_t locPort);
andrewboyson 61:aad055f1b0d1 42 extern struct tcb* TcbGetEmpty(void);
andrewboyson 83:08c983006a6e 43 extern struct tcb* TcbGetNext(struct tcb* pTcb);
andrewboyson 61:aad055f1b0d1 44 extern void TcbMain(void);
andrewboyson 74:c3756bfa960e 45 extern void TcbInit(void);
andrewboyson 74:c3756bfa960e 46
andrewboyson 74:c3756bfa960e 47 #endif