libcoap 4.3.1
coap_internal.h
Go to the documentation of this file.
1/*
2 * coap_internal.h -- Structures, Enums & Functions that are not exposed to
3 * application programming
4 *
5 * Copyright (C) 2019-2022 Jon Shallow <supjps-libcoap@jpshallow.com>
6 *
7 * SPDX-License-Identifier: BSD-2-Clause
8 *
9 * This file is part of the CoAP library libcoap. Please see README for terms
10 * of use.
11 */
12
13/*
14 * All libcoap library files should include this file which then pulls in all
15 * of the other appropriate header files.
16 *
17 * Note: This file should never be included in application code (with the
18 * possible exception of internal test suites).
19 */
20
26#ifndef COAP_INTERNAL_H_
27#define COAP_INTERNAL_H_
28
29#include "coap_config.h"
30
31/*
32 * Correctly set up assert() based on NDEBUG for libcoap
33 */
34#if defined(HAVE_ASSERT_H) && !defined(assert)
35# include <assert.h>
36#endif
37
38/* By default without either configured, these need to be set */
39#ifndef COAP_SERVER_SUPPORT
40#ifndef COAP_CLIENT_SUPPORT
41#define COAP_SERVER_SUPPORT 1
42#define COAP_CLIENT_SUPPORT 1
43#endif /* COAP_CLIENT_SUPPORT */
44#endif /* COAP_SERVER_SUPPORT */
45
46#if ! COAP_SERVER_SUPPORT
47#ifndef WITHOUT_ASYNC
48/* ASYNC is only there for Server code */
49#define WITHOUT_ASYNC
50#endif /* WITHOUT_ASYNC */
51#endif /* COAP_SERVER_SUPPORT */
52
53#include "coap3/coap.h"
54
55/*
56 * Include all the header files that are for internal use only.
57 */
58
59/* Not defined in coap.h - internal usage .h files */
60#include "utlist.h"
61#include "uthash.h"
62#include "coap_hashkey.h"
63#include "coap_mutex.h"
64
65/* Specifically defined internal .h files */
66#include "coap_asn1_internal.h"
67#include "coap_async_internal.h"
68#include "coap_block_internal.h"
69#include "coap_cache_internal.h"
70#include "coap_dtls_internal.h"
71#include "coap_io_internal.h"
72#include "coap_net_internal.h"
73#include "coap_pdu_internal.h"
78#include "coap_tcp_internal.h"
79
80#endif /* COAP_INTERNAL_H_ */
CoAP ASN.1 internal information.
CoAP async internal information.
CoAP block internal information.
CoAP cache internal information.
Internal CoAP DTLS support.
Definition of hash key type and helper functions.
Internal network I/O functions.
CoAP mutex mechanism wrapper.
CoAP context internal information.
CoAP PDU internal information.
Generic resource internal handling.
CoAP session internal information.
CoAP subscribe internal information.
CoAP TCP internal information.