common.h File Reference

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

Detailed Description

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

Definition in file common.h.

#include <stdint.h>
#include "assert.h"
#include "kernel_types.h"
#include "thread.h"
#include "mutex.h"
#include "net/gnrc/netapi.h"
#include "net/gnrc/tcp/tcb.h"
+ Include dependency graph for common.h:

Go to the source code of this file.

Macros

#define PORT_UNSPEC   (0)
 Port number unspecified. More...
 
#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 STATUS_PASSIVE   (1 << 0)
 TCB status flags.
 
#define STATUS_ALLOW_ANY_ADDR   (1 << 1)
 
#define STATUS_NOTIFY_USER   (1 << 2)
 
#define STATUS_WAIT_FOR_MSG   (1 << 3)
 
#define TCP_EVENTLOOP_MSG_QUEUE_SIZE   (8U)
 Defines for "eventloop" thread settings.
 
#define TCP_EVENTLOOP_PRIO   (THREAD_PRIORITY_MAIN - 2U)
 
#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 comparision 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))
 

Variables

kernel_pid_t gnrc_tcp_pid
 PID of GNRC TCP event handling thread.
 
gnrc_tcp_tcb_t_list_tcb_head
 Head of linked TCB list.
 
mutex_t _list_tcb_lock
 Mutex to protect TCB list.