FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_arp.c

#include "enc28j60_spi.h"
#include "enc28j60_eth.h"
#include "enc28j60_arp.h"
#include "enc28j60_ip.h"
#include "enc28j60_string.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

void arp_recv ()
 Funkce volaná při příchodu ARP datagramu.
char arp_send (unsigned long dest_ip)
 Odešle ARP dotaz.
void arp_table_clear ()
 Vymaže ARP tabulku.
void arp_table_add (int ip, unsigned char *mac)
 Přidá záznam do ARP tabulky.
unsigned char * arp_table_find (int ip)
 Hledá MAC adresu v ARP tabulce podle IP adresy cíle.

Proměnné

unsigned long local_ip
unsigned long ip_netmask
unsigned long default_gateway
unsigned char broadcast_mac [MAC_LEN]
arp_record arp_table [ARP_TABLE_SIZE]
unsigned char arp_last
unsigned char local_mac [MAC_LEN]
unsigned char arp_next_free = 0


Dokumentace funkcí

void arp_recv (  ) 

Funkce volaná při příchodu ARP datagramu.

Definice je uvedena na řádku 65 v souboru enc28j60_arp.c.

Odkazuje se na ARP_PROTO, arp_table_add(), enc_memcpy(), eth_send(), HTONL, HTONS, local_ip, local_mac, NTOHL, NTOHS, rx_read(), tx_close(), tx_init() a tx_write().

Používá se v eth_recv().

char arp_send ( unsigned long  dest_ip  ) 

Odešle ARP dotaz.

Definice je uvedena na řádku 124 v souboru enc28j60_arp.c.

Odkazuje se na ARP_PROTO, broadcast_mac, enc_memcpy(), enc_memset(), eth_send(), HTONL, HTONS, local_ip, local_mac, tx_close(), tx_init() a tx_write().

Používá se v ip_send().

void arp_table_add ( int  ip,
unsigned char *  mac 
)

Přidá záznam do ARP tabulky.

Parametry:
ip - IP adresa
mac - MAC adresa

Definice je uvedena na řádku 165 v souboru enc28j60_arp.c.

Odkazuje se na arp_next_free, arp_table, arp_table_find(), enc_memcpy() a NULL.

Používá se v arp_recv().

void arp_table_clear (  ) 

Vymaže ARP tabulku.

Definice je uvedena na řádku 157 v souboru enc28j60_arp.c.

Odkazuje se na arp_last, arp_table a enc_memset().

Používá se v dhcp_timer() a ENC28J60_init().

unsigned char* arp_table_find ( int  ip  ) 

Hledá MAC adresu v ARP tabulce podle IP adresy cíle.

Definice je uvedena na řádku 190 v souboru enc28j60_arp.c.

Odkazuje se na arp_table a NULL.

Používá se v arp_table_add() a ip_send().


Dokumentace proměnných

unsigned char arp_last

Definice je uvedena na řádku 57 v souboru enc28j60_arp.c.

Používá se v arp_table_clear().

unsigned char arp_next_free = 0

Definice je uvedena na řádku 60 v souboru enc28j60_arp.c.

Používá se v arp_table_add().

struct arp_record arp_table[ARP_TABLE_SIZE]

Definice je uvedena na řádku 56 v souboru enc28j60_arp.c.

Používá se v arp_table_add(), arp_table_clear() a arp_table_find().

unsigned char broadcast_mac[MAC_LEN]

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

Používá se v arp_send() a ip_send().

unsigned long default_gateway

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

Používá se v get_gateway(), ip_send(), set_gateway() a set_gateway_l().

unsigned long ip_netmask

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

Používá se v get_netmask(), ip_recv(), ip_send(), set_netmask() a set_netmask_l().

unsigned long local_ip

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

Používá se v arp_recv(), arp_send(), get_ip(), ip_recv(), ip_send(), set_ip(), set_ip_l(), tcp_checksum() a udp_checksum().

unsigned char local_mac[MAC_LEN]