tcp.c File Reference

#include <inet.h>

Functions

void tcp_dump (struct s_pkbuf *pk)
void tcp_proto_init (void)
u_int32_t tcp_alloc_sequence (void)
int aa_tcp_input (struct s_pkbuf *pk)
static int tcp_add_opt (struct s_pkbuf *pk, off_t off, u_int8_t opt, u_int8_t optlen, void *value)
static int tcp_build_header (struct s_pkbuf *pk, struct s_tcp_pcb *pcb, int tcp_flg, u_int32_t tcp_seq, size_t tcpopt_len)
int tcp_output (struct s_pkbuf *pk, struct s_tcp_pcb *pcb, int tcp_flags, u_int32_t tcp_seq)
static void tcp_report_connect_syn (struct s_async_report *ar)
void tcp_syn_sent_timeout (struct s_tcp_segment *segment)
int aa_tcp_connect (struct s_tcp_segment *segment)
void tcp_syn_sent_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
void tcp_send_timeout (struct s_tcp_segment *segment)
int aa_tcp_send (struct s_tcp_segment *segment)
int aa_tcp_ack (struct s_tcp_pcb *pcb)
static void tcp_established_ack (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
int aa_tcp_close (struct s_tcp_pcb *pcb)
void tcp_established_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
void tcp_listen_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
int aa_tcp_accept (struct s_tcp_pcb *pcb)
void tcp_syn_rcvd_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
void tcp_last_ack_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
void tcp_fin_wait_1_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)
void tcp_fin_wait_2_recv (struct s_tcp_pcb *pcb, struct s_pkbuf *pk)

Variables

s_tcp_proto_info tcp_proto_info
static struct s_tcp_option tcp_options []
s_tcp_state tcp_states []

Function Documentation

int aa_tcp_accept struct s_tcp_pcb *  pcb  ) 
 

int aa_tcp_ack struct s_tcp_pcb *  pcb  ) 
 

int aa_tcp_close struct s_tcp_pcb *  pcb  ) 
 

int aa_tcp_connect struct s_tcp_segment *  segment  ) 
 

int aa_tcp_input struct s_pkbuf pk  ) 
 

int aa_tcp_send struct s_tcp_segment *  segment  ) 
 

static int tcp_add_opt struct s_pkbuf pk,
off_t  off,
u_int8_t  opt,
u_int8_t  optlen,
void *  value
[static]
 

u_int32_t tcp_alloc_sequence void   ) 
 

static int tcp_build_header struct s_pkbuf pk,
struct s_tcp_pcb *  pcb,
int  tcp_flg,
u_int32_t  tcp_seq,
size_t  tcpopt_len
[static]
 

void tcp_dump struct s_pkbuf pk  ) 
 

static void tcp_established_ack struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
[static]
 

void tcp_established_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_fin_wait_1_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_fin_wait_2_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_last_ack_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_listen_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

int tcp_output struct s_pkbuf pk,
struct s_tcp_pcb *  pcb,
int  tcp_flags,
u_int32_t  tcp_seq
 

void tcp_proto_init void   ) 
 

static void tcp_report_connect_syn struct s_async_report ar  )  [static]
 

void tcp_send_timeout struct s_tcp_segment *  segment  ) 
 

void tcp_syn_rcvd_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_syn_sent_recv struct s_tcp_pcb *  pcb,
struct s_pkbuf pk
 

void tcp_syn_sent_timeout struct s_tcp_segment *  segment  ) 
 


Variable Documentation

struct s_tcp_option tcp_options[] [static]
 

Initial value:

  {
    { TCPOPT_EOL, 1 },
    { TCPOPT_NOP, 1 },
    { TCPOPT_MSS, TCPOPT_LEN_MSS },
    { TCPOPT_WSCALE, TCPOPT_LEN_WSCALE },
    { TCPOPT_SACKOK, TCPOPT_LEN_SACKOK },
    { TCPOPT_SACK, -1 },
    { TCPOPT_TIMESTAMP, TCPOPT_LEN_TIMESTAMP },
    { -1, -1 },
  }

struct s_tcp_proto_info tcp_proto_info
 

struct s_tcp_state tcp_states[]
 

Initial value:

  {  
    { STATE_SYN_SENT, tcp_syn_sent_recv },
    { STATE_ESTABLISHED, tcp_established_recv },
    { STATE_LISTEN, tcp_listen_recv },
    { STATE_SYN_RCVD, tcp_syn_rcvd_recv },
    { STATE_LAST_ACK, tcp_last_ack_recv },
    { STATE_FIN_WAIT_1, tcp_fin_wait_1_recv },
    { STATE_FIN_WAIT_2, tcp_fin_wait_2_recv },
    { -1, NULL }
  }


Generated on Wed May 24 23:06:03 2006 for LSE/OS by  doxygen 1.4.6