#include "enc28j60_spi.h"
#include "enc28j60_eth.h"
#include "enc28j60_arp.h"
#include "enc28j60_ip.h"
#include "enc28j60_icmp.h"
#include "enc28j60_tcp.h"
#include "enc28j60_udp.h"
Zobrazit zdrojový text tohoto souboru.
Definice maker | |
#define | CHAR_TO_LONG(x0, x1, x2, x3) ( ((unsigned long)x0<<24)|((unsigned long)x1<<16)|((unsigned int)x2<<8)|x3) |
Funkce | |
void | ip_recv (void) |
Funkce volaná funkcí eth_recv() při příchodu IP paketu. | |
char | ip_send (unsigned long dest_addr, unsigned char protocol) |
Odešle IP paket. | |
unsigned int | count_checksum (void *pointer, int count) |
Vypočítá 16-bitový checksum z bloku dat. | |
void | set_ip (unsigned char a0, unsigned char a1, unsigned char a2, unsigned char a3) |
Nastavení lokální IP. | |
void | set_ip_l (unsigned long ip) |
Nastavení lokální IP. | |
unsigned long | get_ip () |
Vrátí lokální IP adresu. | |
void | set_netmask (unsigned char m0, unsigned char m1, unsigned char m2, unsigned char m3) |
Nastavení masky. | |
void | set_netmask_l (unsigned long netmask) |
Nastavení masky. | |
unsigned long | get_netmask () |
Vrátí masku podsítě. | |
void | set_gateway (unsigned char g0, unsigned char g1, unsigned char g2, unsigned char g3) |
Nastavení IP brány. | |
void | set_gateway_l (unsigned long gateway) |
Nastavení IP brány. | |
unsigned long | get_gateway () |
Vrátí IP adresu brány. | |
void | set_dns_server (unsigned char d0, unsigned char d1, unsigned char d2, unsigned char d3) |
Nastavení IP DNS serveru. | |
void | set_dns_server_l (unsigned long dns) |
Nastavení IP DNS serveru. | |
unsigned long | get_dns_server () |
Vrátí IP adresu DNS. | |
Proměnné | |
unsigned char | broadcast_mac [MAC_LEN] |
unsigned long | local_ip = 0 |
unsigned long | ip_netmask = 0 |
unsigned long | default_gateway = 0 |
unsigned long | dns_server = 0 |
unsigned int | ip_seq_num = 1 |
#define CHAR_TO_LONG | ( | x0, | |||
x1, | |||||
x2, | |||||
x3 | ) | ( ((unsigned long)x0<<24)|((unsigned long)x1<<16)|((unsigned int)x2<<8)|x3) |
Definice je uvedena na řádku 54 v souboru enc28j60_ip.c.
Používá se v set_dns_server(), set_gateway(), set_ip() a set_netmask().
unsigned int count_checksum | ( | void * | pointer, | |
int | count | |||
) |
Vypočítá 16-bitový checksum z bloku dat.
Definice je uvedena na řádku 209 v souboru enc28j60_ip.c.
Používá se v ip_send().
unsigned long get_dns_server | ( | ) | [inline] |
Vrátí IP adresu DNS.
Definice je uvedena na řádku 304 v souboru enc28j60_ip.c.
Odkazuje se na dns_server.
unsigned long get_gateway | ( | ) | [inline] |
Vrátí IP adresu brány.
Definice je uvedena na řádku 285 v souboru enc28j60_ip.c.
Odkazuje se na default_gateway.
unsigned long get_ip | ( | ) | [inline] |
Vrátí lokální IP adresu.
Definice je uvedena na řádku 247 v souboru enc28j60_ip.c.
Odkazuje se na local_ip.
unsigned long get_netmask | ( | ) | [inline] |
Vrátí masku podsítě.
Definice je uvedena na řádku 266 v souboru enc28j60_ip.c.
Odkazuje se na ip_netmask.
void ip_recv | ( | void | ) |
Funkce volaná funkcí eth_recv() při příchodu IP paketu.
Definice je uvedena na řádku 69 v souboru enc28j60_ip.c.
Odkazuje se na ip_h::dest_ip, ip_h::fragment, ip_h::header_len, icmp_recv(), ip_netmask, ip_h::ipv, ip_h::length, local_ip, NTOHL, NTOHS, ip_h::protocol, rx_cut_padding(), rx_read(), rx_skip, tcp_recv() a udp_recv().
Používá se v eth_recv().
char ip_send | ( | unsigned long | dest_addr, | |
unsigned char | protocol | |||
) |
Odešle IP paket.
Definice je uvedena na řádku 119 v souboru enc28j60_ip.c.
Odkazuje se na arp_send(), arp_table_find(), broadcast_mac, ip_h::checksum, count_checksum(), default_gateway, ip_h::dest_ip, ENC28J60_idle(), eth_send(), ip_h::fragment, ip_h::header_len, HTONL, HTONS, ip_h::identification, ip_netmask, ip_seq_num, ip_h::ipv, ip_h::length, local_ip, NULL, ip_h::protocol, ip_h::src_ip, ip_h::tos, ip_h::ttl, tx_act(), tx_data_len(), tx_load(), tx_save(), tx_seek(), tx_unlock() a tx_write().
Používá se v icmp_send(), tcp_out() a udp_send().
void set_dns_server | ( | unsigned char | d0, | |
unsigned char | d1, | |||
unsigned char | d2, | |||
unsigned char | d3 | |||
) | [inline] |
Nastavení IP DNS serveru.
d0,d1,d2,d3 | - bajty IP adresy, např. 192.168.1.2 |
Definice je uvedena na řádku 292 v souboru enc28j60_ip.c.
Odkazuje se na CHAR_TO_LONG a dns_server.
void set_dns_server_l | ( | unsigned long | dns | ) | [inline] |
Nastavení IP DNS serveru.
dns | - IP DNS serveru, např 0xC0800102 |
Definice je uvedena na řádku 298 v souboru enc28j60_ip.c.
Odkazuje se na dns_server.
Používá se v UDP_APP_HANDLER().
void set_gateway | ( | unsigned char | g0, | |
unsigned char | g1, | |||
unsigned char | g2, | |||
unsigned char | g3 | |||
) | [inline] |
Nastavení IP brány.
g0,g1,g2,g3 | - bajty IP adresy, např. 192.168.1.2 |
Definice je uvedena na řádku 273 v souboru enc28j60_ip.c.
Odkazuje se na CHAR_TO_LONG a default_gateway.
Používá se v dhcp_init() a dhcp_reset().
void set_gateway_l | ( | unsigned long | gateway | ) | [inline] |
Nastavení IP brány.
gateway | - IP brány, např 0xC0800102 |
Definice je uvedena na řádku 279 v souboru enc28j60_ip.c.
Odkazuje se na default_gateway.
Používá se v UDP_APP_HANDLER().
void set_ip | ( | unsigned char | a0, | |
unsigned char | a1, | |||
unsigned char | a2, | |||
unsigned char | a3 | |||
) | [inline] |
Nastavení lokální IP.
a0,a1,a2,a3 | - bajty IP adresy, např. 192.168.1.2 |
Definice je uvedena na řádku 234 v souboru enc28j60_ip.c.
Odkazuje se na CHAR_TO_LONG a local_ip.
Používá se v dhcp_init() a dhcp_reset().
void set_ip_l | ( | unsigned long | ip | ) | [inline] |
Nastavení lokální IP.
ip | - IP adresa, např 0xC0800102 |
Definice je uvedena na řádku 241 v souboru enc28j60_ip.c.
Odkazuje se na local_ip.
Používá se v UDP_APP_HANDLER().
void set_netmask | ( | unsigned char | m0, | |
unsigned char | m1, | |||
unsigned char | m2, | |||
unsigned char | m3 | |||
) | [inline] |
Nastavení masky.
m0,m1,m2,m3 | - bajty IP adresy, např. 255.255.255.0 |
Definice je uvedena na řádku 254 v souboru enc28j60_ip.c.
Odkazuje se na CHAR_TO_LONG a ip_netmask.
Používá se v dhcp_init() a dhcp_reset().
void set_netmask_l | ( | unsigned long | netmask | ) | [inline] |
Nastavení masky.
netmask | - maska, např. 0xFFFFFF00 |
Definice je uvedena na řádku 260 v souboru enc28j60_ip.c.
Odkazuje se na ip_netmask.
Používá se v UDP_APP_HANDLER().
unsigned char broadcast_mac[MAC_LEN] |
Definice je uvedena na řádku 55 v souboru enc28j60_eth.c.
unsigned long default_gateway = 0 |
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 dns_server = 0 |
Definice je uvedena na řádku 62 v souboru enc28j60_ip.c.
Používá se v get_dns_server(), set_dns_server() a set_dns_server_l().
unsigned long ip_netmask = 0 |
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 int ip_seq_num = 1 |
unsigned long local_ip = 0 |
Definice je uvedena na řádku 59 v souboru enc28j60_ip.c.