Zephyr Project API 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
coap_mgmt.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Basalte bv
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12#ifndef ZEPHYR_INCLUDE_NET_COAP_MGMT_H_
13#define ZEPHYR_INCLUDE_NET_COAP_MGMT_H_
14
15#include <zephyr/net/net_mgmt.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
32/* CoAP events */
33#define NET_COAP_LAYER NET_MGMT_LAYER_L4
34#define NET_COAP_CODE NET_MGMT_LAYER_CODE_COAP
35#define NET_COAP_IF_BASE (NET_MGMT_EVENT_BIT | \
36 NET_MGMT_LAYER(NET_COAP_LAYER) | \
37 NET_MGMT_LAYER_CODE(NET_COAP_CODE))
38
39struct coap_service;
40struct coap_resource;
41struct coap_observer;
42
43enum {
44 NET_EVENT_COAP_CMD_SERVICE_STARTED_VAL,
45 NET_EVENT_COAP_CMD_SERVICE_STOPPED_VAL,
46 NET_EVENT_COAP_CMD_OBSERVER_ADDED_VAL,
47 NET_EVENT_COAP_CMD_OBSERVER_REMOVED_VAL,
48
49 NET_EVENT_COAP_CMD_MAX
50};
51
52BUILD_ASSERT(NET_EVENT_COAP_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
53 "Number of events in net_event_coap_cmd exceeds the limit");
54
55enum net_event_coap_cmd {
56 /* Service events */
57 NET_MGMT_CMD(NET_EVENT_COAP_CMD_SERVICE_STARTED),
58 NET_MGMT_CMD(NET_EVENT_COAP_CMD_SERVICE_STOPPED),
59 /* Observer events */
60 NET_MGMT_CMD(NET_EVENT_COAP_CMD_OBSERVER_ADDED),
61 NET_MGMT_CMD(NET_EVENT_COAP_CMD_OBSERVER_REMOVED),
62};
63
69#define NET_EVENT_COAP_SERVICE_STARTED \
70 (NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_SERVICE_STARTED)
71
75#define NET_EVENT_COAP_SERVICE_STOPPED \
76 (NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_SERVICE_STOPPED)
77
81#define NET_EVENT_COAP_OBSERVER_ADDED \
82 (NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_OBSERVER_ADDED)
83
87#define NET_EVENT_COAP_OBSERVER_REMOVED \
88 (NET_COAP_IF_BASE | NET_EVENT_COAP_CMD_OBSERVER_REMOVED)
89
95 const struct coap_service *service;
96};
97
107
108#ifdef __cplusplus
109}
110#endif
111
116#endif /* ZEPHYR_INCLUDE_NET_COAP_MGMT_H_ */
@ NET_MGMT_CMD
Scan results available.
Definition wifi_mgmt.h:352
Network Management API public header.
Represents a remote device that is observing a local resource.
Definition coap.h:298
Description of CoAP resource.
Definition coap.h:280
CoAP Observer event structure.
Definition coap_mgmt.h:101
struct coap_resource * resource
The CoAP resource for which the event is emitted.
Definition coap_mgmt.h:103
struct coap_observer * observer
The observer that is added/removed.
Definition coap_mgmt.h:105
CoAP Service event structure.
Definition coap_mgmt.h:93
const struct coap_service * service
The CoAP service for which the event is emitted.
Definition coap_mgmt.h:95