Internally used defines, macros and variable declarations. More...
Internally used defines, macros and variable declarations.
Definition in file gnrc_tcp_common.h.
#include <stdint.h>#include "thread.h"#include "mutex.h"#include "evtimer.h"#include "net/gnrc/netapi.h"#include "net/gnrc/tcp/tcb.h"
 Include dependency graph for gnrc_tcp_common.h:Go to the source code of this file.
Data Structures | |
| struct | _gnrc_tcp_common_tcb_list_t | 
| TCB list type.  More... | |
Macros | |
| #define | RTO_UNINITIALIZED (-1) | 
| Define for marking that time measurement is uninitialized.  More... | |
| #define | INSIDE_WND(l_ed, seq_num, r_ed) (LEQ_32_BIT(l_ed, seq_num) && LSS_32_BIT(seq_num, r_ed)) | 
| Check if a given sequence number falls into receive window.  | |
| #define | GET_OFFSET(x) (((x) & MSK_OFFSET) >> 12) | 
| Extract offset value from "offctl" field in TCP header.  | |
| #define | TCP_DEBUG_ENTER | 
| Helper macro used to create debug message on function entry.  More... | |
| #define | TCP_DEBUG_LEAVE | 
| Helper macro used to create debug message on function exit.  More... | |
| #define | TCP_DEBUG_ERROR(msg) | 
| Helper macro used to create debug message on error.  More... | |
| #define | TCP_DEBUG_INFO(msg) | 
| Helper macro used to create informational debug message.  More... | |
Functions | |
| _gnrc_tcp_common_tcb_list_t * | _gnrc_tcp_common_get_tcb_list (void) | 
| Function to access to TCB list.  More... | |
| #define | PORT_UNSPEC (0) | 
| Port number unspecified.  More... | |
| #define | STATUS_LISTENING (1 << 0) | 
| TCB status flags.  More... | |
| #define | STATUS_ALLOW_ANY_ADDR (1 << 1) | 
| Internal: Status bitmask ALLOW_ANY_ADDR.  | |
| #define | STATUS_NOTIFY_USER (1 << 2) | 
| Internal: Status bitmask NOTIFY_USER.  | |
| #define | STATUS_ACCEPTED (1 << 3) | 
| Internal: Status bitmask ACCEPTED.  | |
| #define | STATUS_LOCKED (1 << 4) | 
| Internal: Status bitmask LOCKED.  | |
| #define | TCP_EVENTLOOP_PRIO (THREAD_PRIORITY_MAIN - 2U) | 
| Defines for "eventloop" thread settings.  More... | |
| #define | TCP_EVENTLOOP_STACK_SIZE (THREAD_STACKSIZE_DEFAULT) | 
| Internal: Handler stack size.  | |
| #define | MSK_FIN (0x0001) | 
| Bitmasks for control bit field handling.  More... | |
| #define | MSK_SYN (0x0002) | 
| Internal: Packet bitmask SYN.  | |
| #define | MSK_RST (0x0004) | 
| Internal: Packet bitmask RST.  | |
| #define | MSK_PSH (0x0008) | 
| Internal: Packet bitmask PSH.  | |
| #define | MSK_ACK (0x0010) | 
| Internal: Packet bitmask ACK.  | |
| #define | MSK_URG (0x0020) | 
| Internal: Packet bitmask URG.  | |
| #define | MSK_FIN_ACK (0x0011) | 
| Internal: Packet bitmask FIN & ACK.  | |
| #define | MSK_SYN_ACK (0x0012) | 
| Internal: Packet bitmask SYN & ACK.  | |
| #define | MSK_RST_ACK (0x0014) | 
| Internal: Packet bitmask RST & ACK.  | |
| #define | MSK_SYN_FIN_ACK (0x0013) | 
| Internal: Packet bitmask SYN & FIN & ACK.  | |
| #define | MSK_FIN_ACK_PSH (0x0019) | 
| Internal: Packet bitmask FIN & ACK & PSH.  | |
| #define | MSK_CTL (0x003F) | 
| Internal: Packet bitmask TCP status control bits.  | |
| #define | MSK_OFFSET (0xF000) | 
| Internal: Packet bitmask TCP status option offset.  | |
| #define | MSG_TYPE_CONNECTION_TIMEOUT (GNRC_NETAPI_MSG_TYPE_ACK + 101) | 
| Message types for GNRC TCPs internal message passing.  More... | |
| #define | MSG_TYPE_PROBE_TIMEOUT (GNRC_NETAPI_MSG_TYPE_ACK + 102) | 
| Internal: message id.  | |
| #define | MSG_TYPE_USER_SPEC_TIMEOUT (GNRC_NETAPI_MSG_TYPE_ACK + 103) | 
| Internal: message id.  | |
| #define | MSG_TYPE_RETRANSMISSION (GNRC_NETAPI_MSG_TYPE_ACK + 104) | 
| Internal: message id.  | |
| #define | MSG_TYPE_TIMEWAIT (GNRC_NETAPI_MSG_TYPE_ACK + 105) | 
| Internal: message id.  | |
| #define | MSG_TYPE_NOTIFY_USER (GNRC_NETAPI_MSG_TYPE_ACK + 106) | 
| Internal: message id.  | |
| #define | LSS_32_BIT(x, y) (((int32_t) (x)) - ((int32_t) (y)) < 0) | 
| Overflow tolerant comparison operators for sequence and acknowledgement number comparison.  More... | |
| #define | LEQ_32_BIT(x, y) (((int32_t) (x)) - ((int32_t) (y)) <= 0) | 
| Internal: operator <=.  | |
| #define | GRT_32_BIT(x, y) (!LEQ_32_BIT(x, y)) | 
| Internal: operator >  | |
| #define | GEQ_32_BIT(x, y) (!LSS_32_BOT(x, y)) | 
| Internal: operator >=.  | |
| #define LSS_32_BIT | ( | x, | |
| y | |||
| ) | (((int32_t) (x)) - ((int32_t) (y)) < 0) | 
Overflow tolerant comparison operators for sequence and acknowledgement number comparison.
Internal: operator <
Definition at line 100 of file gnrc_tcp_common.h.
| #define MSG_TYPE_CONNECTION_TIMEOUT (GNRC_NETAPI_MSG_TYPE_ACK + 101) | 
Message types for GNRC TCPs internal message passing.
Internal: message id
Definition at line 82 of file gnrc_tcp_common.h.
| #define MSK_FIN (0x0001) | 
Bitmasks for control bit field handling.
Internal: Packet bitmask FIN
Definition at line 63 of file gnrc_tcp_common.h.
| #define PORT_UNSPEC (0) | 
Port number unspecified.
Definition at line 38 of file gnrc_tcp_common.h.
| #define RTO_UNINITIALIZED (-1) | 
Define for marking that time measurement is uninitialized.
Internal: Constant RTO uninitialized
Definition at line 93 of file gnrc_tcp_common.h.
| #define STATUS_LISTENING (1 << 0) | 
TCB status flags.
Internal: Status bitmask LISTENING
Definition at line 44 of file gnrc_tcp_common.h.
| #define TCP_DEBUG_ENTER | 
Helper macro used to create debug message on function entry.
Definition at line 121 of file gnrc_tcp_common.h.
| #define TCP_DEBUG_ERROR | ( | msg | ) | 
Helper macro used to create debug message on error.
Definition at line 137 of file gnrc_tcp_common.h.
| #define TCP_DEBUG_INFO | ( | msg | ) | 
Helper macro used to create informational debug message.
Definition at line 145 of file gnrc_tcp_common.h.
| #define TCP_DEBUG_LEAVE | 
Helper macro used to create debug message on function exit.
Definition at line 129 of file gnrc_tcp_common.h.
| #define TCP_EVENTLOOP_PRIO (THREAD_PRIORITY_MAIN - 2U) | 
Defines for "eventloop" thread settings.
Internal: Handler priority
Definition at line 55 of file gnrc_tcp_common.h.
| _gnrc_tcp_common_tcb_list_t* _gnrc_tcp_common_get_tcb_list | ( | void | ) | 
Function to access to TCB list.