#include "enc28j60_ip.h"
Zobrazit zdrojový text tohoto souboru.
Datové struktry | |
struct | tcp_h |
struktura tcp_h - TCP hlavička. ... | |
Definice maker | |
#define | TCP_HEADER_LEN 20 |
velikost TCP hlavičky | |
#define | TCP_APP_HANDLER(x) void (x)(struct ip_h *ip_header, struct tcp_h *tcp_header) |
deklarace TCP callback handleru | |
Funkce | |
char | tcp_send () |
Odešle TCP datagram s daty uloženými v tx bufferu - volána uživatelem. | |
unsigned char | create_tcp_socket (unsigned int src_port, void *handler) |
Vytvoří TCP socket, zaregistruje TCP handler k portu src_port. je možné vytvořit pouze jeden TCP socket. | |
char | delete_tcp_socket () |
Odstraní TCP socket. | |
void | change_tcp_handler (void *new_handler) |
Změní TCP handler v socketu. | |
char | tcp_connect (unsigned long ip, unsigned int port) |
Připojí se ke vzdálenému počítači. | |
char | tcp_bind () |
Naslouchání socketu na portu. | |
char | tcp_unbind () |
Zrušení naslouchání socketu na portu. | |
void | tcp_disconnect () |
Ukončí TCP spojení (ne zcela, pouze konečný automat přejde do stavu ukončení spojení). | |
char | tcp_connected () |
Vrací stav spojení. | |
char | tcp_is_idle () |
Vrací stav TCP socketu. | |
void | tcp_timer () |
TCP časovač, funkci je nutné volat v časových intervalech pro správnou funkci spojení (přeposílání datagramů apod.). Doba mezi voláními časovače by měla být nejméně 250ms a neměla přesáhnout 2 vteřiny. |
Definice v souboru enc28j60_tcp.h.
#define TCP_HEADER_LEN 20 |
velikost TCP hlavičky
Definice je uvedena na řádku 55 v souboru enc28j60_tcp.h.
Používá se v tcp_out(), tcp_recv(), tcp_send() a tx_protocol().
void change_tcp_handler | ( | void * | new_handler | ) |
Změní TCP handler v socketu.
new_handler | - Callback handler (TCP_APP_HANDLER()). |
Definice je uvedena na řádku 254 v souboru enc28j60_tcp.c.
Odkazuje se na socket.
unsigned char create_tcp_socket | ( | unsigned int | src_port, | |
void * | handler | |||
) |
Vytvoří TCP socket, zaregistruje TCP handler k portu src_port.
je možné vytvořit pouze jeden TCP socket.
src_port | - port socketu | |
handler | - Callback handler (TCP_APP_HANDLER()), funkce, která bude volána při příchodu TCP datagramu na port socketu. |
0 | - chyba, neplatné argumenty nebo není volný socket | |
jinak | - číslo registrovaného portu |
Definice je uvedena na řádku 221 v souboru enc28j60_tcp.c.
Odkazuje se na socket.
char delete_tcp_socket | ( | ) |
Odstraní TCP socket.
0 | - socket odstraněn | |
-1 | - chyba, socket je používán |
Definice je uvedena na řádku 238 v souboru enc28j60_tcp.c.
Odkazuje se na NULL, socket a tcp_is_idle().
char tcp_bind | ( | ) |
Naslouchání socketu na portu.
1 | - socket naslouchá na portu | |
0 | - chyba, socket je zaneprázdněn |
Definice je uvedena na řádku 280 v souboru enc28j60_tcp.c.
Odkazuje se na socket.
char tcp_connect | ( | unsigned long | ip, | |
unsigned int | port | |||
) |
Připojí se ke vzdálenému počítači.
ip | - IP adresa cílového počítače | |
port | - cílový port |
0 | - připojení se navazuje | |
-1 | - chyba, socket je již připojen |
Definice je uvedena na řádku 264 v souboru enc28j60_tcp.c.
char tcp_connected | ( | ) |
Vrací stav spojení.
1 | - spojení navázáno, lze odesílat data | |
0 | - spojení nenavázáno nebo se navazuje |
Definice je uvedena na řádku 319 v souboru enc28j60_tcp.c.
Odkazuje se na socket.
Používá se v tcp_send().
void tcp_disconnect | ( | ) | [inline] |
Ukončí TCP spojení (ne zcela, pouze konečný automat přejde do stavu ukončení spojení).
Definice je uvedena na řádku 307 v souboru enc28j60_tcp.c.
Odkazuje se na expected_ack_num, NULL, socket, tcp_fsm() a tcp_fsm_timer.
char tcp_is_idle | ( | ) |
Vrací stav TCP socketu.
1 | - TCP socket je nečinný | |
0 | - TCP socket je zaneprázdněn |
Definice je uvedena na řádku 330 v souboru enc28j60_tcp.c.
Odkazuje se na socket.
Používá se v delete_tcp_socket().
char tcp_send | ( | ) |
Odešle TCP datagram s daty uloženými v tx bufferu - volána uživatelem.
0 | - datagram odeslán | |
-1 | - chyba při odesílání |
Definice je uvedena na řádku 105 v souboru enc28j60_tcp.c.
Odkazuje se na expected_ack_num, local_seq_num, NULL, tcp_connected(), tcp_fsm(), TCP_HEADER_LEN, tx_data_len(), tx_save() a tx_seek().
void tcp_timer | ( | ) | [inline] |
TCP časovač, funkci je nutné volat v časových intervalech pro správnou funkci spojení (přeposílání datagramů apod.).
Doba mezi voláními časovače by měla být nejméně 250ms a neměla přesáhnout 2 vteřiny.
Definice je uvedena na řádku 343 v souboru enc28j60_tcp.c.
char tcp_unbind | ( | ) |
Zrušení naslouchání socketu na portu.
1 | - socket odpojen | |
0 | - chyba, socket je zaneprázdněn, pravděpodobně je někdo připojen |
Definice je uvedena na řádku 294 v souboru enc28j60_tcp.c.
Odkazuje se na socket.