Smart Remote 3 nRF52 v1.2
nrf_dfu_req_handler.h
1 /*$$$LICENCE_NORDIC_STANDARD<2016>$$$*/
9 #ifndef NRF_DFU_REQ_HANDLER_H__
10 #define NRF_DFU_REQ_HANDLER_H__
11 
12 #include <stdint.h>
13 #include <stdbool.h>
14 #include "nrf_dfu_types.h"
15 #include "nrf_dfu_handling_error.h"
16 
17 #ifdef __cplusplus
18 extern "C"
19 {
20 #endif
21 
24 typedef enum
25 {
30 
31 
36 typedef enum
37 {
38 
47 
48 
49 #if defined(__CC_ARM)
50  #pragma push
51  #pragma anon_unions
52 #elif defined(__ICCARM__)
53  #pragma language=extended
54 #elif defined(__GNUC__)
55  // Anonymous unions are enabled by default.
56 #endif
57 
58 
63 typedef struct
64 {
67  union
68  {
69  struct
70  {
71  uint32_t obj_type;
72  uint32_t object_size;
73  };
74  struct
75  {
76  uint8_t const * p_req;
77  uint32_t req_len;
78  };
79  };
81 
82 
85 typedef struct
86 {
87  uint32_t max_size;
88  uint32_t offset;
89  uint32_t crc;
91 
92 #if defined(__CC_ARM)
93  #pragma pop
94 #elif defined(__ICCARM__)
95  // Leave anonymous unions enabled.
96 #elif defined(__GNUC__)
97  // Anonymous unions are enabled by default.
98 #endif
99 
100 typedef void (* nrf_dfu_req_callback)(void const * p_context, nrf_dfu_res_code_t res_code, nrf_dfu_res_t const * dfu_res);
101 
102 
110 ret_code_t nrf_dfu_req_handler_init(void);
111 
112 
122 ret_code_t nrf_dfu_req_handler_on_req(void const * p_context,
123  nrf_dfu_req_t const * p_req,
124  nrf_dfu_req_callback p_callback);
125 
126 
133 
134 
135 #ifdef __cplusplus
136 }
137 #endif
138 
139 #endif // NRF_DFU_REQ_HANDLER_H__
140 

Documentation feedback | Developer Zone | Subscribe | Updated