Zephyr Project API  3.3.0
A Scalable Open Source RTOS
callbacks.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef H_MCUMGR_CALLBACKS_
8#define H_MCUMGR_CALLBACKS_
9
10#include <inttypes.h>
11#include <zephyr/sys/slist.h>
13
14#ifdef CONFIG_MCUMGR_GRP_FS
16#endif
17
18#ifdef CONFIG_MCUMGR_GRP_IMG
20#endif
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
35#define MGMT_EVT_OP_ID_ALL 0xffff
36
38#define MGMT_DEF_EVT_OP_ID(group, event_id) ((group << 16) | BIT(event_id))
39
41#define MGMT_DEF_EVT_OP_ALL(group) ((group << 16) | MGMT_EVT_OP_ID_ALL)
45#define MGMT_EVT_GET_GROUP(event) ((event >> 16) & MGMT_EVT_OP_ID_ALL)
46
48#define MGMT_EVT_GET_ID(event) (event & MGMT_EVT_OP_ID_ALL)
49
67typedef int32_t (*mgmt_cb)(uint32_t event, int32_t rc, bool *abort_more, void *data,
68 size_t data_size);
69
79
81};
82
88 MGMT_EVT_OP_ALL = MGMT_DEF_EVT_OP_ALL(MGMT_EVT_GRP_ALL),
89};
90
96 MGMT_EVT_OP_CMD_RECV = MGMT_DEF_EVT_OP_ID(MGMT_EVT_GRP_SMP, 0),
97
99 MGMT_EVT_OP_CMD_STATUS = MGMT_DEF_EVT_OP_ID(MGMT_EVT_GRP_SMP, 1),
100
102 MGMT_EVT_OP_CMD_DONE = MGMT_DEF_EVT_OP_ID(MGMT_EVT_GRP_SMP, 2),
103
105 MGMT_EVT_OP_CMD_ALL = MGMT_DEF_EVT_OP_ALL(MGMT_EVT_GRP_SMP),
106};
107
114
117};
118
125
128
131
134
137
140};
141
148
151
154
157};
158
165
168
179};
180
187
190
191 union {
193 int err;
194
197 };
198};
199
210int32_t mgmt_callback_notify(uint32_t event, void *data, size_t data_size);
211
218
225
230#ifdef __cplusplus
231}
232#endif
233
234#endif /* H_MCUMGR_CALLBACKS_ */
void mgmt_callback_unregister(struct mgmt_callback *callback)
Unregister event callback function.
os_mgmt_group_events
Definition: callbacks.h:145
fs_mgmt_group_events
Definition: callbacks.h:111
img_mgmt_group_events
Definition: callbacks.h:122
mgmt_cb_groups
Definition: callbacks.h:73
int32_t(* mgmt_cb)(uint32_t event, int32_t rc, bool *abort_more, void *data, size_t data_size)
Function to be called on MGMT notification/event.
Definition: callbacks.h:67
smp_group_events
Definition: callbacks.h:94
int32_t mgmt_callback_notify(uint32_t event, void *data, size_t data_size)
This function is called to notify registered callbacks about mcumgr notifications/events.
smp_all_events
Definition: callbacks.h:86
void mgmt_callback_register(struct mgmt_callback *callback)
Register event callback function.
@ MGMT_EVT_OP_OS_MGMT_INFO_CHECK
Definition: callbacks.h:150
@ MGMT_EVT_OP_OS_MGMT_RESET
Definition: callbacks.h:147
@ MGMT_EVT_OP_OS_MGMT_INFO_APPEND
Definition: callbacks.h:153
@ MGMT_EVT_OP_OS_MGMT_ALL
Definition: callbacks.h:156
@ MGMT_EVT_OP_FS_MGMT_FILE_ACCESS
Definition: callbacks.h:113
@ MGMT_EVT_OP_FS_MGMT_ALL
Definition: callbacks.h:116
@ MGMT_EVT_OP_IMG_MGMT_ALL
Definition: callbacks.h:139
@ MGMT_EVT_OP_IMG_MGMT_DFU_CHUNK
Definition: callbacks.h:124
@ MGMT_EVT_OP_IMG_MGMT_DFU_PENDING
Definition: callbacks.h:133
@ MGMT_EVT_OP_IMG_MGMT_DFU_CONFIRMED
Definition: callbacks.h:136
@ MGMT_EVT_OP_IMG_MGMT_DFU_STOPPED
Definition: callbacks.h:127
@ MGMT_EVT_OP_IMG_MGMT_DFU_STARTED
Definition: callbacks.h:130
@ MGMT_EVT_GRP_ALL
Definition: callbacks.h:74
@ MGMT_EVT_GRP_SMP
Definition: callbacks.h:75
@ MGMT_EVT_GRP_OS
Definition: callbacks.h:76
@ MGMT_EVT_GRP_FS
Definition: callbacks.h:78
@ MGMT_EVT_GRP_USER_CUSTOM_START
Definition: callbacks.h:80
@ MGMT_EVT_GRP_IMG
Definition: callbacks.h:77
@ MGMT_EVT_OP_CMD_RECV
Definition: callbacks.h:96
@ MGMT_EVT_OP_CMD_ALL
Definition: callbacks.h:105
@ MGMT_EVT_OP_CMD_DONE
Definition: callbacks.h:102
@ MGMT_EVT_OP_CMD_STATUS
Definition: callbacks.h:99
@ MGMT_EVT_OP_ALL
Definition: callbacks.h:88
@ MGMT_GROUP_ID_PERUSER
Definition: mgmt.h:77
Single-linked list implementation.
struct _snode sys_snode_t
Definition: slist.h:33
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__INT32_TYPE__ int32_t
Definition: stdint.h:74
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Definition: callbacks.h:162
uint32_t event_id
Definition: callbacks.h:178
sys_snode_t node
Definition: callbacks.h:164
mgmt_cb callback
Definition: callbacks.h:167
Definition: callbacks.h:184
uint16_t group
Definition: callbacks.h:186
int status
Definition: callbacks.h:196
int err
Definition: callbacks.h:193
uint8_t id
Definition: callbacks.h:189
static fdata_t data[2]
Definition: test_fifo_contexts.c:15