gnrc_tcp_common.h File Reference

Internally used defines, macros and variable declarations. More...

Detailed Description

Internally used defines, macros and variable declarations.

Author
Simon Brummer simon.nosp@m..bru.nosp@m.mmer@.nosp@m.post.nosp@m.eo.de

Definition in file gnrc_tcp_common.h.

#include <stdint.h>
#include "kernel_types.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.
 
#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_PASSIVE   (1 << 0)
 TCB status flags.
 
#define STATUS_ALLOW_ANY_ADDR   (1 << 1)
 
#define STATUS_NOTIFY_USER   (1 << 2)
 
#define TCP_EVENTLOOP_PRIO   (THREAD_PRIORITY_MAIN - 2U)
 Defines for "eventloop" thread settings.
 
#define TCP_EVENTLOOP_STACK_SIZE   (THREAD_STACKSIZE_DEFAULT)
 
#define MSK_FIN   (0x0001)
 Bitmasks for control bit field handling.
 
#define MSK_SYN   (0x0002)
 
#define MSK_RST   (0x0004)
 
#define MSK_PSH   (0x0008)
 
#define MSK_ACK   (0x0010)
 
#define MSK_URG   (0x0020)
 
#define MSK_FIN_ACK   (0x0011)
 
#define MSK_SYN_ACK   (0x0012)
 
#define MSK_RST_ACK   (0x0014)
 
#define MSK_SYN_FIN_ACK   (0x0013)
 
#define MSK_FIN_ACK_PSH   (0x0019)
 
#define MSK_CTL   (0x003F)
 
#define MSK_OFFSET   (0xF000)
 
#define MSG_TYPE_CONNECTION_TIMEOUT   (GNRC_NETAPI_MSG_TYPE_ACK + 101)
 Message types for GNRC TCPs internal message passing.
 
#define MSG_TYPE_PROBE_TIMEOUT   (GNRC_NETAPI_MSG_TYPE_ACK + 102)
 
#define MSG_TYPE_USER_SPEC_TIMEOUT   (GNRC_NETAPI_MSG_TYPE_ACK + 103)
 
#define MSG_TYPE_RETRANSMISSION   (GNRC_NETAPI_MSG_TYPE_ACK + 104)
 
#define MSG_TYPE_TIMEWAIT   (GNRC_NETAPI_MSG_TYPE_ACK + 105)
 
#define MSG_TYPE_NOTIFY_USER   (GNRC_NETAPI_MSG_TYPE_ACK + 106)
 
#define LSS_32_BIT(x, y)   (((int32_t) (x)) - ((int32_t) (y)) < 0)
 Overflow tolerant comparison operators for sequence and acknowledgement number comparison.
 
#define LEQ_32_BIT(x, y)   (((int32_t) (x)) - ((int32_t) (y)) <= 0)
 
#define GRT_32_BIT(x, y)   (!LEQ_32_BIT(x, y))
 
#define GEQ_32_BIT(x, y)   (!LSS_32_BOT(x, y))
 

Macro Definition Documentation

◆ PORT_UNSPEC

#define PORT_UNSPEC   (0)

Port number unspecified.

See also
https://www.ietf.org/rfc/rfc1700.txt

Definition at line 40 of file gnrc_tcp_common.h.

◆ TCP_DEBUG_ENTER

#define TCP_DEBUG_ENTER
Value:
DEBUG("GNRC_TCP: Enter \"%s\", File: %s(%d)\n", \
DEBUG_FUNC, RIOT_FILE_RELATIVE, __LINE__)

Helper macro used to create debug message on function entry.

Note
Compilation units using TCP_DEBUG_ENTER must set ENABLE_DEBUG and include debug.h.

Definition at line 121 of file gnrc_tcp_common.h.

◆ TCP_DEBUG_ERROR

#define TCP_DEBUG_ERROR (   msg)
Value:
DEBUG("GNRC_TCP: Error: \"%s\", Func: %s, File: %s(%d)\n", \
msg, DEBUG_FUNC, RIOT_FILE_RELATIVE, __LINE__)

Helper macro used to create debug message on error.

Note
Compilation units using TCP_DEBUG_ERROR must set ENABLE_DEBUG and include debug.h.

Definition at line 137 of file gnrc_tcp_common.h.

◆ TCP_DEBUG_INFO

#define TCP_DEBUG_INFO (   msg)
Value:
DEBUG("GNRC_TCP: Info: \"%s\", Func: %s, File: %s(%d)\n", \
msg, DEBUG_FUNC, RIOT_FILE_RELATIVE, __LINE__)

Helper macro used to create informational debug message.

Note
Compilation units using TCP_DEBUG_INFO must set ENABLE_DEBUG and include debug.h.

Definition at line 145 of file gnrc_tcp_common.h.

◆ TCP_DEBUG_LEAVE

#define TCP_DEBUG_LEAVE
Value:
DEBUG("GNRC_TCP: Leave \"%s\", File: %s(%d)\n", \
DEBUG_FUNC, RIOT_FILE_RELATIVE, __LINE__)

Helper macro used to create debug message on function exit.

Note
Compilation units using TCP_DEBUG_LEAVE must set ENABLE_DEBUG and include debug.h.

Definition at line 129 of file gnrc_tcp_common.h.

Function Documentation

◆ _gnrc_tcp_common_get_tcb_list()

_gnrc_tcp_common_tcb_list_t* _gnrc_tcp_common_get_tcb_list ( void  )

Function to access to TCB list.

Returns
Pointer to global TCB list.
DEBUG
#define DEBUG(...)
Print debug information to stdout.
Definition: debug.h:97
DEBUG_FUNC
#define DEBUG_FUNC
Contains the function name if given compiler supports it. Otherwise it is an empty string.
Definition: debug.h:87