FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_udp.c

#include "enc28j60_udp.h"
#include "enc28j60_spi.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

void udp_recv (struct ip_h *ip_header)
 Funkce volaná funkcí ip_recv() po příchodu UDP datagramu.
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_checksum (unsigned long dest_ip, int length)
 Vypočítá 16-bitový checksum z UDP datagramu - interní funkce.
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.

Proměnné

udp_socket udp_socket_table [SOCKET_COUNT]
unsigned long local_ip


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().

unsigned int udp_checksum ( unsigned long  dest_ip,
int  length 
)

Vypočítá 16-bitový checksum z UDP datagramu - interní funkce.

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

Odkazuje se na local_ip a tx_checksum().

Používá se v udp_send().

void udp_recv ( struct ip_h ip_header  ) 

Funkce volaná funkcí ip_recv() po příchodu UDP datagramu.

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

Odkazuje se na udp_h::dest_port, NTOHS, rx_read(), SOCKET_COUNT, UDP_HEADER_LEN a udp_socket_table.

Používá se v ip_recv().

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().


Dokumentace proměnných

unsigned long local_ip

Definice je uvedena na řádku 59 v souboru enc28j60_ip.c.

struct udp_socket udp_socket_table[SOCKET_COUNT]

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

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