Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

TCP
[Protocols]

RFC 793 Transmission Control Protocol. More...

Functions

void NutTcpInput (NETBUF *nb)
 Process incoming TCP segments from IP layer.

int NutTcpStatePassiveOpenEvent (TCPSOCKET *sock)
 Initiated by the application.

int NutTcpStateActiveOpenEvent (TCPSOCKET *sock)
 Initiated by the application.

int NutTcpStateCloseEvent (TCPSOCKET *sock)
 Socket close by application.

int NutTcpStateWindowEvent (TCPSOCKET *sock)
 Initiated by the application.

void NutTcpStateRetranTimeout (TCPSOCKET *sock)
 Retransmit a segment after ACK timeout.

 NutTcpSm (void *arg)
void NutTcpStateMachine (NETBUF *nb)
 Process incoming TCP segments.

int NutTcpInitStateMachine (void)
int IsInLimits (u_long x, u_long low, u_long high)
 Sequence number comparisons.


Variables

HANDLE tcp_in_rdy
NETBUF *volatile tcp_in_nbq
volatile u_short tcp_in_cnt

Detailed Description

RFC 793 Transmission Control Protocol.

TCP provides reliable, in-sequence delivery of a full-duplex stream of octets. It is used by applications which need a reliable, connection-oriented data transport.


Function Documentation

int IsInLimits u_long    x,
u_long    low,
u_long    high
 

Sequence number comparisons.

Return true if x is between low and high inclusive, false otherwise

void NutTcpInput NETBUF   nb
 

Process incoming TCP segments from IP layer.

\warn The caller must take care not to pass broadcast or multicast segments.

Note:
This routine is called by the IP layer on incoming TCP segments. Applications typically do not call this function.

int NutTcpStateActiveOpenEvent TCPSOCKET   sock
 

Initiated by the application.

Optionally specify the local IP address.

Parameters:
sock  Socket descriptor. This pointer must have been retrieved by calling NutTcpCreateSocket().
Returns:
0 if granted, -1 otherwise.

int NutTcpStateCloseEvent TCPSOCKET   sock
 

Socket close by application.

If socket is in state SYN_RECEIVED or ESTABLISHED, it is changed to FINWAIT1.

No further data sending is accepted. Receiving is still allowed.

Parameters:
sock  Socket descriptor. This pointer must have been retrieved by calling NutTcpCreateSocket().

int NutTcpStatePassiveOpenEvent TCPSOCKET   sock
 

Initiated by the application.

Parameters:
sock  Socket descriptor. This pointer must have been retrieved by calling NutTcpCreateSocket().
Returns:
0 if granted, error code otherwise.

void NutTcpStateRetranTimeout TCPSOCKET   sock
 

Retransmit a segment after ACK timeout.

This function is called by the TCP timer.

Parameters:
sock  Socket descriptor. This pointer must have been retrieved by calling NutTcpCreateSocket().

int NutTcpStateWindowEvent TCPSOCKET   sock
 

Initiated by the application.

Parameters:
sock  Socket descriptor. This pointer must have been retrieved by calling NutTcpCreateSocket().


© 2000-2002 by egnite Software GmbH - visit http://www.ethernut.de/