mirror of
https://github.com/obgm/libcoap.git
synced 2026-11-07 18:12:55 +03:00
include/coap2/coap_subscribe_internal.h and include/coap2/coap_session_internal.h contain the information not exposed to applications. This internal information was moved out of the respective include/coap2/subscribe.h and include/coap2/coap_session.h files comprising of the coap_subscription_t and coap_endpoint_t definitions. To ease inter .h file dependencies, a new file include/coap2/coap_forward_decls.h is added to include forward declarations for both libcoap and applications. Makefile.am: Include include/coap2/coap_*internal.h as files for distribution, but not installed for applications to use. Include include/coap2/coap_forward_decls.h, so it is installed for applications. include/coap2/coap.h.in: Include "coap_forward_decls.h" include/coap2/coap_forward_decls.h: (New) Forward declare structures and typedef the structures defined in coap_internal.h. include/coap2/coap_internal.h: (New) Includes all the required #include files that libcoap internally needs. include/coap2/coap_session_internal.h: (New) Include the coap_endpoint_t information taken from include/coap2/coap_session.h. include/coap2/coap_session.h: Remove coap_endpoint_t definition. include/coap2/lwippools.h: Add in coap_forward_decls.h and coap_internal.h to handle the LwIP memory allocations. include/coap2/resource.h: Add in "block.h" to allow things to build. include/coap2/coap_subscribe_internal.h: (New) Include the coap_subscription_t information taken from include/coap2/subscribe.h. include/coap2/subscribe.h: Remove coap_subscription_t definition. libcoap-2.map: libcoap-2.sym: Updated, removing coap_subscription_init(). src/address.c: src/asyn.c: src/block.c: src/coap_debug.c: src/coap_event.c: src/coap_gnutls.c: src/coap_hashkey.c: src/coap_io.c: src/coap_io_lwip.c: src/coap_notls.c: src/coap_openssl.c: src/coap_session.c: src/coap_time.c: src/coap_tinydtls.c: src/encode.c: src/mem.c: src/net.c: src/option.c: src/pdu.c: src/resource.c: src/str.c: src/subscribe.c: src/uri.c: Add in '#include "coap_internal.h"' to the source files. Remove other libcoap #include files. win32/libcoap.vcxproj: win32/libcoap.vcxproj.filters: Update for Windows build (not tested). examples/contiki/server.c: src/coap_io.c: Remove knowledge of endpoint from the server and update Contiki's version of coap_run_once() to do the work instead. ==== Other structures (plus some internal required #defines) will follow as separate PRs.
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
/*
|
|
* coap_forward_decls.h -- Forward declarations of structures that are
|
|
* opaque to application programming that use libcoap.
|
|
*
|
|
* Copyright (C) 2019 Jon Shallow <supjps-libcoap@jpshallow.com>
|
|
*
|
|
* This file is part of the CoAP library libcoap. Please see README for terms
|
|
* of use.
|
|
*/
|
|
|
|
/**
|
|
* @file coap_forward_decls.h
|
|
* @brief COAP forward definitions
|
|
*/
|
|
|
|
#ifndef COAP_FORWARD_DECLS_H_
|
|
#define COAP_FORWARD_DECLS_H_
|
|
|
|
/*
|
|
* Define the forward declations for the structures (even non-opaque)
|
|
* so that applications (using coap.h) as well as libcoap builds
|
|
* can reference them (and makes .h file dependencies a lot simpler).
|
|
*/
|
|
struct coap_context_t;
|
|
struct coap_dtls_pki_t;
|
|
struct coap_endpoint_t;
|
|
struct coap_queue_t;
|
|
struct coap_session_t;
|
|
struct coap_string_t;
|
|
struct coap_subscription_t;
|
|
|
|
/*
|
|
* typedef all the structures that are defined in coap_*_internal.h
|
|
*/
|
|
|
|
/* ************* coap_session_internal.h ***************** */
|
|
|
|
/**
|
|
* Abstraction of virtual endpoint that can be attached to coap_context_t.
|
|
*/
|
|
typedef struct coap_endpoint_t coap_endpoint_t;
|
|
|
|
/* ************* coap_subscribe_internal.h ***************** */
|
|
|
|
/** Subscriber information */
|
|
typedef struct coap_subscription_t coap_subscription_t;
|
|
|
|
#endif /* COAP_FORWARD_DECLS_H_ */
|