FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_udp.h

Transportní vrstva modelu TCP/IP. Příjem a odesílání UDP datagramů. ...

#include "enc28j60_ip.h"

Zobrazit zdrojový text tohoto souboru.

Datové struktry

struct  udp_h
 struktura udp_h - UDP hlavička. ...

Definice maker

#define UDP_HEADER_LEN   8
 délka UDP hlavičky
#define SOCKET_COUNT   6
 počet UDP socketů
#define UDP_APP_HANDLER(x)   void (x)(struct ip_h *ip_header, struct udp_h *udp_header)
 deklarace UDP callback handleru

Funkce

char udp_send (unsigned int dest_port, unsigned int src_port, unsigned long ip)
 Odešle UDP datagram s daty uloženými v tx bufferu.
unsigned int udp_bind (unsigned int port, void *handler)
 Zaregistruje handler k číslu portu.
void udp_unbind (unsigned int port)
 Odregistruje Callback handler od čísla portu.


Detailní popis

Transportní vrstva modelu TCP/IP. Příjem a odesílání UDP datagramů.

Definice v souboru enc28j60_udp.h.


Dokumentace k definicím maker

#define SOCKET_COUNT   6

počet UDP socketů

Definice je uvedena na řádku 72 v souboru enc28j60_udp.h.

Používá se v udp_bind(), udp_recv() a udp_unbind().

#define UDP_APP_HANDLER (  )     void (x)(struct ip_h *ip_header, struct udp_h *udp_header)

deklarace UDP callback handleru

Definice je uvedena na řádku 75 v souboru enc28j60_udp.h.

#define UDP_HEADER_LEN   8

délka UDP hlavičky

Definice je uvedena na řádku 56 v souboru enc28j60_udp.h.

Používá se v tx_protocol(), udp_recv() a udp_send().


Dokumentace funkcí

unsigned int udp_bind ( unsigned int  port,
void *  handler 
)

Zaregistruje handler k číslu portu.

Parametry:
port - číslo portu
handler - Callback handler, funkce, která bude volána při příchodu UDP datagramu k příslušnému portu.
Vracené hodnoty:
0 - chyba, neplatné argumenty nebo není volný socket
jinak - číslo registrovaného portu

Definice je uvedena na řádku 140 v souboru enc28j60_udp.c.

Odkazuje se na SOCKET_COUNT a udp_socket_table.

Používá se v dhcp_init() a dhcp_reset().

char udp_send ( unsigned int  dest_port,
unsigned int  src_port,
unsigned long  ip 
)

Odešle UDP datagram s daty uloženými v tx bufferu.

Parametry:
dest_port - cílový port
src_port - zdrojový port
ip - IP adresa cíle
Vracené hodnoty:
0 - datagram odeslán
-1 - chyba při odesílání
-2 - ARP protokol nezjistil MAC adresu cíle, neodesláno

Definice je uvedena na řádku 78 v souboru enc28j60_udp.c.

Odkazuje se na udp_h::checksum, udp_h::dest_port, HTONS, ip_send(), udp_h::length, udp_h::src_port, tx_data_len(), tx_seek(), tx_write(), udp_checksum() a UDP_HEADER_LEN.

Používá se v dhcp_send_discover() a dhcp_send_request().

void udp_unbind ( unsigned int  port  ) 

Odregistruje Callback handler od čísla portu.

Parametry:
port - číslo portu

Definice je uvedena na řádku 167 v souboru enc28j60_udp.c.

Odkazuje se na SOCKET_COUNT a udp_socket_table.

Používá se v UDP_APP_HANDLER().