net/tcp.c-Dateireferenz

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

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include "../math/math.h"
#include "../math/checksum.h"
#include "../hardware/timer1.h"
#include "ethernet.h"
#include "arp.h"
#include "ip.h"
#include "tcp.h"

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


Funktionen

void tcp_init (void)
 Hier wird der TCP Initialisiert. Hier wird der TCP-Timeouthandler Registriert beim Timer1. Danach wird die Funktion alle 1000ms aufgerufen und alle Offenen kontrolliert.
void tcp (unsigned int packet_lenght, unsigned char *ethernetbuffer)
 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 *ethernetbuffer)
 Ordnet das Packet einen Socket zu.
unsigned int RegisterSocket (unsigned char *ethernetbuffer)
void MakeTCPheader (unsigned int Socket, unsigned char TCP_flags, unsigned int Datalenght, unsigned int Windowsize, unsigned char *ethernetbuffer)
unsigned int CopyTCPdata2socketbuffer (unsigned int Socket, unsigned int Datalenght, unsigned char *ethernetbuffer)
 Kopiert die Daten auf den TCP-packet in den Socketpuffer.
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)
 Holt empfangende Daten bis zum "\r\n" aus den Socketpuffer.
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.
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.
unsigned int PutSocketData_RPE (unsigned int Socket, unsigned int Datalenght, unsigned char *Sendbuffer, unsigned char Mode)
 Sendet Daten ueber ein Socket aus dem RAM/FLASH/EEPROM.
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 (unsigned int Socket, unsigned int Datalenght, unsigned char *Sendbuffer)
 Sendet Daten ueber ein Socket aus dem RAM.
unsigned int GetSocketNextLine (unsigned int Socket, unsigned int bufferlen, unsigned char *buffer)
 Holt empfangende Daten bis zum "\r\n" aus den Socketpuffer.
unsigned int GetSocketData (unsigned int Socket, unsigned int bufferlen, unsigned char *buffer)
 Holt empfangende Daten aus den Socketpuffer.
unsigned int Connect2IP (unsigned long IP, unsigned int Port)
 Baut eine TCP-Verbindung zu einer IP-Adresse auf.

Variablen

unsigned int TXErrorCounter = 0
unsigned int RXErrorCounter = 0
TCP_SOCKET TCP_sockettable [MAX_TCP_CONNECTIONS]
TCP_PORT TCP_porttable [MAX_LISTEN_PORTS]

Ausführliche Beschreibung

Stellt die TCP/IP Funkionalitaet bereit.


Erzeugt am Thu Oct 12 16:41:58 2006 für MikroEthernetBoard von  doxygen 1.4.6