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 13 /** 14 * @file coap_forward_decls.h 15 * @brief COAP forward definitions 16 */ 17 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 38 /** 39 * Async Entry information. 40 */ 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 */ 57 typedef struct coap_cache_entry_t coap_cache_entry_t; 58 typedef struct coap_cache_key_t coap_cache_key_t; 59 60 /* ************* coap_io_internal.h ***************** */ 61 62 /** 63 * coap_socket_t and coap_packet_t information. 64 */ 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 78 /** 79 * PDU information. 80 */ 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 */ 105 typedef struct coap_subscription_t coap_subscription_t; 106 107 #endif /* COAP_FORWARD_DECLS_H_ */ 108