libcoap
4.3.5-develop-7a7336a
Loading...
Searching...
No Matches
coap_subscribe_internal.h
Go to the documentation of this file.
1
/*
2
* coap_subscribe_internal.h -- Structures, Enums & Functions that are not
3
* exposed to application programming
4
*
5
* Copyright (C) 2010-2026 Olaf Bergmann <bergmann@tzi.org>
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
17
18
#ifndef COAP_SUBSCRIBE_INTERNAL_H_
19
#define COAP_SUBSCRIBE_INTERNAL_H_
20
21
#ifdef __cplusplus
22
extern
"C"
{
23
#endif
24
31
32
#if COAP_SERVER_SUPPORT
38
#ifndef COAP_OBS_MAX_NON
39
#define COAP_OBS_MAX_NON 5
40
#endif
/* COAP_OBS_MAX_NON */
41
#if COAP_OBS_MAX_NON > 255
42
#error COAP_OBS_MAX_NON is too large
43
#endif
/* COAP_OBS_MAX_NON > 255 */
44
50
#ifndef COAP_OBS_MAX_FAIL
51
#define COAP_OBS_MAX_FAIL 1
52
#endif
/* COAP_OBS_MAX_FAIL */
53
#if COAP_OBS_MAX_FAIL > 255
54
#error COAP_OBS_MAX_FAIL is too large
55
#endif
/* COAP_OBS_MAX_FAIL > 255 */
56
58
struct
coap_subscription_t
{
59
struct
coap_subscription_t
*next;
60
struct
coap_session_t
*session;
61
coap_address_t
local_if;
62
63
uint8_t non_cnt;
64
uint8_t fail_cnt;
65
uint8_t dirty;
68
uint8_t to_visit;
70
coap_cache_key_t
*cache_key;
71
coap_pdu_t
*pdu;
72
};
73
74
void
coap_subscription_init(
coap_subscription_t
*);
75
83
void
coap_handle_failed_notify(
coap_context_t
*
context
,
84
coap_session_t
*session,
85
const
coap_bin_const_t
*token);
86
101
coap_subscription_t
*coap_add_observer(
coap_resource_t
*resource,
102
coap_session_t
*session,
103
const
coap_bin_const_t
*token,
104
const
coap_pdu_t
*pdu);
105
116
coap_subscription_t
*coap_find_observer(
coap_resource_t
*resource,
117
coap_session_t
*session,
118
const
coap_bin_const_t
*token);
119
128
void
coap_touch_observer(
coap_context_t
*
context
,
129
coap_session_t
*session,
130
const
coap_bin_const_t
*token);
131
144
int
coap_delete_observer(
coap_resource_t
*resource,
145
coap_session_t
*session,
146
const
coap_bin_const_t
*token);
147
163
int
coap_delete_observer_request(
coap_resource_t
*resource,
164
coap_session_t
*session,
165
const
coap_bin_const_t
*token,
166
coap_pdu_t
*request,
167
int
large_fetch);
168
175
void
coap_delete_observers(
coap_context_t
*
context
,
coap_session_t
*session);
176
185
void
coap_delete_observer_internal(
coap_resource_t
*resource,
186
coap_session_t
*session,
187
coap_subscription_t
*subscription);
188
200
int
coap_resource_notify_observers_lkd(
coap_resource_t
*resource,
201
coap_deleting_resource_t deleting);
202
211
void
coap_check_notify_lkd(
coap_context_t
*
context
);
212
218
void
coap_persist_cleanup(
coap_context_t
*
context
);
219
240
coap_subscription_t
*coap_persist_observe_add_lkd(
coap_context_t
*
context
,
241
coap_proto_t
e_proto,
242
const
coap_address_t
*e_listen_addr,
243
const
coap_addr_tuple_t
*s_addr_info,
244
const
coap_bin_const_t
*raw_packet,
245
const
coap_bin_const_t
*oscore_info);
246
266
int
coap_persist_startup_lkd(
coap_context_t
*
context
,
267
const
char
*dyn_resource_save_file,
268
const
char
*observe_save_file,
269
const
char
*obs_cnt_save_file,
270
uint32_t save_freq);
271
286
void
coap_persist_stop_lkd(
coap_context_t
*
context
);
287
288
#endif
/* COAP_SERVER_SUPPORT */
289
290
#if COAP_CLIENT_SUPPORT
291
307
int
coap_cancel_observe_lkd(
coap_session_t
*session,
coap_binary_t
*token,
308
coap_pdu_type_t
message_type);
309
310
#endif
/* COAP_CLIENT_SUPPORT */
311
313
314
#ifdef __cplusplus
315
}
316
#endif
317
318
#endif
/* COAP_SUBSCRIBE_INTERNAL_H_ */
coap_cache_key_t
struct coap_cache_key_t coap_cache_key_t
Definition
coap_forward_decls.h:64
coap_pdu_t
struct coap_pdu_t coap_pdu_t
PDU information.
Definition
coap_forward_decls.h:96
coap_address_t
struct coap_address_t coap_address_t
Definition
coap_forward_decls.h:36
coap_subscription_t
struct coap_subscription_t coap_subscription_t
Definition
coap_forward_decls.h:128
coap_resource_t
struct coap_resource_t coap_resource_t
Definition
coap_forward_decls.h:112
coap_session_t
struct coap_session_t coap_session_t
Definition
coap_forward_decls.h:121
coap_proto_t
coap_proto_t
CoAP protocol types Note: coap_layers_coap[] needs updating if extended.
Definition
coap_pdu.h:234
coap_pdu_type_t
coap_pdu_type_t
CoAP PDU message type definitions.
Definition
coap_pdu.h:70
coap_addr_tuple_t
Definition
coap_io.h:57
coap_address_t
Multi-purpose address abstraction.
Definition
coap_address.h:194
coap_bin_const_t
CoAP binary data definition with const data.
Definition
coap_str.h:65
coap_binary_t
CoAP binary data definition.
Definition
coap_str.h:57
coap_context_t
The CoAP stack's global state is stored in a coap_context_t object.
Definition
coap_net_internal.h:55
coap_pdu_t
structure for CoAP PDUs
Definition
coap_pdu_internal.h:132
coap_session_t
Abstraction of virtual session that can be attached to coap_context_t (client) or coap_endpoint_t (se...
Definition
coap_session_internal.h:77
coap_session_t::context
coap_context_t * context
session's context
Definition
coap_session_internal.h:102
libcoap
include
coap3
coap_subscribe_internal.h
Generated on
for libcoap by
1.15.0