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