libcoap  4.3.0rc1
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  * This file is part of the CoAP library libcoap. Please see README for terms
8  * of use.
9  */
10 
16 #ifndef COAP_FORWARD_DECLS_H_
17 #define COAP_FORWARD_DECLS_H_
18 
19 /*
20  * Define the forward declations for the structures (even non-opaque)
21  * so that applications (using coap.h) as well as libcoap builds
22  * can reference them (and makes .h file dependencies a lot simpler).
23  */
24 struct coap_cache_entry_t;
25 struct coap_cache_key_t;
26 struct coap_address_t;
27 struct coap_bin_const_t;
28 struct coap_context_t;
29 struct coap_dtls_pki_t;
30 struct coap_packet_t;
31 struct coap_pdu_t;
32 struct coap_queue_t;
33 struct coap_resource_t;
34 struct coap_session_t;
35 struct coap_str_const_t;
36 struct coap_string_t;
37 
38 /*
39  * Just to get rid of #include circular references
40  *
41  * When (If) the struct becomes opaque, then move it to the correct place
42  *
43  */
44 typedef struct coap_pdu_t coap_pdu_t;
45 typedef struct coap_context_t coap_context_t;
46 
47 /*
48  * typedef all the opaque structures that are defined in coap_*_internal.h
49  */
50 
51 /* ************* coap_cache_internal.h ***************** */
52 
57 typedef struct coap_cache_key_t coap_cache_key_t;
58 
59 /* ************* coap_block_internal.h ***************** */
60 
64 typedef struct coap_lg_xmit_t coap_lg_xmit_t;
65 typedef struct coap_lg_crcv_t coap_lg_crcv_t;
66 
67 typedef struct coap_lg_srcv_t coap_lg_srcv_t;
68 
69 /* ************* coap_cache_internal.h ***************** */
70 
74 typedef struct coap_attr_t coap_attr_t;
75 typedef struct coap_resource_t coap_resource_t;
76 
77 /* ************* coap_session_internal.h ***************** */
78 
82 typedef struct coap_endpoint_t coap_endpoint_t;
83 
84 /* ************* coap_subscribe_internal.h ***************** */
85 
90 
91 #endif /* COAP_FORWARD_DECLS_H_ */
multi-purpose address abstraction
Definition: address.h:94
Abstraction of attribute associated with a resource.
CoAP binary data definition with const data.
Definition: str.h:56
The CoAP stack's global state is stored in a coap_context_t object.
Definition: net.h:150
The structure used for defining the PKI setup data to be used.
Definition: coap_dtls.h:245
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...
Definition: pdu.h:287
Queue entry.
Definition: net.h:37
Abstraction of resource that can be attached to coap_context_t.
CoAP string data definition with const data.
Definition: str.h:38
CoAP string data definition.
Definition: str.h:30
Subscriber information.