FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_ip.c

#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


Dokumentace k definicím maker

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


Dokumentace funkcí

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.

Návratová hodnota:
IP adresa DNS, např 0xC0800102

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.

Návratová hodnota:
IP adresa brány, např 0xC0800102

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.

Návratová hodnota:
lokální IP adresa, např 0xC0800102

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ě.

Návratová hodnota:
maska, např 0xFFFFFF00

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 
)

void set_dns_server ( unsigned char  d0,
unsigned char  d1,
unsigned char  d2,
unsigned char  d3 
) [inline]

Nastavení IP DNS serveru.

Parametry:
d0,d1,d2,d3 - bajty IP adresy, např. 192.168.1.2
Viz také:
set_dns_server_l()

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.

Parametry:
dns - IP DNS serveru, např 0xC0800102
Viz také:
set_dns_server()

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.

Parametry:
g0,g1,g2,g3 - bajty IP adresy, např. 192.168.1.2
Viz také:
set_gateway_l()

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.

Parametry:
gateway - IP brány, např 0xC0800102
Viz také:
set_gateway()

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.

Parametry:
a0,a1,a2,a3 - bajty IP adresy, např. 192.168.1.2
Viz také:
set_ip_l()

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.

Parametry:
ip - IP adresa, např 0xC0800102
Viz také:
set_ip()

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.

Parametry:
m0,m1,m2,m3 - bajty IP adresy, např. 255.255.255.0
Viz také:
set_netmask_l()

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.

Parametry:
netmask - maska, např. 0xFFFFFF00
Viz také:
set_netmask()

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

Odkazuje se na ip_netmask.

Používá se v UDP_APP_HANDLER().


Dokumentace proměnných

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

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

Používá se v ip_send().

unsigned long local_ip = 0

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