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
- Committer:
- andrewboyson
- Date:
- 2018-12-02
- Revision:
- 93:580fc113d9e9
- Parent:
- 83:08c983006a6e
- Child:
- 126:62edacc9f14d
File content as of revision 93:580fc113d9e9:
#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
int countSendsNotAcked; //Used for RTO
uint32_t timeLastRcvd; //Used for detect idle links
int ipType;
int remArIndex; //Unique per remote ip when taken with the ipType
int locIpScope; //Unique per local ip
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 TcbGetIsn(void);
extern struct tcb* TcbGetExisting(int ipType, int remArIndex, int locIpScope, uint16_t remPort, uint16_t locPort);
extern struct tcb* TcbGetEmpty(void);
extern struct tcb* TcbGetNext(struct tcb* pTcb);
extern void TcbInit(void);
#endif