RetroArch
|
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 } |
Variables | |
PACK_STRUCT_BEGIN struct uip_tcp_hdr | PACK_STRUCT_STRUCT |
struct uip_tcp_pcb * | uip_tcp_tmp_pcb |
struct uip_tcp_pcb * | uip_tcp_active_pcbs |
struct uip_tcp_pcb * | uip_tcp_tw_pcbs |
union uip_tcp_listen_pcbs_t | uip_tcp_listen_pcbs |
#define UIP_TCP_ACK 0x10U |
#define uip_tcp_ack | ( | pcb | ) |
#define uip_tcp_acknow | ( | pcb | ) |
#define UIP_TCP_CWR 0x80U |
#define UIP_TCP_ECE 0x40U |
#define UIP_TCP_FIN 0x01U |
#define UIP_TCP_FIN_WAIT_TIMEOUT 20000 /* milliseconds */ |
#define UIP_TCP_FLAGS 0x3fU |
#define UIP_TCP_HLEN 20 |
#define UIP_TCP_KEEPCNT 9 /* Counter for KEEPALIVE probes */ |
#define UIP_TCP_KEEPINTVL 75000 /* Time between KEEPALIVE probes in miliseconds */ |
#define UIP_TCP_MAXIDLE (UIP_TCP_KEEPCNT*UIP_TCP_KEEPINTVL) /* Maximum KEEPALIVE probe time */ |
#define UIP_TCP_MSL 60000 /* The maximum segment lifetime in microseconds */ |
#define UIP_TCP_OOSEQ_TIMEOUT 6 /* x RTO */ |
#define UIP_TCP_PRIO_MAX 127 |
#define UIP_TCP_PRIO_MIN 1 |
#define UIP_TCP_PRIO_NORMAL 64 |
#define UIP_TCP_PSH 0x08U |
#define UIP_TCP_REG | ( | pcbs, | |
npcb | |||
) |
#define UIP_TCP_RMV | ( | pcbs, | |
npcb | |||
) |
#define UIP_TCP_RST 0x04U |
#define UIP_TCP_SEQ_BETWEEN | ( | a, | |
b, | |||
c | |||
) | (UIP_TCP_SEQ_GEQ(a,b) && UIP_TCP_SEQ_LEQ(a,c)) |
#define UIP_TCP_SLOW_INTERVAL (2*UIP_TCP_TMR_INTERVAL) |
#define uip_tcp_sndbuf | ( | pcb | ) | (pcb)->snd_buf |
#define UIP_TCP_SYN 0x02U |
#define UIP_TCP_SYN_RCVD_TIMEOUT 20000 /* milliseconds */ |
#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_TMR_INTERVAL 250 |
#define UIP_TCP_URG 0x20U |
#define UIP_TCPH_FLAGS | ( | phdr | ) | (ntohs((phdr)->_hdrlen_rsvd_flags) & UIP_TCP_FLAGS) |
#define UIP_TCPH_FLAGS_SET | ( | phdr, | |
flags | |||
) | (phdr)->_hdrlen_rsvd_flags = htons((ntohs((phdr)->_hdrlen_rsvd_flags)&~UIP_TCP_FLAGS)|(flags)) |
#define UIP_TCPH_HDRLEN | ( | phdr | ) | (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12) |
#define UIP_TCPH_HDRLEN_SET | ( | phdr, | |
len | |||
) | (phdr)->_hdrlen_rsvd_flags = htons(((len)<<12)|UIP_TCPH_FLAGS(phdr)) |
#define UIP_TCPH_OFFSET | ( | phdr | ) | (ntohs((phdr)->_hdrlen_rsvd_flags) >> 8) |
#define UIP_TCPH_OFFSET_SET | ( | phdr, | |
offset | |||
) | (phdr)->_hdrlen_rsvd_flags = htons(((offset) << 8)|UIP_TCPH_FLAGS(phdr)) |
#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_TF_ACK_DELAY (u8_t)0x01U /* Delayed ACK. */ |
#define UIP_TF_ACK_NOW (u8_t)0x02U /* Immediate ACK. */ |
#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_INFR (u8_t)0x04U /* In fast recovery. */ |
#define UIP_TF_NODELAY (u8_t)0x40U /* Disable Nagle algorithm */ |
#define UIP_TF_RESET (u8_t)0x08U /* Connection was reset. */ |
enum uip_tcp_state |
void uip_tcp_abort | ( | struct uip_tcp_pcb * | pcb | ) |
void uip_tcp_accept | ( | struct uip_tcp_pcb * | pcb, |
s8_t(*)(void *, struct uip_tcp_pcb *, s8_t) | accept | ||
) |
void uip_tcp_arg | ( | struct uip_tcp_pcb * | pcb, |
void * | arg | ||
) |
s8_t uip_tcp_bind | ( | struct uip_tcp_pcb * | pcb, |
struct uip_ip_addr * | ipaddr, | ||
u16_t | port | ||
) |
s8_t uip_tcp_close | ( | struct uip_tcp_pcb * | pcb | ) |
void uip_tcp_err | ( | struct uip_tcp_pcb * | pcb, |
void(*)(void *, s8_t) | errf | ||
) |
void uip_tcp_fasttmr | ( | ) |
void uip_tcp_init | ( | ) |
void uip_tcp_keepalive | ( | struct uip_tcp_pcb * | pcb | ) |
struct uip_tcp_pcb* uip_tcp_listen | ( | struct uip_tcp_pcb * | pcb | ) |
struct uip_tcp_pcb* uip_tcp_new | ( | ) |
struct uip_tcp_pcb* uip_tcp_pcballoc | ( | u8_t | prio | ) |
void uip_tcp_pcbpurge | ( | struct uip_tcp_pcb * | pcb | ) |
void uip_tcp_pcbremove | ( | struct uip_tcp_pcb ** | pcblist, |
struct uip_tcp_pcb * | pcb | ||
) |
void uip_tcp_poll | ( | struct uip_tcp_pcb * | pcb, |
s8_t(*)(void *, struct uip_tcp_pcb *) | poll, | ||
u8_t | interval | ||
) |
void uip_tcp_recv | ( | struct uip_tcp_pcb * | pcb, |
s8_t(*)(void *, struct uip_tcp_pcb *, struct uip_pbuf *, s8_t) | recv | ||
) |
void uip_tcp_recved | ( | struct uip_tcp_pcb * | pcb, |
u16_t | len | ||
) |
void uip_tcp_rexmit | ( | struct uip_tcp_pcb * | pcb | ) |
void uip_tcp_rexmit_rto | ( | struct uip_tcp_pcb * | pcb | ) |
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 | ||
) |
s8_t uip_tcp_sendctrl | ( | struct uip_tcp_pcb * | pcb, |
u8_t | flags | ||
) |
void uip_tcp_sent | ( | struct uip_tcp_pcb * | pcb, |
s8_t(*)(void *, struct uip_tcp_pcb *, u16_t) | sent | ||
) |
void uip_tcp_slowtmr | ( | ) |
void uip_tcp_tmr | ( | ) |
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 | ||
) |
u32_t uip_tcpiss_next | ( | ) |
s8_t uip_tcpoutput | ( | struct uip_tcp_pcb * | pcb | ) |
struct uip_tcpseg* uip_tcpseg_copy | ( | struct uip_tcpseg * | seg | ) |
u8_t uip_tcpseg_free | ( | struct uip_tcpseg * | seg | ) |
u8_t uip_tcpsegs_free | ( | struct uip_tcpseg * | seg | ) |
PACK_STRUCT_BEGIN struct uip_tcp_hdr PACK_STRUCT_STRUCT |
struct uip_tcp_pcb* uip_tcp_active_pcbs |
union uip_tcp_listen_pcbs_t uip_tcp_listen_pcbs |
struct uip_tcp_pcb* uip_tcp_tmp_pcb |
struct uip_tcp_pcb* uip_tcp_tw_pcbs |