1 /* 2 * coap_session_internal.h -- Structures, Enums & Functions that are not 3 * exposed to application programming 4 * 5 * Copyright (C) 2010-2019 Olaf Bergmann <bergmann@tzi.org> 6 * 7 * This file is part of the CoAP library libcoap. Please see README for terms 8 * of use. 9 */ 10 11 /** 12 * @file coap_session_internal.h 13 * @brief COAP session internal information 14 */ 15 16 #ifndef COAP_SESSION_INTERNAL_H_ 17 #define COAP_SESSION_INTERNAL_H_ 18 19 /** 20 * @defgroup session_internal Sessions (Internal) 21 * Structures, Enums and Functions that are not exposed to applications 22 * @{ 23 */ 24 25 /** 26 * Abstraction of virtual endpoint that can be attached to coap_context_t. The 27 * tuple (handle, addr) must uniquely identify this endpoint. 28 */ 29 struct coap_endpoint_t { 30 struct coap_endpoint_t *next; 31 struct coap_context_t *context; /**< endpoint's context */ 32 coap_proto_t proto; /**< protocol used on this interface */ 33 uint16_t default_mtu; /**< default mtu for this interface */ 34 coap_socket_t sock; /**< socket object for the interface, if any */ 35 coap_address_t bind_addr; /**< local interface address */ 36 struct coap_session_t *sessions; /**< hash table or list of active sessions */ 37 }; 38 39 /** @} */ 40 41 #endif /* COAP_SESSION_INTERNAL_H_ */ 42