38#define PORT_UNSPEC (0) 
   44#define STATUS_LISTENING      (1 << 0)  
   45#define STATUS_ALLOW_ANY_ADDR (1 << 1)  
   46#define STATUS_NOTIFY_USER    (1 << 2)  
   47#define STATUS_ACCEPTED       (1 << 3)  
   48#define STATUS_LOCKED         (1 << 4)  
   55#define TCP_EVENTLOOP_PRIO       (THREAD_PRIORITY_MAIN - 2U)  
   56#define TCP_EVENTLOOP_STACK_SIZE (THREAD_STACKSIZE_DEFAULT)   
   63#define MSK_FIN         (0x0001)  
   64#define MSK_SYN         (0x0002)  
   65#define MSK_RST         (0x0004)  
   66#define MSK_PSH         (0x0008)  
   67#define MSK_ACK         (0x0010)  
   68#define MSK_URG         (0x0020)  
   69#define MSK_FIN_ACK     (0x0011)  
   70#define MSK_SYN_ACK     (0x0012)  
   71#define MSK_RST_ACK     (0x0014)  
   72#define MSK_SYN_FIN_ACK (0x0013)  
   73#define MSK_FIN_ACK_PSH (0x0019)  
   74#define MSK_CTL         (0x003F)  
   75#define MSK_OFFSET      (0xF000)  
   82#define MSG_TYPE_CONNECTION_TIMEOUT (GNRC_NETAPI_MSG_TYPE_ACK + 101)  
   83#define MSG_TYPE_PROBE_TIMEOUT      (GNRC_NETAPI_MSG_TYPE_ACK + 102)  
   84#define MSG_TYPE_USER_SPEC_TIMEOUT  (GNRC_NETAPI_MSG_TYPE_ACK + 103)  
   85#define MSG_TYPE_RETRANSMISSION     (GNRC_NETAPI_MSG_TYPE_ACK + 104)  
   86#define MSG_TYPE_TIMEWAIT           (GNRC_NETAPI_MSG_TYPE_ACK + 105)  
   87#define MSG_TYPE_NOTIFY_USER        (GNRC_NETAPI_MSG_TYPE_ACK + 106)  
   93#define RTO_UNINITIALIZED (-1)  
  100#define LSS_32_BIT(x, y) (((int32_t) (x)) - ((int32_t) (y)) <  0)  
  101#define LEQ_32_BIT(x, y) (((int32_t) (x)) - ((int32_t) (y)) <= 0)  
  102#define GRT_32_BIT(x, y) (!LEQ_32_BIT(x, y))  
  103#define GEQ_32_BIT(x, y) (!LSS_32_BOT(x, y))  
  109#define INSIDE_WND(l_ed, seq_num, r_ed) (LEQ_32_BIT(l_ed, seq_num) && LSS_32_BIT(seq_num, r_ed)) 
  114#define GET_OFFSET( x ) (((x) & MSK_OFFSET) >> 12) 
  121#define TCP_DEBUG_ENTER DEBUG("GNRC_TCP: Enter \"%s\", File: %s(%d)\n", \ 
  122                              DEBUG_FUNC, __FILE__, __LINE__) 
 
  129#define TCP_DEBUG_LEAVE DEBUG("GNRC_TCP: Leave \"%s\", File: %s(%d)\n", \ 
  130                              DEBUG_FUNC, __FILE__, __LINE__) 
 
  137#define TCP_DEBUG_ERROR(msg) DEBUG("GNRC_TCP: Error: \"%s\", Func: %s, File: %s(%d)\n", \ 
  138                                   msg, DEBUG_FUNC, __FILE__, __LINE__) 
 
  145#define TCP_DEBUG_INFO(msg) DEBUG("GNRC_TCP: Info: \"%s\", Func: %s, File: %s(%d)\n", \ 
  146                                  msg, DEBUG_FUNC, __FILE__, __LINE__) 
 
_gnrc_tcp_common_tcb_list_t * _gnrc_tcp_common_get_tcb_list(void)
Function to access to TCB list.
 
Mutex for thread synchronization.
 
Generic interface to communicate with GNRC modules.
 
mutex_t lock
Lock of TCB list.
 
gnrc_tcp_tcb_t * head
Head of TCB list.
 
GNRC TCP transmission control block (TCB)
 
struct sock_tcp gnrc_tcp_tcb_t
Transmission control block of GNRC TCP.