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"
74 #include "coap_session_internal.h"
75 #include "coap_resource_internal.h"
76 #include "coap_session_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.