1 /* 2 * Percepio DFM v2.0.0 3 * Copyright 2023 Percepio AB 4 * www.percepio.com 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 */ 8 9 /** 10 * @file 11 * 12 * @brief DFM Types 13 */ 14 15 #ifndef DFM_TYPES_H 16 #define DFM_TYPES_H 17 18 /** 19 * @defgroup dfm_types DFM Codes 20 * @ingroup dfm_apis 21 * @{ 22 */ 23 24 typedef uint32_t DfmResult_t; 25 26 typedef void* DfmAlertHandle_t; 27 typedef void* DfmEntryHandle_t; 28 29 typedef enum DfmEntryType 30 { 31 DFM_ENTRY_TYPE_ALERT = 0x1512, 32 DFM_ENTRY_TYPE_PAYLOAD_HEADER = 0x4618, 33 DFM_ENTRY_TYPE_PAYLOAD = 0x8371, 34 } DfmEntryType_t; 35 36 typedef enum DfmStorageStrategy 37 { 38 DFM_STORAGE_STRATEGY_IGNORE, /** Never store alerts/payloads */ 39 DFM_STORAGE_STRATEGY_OVERWRITE, /** Overwrite old alerts/payloads if full */ 40 DFM_STORAGE_STRATEGY_SKIP, /** Skip if full */ 41 } DfmStorageStrategy_t; 42 43 typedef enum DfmCloudStrategy 44 { 45 DFM_CLOUD_STRATEGY_OFFLINE, /** Will not attempt to send alerts/payloads */ 46 DFM_CLOUD_STRATEGY_ONLINE, /** Will attempt to send alerts/payloads */ 47 } DfmCloudStrategy_t; 48 49 typedef enum DfmSessionIdStrategy 50 { 51 DFM_SESSIONID_STRATEGY_ONSTARTUP, 52 DFM_SESSIONID_STRATEGY_ONALERT, 53 } DfmSessionIdStrategy_t; 54 55 /** @} */ 56 57 #endif 58