Line data Source code
1 0 : /* 2 : * Copyright (c) 2018-2021 mcumgr authors 3 : * Copyright (c) 2023 Nordic Semiconductor ASA 4 : * 5 : * SPDX-License-Identifier: Apache-2.0 6 : */ 7 : 8 : #ifndef H_STAT_MGMT_ 9 : #define H_STAT_MGMT_ 10 : 11 : #ifdef __cplusplus 12 : extern "C" { 13 : #endif 14 : 15 : /** 16 : * Command IDs for statistics management group. 17 : */ 18 1 : #define STAT_MGMT_ID_SHOW 0 19 0 : #define STAT_MGMT_ID_LIST 1 20 : 21 : /** 22 : * Command result codes for statistics management group. 23 : */ 24 1 : enum stat_mgmt_err_code_t { 25 : /** No error, this is implied if there is no ret value in the response */ 26 : STAT_MGMT_ERR_OK = 0, 27 : 28 : /** Unknown error occurred. */ 29 : STAT_MGMT_ERR_UNKNOWN, 30 : 31 : /** The provided statistic group name was not found. */ 32 : STAT_MGMT_ERR_INVALID_GROUP, 33 : 34 : /** The provided statistic name was not found. */ 35 : STAT_MGMT_ERR_INVALID_STAT_NAME, 36 : 37 : /** The size of the statistic cannot be handled. */ 38 : STAT_MGMT_ERR_INVALID_STAT_SIZE, 39 : 40 : /** Walk through of statistics was aborted. */ 41 : STAT_MGMT_ERR_WALK_ABORTED, 42 : }; 43 : 44 : /** 45 : * @brief Represents a single value in a statistics group. 46 : */ 47 1 : struct stat_mgmt_entry { 48 0 : const char *name; 49 0 : uint64_t value; 50 : }; 51 : 52 : #ifdef __cplusplus 53 : } 54 : #endif 55 : 56 : #endif /* H_STAT_MGMT_ */