Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: oldheating gps motorhome heating
tcp/tcb.h@83:08c983006a6e, 2018-11-17 (annotated)
- 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?
| User | Revision | Line number | New 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 |