libcoap  4.3.0
coap_forward_decls.h
Go to the documentation of this file.
1 /*
2  * coap_forward_decls.h -- Forward declarations of structures that are
3  * opaque to application programming that use libcoap.
4  *
5  * Copyright (C) 2019-2021 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 
18 #ifndef COAP_FORWARD_DECLS_H_
19 #define COAP_FORWARD_DECLS_H_
20 
21 /*
22  * Define the forward declations for the structures (even non-opaque)
23  * so that applications (using coap.h) as well as libcoap builds
24  * can reference them (and makes .h file dependencies a lot simpler).
25  */
26 struct coap_address_t;
27 struct coap_bin_const_t;
28 struct coap_dtls_pki_t;
29 struct coap_str_const_t;
30 struct coap_string_t;
31 
32 /*
33  * typedef all the opaque structures that are defined in coap_*_internal.h
34  */
35 
36 /* ************* coap_async_internal.h ***************** */
37 
41 typedef struct coap_async_t coap_async_t;
42 
43 /* ************* coap_block_internal.h ***************** */
44 
45 /*
46  * Block handling information.
47  */
48 typedef struct coap_lg_xmit_t coap_lg_xmit_t;
49 typedef struct coap_lg_crcv_t coap_lg_crcv_t;
50 typedef struct coap_lg_srcv_t coap_lg_srcv_t;
51 
52 /* ************* coap_cache_internal.h ***************** */
53 
54 /*
55  * Cache Entry information.
56  */
58 typedef struct coap_cache_key_t coap_cache_key_t;
59 
60 /* ************* coap_io_internal.h ***************** */
61 
65 typedef struct coap_packet_t coap_packet_t;
66 typedef struct coap_socket_t coap_socket_t;
67 
68 /* ************* coap_net_internal.h ***************** */
69 
70 /*
71  * Net information.
72  */
73 typedef struct coap_context_t coap_context_t;
74 typedef struct coap_queue_t coap_queue_t;
75 
76 /* ************* coap_pdu_internal.h ***************** */
77 
81 typedef struct coap_pdu_t coap_pdu_t;
82 
83 /* ************* coap_resource_internal.h ***************** */
84 
85 /*
86  * Resource information.
87  */
88 typedef struct coap_attr_t coap_attr_t;
89 typedef struct coap_resource_t coap_resource_t;
90 
91 /* ************* coap_session_internal.h ***************** */
92 
93 /*
94  * Session information.
95  */
96 typedef struct coap_addr_hash_t coap_addr_hash_t;
97 typedef struct coap_endpoint_t coap_endpoint_t;
98 typedef struct coap_session_t coap_session_t;
99 
100 /* ************* coap_subscribe_internal.h ***************** */
101 
102 /*
103  * Observe subscriber information.
104  */
106 
107 #endif /* COAP_FORWARD_DECLS_H_ */
Only used for servers for hashing incoming packets.
multi-purpose address abstraction
Definition: address.h:96
Abstraction of attribute associated with a resource.
CoAP binary data definition with const data.
Definition: str.h:58
The CoAP stack's global state is stored in a coap_context_t object.
The structure used for defining the PKI setup data to be used.
Definition: coap_dtls.h:244
Abstraction of virtual endpoint that can be attached to coap_context_t.
Structure to hold large body (many blocks) client receive information.
Structure to hold large body (many blocks) server receive information.
Structure to hold large body (many blocks) transmission information.
structure for CoAP PDUs token, if any, follows the fixed size header, then options until payload mark...
Queue entry.
Abstraction of resource that can be attached to coap_context_t.
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (se...
CoAP string data definition with const data.
Definition: str.h:40
CoAP string data definition.
Definition: str.h:32
Subscriber information.