FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_string.h

Knihovna funkcí pro práci s řetězci a pamětí. ...

Zobrazit zdrojový text tohoto souboru.

Definice maker

#define is_digit(x)   ( ((x >= '0') & (x <= '9')) ? 1 : 0)
 Makro vrací, zda je znak x desítková číslice.

Funkce

void * enc_memcpy (void *dst, void *src, unsigned int count)
 vlastní implementace fce MEMCPY
unsigned int enc_memcmp (void *str1, void *str2, unsigned int count)
 vlastní implementace fce MEMCMP
void * enc_memset (void *ptr, char value, unsigned int count)
 vlastní implementace fce MEMSET
unsigned int enc_strlen (void *ptr)
 vlastní implementace fce STRLEN
unsigned char str_to_ip_port (char *ptr, char max_len, unsigned long *ip, unsigned int *port)
 Funkce převede řetězec na čísla reprezentující IP adresu a port.
Řetězec musí být ve formátu "IP_adresa:port" nebo "IP_adresa". Ve druhém případě bude navrácené číslo portu 0.
unsigned char ip_to_str (char *ptr, char max_len, unsigned long ip)
 Funkce převede číslo reprezentující IP adresu na řetězec zakončený znakem null.


Detailní popis

Knihovna funkcí pro práci s řetězci a pamětí.

Definice v souboru enc28j60_string.h.


Dokumentace k definicím maker

#define is_digit (  )     ( ((x >= '0') & (x <= '9')) ? 1 : 0)

Makro vrací, zda je znak x desítková číslice.

Parametry:
x kontrolovaný znak
Vracené hodnoty:
1 - znak je číslicí
0 - znak není číslicí

Definice je uvedena na řádku 59 v souboru enc28j60_string.h.

Používá se v str_to_ip_port().


Dokumentace funkcí

unsigned int enc_memcmp ( void *  str1,
void *  str2,
unsigned int  count 
) [inline]

vlastní implementace fce MEMCMP

Parametry:
str1 - ukazatel na první blok dat
str2 - ukazatel na druhý blok dat
count - počet bajtů k porovnávání
Vracené hodnoty:
0 - bloky jsou stejné
jinak - bloky jsou rozdílné

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

void* enc_memcpy ( void *  dst,
void *  src,
unsigned int  count 
) [inline]

vlastní implementace fce MEMCPY

Parametry:
dst - ukazatel na cíl
src - ukazatel na zdroj
count - počet bajtů ke kopírování

Definice je uvedena na řádku 49 v souboru enc28j60_string.c.

Používá se v arp_recv(), arp_send(), arp_table_add(), dhcp_init(), dhcp_send_discover(), dhcp_send_request(), eth_send() a set_mac().

void* enc_memset ( void *  ptr,
char  value,
unsigned int  count 
) [inline]

vlastní implementace fce MEMSET

Parametry:
ptr - ukazatel na adresu, odkud chceme přepisovat
value - hodnota, kterou bude každý bajt bloku přepisován
count - velikost bloku v bajtech

Definice je uvedena na řádku 77 v souboru enc28j60_string.c.

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

unsigned int enc_strlen ( void *  ptr  )  [inline]

vlastní implementace fce STRLEN

Parametry:
ptr - ukazatel na řetězec
Návratová hodnota:
délka řetězce bez koncového znaku (0)

Definice je uvedena na řádku 89 v souboru enc28j60_string.c.

unsigned char ip_to_str ( char *  ptr,
char  max_len,
unsigned long  ip 
)

Funkce převede číslo reprezentující IP adresu na řetězec zakončený znakem null.

Parametry:
ptr - ukazatel na buffer, do kterého se převedený řetězec bude zapisovat
max_len - maximální délka bufferu
ip - číslo reprezentující IP adresu
Návratová hodnota:
délka výsledného řetězce (bez znaku null na konci)

Definice je uvedena na řádku 218 v souboru enc28j60_string.c.

unsigned char str_to_ip_port ( char *  ptr,
char  max_len,
unsigned long *  ip,
unsigned int *  port 
)

Funkce převede řetězec na čísla reprezentující IP adresu a port.
Řetězec musí být ve formátu "IP_adresa:port" nebo "IP_adresa". Ve druhém případě bude navrácené číslo portu 0.

Parametry:
ptr - ukazatel na řetězec
max_len - maximální délka řetězce
ip - vyparsovaná IP adresa
port - vyparsované číslo portu
Vracené hodnoty:
1 - převod byl úspěšný, hodnoty parametrů ip a port jsou platné
0 - převod neúspěšný, hodnoty parametrů ip a port jsou nedefinované

!!!

Definice je uvedena na řádku 104 v souboru enc28j60_string.c.

Odkazuje se na is_digit.