The friendly Operating System for the Internet of Things
sock_types.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016 Martine Lenders <mlenders@inf.fu-berlin.de>
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
22 #ifndef SOCK_TYPES_H
23 #define SOCK_TYPES_H
24 
25 #include <stdbool.h>
26 #include <stdint.h>
27 
28 #include "mbox.h"
29 #include "net/af.h"
30 #include "net/gnrc.h"
31 #include "net/gnrc/netreg.h"
32 #include "net/sock/ip.h"
33 #include "net/sock/udp.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 #ifndef SOCK_MBOX_SIZE
40 #define SOCK_MBOX_SIZE (8)
41 #endif
42 
47 typedef struct gnrc_sock_reg {
48 #ifdef MODULE_GNRC_SOCK_CHECK_REUSE
49  struct gnrc_sock_reg *next;
50 #endif
55 
60 struct sock_ip {
64  uint16_t flags;
65 };
66 
71 struct sock_udp {
75  uint16_t flags;
76 };
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif /* SOCK_TYPES_H */
83 
mbox_t mbox
Mailboxes target for the sock
Definition: sock_types.h:52
Entry to the Network protocol registry.
Definition: netreg.h:142
struct gnrc_sock_reg gnrc_sock_reg_t
sock Network protocol registry info
#define SOCK_MBOX_SIZE
Size for gnrc_sock_reg_t::mbox_queue.
Definition: sock_types.h:40
Mailbox struct definition.
Definition: mbox.h:39
Mailbox API.
Raw IPv4/IPv6 sock definitions.
sock Network protocol registry info
Definition: sock_types.h:47
UDP sock definitions.
Raw IP sock type.
Definition: sock_types.h:60
msg_t mbox_queue[SOCK_MBOX_SIZE]
queue for gnrc_sock_reg_t::mbox
Definition: sock_types.h:53
sock_udp_ep_t remote
remote end-point
Definition: sock_types.h:74
gnrc_sock_reg_t reg
netreg info
Definition: sock_types.h:72
Abstract IP end point and end point for a raw IP sock object.
Definition: sock.h:158
sock_udp_ep_t local
local end-point
Definition: sock_types.h:73
Includes all essential GNRC network stack base modules.
Common IP-based transport layer end point.
Definition: sock.h:195
gnrc_sock_reg_t reg
netreg info
Definition: sock_types.h:61
Definitions to register network protocol PIDs to use with GNRC communication interface.
Describes a message object which can be sent between threads.
Definition: msg.h:184
uint16_t flags
option flags
Definition: sock_types.h:64
uint16_t flags
option flags
Definition: sock_types.h:75
gnrc_netreg_entry_t entry
Network protocol registry entry for mbox
Definition: sock_types.h:51
sock_ip_ep_t remote
remote end-point
Definition: sock_types.h:63
UDP sock type.
Definition: sock_types.h:71
Global UNIX address family definitions.
sock_ip_ep_t local
local end-point
Definition: sock_types.h:62