File: coap_supported.h

package info (click to toggle)
libcoap3 4.3.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,368 kB
  • sloc: ansic: 60,037; makefile: 1,280; sh: 938; python: 6
file content (183 lines) | stat: -rw-r--r-- 4,187 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*
 * coap_supported.h -- CoAP optional functionality
 *
 * Copyright (C) 2024 Olaf Bergmann <bergmann@tzi.org>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 *
 * This file is part of the CoAP library libcoap. Please see README for terms
 * of use.
 */

/**
 * @file coap_supported.h
 * @brief CoAP optional functionality
 */

#ifndef COAP_SUPPORTED_H_
#define COAP_SUPPORTED_H_

/**
 * @ingroup application_api
 * @defgroup supported Optional functionality
 * API for determining functionality optionally compiled into libcoap
 * @{
 */

/**
 * Check whether socket type AF_UNIX is available.
 *
 * @return @c 1 if support for AF_UNIX is available, or @c 0 otherwise.
 */
int coap_af_unix_is_supported(void);

/**
 * Check whether ASYNC (separate responses) is available.
 *
 * @return @c 1 if support for ASYNC is available, or @c 0 otherwise.
 */
int coap_async_is_supported(void);

/**
 * Check whether Client code is available.
 *
 * @return @c 1 if support for Client is available, or @c 0 otherwise.
 */
int coap_client_is_supported(void);

/**
 * Check whether DTLS is available.
 *
 * @return @c 1 if support for DTLS is available, or @c 0 otherwise.
 */
int coap_dtls_is_supported(void);

/**
 * Check whether (D)TLS CID is available.
 *
 * @return @c 1 if support for (D)TLS CID is available, or @c 0 otherwise.
 */
int coap_dtls_cid_is_supported(void);

/**
 * Check whether (D)TLS PSK is available.
 *
 * @return @c 1 if support for (D)TLS PSK is available, or @c 0 otherwise.
 */
int coap_dtls_psk_is_supported(void);

/**
 * Check whether (D)TLS PKI is available.
 *
 * @return @c 1 if support for (D)TLS PKI is available, or @c 0 otherwise.
 */
int coap_dtls_pki_is_supported(void);

/**
 * Check whether (D)TLS PKCS11 is available.
 *
 * @return @c 1 if support for (D)TLS PKCS11 is available, or @c 0 otherwise.
 */
int coap_dtls_pkcs11_is_supported(void);

/**
 * Check whether (D)TLS RPK is available.
 *
 * @return @c 1 if support for (D)TLS RPK is available, or @c 0 otherwise.
 */
int coap_dtls_rpk_is_supported(void);

/**
 * Determine whether epoll is supported or not.
 *
 * @return @c 1 if libcoap is compiled with epoll support, @c 0 if not.
 */
int coap_epoll_is_supported(void);

/**
 * Check whether IPv4 is available.
 *
 * @return @c 1 if support for IPv4 is available, or @c 0 otherwise.
 */
int coap_ipv4_is_supported(void);

/**
 * Check whether IPv6 is available.
 *
 * @return @c 1 if support for IPv6 is available, or @c 0 otherwise.
 */
int coap_ipv6_is_supported(void);

/**
 * Check whether Observe Persist is available.
 *
 * @return @c 1 if support for Observe Persist is available, or @c 0 otherwise.
 */
int coap_observe_persist_is_supported(void);

/**
 * Check whether OSCORE is available.
 *
 * @return @c 1 if support for OSCORE is enabled, or @c 0 otherwise.
 */
int coap_oscore_is_supported(void);

/**
 * Check whether Proxy code is available.
 *
 * @return @c 1 if support for Proxy code is enabled, or @c 0 otherwise.
 */
int coap_proxy_is_supported(void);

/**
 * Check whether Q-BlockX is available.
 *
 * @return @c 1 if support for Q-BLockX is available, or @c 0 otherwise.
 */
int coap_q_block_is_supported(void);

/**
 * Check whether Server code is available.
 *
 * @return @c 1 if support for Server is available, or @c 0 otherwise.
 */
int coap_server_is_supported(void);

/**
 * Check whether TCP is available.
 *
 * @return @c 1 if support for TCP is enabled, or @c 0 otherwise.
 */
int coap_tcp_is_supported(void);

/**
 * Determine whether libcoap is threadsafe or not.
 *
 * @return @c 1 if libcoap is compiled with threadsafe support, @c 0 if not.
 */
int coap_threadsafe_is_supported(void);

/**
 * Check whether TLS is available.
 *
 * @return @c 1 if support for TLS is available, or @c 0 otherwise.
 */
int coap_tls_is_supported(void);

/**
 * Check whether WebSockets is available.
 *
 * @return @c 1 if support for WebSockets is available, or @c 0 otherwise.
 */
int coap_ws_is_supported(void);

/**
 * Check whether Secure WebSockets is available.
 *
 * @return @c 1 if support for Secure WebSockets is available, or @c 0 otherwise.
 */
int coap_wss_is_supported(void);

/**@}*/

#endif /* COAP_SUPPORTED_H_ */