net/tcp.h-Dateireferenz

Stellt die TCP/IP Funkionalitaet bereit. Mehr ...

#include <avr/pgmspace.h>

Include-Abhängigkeitsdiagramm für tcp.h:

Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  IP_Pseudoheader
struct  TCP_PORT
struct  TCP_SOCKET
struct  TCP_header

Makrodefinitionen

#define RAM   0
#define FLASH   1
#define EEPROM   2
#define IP_PSEUDOHEADER_LENGHT   12
#define MAX_LISTEN_PORTS   4
#define TCP_Port_not_use   0
#define MAX_TCP_CONNECTIONS   2
#define MAX_TCP_RETRANSMISSIONS   5
#define MAX_RECIVEBUFFER_LENGHT   64
#define CLOSETIMEOUT   200
#define RETRANSMISSIONTIMEOUT   500
#define CONNECTTIMEOUT   500
#define TimeOutCounter   20
#define SOCKET_NOT_USE   0x00
#define SOCKET_SYNINIT   0x01
#define SOCKET_WAIT2SYNACK   0x04
#define SOCKET_SYNACK_OK   0x05
#define SOCKET_READY2USE   0x0F
#define SOCKET_READY   0x10
#define SOCKET_WAIT2FINACK   0x81
#define SOCKET_WAIT2FIN   0x82
#define SOCKET_RESET   0x83
#define SOCKET_CLOSE   0xff
#define NO_SOCKET_USED   0xffff
#define SOCKET_READY2SEND   0x00
#define SOCKET_DATASENDED   0x80
#define SOCKET_BUSY   0xff
#define TCP_HEADER_LENGHT   24
#define MAX_TCP_Datalenght   64
#define TCP_NON_FLAG   0x00
#define TCP_FIN_FLAG   0x01
#define TCP_SYN_FLAG   0x02
#define TCP_RST_FLAG   0x04
#define TCP_PSH_FLAG   0x08
#define TCP_ACK_FLAG   0x10
#define TCP_URG_FLAG   0X20

Funktionen

void tcp_init (void)
void tcp (unsigned int packet_lenght, unsigned char *buffer)
 Die TCP-Funktion die aufgerufen wird wenn ein Packet eintrifft. Hier findet die Bearbeitung der eintreffenden Packete statt. Das Packet wird einer Verbindung zugeordnet oder einen offenen Port wenn die in die TCP_PORT Liste eingetragen ist. Danach wird es je nach Flag bearbeitet.
void TCPTimeOutHandler (void)
 Der TCP-Timeouthandler Dieser Handler schaut zyklisch in alle Sockets und verringert den Timeoutwert. Wenn ein Timeoutwert 0 erreicht hat, wird das Socket geschlossen und der Connectionstats richtig gesetz.
unsigned int Getfreesocket (void)
 Holt das naechste freie Socket.
unsigned int GetSocket (unsigned char *buffer)
 Ordnet das Packet einen Socket zu.
unsigned int RegisterSocket (unsigned char *buffer)
unsigned int CopyTCPdata2socketbuffer (unsigned int Socket, unsigned int Datalenght, unsigned char *buffer)
void MakeTCPheader (unsigned int Socket, unsigned char TCP_flags, unsigned int Datalenght, unsigned int Windowsize, unsigned char *buffer)
unsigned int RegisterTCPPort (unsigned int Port)
 Registriert einen Port auf den gelauscht wird für einegehende Verbindungen.
void UnRegisterTCPPort (unsigned int Port)
 Traegt einen Port aus der Liste der Port aus auf denen gelauscht werden soll.
unsigned int CheckPortInList (unsigned int Port)
unsigned int CheckPortRequest (unsigned int Port)
 Schaut ob auf einen Port ein Verbindung eingegangen ist.
unsigned int CheckSocketState (unsigned int Socket)
 Gibt den Status des Socket aus.
void CloseTCPSocket (unsigned int Socket)
 Schliesst ein Socket und Beendet die TCP-Verbindung.
unsigned int Connect2IP (unsigned long IP, unsigned int Port)
unsigned int GetSocketData (unsigned int Socket, unsigned int bufferlen, unsigned char *buffer)
unsigned int GetSocketNextLine (unsigned int Socket, unsigned int bufferlen, unsigned char *buffer)
unsigned int PutSocketData (unsigned int Socket, unsigned int Datalenght, unsigned char *Sendbuffer)
 Sendet Daten ueber ein Socket aus dem RAM.
unsigned int PutSocketData_P (unsigned int Socket, unsigned int Datalenght, const prog_char *Sendbuffer)
 Sendet Daten ueber ein Socket aus dem FLASH.
unsigned int PutSocketData_RPE (unsigned int Socket, unsigned int Datalenght, unsigned char *Sendbuffer, unsigned char Mode)
 Sendet Daten ueber ein Socket aus dem FLASH.
void SendData_RPE (unsigned int Socket, unsigned int Datalenght, unsigned char *Sendbuffer, unsigned char Mode)
 Sendet Daten ueber ein Socket aus dem RAM/FLASH/EEPROM.

Variablen

unsigned int TXErrorCounter
unsigned int RXErrorCounter


Ausführliche Beschreibung

Stellt die TCP/IP Funkionalitaet bereit.


Erzeugt am Mon Sep 25 19:53:17 2006 für MikroEthernetBoard von  doxygen 1.4.6