FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_dhcp.c

#include "enc28j60_dhcp.h"
#include "enc28j60_udp.h"
#include "enc28j60_ip.h"
#include "enc28j60_arp.h"
#include "enc28j60_spi.h"
#include "enc28j60_string.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

char dhcp_send_discover ()
char dhcp_send_request ()
 UDP_APP_HANDLER (dhcp_fsm)
char dhcp_init ()
 Inicializace DHCP klienta.
char dhcp_reset ()
 Restart DHCP klienta.
void dhcp_timer ()
 DHCP časovač, funkci je nutné volat v časových intervalech pro správnou funkci DHCP.
Doba mezi voláními časovače by měla být mezi 500 a 1000ms.
char dhcp_ready ()
 Vrátí stav DHCP.

Proměnné

unsigned char local_mac [MAC_LEN]
unsigned char dhcp_state = DHCP_DISCOVER
unsigned long magic_cookie = 0x63538263
unsigned char dhcp_message_type
unsigned long dhcp_server_id = 0
unsigned long dhcp_netmask = 0
unsigned long dhcp_router = 0
unsigned long dhcp_dns_server = 0
unsigned long dhcp_transaction_id = 0x12345678
unsigned long dhcp_requested_ip = 0
unsigned char dhcp_timeout = DHCP_TIMEOUT


Dokumentace funkcí

char dhcp_init (  ) 

Inicializace DHCP klienta.

Vracené hodnoty:
0 - chyba, není volný UDP socket
jinak - inicializace se zdařila

Definice je uvedena na řádku 181 v souboru enc28j60_dhcp.c.

Odkazuje se na dhcp_state, dhcp_timeout, dhcp_transaction_id, enc_memcpy(), local_mac, set_gateway(), set_ip(), set_netmask() a udp_bind().

char dhcp_ready (  ) 

Vrátí stav DHCP.

Vracené hodnoty:
0 - IP adresa nepřidělena
1 - IP adresa přidělena, lze odesílat a přijímat data

Definice je uvedena na řádku 250 v souboru enc28j60_dhcp.c.

Odkazuje se na dhcp_state.

char dhcp_reset (  ) 

Restart DHCP klienta.

Vracené hodnoty:
0 - chyba, není volný UDP socket
jinak - inicializace se zdařila

Definice je uvedena na řádku 196 v souboru enc28j60_dhcp.c.

Odkazuje se na dhcp_state, dhcp_timeout, dhcp_transaction_id, set_gateway(), set_ip(), set_netmask() a udp_bind().

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

char dhcp_send_discover (  ) 

char dhcp_send_request (  ) 

void dhcp_timer (  ) 

DHCP časovač, funkci je nutné volat v časových intervalech pro správnou funkci DHCP.
Doba mezi voláními časovače by měla být mezi 500 a 1000ms.

Definice je uvedena na řádku 212 v souboru enc28j60_dhcp.c.

Odkazuje se na arp_table_clear(), dhcp_reset(), dhcp_send_discover(), dhcp_send_request(), dhcp_state, dhcp_timeout, link_change() a link_up().

UDP_APP_HANDLER ( dhcp_fsm   ) 


Dokumentace proměnných

unsigned long dhcp_dns_server = 0

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

Používá se v UDP_APP_HANDLER().

unsigned char dhcp_message_type

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

Používá se v UDP_APP_HANDLER().

unsigned long dhcp_netmask = 0

Definice je uvedena na řádku 58 v souboru enc28j60_dhcp.c.

Používá se v UDP_APP_HANDLER().

unsigned long dhcp_requested_ip = 0

Definice je uvedena na řádku 62 v souboru enc28j60_dhcp.c.

Používá se v dhcp_send_request() a UDP_APP_HANDLER().

unsigned long dhcp_router = 0

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

Používá se v UDP_APP_HANDLER().

unsigned long dhcp_server_id = 0

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

Používá se v dhcp_send_request() a UDP_APP_HANDLER().

unsigned char dhcp_state = DHCP_DISCOVER

unsigned char dhcp_timeout = DHCP_TIMEOUT

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

Používá se v dhcp_init(), dhcp_reset(), dhcp_timer() a UDP_APP_HANDLER().

unsigned long dhcp_transaction_id = 0x12345678

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

Používá se v dhcp_init(), dhcp_reset(), dhcp_send_discover(), dhcp_send_request() a UDP_APP_HANDLER().

unsigned char local_mac[MAC_LEN]

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

unsigned long magic_cookie = 0x63538263

Definice je uvedena na řádku 54 v souboru enc28j60_dhcp.c.

Používá se v dhcp_send_discover() a dhcp_send_request().