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_ */
|