1 /*
2  * Copyright (c) 2024 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef H_ENUM_MGMT_
8 #define H_ENUM_MGMT_
9 
10 /**
11  * @brief MCUmgr enum_mgmt API
12  * @defgroup mcumgr_enum_mgmt MCUmgr enum_mgmt API
13  * @ingroup mcumgr
14  * @{
15  */
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 /**
22  * Command IDs for enumeration management group.
23  */
24 #define ENUM_MGMT_ID_COUNT     0
25 #define ENUM_MGMT_ID_LIST      1
26 #define ENUM_MGMT_ID_SINGLE    2
27 #define ENUM_MGMT_ID_DETAILS   3
28 
29 /**
30  * Command result codes for enumeration management group.
31  */
32 enum enum_mgmt_err_code_t {
33 	/** No error, this is implied if there is no ret value in the response */
34 	ENUM_MGMT_ERR_OK = 0,
35 
36 	/** Unknown error occurred. */
37 	ENUM_MGMT_ERR_UNKNOWN,
38 
39 	/** Too many entries were provided. */
40 	ENUM_MGMT_ERR_TOO_MANY_GROUP_ENTRIES,
41 
42 	/** Insufficient heap memory to store entry data. */
43 	ENUM_MGMT_ERR_INSUFFICIENT_HEAP_FOR_ENTRIES,
44 
45 	/** Provided index is larger than the number of supported grouped. */
46 	ENUM_MGMT_ERR_INDEX_TOO_LARGE,
47 };
48 
49 /**
50  * @}
51  */
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif /* H_ENUM_MGMT_ */
58