GNRC TCP API. More...
GNRC TCP API.
Definition in file tcp.h.
#include <stdint.h>#include "net/gnrc/pkt.h"#include "net/gnrc/tcp/tcb.h"#include "net/gnrc/ipv6.h"
Include dependency graph for tcp.h:Go to the source code of this file.
Data Structures | |
| struct | gnrc_tcp_ep_t |
| Address information for a single TCP connection endpoint. More... | |
Macros | |
| #define | GNRC_TCP_NO_TIMEOUT (UINT32_MAX) |
| Special timeout value representing no timeout. | |
Functions | |
| int | gnrc_tcp_ep_init (gnrc_tcp_ep_t *ep, int family, const uint8_t *addr, size_t addr_size, uint16_t port, uint16_t netif) |
| Initialize TCP connection endpoint. More... | |
| int | gnrc_tcp_ep_from_str (gnrc_tcp_ep_t *ep, const char *str) |
| Construct TCP connection endpoint from string. More... | |
| int | gnrc_tcp_init (void) |
| Initialize TCP. More... | |
| void | gnrc_tcp_tcb_init (gnrc_tcp_tcb_t *tcb) |
| Initialize Transmission Control Block (TCB) More... | |
| void | gnrc_tcp_tcb_queue_init (gnrc_tcp_tcb_queue_t *queue) |
| Initialize Transmission Control Block (TCB) queue. More... | |
| int | gnrc_tcp_open (gnrc_tcp_tcb_t *tcb, const gnrc_tcp_ep_t *remote, uint16_t local_port) |
| Opens a connection. More... | |
| int | gnrc_tcp_listen (gnrc_tcp_tcb_queue_t *queue, gnrc_tcp_tcb_t *tcbs, size_t tcbs_len, const gnrc_tcp_ep_t *local) |
| Configures a sequence of TCBs to wait for incoming connections. More... | |
| int | gnrc_tcp_accept (gnrc_tcp_tcb_queue_t *queue, gnrc_tcp_tcb_t **tcb, const uint32_t user_timeout_duration_ms) |
| Accept TCP connection from listening queue. More... | |
| ssize_t | gnrc_tcp_send (gnrc_tcp_tcb_t *tcb, const void *data, const size_t len, const uint32_t user_timeout_duration_ms) |
| Transmit data to connected peer. More... | |
| ssize_t | gnrc_tcp_recv (gnrc_tcp_tcb_t *tcb, void *data, const size_t max_len, const uint32_t user_timeout_duration_ms) |
| Receive Data from the peer. More... | |
| void | gnrc_tcp_close (gnrc_tcp_tcb_t *tcb) |
| Close a TCP connection. More... | |
| void | gnrc_tcp_abort (gnrc_tcp_tcb_t *tcb) |
| Abort a TCP connection. More... | |
| void | gnrc_tcp_stop_listen (gnrc_tcp_tcb_queue_t *queue) |
| Close connections and stop listening on TCB queue. More... | |
| int | gnrc_tcp_get_local (gnrc_tcp_tcb_t *tcb, gnrc_tcp_ep_t *ep) |
| Get the local end point of a connected TCB. More... | |
| int | gnrc_tcp_get_remote (gnrc_tcp_tcb_t *tcb, gnrc_tcp_ep_t *ep) |
| Get the remote end point of a connected TCB. More... | |
| int | gnrc_tcp_queue_get_local (gnrc_tcp_tcb_queue_t *queue, gnrc_tcp_ep_t *ep) |
| Gets the local end point of a TCB queue. More... | |
| int | gnrc_tcp_calc_csum (const gnrc_pktsnip_t *hdr, const gnrc_pktsnip_t *pseudo_hdr) |
| Calculate and set checksum in TCP header. More... | |
| gnrc_pktsnip_t * | gnrc_tcp_hdr_build (gnrc_pktsnip_t *payload, uint16_t src, uint16_t dst) |
| Adds a TCP header to a given payload. More... | |