Funktionen | |
void | udp (unsigned int packet_lenght, unsigned char *ethernetbuffer) |
unsigned int | UDP_RegisterSocket (unsigned long IP, unsigned int DestinationPort, unsigned int Bufferlenght, unsigned char *UDP_Recivebuffer) |
Reistriert ein Socket in den die Daten fuer ein Verbindung gehalten werden um die ausgehenden und einghenden UDP-Packet zuzuordnen. | |
unsigned int | UDP_ListenOnPort (unsigned int Port, unsigned int Bufferlenght, unsigned char *UDP_Recivebuffer) |
Reistriert ein Socket in den die Daten fuer ein Verbindung gehalten werden um die ausgehenden und einghenden UDP-Packet zuzuordnen. | |
unsigned int | UDP_SendPacket (unsigned int SOCKET, unsigned int Datalenght, unsigned char *UDP_Databuffer) |
Sendet ein UDP-Packet an einen Host. | |
unsigned int | UDP_GetSocketState (unsigned int SOCKET) |
Gibt den Socketstatus aus. | |
unsigned int | UDP_GetByteInBuffer (unsigned int SOCKET) |
Gibt die Anzahl der Byte aus die sich im Puffer befinden. Diese Abfrage macht nur sinn in Verbindung mit UDP_GetSocketState nachdem ein UDP-Packet empfangen worden ist und der Status fuer das auf SOCKET_BUSY steht. Danach werden bis zur Freigabe durch UDP_FreeBuffer keine Daten auf den Socket mehr angenommen. | |
void | UDP_FreeBuffer (unsigned int SOCKET) |
Gibt den UDP-Puffer wieder zum empfang frei. Danach werden wieder UDP-Daten angenommen und in den Puffer kopiert. | |
unsigned int | UDP_CloseSocket (unsigned int SOCKET) |
Gibt das Socket wieder freu und beendet die Verbindung. Alle UDP-Packet die dann von diesen Socket empfangen werden, werden verworfen. | |
unsigned int | UDP_GetSocket (unsigned char *ethernetbuffer) |
unsigned int | MakeUDPheader (unsigned int SOCKET, unsigned int Datalenght, unsigned char *ethernetbuffer) |
unsigned int | UDP_Getfreesocket () |
Variablen | |
UDP_SOCKET | UDP_sockettable [MAX_UDP_CONNECTIONS] |
UDP_SOCKET * | UDP_socket |
#include "arp.h"
#include "ethernet.h"
#include "ip.h"
#include "udp.h"
|
Hier findet die Bearbeitung des Packetes statt welches ein UDP-Packet enthaelt. Es wir versucht die Verbindung zuzuordnen, wenn dies nicht moeglich ist wird hier abgebrochen. Danach wird der Inhalt dem Socket zugeordnet und Daten in den Puffer des Benutzer kopiert.
|
|
Gibt das Socket wieder freu und beendet die Verbindung. Alle UDP-Packet die dann von diesen Socket empfangen werden, werden verworfen.
|
|
Gibt den UDP-Puffer wieder zum empfang frei. Danach werden wieder UDP-Daten angenommen und in den Puffer kopiert.
|
|
Gibt die Anzahl der Byte aus die sich im Puffer befinden. Diese Abfrage macht nur sinn in Verbindung mit UDP_GetSocketState nachdem ein UDP-Packet empfangen worden ist und der Status fuer das auf SOCKET_BUSY steht. Danach werden bis zur Freigabe durch UDP_FreeBuffer keine Daten auf den Socket mehr angenommen.
|
|
Gibt den Socketstatus aus.
|
|
Reistriert ein Socket in den die Daten fuer ein Verbindung gehalten werden um die ausgehenden und einghenden UDP-Packet zuzuordnen.
|
|
Reistriert ein Socket in den die Daten fuer ein Verbindung gehalten werden um die ausgehenden und einghenden UDP-Packet zuzuordnen.
|
|
Sendet ein UDP-Packet an einen Host.
// ein Simples Beispiel für das Senden einen UDP-Packetes #define Bufferlen 100 #define DestinationPort 53 #define IP 0x12345678 unsigned char buffer[ Bufferlen ]; unsigned int Socket; // Socket Registrieren Socket = UDP_RegisterSocket( IP, DestinationPort, Bufferlen, buffer ); // Socket erfolgreich geoeffnet ? if ( Socket == 0xffff ) return( error ); // UDP-Packet senden UDP_SendPacket( Socket , Bufferlen, buffer ); // Socket schliessen UDP_CloseSocket( Socket );
|