FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_icmp.h

Implementace protokolu ICMP, umožňuje přijímat a odesílat ICMP datagramy. ...

#include "enc28j60_ip.h"

Zobrazit zdrojový text tohoto souboru.

Datové struktry

struct  icmp_h
 struktura icmp_h - ICMP hlavička. ...

Definice maker

#define ICMP_APP_HANDLER(x)   void (x)(struct ip_h *ip_header, struct icmp_h *icmp_header)
 deklarace ICMP callback handleru

Funkce

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.


Detailní popis

Implementace protokolu ICMP, umožňuje přijímat a odesílat ICMP datagramy.

Definice v souboru enc28j60_icmp.h.


Dokumentace k definicím maker

#define ICMP_APP_HANDLER (  )     void (x)(struct ip_h *ip_header, struct icmp_h *icmp_header)

deklarace ICMP callback handleru

Definice je uvedena na řádku 78 v souboru enc28j60_icmp.h.


Dokumentace funkcí

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.

Parametry:
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_.

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.

Parametry:
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
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 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.