FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_ip.h

Síťová vrstva modelu TCP/IP. Příjem a odesílání IP paketů. ...

Zobrazit zdrojový text tohoto souboru.

Datové struktry

struct  ip_h
 struktura ip_h - IP hlavička.
pozor, bitové položky se musí ukládat v "opačném pořadí" (kvůli big endianu na síti) ...

Definice maker

#define HTONS(x)   ((((x)&0xff)<<8) | ((x)>>8))
 little na big endian(na síti), pro int(16b)
#define HTONL(x)   ((((x)&0xff)<<24) | (((x)&0x00ff0000l)>>8) | (((x)&0x0000ff00l)<<8) | ((x)>>24))
 little na big endian(na síti), pro long(32b)
#define NTOHS   HTONS
 big(na síti) na little endian, pro int(16b)
#define NTOHL   HTONL
 big(na síti) na little endian, pro long(32b)
#define CHAR2IP(x0, x1, x2, x3)   ( ((unsigned long)x0<<24)|((unsigned long)x1<<16)|((unsigned int)x2<<8)|x3)
 Makro pro převod 4xchar na IP (unsigned long).

Funkce

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.


Detailní popis

Síťová vrstva modelu TCP/IP. Příjem a odesílání IP paketů.

Definice v souboru enc28j60_ip.h.


Dokumentace k definicím maker

#define CHAR2IP ( x0,
x1,
x2,
x3   )     ( ((unsigned long)x0<<24)|((unsigned long)x1<<16)|((unsigned int)x2<<8)|x3)

Makro pro převod 4xchar na IP (unsigned long).

Definice je uvedena na řádku 68 v souboru enc28j60_ip.h.

#define HTONL (  )     ((((x)&0xff)<<24) | (((x)&0x00ff0000l)>>8) | (((x)&0x0000ff00l)<<8) | ((x)>>24))

little na big endian(na síti), pro long(32b)

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

Používá se v arp_recv(), arp_send(), ip_send(), tcp_fsm(), tcp_out() a UDP_APP_HANDLER().

#define HTONS (  )     ((((x)&0xff)<<8) | ((x)>>8))

little na big endian(na síti), pro int(16b)

Definice je uvedena na řádku 58 v souboru enc28j60_ip.h.

Používá se v arp_recv(), arp_send(), eth_recv(), eth_send(), icmp_send(), ip_send(), tcp_out(), tcp_recv() a udp_send().

#define NTOHL   HTONL

big(na síti) na little endian, pro long(32b)

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

Používá se v arp_recv(), icmp_recv(), ip_recv(), tcp_fsm() a tcp_recv().

#define NTOHS   HTONS

big(na síti) na little endian, pro int(16b)

Definice je uvedena na řádku 62 v souboru enc28j60_ip.h.

Používá se v arp_recv(), icmp_recv(), ip_recv(), tcp_fsm(), tcp_recv() a udp_recv().


Dokumentace funkcí

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