RetroArch
Classes | Macros | Enumerations | Functions | Variables
uip_tcp.h File Reference
#include "uip.h"
#include "uip_ip.h"
#include "uip_pbuf.h"
Include dependency graph for uip_tcp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uip_tcp_hdr
 
struct  uip_tcpseg
 
struct  uip_tcp_pcb
 
struct  uip_tcp_pcb_listen
 
union  uip_tcp_listen_pcbs_t
 

Macros

#define UIP_TCP_PRIO_MIN   1
 
#define UIP_TCP_PRIO_NORMAL   64
 
#define UIP_TCP_PRIO_MAX   127
 
#define UIP_TCP_KEEPDEFAULT   7200000 /* KEEPALIVE timer in miliseconds */
 
#define UIP_TCP_KEEPINTVL   75000 /* Time between KEEPALIVE probes in miliseconds */
 
#define UIP_TCP_KEEPCNT   9 /* Counter for KEEPALIVE probes */
 
#define UIP_TCP_MAXIDLE   (UIP_TCP_KEEPCNT*UIP_TCP_KEEPINTVL) /* Maximum KEEPALIVE probe time */
 
#define UIP_TCP_TMR_INTERVAL   250
 
#define UIP_TCP_SLOW_INTERVAL   (2*UIP_TCP_TMR_INTERVAL)
 
#define UIP_TCP_OOSEQ_TIMEOUT   6 /* x RTO */
 
#define UIP_TCP_MSL   60000 /* The maximum segment lifetime in microseconds */
 
#define UIP_TCP_SEQ_LT(a, b)   ((s32_t)((a)-(b)) < 0)
 
#define UIP_TCP_SEQ_LEQ(a, b)   ((s32_t)((a)-(b)) <= 0)
 
#define UIP_TCP_SEQ_GT(a, b)   ((s32_t)((a)-(b)) > 0)
 
#define UIP_TCP_SEQ_GEQ(a, b)   ((s32_t)((a)-(b)) >= 0)
 
#define UIP_TCP_SEQ_BETWEEN(a, b, c)   (UIP_TCP_SEQ_GEQ(a,b) && UIP_TCP_SEQ_LEQ(a,c))
 
#define UIP_TCP_FIN   0x01U
 
#define UIP_TCP_SYN   0x02U
 
#define UIP_TCP_RST   0x04U
 
#define UIP_TCP_PSH   0x08U
 
#define UIP_TCP_ACK   0x10U
 
#define UIP_TCP_URG   0x20U
 
#define UIP_TCP_ECE   0x40U
 
#define UIP_TCP_CWR   0x80U
 
#define UIP_TCP_FLAGS   0x3fU
 
#define UIP_TCP_HLEN   20
 
#define UIP_TCP_FIN_WAIT_TIMEOUT   20000 /* milliseconds */
 
#define UIP_TCP_SYN_RCVD_TIMEOUT   20000 /* milliseconds */
 
#define UIP_TCPH_OFFSET(phdr)   (ntohs((phdr)->_hdrlen_rsvd_flags) >> 8)
 
#define UIP_TCPH_HDRLEN(phdr)   (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12)
 
#define UIP_TCPH_FLAGS(phdr)   (ntohs((phdr)->_hdrlen_rsvd_flags) & UIP_TCP_FLAGS)
 
#define UIP_TCPH_OFFSET_SET(phdr, offset)   (phdr)->_hdrlen_rsvd_flags = htons(((offset) << 8)|UIP_TCPH_FLAGS(phdr))
 
#define UIP_TCPH_HDRLEN_SET(phdr, len)   (phdr)->_hdrlen_rsvd_flags = htons(((len)<<12)|UIP_TCPH_FLAGS(phdr))
 
#define UIP_TCPH_FLAGS_SET(phdr, flags)   (phdr)->_hdrlen_rsvd_flags = htons((ntohs((phdr)->_hdrlen_rsvd_flags)&~UIP_TCP_FLAGS)|(flags))
 
#define UIP_TCPH_SET_FLAG(phdr, flags)   (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags)|(flags))
 
#define UIP_TCPH_UNSET_FLAG(phdr, flags)   (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags)|(UIP_TCPH_FLAGS(phdr)&~(flags)) )
 
#define UIP_TCP_TCPLEN(seg)   ((seg)->len+((UIP_TCPH_FLAGS((seg)->tcphdr)&UIP_TCP_FIN || UIP_TCPH_FLAGS((seg)->tcphdr)&UIP_TCP_SYN)?1:0))
 
#define UIP_TCP_REG(pcbs, npcb)
 
#define UIP_TCP_RMV(pcbs, npcb)
 
#define uip_tcp_sndbuf(pcb)   (pcb)->snd_buf
 
#define uip_tcp_acknow(pcb)
 
#define uip_tcp_ack(pcb)
 
#define UIP_TF_ACK_DELAY   (u8_t)0x01U /* Delayed ACK. */
 
#define UIP_TF_ACK_NOW   (u8_t)0x02U /* Immediate ACK. */
 
#define UIP_TF_INFR   (u8_t)0x04U /* In fast recovery. */
 
#define UIP_TF_RESET   (u8_t)0x08U /* Connection was reset. */
 
#define UIP_TF_CLOSED   (u8_t)0x10U /* Connection was sucessfully closed. */
 
#define UIP_TF_GOT_FIN   (u8_t)0x20U /* Connection was closed by the remote end. */
 
#define UIP_TF_NODELAY   (u8_t)0x40U /* Disable Nagle algorithm */
 

Enumerations

enum  uip_tcp_state {
  UIP_CLOSED = 0, UIP_LISTEN = 1, UIP_SYN_SENT = 2, UIP_SYN_RCVD = 3,
  UIP_ESTABLISHED = 4, UIP_FIN_WAIT_1 = 5, UIP_FIN_WAIT_2 = 6, UIP_CLOSE_WAIT = 7,
  UIP_CLOSING = 8, UIP_LAST_ACK = 9, UIP_TIME_WAIT = 10
}
 

Functions

void uip_tcp_tmr ()
 
void uip_tcp_slowtmr ()
 
void uip_tcp_fasttmr ()
 
void uip_tcp_init ()
 
void uip_tcp_rst (u32_t seqno, u32_t ackno, struct uip_ip_addr *lipaddr, struct uip_ip_addr *ripaddr, u16_t lport, u16_t rport)
 
void uip_tcp_abort (struct uip_tcp_pcb *pcb)
 
void uip_tcp_pcbremove (struct uip_tcp_pcb **pcblist, struct uip_tcp_pcb *pcb)
 
void uip_tcp_pcbpurge (struct uip_tcp_pcb *pcb)
 
void uip_tcp_rexmit (struct uip_tcp_pcb *pcb)
 
void uip_tcp_rexmit_rto (struct uip_tcp_pcb *pcb)
 
void uip_tcp_accept (struct uip_tcp_pcb *pcb, s8_t(*accept)(void *, struct uip_tcp_pcb *, s8_t))
 
void uip_tcp_recved (struct uip_tcp_pcb *pcb, u16_t len)
 
void uip_tcp_err (struct uip_tcp_pcb *pcb, void(*errf)(void *, s8_t))
 
void uip_tcp_keepalive (struct uip_tcp_pcb *pcb)
 
void uip_tcp_arg (struct uip_tcp_pcb *pcb, void *arg)
 
void uip_tcp_recv (struct uip_tcp_pcb *pcb, s8_t(*recv)(void *, struct uip_tcp_pcb *, struct uip_pbuf *, s8_t))
 
void uip_tcp_sent (struct uip_tcp_pcb *pcb, s8_t(*sent)(void *, struct uip_tcp_pcb *, u16_t))
 
void uip_tcp_poll (struct uip_tcp_pcb *pcb, s8_t(*poll)(void *, struct uip_tcp_pcb *), u8_t interval)
 
s8_t uip_tcp_close (struct uip_tcp_pcb *pcb)
 
s8_t uip_tcp_bind (struct uip_tcp_pcb *pcb, struct uip_ip_addr *ipaddr, u16_t port)
 
s8_t uip_tcp_write (struct uip_tcp_pcb *pcb, const void *arg, u16_t len, u8_t copy)
 
struct uip_tcp_pcbuip_tcp_listen (struct uip_tcp_pcb *pcb)
 
struct uip_tcp_pcbuip_tcp_new ()
 
struct uip_tcp_pcbuip_tcp_pcballoc (u8_t prio)
 
s8_t uip_tcp_sendctrl (struct uip_tcp_pcb *pcb, u8_t flags)
 
s8_t uip_tcpoutput (struct uip_tcp_pcb *pcb)
 
s8_t uip_tcpenqueue (struct uip_tcp_pcb *pcb, void *arg, u16_t len, u8_t flags, u8_t copy, u8_t *optdata, u8_t optlen)
 
u8_t uip_tcpseg_free (struct uip_tcpseg *seg)
 
u8_t uip_tcpsegs_free (struct uip_tcpseg *seg)
 
u32_t uip_tcpiss_next ()
 
void uip_tcpinput (struct uip_pbuf *p, struct uip_netif *inp)
 
struct uip_tcpseguip_tcpseg_copy (struct uip_tcpseg *seg)
 

Variables

PACK_STRUCT_BEGIN struct uip_tcp_hdr PACK_STRUCT_STRUCT
 
struct uip_tcp_pcbuip_tcp_tmp_pcb
 
struct uip_tcp_pcbuip_tcp_active_pcbs
 
struct uip_tcp_pcbuip_tcp_tw_pcbs
 
union uip_tcp_listen_pcbs_t uip_tcp_listen_pcbs
 

Macro Definition Documentation

◆ UIP_TCP_ACK

#define UIP_TCP_ACK   0x10U

◆ uip_tcp_ack

#define uip_tcp_ack (   pcb)
Value:
if((pcb)->flags&UIP_TF_ACK_DELAY) { \
(pcb)->flags &= ~UIP_TF_ACK_DELAY; \
(pcb)->flags |= UIP_TF_ACK_NOW; \
uip_tcpoutput((pcb)); \
} else { \
(pcb)->flags |= UIP_TF_ACK_DELAY; \
}
#define UIP_TF_ACK_DELAY
Definition: uip_tcp.h:145
#define UIP_TF_ACK_NOW
Definition: uip_tcp.h:146
GLbitfield flags
Definition: glext.h:7828

◆ uip_tcp_acknow

#define uip_tcp_acknow (   pcb)
Value:
(pcb)->flags |= UIP_TF_ACK_NOW; \
uip_tcpoutput((pcb))
#define UIP_TF_ACK_NOW
Definition: uip_tcp.h:146
GLbitfield flags
Definition: glext.h:7828

◆ UIP_TCP_CWR

#define UIP_TCP_CWR   0x80U

◆ UIP_TCP_ECE

#define UIP_TCP_ECE   0x40U

◆ UIP_TCP_FIN

#define UIP_TCP_FIN   0x01U

◆ UIP_TCP_FIN_WAIT_TIMEOUT

#define UIP_TCP_FIN_WAIT_TIMEOUT   20000 /* milliseconds */

◆ UIP_TCP_FLAGS

#define UIP_TCP_FLAGS   0x3fU

◆ UIP_TCP_HLEN

#define UIP_TCP_HLEN   20

◆ UIP_TCP_KEEPCNT

#define UIP_TCP_KEEPCNT   9 /* Counter for KEEPALIVE probes */

◆ UIP_TCP_KEEPDEFAULT

#define UIP_TCP_KEEPDEFAULT   7200000 /* KEEPALIVE timer in miliseconds */

◆ UIP_TCP_KEEPINTVL

#define UIP_TCP_KEEPINTVL   75000 /* Time between KEEPALIVE probes in miliseconds */

◆ UIP_TCP_MAXIDLE

#define UIP_TCP_MAXIDLE   (UIP_TCP_KEEPCNT*UIP_TCP_KEEPINTVL) /* Maximum KEEPALIVE probe time */

◆ UIP_TCP_MSL

#define UIP_TCP_MSL   60000 /* The maximum segment lifetime in microseconds */

◆ UIP_TCP_OOSEQ_TIMEOUT

#define UIP_TCP_OOSEQ_TIMEOUT   6 /* x RTO */

◆ UIP_TCP_PRIO_MAX

#define UIP_TCP_PRIO_MAX   127

◆ UIP_TCP_PRIO_MIN

#define UIP_TCP_PRIO_MIN   1

◆ UIP_TCP_PRIO_NORMAL

#define UIP_TCP_PRIO_NORMAL   64

◆ UIP_TCP_PSH

#define UIP_TCP_PSH   0x08U

◆ UIP_TCP_REG

#define UIP_TCP_REG (   pcbs,
  npcb 
)
Value:
do { \
npcb->next = *pcbs; \
*(pcbs) = npcb; \
tcp_tmr_needed(); \
} while(0)

◆ UIP_TCP_RMV

#define UIP_TCP_RMV (   pcbs,
  npcb 
)
Value:
do { \
if(*(pcbs)==npcb) { \
*(pcbs) = (*pcbs)->next; \
} else { \
uip_tcp_tmp_pcb->next = npcb->next; \
break; \
} \
} \
} \
} while(0)
struct uip_tcp_pcb * next
Definition: uip_tcp.h:135
struct uip_tcp_pcb * uip_tcp_tmp_pcb
Definition: uip_tcp.c:45
#define NULL
Pointer to 0.
Definition: gctypes.h:65

◆ UIP_TCP_RST

#define UIP_TCP_RST   0x04U

◆ UIP_TCP_SEQ_BETWEEN

#define UIP_TCP_SEQ_BETWEEN (   a,
  b,
  c 
)    (UIP_TCP_SEQ_GEQ(a,b) && UIP_TCP_SEQ_LEQ(a,c))

◆ UIP_TCP_SEQ_GEQ

#define UIP_TCP_SEQ_GEQ (   a,
  b 
)    ((s32_t)((a)-(b)) >= 0)

◆ UIP_TCP_SEQ_GT

#define UIP_TCP_SEQ_GT (   a,
  b 
)    ((s32_t)((a)-(b)) > 0)

◆ UIP_TCP_SEQ_LEQ

#define UIP_TCP_SEQ_LEQ (   a,
  b 
)    ((s32_t)((a)-(b)) <= 0)

◆ UIP_TCP_SEQ_LT

#define UIP_TCP_SEQ_LT (   a,
  b 
)    ((s32_t)((a)-(b)) < 0)

◆ UIP_TCP_SLOW_INTERVAL

#define UIP_TCP_SLOW_INTERVAL   (2*UIP_TCP_TMR_INTERVAL)

◆ uip_tcp_sndbuf

#define uip_tcp_sndbuf (   pcb)    (pcb)->snd_buf

◆ UIP_TCP_SYN

#define UIP_TCP_SYN   0x02U

◆ UIP_TCP_SYN_RCVD_TIMEOUT

#define UIP_TCP_SYN_RCVD_TIMEOUT   20000 /* milliseconds */

◆ UIP_TCP_TCPLEN

#define UIP_TCP_TCPLEN (   seg)    ((seg)->len+((UIP_TCPH_FLAGS((seg)->tcphdr)&UIP_TCP_FIN || UIP_TCPH_FLAGS((seg)->tcphdr)&UIP_TCP_SYN)?1:0))

◆ UIP_TCP_TMR_INTERVAL

#define UIP_TCP_TMR_INTERVAL   250

◆ UIP_TCP_URG

#define UIP_TCP_URG   0x20U

◆ UIP_TCPH_FLAGS

#define UIP_TCPH_FLAGS (   phdr)    (ntohs((phdr)->_hdrlen_rsvd_flags) & UIP_TCP_FLAGS)

◆ UIP_TCPH_FLAGS_SET

#define UIP_TCPH_FLAGS_SET (   phdr,
  flags 
)    (phdr)->_hdrlen_rsvd_flags = htons((ntohs((phdr)->_hdrlen_rsvd_flags)&~UIP_TCP_FLAGS)|(flags))

◆ UIP_TCPH_HDRLEN

#define UIP_TCPH_HDRLEN (   phdr)    (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12)

◆ UIP_TCPH_HDRLEN_SET

#define UIP_TCPH_HDRLEN_SET (   phdr,
  len 
)    (phdr)->_hdrlen_rsvd_flags = htons(((len)<<12)|UIP_TCPH_FLAGS(phdr))

◆ UIP_TCPH_OFFSET

#define UIP_TCPH_OFFSET (   phdr)    (ntohs((phdr)->_hdrlen_rsvd_flags) >> 8)

◆ UIP_TCPH_OFFSET_SET

#define UIP_TCPH_OFFSET_SET (   phdr,
  offset 
)    (phdr)->_hdrlen_rsvd_flags = htons(((offset) << 8)|UIP_TCPH_FLAGS(phdr))

◆ UIP_TCPH_SET_FLAG

#define UIP_TCPH_SET_FLAG (   phdr,
  flags 
)    (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags)|(flags))

◆ UIP_TCPH_UNSET_FLAG

#define UIP_TCPH_UNSET_FLAG (   phdr,
  flags 
)    (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags)|(UIP_TCPH_FLAGS(phdr)&~(flags)) )

◆ UIP_TF_ACK_DELAY

#define UIP_TF_ACK_DELAY   (u8_t)0x01U /* Delayed ACK. */

◆ UIP_TF_ACK_NOW

#define UIP_TF_ACK_NOW   (u8_t)0x02U /* Immediate ACK. */

◆ UIP_TF_CLOSED

#define UIP_TF_CLOSED   (u8_t)0x10U /* Connection was sucessfully closed. */

◆ UIP_TF_GOT_FIN

#define UIP_TF_GOT_FIN   (u8_t)0x20U /* Connection was closed by the remote end. */

◆ UIP_TF_INFR

#define UIP_TF_INFR   (u8_t)0x04U /* In fast recovery. */

◆ UIP_TF_NODELAY

#define UIP_TF_NODELAY   (u8_t)0x40U /* Disable Nagle algorithm */

◆ UIP_TF_RESET

#define UIP_TF_RESET   (u8_t)0x08U /* Connection was reset. */

Enumeration Type Documentation

◆ uip_tcp_state

Enumerator
UIP_CLOSED 
UIP_LISTEN 
UIP_SYN_SENT 
UIP_SYN_RCVD 
UIP_ESTABLISHED 
UIP_FIN_WAIT_1 
UIP_FIN_WAIT_2 
UIP_CLOSE_WAIT 
UIP_CLOSING 
UIP_LAST_ACK 
UIP_TIME_WAIT 

Function Documentation

◆ uip_tcp_abort()

void uip_tcp_abort ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_accept()

void uip_tcp_accept ( struct uip_tcp_pcb pcb,
s8_t(*)(void *, struct uip_tcp_pcb *, s8_t accept 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_arg()

void uip_tcp_arg ( struct uip_tcp_pcb pcb,
void arg 
)
Here is the caller graph for this function:

◆ uip_tcp_bind()

s8_t uip_tcp_bind ( struct uip_tcp_pcb pcb,
struct uip_ip_addr ipaddr,
u16_t  port 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_close()

s8_t uip_tcp_close ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_err()

void uip_tcp_err ( struct uip_tcp_pcb pcb,
void(*)(void *, s8_t errf 
)
Here is the caller graph for this function:

◆ uip_tcp_fasttmr()

void uip_tcp_fasttmr ( )
Here is the caller graph for this function:

◆ uip_tcp_init()

void uip_tcp_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_keepalive()

void uip_tcp_keepalive ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_listen()

struct uip_tcp_pcb* uip_tcp_listen ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_new()

struct uip_tcp_pcb* uip_tcp_new ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_pcballoc()

struct uip_tcp_pcb* uip_tcp_pcballoc ( u8_t  prio)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_pcbpurge()

void uip_tcp_pcbpurge ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_pcbremove()

void uip_tcp_pcbremove ( struct uip_tcp_pcb **  pcblist,
struct uip_tcp_pcb pcb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_poll()

void uip_tcp_poll ( struct uip_tcp_pcb pcb,
s8_t(*)(void *, struct uip_tcp_pcb *)  poll,
u8_t  interval 
)
Here is the caller graph for this function:

◆ uip_tcp_recv()

void uip_tcp_recv ( struct uip_tcp_pcb pcb,
s8_t(*)(void *, struct uip_tcp_pcb *, struct uip_pbuf *, s8_t recv 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_recved()

void uip_tcp_recved ( struct uip_tcp_pcb pcb,
u16_t  len 
)
Here is the caller graph for this function:

◆ uip_tcp_rexmit()

void uip_tcp_rexmit ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_rexmit_rto()

void uip_tcp_rexmit_rto ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_rst()

void uip_tcp_rst ( u32_t  seqno,
u32_t  ackno,
struct uip_ip_addr lipaddr,
struct uip_ip_addr ripaddr,
u16_t  lport,
u16_t  rport 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_sendctrl()

s8_t uip_tcp_sendctrl ( struct uip_tcp_pcb pcb,
u8_t  flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_sent()

void uip_tcp_sent ( struct uip_tcp_pcb pcb,
s8_t(*)(void *, struct uip_tcp_pcb *, u16_t sent 
)
Here is the caller graph for this function:

◆ uip_tcp_slowtmr()

void uip_tcp_slowtmr ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_tmr()

void uip_tcp_tmr ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcp_write()

s8_t uip_tcp_write ( struct uip_tcp_pcb pcb,
const void arg,
u16_t  len,
u8_t  copy 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpenqueue()

s8_t uip_tcpenqueue ( struct uip_tcp_pcb pcb,
void arg,
u16_t  len,
u8_t  flags,
u8_t  copy,
u8_t optdata,
u8_t  optlen 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpinput()

void uip_tcpinput ( struct uip_pbuf p,
struct uip_netif inp 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpiss_next()

u32_t uip_tcpiss_next ( )
Here is the caller graph for this function:

◆ uip_tcpoutput()

s8_t uip_tcpoutput ( struct uip_tcp_pcb pcb)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpseg_copy()

struct uip_tcpseg* uip_tcpseg_copy ( struct uip_tcpseg seg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpseg_free()

u8_t uip_tcpseg_free ( struct uip_tcpseg seg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uip_tcpsegs_free()

u8_t uip_tcpsegs_free ( struct uip_tcpseg seg)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ PACK_STRUCT_STRUCT

PACK_STRUCT_BEGIN struct uip_tcp_hdr PACK_STRUCT_STRUCT

◆ uip_tcp_active_pcbs

struct uip_tcp_pcb* uip_tcp_active_pcbs

◆ uip_tcp_listen_pcbs

union uip_tcp_listen_pcbs_t uip_tcp_listen_pcbs

◆ uip_tcp_tmp_pcb

struct uip_tcp_pcb* uip_tcp_tmp_pcb

◆ uip_tcp_tw_pcbs

struct uip_tcp_pcb* uip_tcp_tw_pcbs