#include "enc28j60_spi.h"
#include "enc28j60_ip.h"
#include "enc28j60_icmp.h"
Zobrazit zdrojový text tohoto souboru.
Funkce | |
void | icmp_recv (struct ip_h *ip_header) |
char | icmp_send (unsigned long ip, unsigned char type, unsigned char code, unsigned int id, unsigned int sequence) |
Odešle ICMP datagram s daty uloženými v tx bufferu. | |
void | icmp_bind (void *handler) |
Přepne automatickou odpověď na ICMP zprávy na manuální. ICMP komunikace bude zcela v režii programátora. | |
void | icmp_unbind () |
Přepne manuální odpověď na ICMP zprávy zpět na automatickou. | |
Proměnné | |
ICMP_APP_HANDLER * | icmp_handler_ |
unsigned int | icmp_seq_num = 1 |
unsigned char | handler_set = 0 |
void icmp_bind | ( | void * | handler | ) |
Přepne automatickou odpověď na ICMP zprávy na manuální. ICMP komunikace bude zcela v režii programátora.
handler | - Callback handler, funkce bude volána při příchodu ICMP datagramu. |
Definice je uvedena na řádku 121 v souboru enc28j60_icmp.c.
Odkazuje se na handler_set a icmp_handler_.
void icmp_recv | ( | struct ip_h * | ip_header | ) |
Definice je uvedena na řádku 55 v souboru enc28j60_icmp.c.
Odkazuje se na handler_set, icmp_handler_, ICMP_PROTO, icmp_send(), icmp_h::id, NTOHL, NTOHS, rx_left(), rx_read(), icmp_h::seq, ip_h::src_ip, tx_close(), tx_init(), tx_write() a icmp_h::type.
Používá se v ip_recv().
char icmp_send | ( | unsigned long | ip, | |
unsigned char | type, | |||
unsigned char | code, | |||
unsigned int | id, | |||
unsigned int | sequence | |||
) |
Odešle ICMP datagram s daty uloženými v tx bufferu.
ip | - cílová IP adresa | |
type | - Typ ICMP zprávy | |
code | - Kód (podle typu zprávy) | |
id | - Identifikátor ICMP datagramu | |
sequence | - Sekvenční číslo datagramu |
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 93 v souboru enc28j60_icmp.c.
Odkazuje se na icmp_h::checksum, icmp_h::code, HTONS, icmp_h::id, ip_send(), icmp_h::seq, tx_checksum(), tx_seek(), tx_write() a icmp_h::type.
Používá se v icmp_recv().
void icmp_unbind | ( | ) |
Přepne manuální odpověď na ICMP zprávy zpět na automatickou.
Definice je uvedena na řádku 127 v souboru enc28j60_icmp.c.
Odkazuje se na handler_set.
unsigned char handler_set = 0 |
Definice je uvedena na řádku 51 v souboru enc28j60_icmp.c.
Používá se v icmp_bind(), icmp_recv() a icmp_unbind().
ICMP_APP_HANDLER* icmp_handler_ |
unsigned int icmp_seq_num = 1 |
Definice je uvedena na řádku 50 v souboru enc28j60_icmp.c.