RDK Documentation (Open Sourced RDK Components)
mfrTypes.h
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 /**
22 * @defgroup iarmmgrs
23 * @{
24 * @defgroup mfr
25 * @{
26 **/
27 
28 
29 #ifndef _MFR_TYPES_H
30 #define _MFR_TYPES_H
31 
32 #include <stdlib.h>
33 #include <stdint.h>
34 #include <stdbool.h>
35 
36 #define MFR_MAX_STR_SIZE (256)
37 #define MFR_DFAST_INPUT_BYTES (16)
38 #define MFR_DFAST_OUTPUT_BYTES (16)
39 
40 typedef enum _mfrError_t {
41  mfrERR_NONE = 0,
42  mfrERR_GENERAL = 0x1000,
43  mfrERR_INVALID_PARAM,
44  mfrERR_INVALID_STATE,
45  mfrERR_OPERATION_NOT_SUPPORTED,
46  mfrERR_UNKNOWN,
47  /* Please add Error Code here */
48 } mfrError_t;
49 
50 typedef struct _mfrSerializedData_t {
51  char * buf; // buffer containing the data read.
52  size_t bufLen; // length of the data buffer;
53  void (* freeBuf) (char *buf); // function used to free the buffer. If NULL, the user does not need to free the buffer.
55 
56 typedef enum _mfrSerializedType_t {
57  mfrSERIALIZED_TYPE_MANUFACTURER = 0,
58  mfrSERIALIZED_TYPE_MANUFACTUREROUI = 1,
59  mfrSERIALIZED_TYPE_MODELNAME = 2,
60  mfrSERIALIZED_TYPE_DESCRIPTION = 3,
61  mfrSERIALIZED_TYPE_PRODUCTCLASS = 4,
62  mfrSERIALIZED_TYPE_SERIALNUMBER = 5,
63  mfrSERIALIZED_TYPE_HARDWAREVERSION = 6,
64  mfrSERIALIZED_TYPE_SOFTWAREVERSION = 7,
65  mfrSERIALIZED_TYPE_PROVISIONINGCODE = 8,
66  mfrSERIALIZED_TYPE_FIRSTUSEDATE = 9,
67  mfrSERIALIZED_TYPE_DEVICEMAC = 10,
68  mfrSERIALIZED_TYPE_MOCAMAC = 11,
69  mfrSERIALIZED_TYPE_HDMIHDCP = 12,
70  mfrSERIALIZED_TYPE_BOARDVERSION = 13,
71  mfrSERIALIZED_TYPE_BOARDSERIALNO = 14,
72  mfrSERIALIZED_TYPE_CMCHIPVERSION = 15,
73  mfrSERIALIZED_TYPE_DECODERSWVERSION = 16,
74  mfrSERIALIZED_TYPE_OSKERNELVERSION = 17,
75  mfrSERIALIZED_TYPE_MFRLIBVERSION = 18,
76  mfrSERIALIZED_TYPE_FRONTPANELVERSION = 19,
77  mfrSERIALIZED_TYPE_SOFTWAREIMAGEVERSION1 = 20,
78  mfrSERIALIZED_TYPE_OCHDVERSION = 21,
79  mfrSERIALIZED_TYPE_OCAPVERSION = 22,
80  mfrSERIALIZED_TYPE_BOOTROMVERSION = 23,
81  mfrSERIALIZED_TYPE_MODELNUMBER = 24,
82  mfrSERIALIZED_TYPE_MODELSERIALNO = 25,
83  mfrSERIALIZED_TYPE_VENDORNAME = 26,
84  mfrSERIALIZED_TYPE_VENDORSERIALNO = 27,
85  mfrSERIALIZED_TYPE_MANUFACTUREDATE = 28,
86  mfrSERIALIZED_TYPE_BOOTIMAGENAME = 29,
87  mfrSERIALIZED_TYPE_BOOTFIRMWAREIMAGENAME = 30,
88  mfrSERIALIZED_TYPE_BOOTAPPLICATIONIMAGENAME = 31,
89  mfrSERIALIZED_TYPE_BOOTDATAIMAGENAME = 32,
90  mfrSERIALIZED_TYPE_CACPAUTHSTATUS = 33,
91  mfrSERIALIZED_TYPE_CACPHOSTID = 34,
92  mfrSERIALIZED_TYPE_COMDWNLDCOSIGNNAME = 35,
93  mfrSERIALIZED_TYPE_COMDWNLVENID = 36,
94  mfrSERIALIZED_TYPE_COMDWNLHWID = 37,
95  mfrSERIALIZED_TYPE_COMDWNLMFRCODEACCSTRTIME = 38,
96  mfrSERIALIZED_TYPE_COMDWNLCOSIGNCODEACCSTRTIME = 39,
97  mfrSERIALIZED_TYPE_COMDWNLMFRCVCACCSTRTIME = 40,
98  mfrSERIALIZED_TYPE_COMDWNLCOSIGNCVCACCSTRTIME = 41,
99  mfrSERIALIZED_TYPE_COMDWNLDMGRSTATUS = 42,
100  mfrSERIALIZED_TYPE_CDLMFRCODEACCUPGSTRTIME = 43,
101  mfrSERIALIZED_TYPE_CDLCOSIGNCODEACCUPGSTRTIME = 44,
102  mfrSERIALIZED_TYPE_CDLFWMFRCODEACCUPGSTRTIME = 45,
103  mfrSERIALIZED_TYPE_CDLFWCOSIGNCODEACCUPGSTRTIME = 46,
104  mfrSERIALIZED_TYPE_CDLAPPMFRCODEACCUPGSTRTIME = 47,
105  mfrSERIALIZED_TYPE_CDLAPPCOSIGNCODEACCUPGSTRTIME = 48,
106  mfrSERIALIZED_TYPE_CDLDATAMFRCODEACCUPGSTRTIME = 49,
107  mfrSERIALIZED_TYPE_CDLDATACOSIGNCODEACCUPGSTRTIME = 50,
108  mfrSERIALIZED_TYPE_CDLFWMFRCODEACCBOOTSTRTIME = 51,
109  mfrSERIALIZED_TYPE_CDLFWCOSIGNCODEACCBOOTSTRTIME = 52,
110  mfrSERIALIZED_TYPE_CDLAPPMFRCODEACCBOOTSTRTIME = 53,
111  mfrSERIALIZED_TYPE_CDLAPPCOSIGNCODEACCBOOTSTRTIME = 54,
112  mfrSERIALIZED_TYPE_CDLDATAMFRCODEACCBOOTSTRTIME = 55,
113  mfrSERIALIZED_TYPE_CDLDATACOSIGNCODEACCBOOTSTRTIME = 56,
114  mfrSERIALIZED_TYPE_IEEE1394DTCPKEYTYPE = 57,
115  mfrSERIALIZED_TYPE_IEEE1394DTCPKEYSTATUS = 58,
116  mfrSERIALIZED_TYPE_CACPHOSTROOTCERT = 59,
117  mfrSERIALIZED_TYPE_CACPHOSTMFRCACERT = 60,
118  mfrSERIALIZED_TYPE_CACPHOSTDEVCERT = 61,
119  mfrSERIALIZED_TYPE_CACPHOSTDEVPRIVATEKEY = 62,
120  mfrSERIALIZED_TYPE_CACPDHBG1 = 63,
121  mfrSERIALIZED_TYPE_CACPDHPN1 = 64,
122  mfrSERIALIZED_TYPE_CACPDHKEY = 65,
123  mfrSERIALIZED_TYPE_CACPAUTHKEYH = 66,
124  //Cable Labs Code Verification Certificates for Common Download
125  mfrSERIALIZED_TYPE_COMDWNLDCLCODEVERROOTCA = 67,
126  mfrSERIALIZED_TYPE_COMDWNLDCLCVCCA = 68,
127  mfrSERIALIZED_TYPE_COMDWNLDMFRCVC = 69,
128 
129  //Common Download ( code image download NV data)
130  mfrSERIALIZED_TYPE_COMDWNLDCVCCAPUBKEY = 70,
131 
132  //Cable Labs Application Code verification Certificates
133  mfrSERIALIZED_TYPE_APPCLAPPCVCCA = 71,
134  mfrSERIALIZED_TYPE_APPMANCVC = 72,
135  mfrSERIALIZED_TYPE_SECURESERIALNUMBER = 73,
136  //Ieee1394 DTCP certificates and Keys
137  mfrSERIALIZED_TYPE_IEEE1394DTCPCERTKEYS = 74,
138  mfrSERIALIZED_TYPE_IEEE1394DTCPSRM = 75,
139  mfrSERIALIZED_TYPE_IEEE1394DTCPSEED = 76,
140 
141  // VL certificates and Keys
142  mfrSERIALIZED_TYPE_VLCERTKEYS = 77,
143  mfrSERIALIZED_TYPE_SNMPENTERPRISEID = 78,
144  mfrSERIALIZED_TYPE_MAX,
145 
146 } mfrSerializedType_t;
147 
148 typedef enum _mfrConfigPathType_t
149 {
150  mfrCONFIG_TYPE_STATIC = 0x00000000,
151  mfrCONFIG_TYPE_DYNAMIC = 0x00000001,
152  mfrCONFIG_TYPE_VOLATILE = 0x00000002,
153  mfrCONFIG_TYPE_COMMON_DOWNLOAD = 0x00000003,
154  mfrCONFIG_TYPE_DVR_CONTENT = 0x00000004,
155  mfrCONFIG_TYPE_INVALID = 0x7FFFFFFF
156 
157 } mfrConfigPathType_t;
158 
159 typedef enum _mfrImageType_t
160 {
161  mfrIMAGE_TYPE_CDL = 0,
162  mfrIMAGE_TYPE_RCDL,
163 
164  mfrUPGRADE_IMAGE_MONOLITHIC = 0x100,
165  mfrUPGRADE_IMAGE_FIRMWARE,
166  mfrUPGRADE_IMAGE_APPLICATION,
167  mfrUPGRADE_IMAGE_DATA,
168 
169  mfrUPGRADE_IMAGE_LAST
170 
171 } mfrImageType_t;
172 
173 typedef enum _mfrUpgradeProgress_t
174 {
175  mfrUPGRADE_PROGRESS_NOT_STARTED = 0,//not started
176  mfrUPGRADE_PROGRESS_STARTED, //in progress
177  mfrUPGRADE_PROGRESS_ABORTED, //failed
178  mfrUPGRADE_PROGRESS_COMPLETED, //success
179  mfrUPGRADE_PROGRESS_BOOTED_WITH_UPGRADED_IMAGE,
180  mfrUPGRADE_PROGRESS_BOOTED_WITH_REVERTED_IMAGE,
181  mfrUPGRADE_PROGRESS_NONE
182 } mfrUpgradeProgress_t;
183 
184 typedef enum _mfrCableCardType_t
185 {
186  mfrCABLECARD_TYPE_CISCO = 0x00000001,
187  mfrCABLECARD_TYPE_MOTO = 0x00000002,
188  mfrCABLECARD_TYPE_INVALID = 0x7FFFFFFF,
189 
190 } mfrCableCardType_t;
191 
192 #define mfrBOOT_INSTANCE_CURRENT 0
193 #define mfrBOOT_INSTANCE_PREVIOUS 1
194 #define mfrBOOT_INSTANCE_UPGRADED 2
195 /*
196 struct mfrDFAST2Params_t
197 This structure is used by the call mfrGetDFAST2Data
198 */
199 typedef struct _mfrDFAST2Params_t
200 {
201  unsigned int seedIn [MFR_DFAST_INPUT_BYTES];
202  unsigned int keyOut [MFR_DFAST_OUTPUT_BYTES];
204 
205 /*
206 struct mfrHostFirmwareInfo_t
207 This structure is used by the call mfrSetHostFirmwareInfo
208 */
209 typedef struct _mfrHostFrmwareInfo_t
210 {
211  char firmwareVersion[MFR_MAX_STR_SIZE];
212  int firmwareDay;
213  int firmwareMonth;
214  int firmwareYear;
216 
217 
218 typedef struct _mfrUpgradeStatus_t
219 {
220  mfrUpgradeProgress_t progress;
221  mfrError_t error;
222  int percentage;
224 
226 {
227  void * cbData;
228  void (*cb) (mfrUpgradeStatus_t status, void *cbData);
229  int interval; // number of seconds between two callbacks. 0 means invoking callback only once to report final upgrade result.
231 
232 
233 /**
234  * @brief crypto funcionality.
235  * This function should be called to encrypt a block of data
236  *
237  * @param [in] : pClearText: uncrypted data.
238  * @param [out] : pCipherText: crypted data.
239  *
240  * @return Error Code: If error code is returned, the crypto has failed, and pCipherText is not usable.
241  */
242 typedef mfrError_t (*mfrEncryptFunction_t)(const mfrSerializedData_t *pClearText, mfrSerializedData_t *pCipherText);
243 
244 /**
245  * @brief crypto funcionality.
246  * This function should be called to decrypt a block of data that are encrypted by mfrEncryptFunction_t;
247  *
248  * @param [in] : pCipherText: crypted data.
249  * @param [out] : pClearText: uncrypted data.
250  *
251  * @return Error Code: If error code is returned, the crypto has failed, and pClearText is not usable.
252  */
253 typedef mfrError_t (*mfrDecryptFunction_t)(const mfrSerializedData_t *pCipherText, mfrSerializedData_t *pClearText);
254 
255 #ifdef __cplusplus
256 extern "C" {
257 #endif
258 
259 /**
260  * @brief Initialize the mfr library.
261  * This function should be call once before the functions in this API can be used.
262  *
263  * @param [in] : None.
264  * @param [out] : None.
265  *
266  * @return Error Code: If error code is returned, the init has failed.
267  */
268 mfrError_t mfr_init( void );
269 
270 /**
271  * @brief Shutdowns the mfr library.
272  * This function should be called to free resources in mfr library while shutdown.
273  *
274  * @param [in] : None.
275  * @param [out] : None.
276  *
277  * @return Error Code: If error code is returned, the shutdown has failed.
278  */
279 mfrError_t mfr_shutdown( void );
280 
281 /**
282  * @brief Retrieve Serialized Read-Only data from device. The serialized data is returned as a byte stream. It is upto the
283  * application to deserialize and make sense of the data returned. Please note that even if the serialized data returned is
284  * "string", the buffer is not required to contain the null-terminator.
285  *
286  * The 'crypto' parameter, if not null, the implementation should used the given crypto function to encrypt the data befure
287  * returning.
288  *
289  * @param [in] type: specifies the serialized data to read.
290  * @param [in] data: contains information about the returned data (buffer location, length, and func to free the buffer).
291  * @param [in] crypto: crypto used to protect data across MFR interface.
292  *
293  * @return Error Code: If error code is returned, the read has failed and values in data should not be used.
294  */
295 mfrError_t mfrGetSerializedData( mfrSerializedType_t type, mfrSerializedData_t *data, mfrEncryptFunction_t crypto);
296 
297 
298 /**
299  * @brief Write Serialized data to device. The serialized data written as a byte stream.
300  * The 'crypto' parameter, if not null, the implementation should used the given crypto function to decrypt the data before
301  * setting the serialize data.
302  *
303  * @param [in] type: specifies the serialized data to written.
304  * @param [in] data: contains information about the data to be written (buffer location, length, free function to be called to free buffer).
305  * @param [in] crypto: crypto used to protect data across MFR interface.
306  *
307  * @return Error Code: If error code is returned, the write has failed
308  */
309 mfrError_t mfrSetSerializedData( mfrSerializedType_t type, mfrSerializedData_t *data, mfrDecryptFunction_t crypto);
310 
311 
312 /**
313 * @brief Validate and Write the image into flash. The process should follow these major steps:
314 * 1) Validate headers, manufacturer, model.
315 * 2) Perform Signature check.
316 * 3) Flash the image.
317 * 4) Perform CRC on flashed nvram.
318 * 5) Update boot params and switch banks to prepare for a reboot event.
319 * 6) All upgrades should be done in the alternate bank. The current bank should not be disturbed at any cost.
320 * i.e. a second upgrade will before a reboot will overwrite the non-current bank only.
321 *
322 * State Transition:
323 * 0) Before the API is invoked, the Upgrade process should be in PROGRESS_NOT_STARTED state.
324 * 1) After the API returnes with success, the Upgrade process moves to PROGRESS_STARTED state.
325 * 2) After the API returnew with error, the Upgrade process stays in PROGRESS_NO_STARTED state. Notify function will not be invoked.
326 * 3) The notify function is called at regular interval with proress = PROGRESS_STARTED.
327 * 4) The last invocation of notify function should have either progress = PROGRESS_COMPLETED or progress = PROGRESS_ABORTED with error code set.
328 *
329 * Application can either rely on the 'notify' callback to monitor image write progress, or use the mfrGetImageWriteProgress()
330 *
331 * @param [in] name: the path of the image file in the STB file system.
332 * @param [in] path: the filename of the image file.
333 * @param [in] type: the type (e.g. format, signature type) of the image. This can dictate the handling of the image within the MFR library.
334 * @param[in] callback: function to provide status of the image flashing process.
335 * @return Error Code: If error code is returned, the image flashing is not initiated..
336 */
337 mfrError_t mfrWriteImage(const char *name, const char *path, mfrImageType_t type, mfrUpgradeStatusNotify_t notify);
338 
339 /**
340 * @brief Set the the progress of image upgrade.
341 *
342 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
343 */
344 mfrError_t mfrSetImageWriteProgress(const char * imageName, mfrImageType_t imageType, mfrUpgradeProgress_t progress);
345 
346 /**
347 * @brief Retrieves the last/latest progress of image upgrade
348 * If the upgrade is in not progress, the progress returned should be same as the final value returned by the 'notify' function
349 * in mfrWriteImage(), or as the value set by the last invocation of mfrSetImageWriteProgress.
350 *
351 * If the upgrade is in progress, the progress returned should be the latest status when the function is called.
352 *
353 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
354 */
355 mfrError_t mfrGetImageWriteProgress(const char * imageName,mfrImageType_t imageType,mfrUpgradeProgress_t *progress);
356 
357 /**
358 * @brief Delete the P-DRI image if it is present
359 *
360 * @return Error Code: Return mfrERR_NONE if P-DRI is succesfully deleted or not present, mfrERR_GENERAL if deletion fails
361 */
362 mfrError_t mfrDeletePDRI(void);
363 
364 /**
365 * @brief Delete the platform images
366 *
367 * @return Error Code: Return mfrERR_NONE if the images are scrubbed, mfrERR_GENERAL if scrubbing fails
368 */
369 mfrError_t mfrScrubAllBanks(void);
370 
371 /**
372 * @brief Reboots the box with image of given name.
373 *
374 * @param [in] name: the path of the image file to reboot the box with
375 *
376 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
377 */
378 mfrError_t mfrReboot(const char *imageName);
379 
380 /**
381 * @brief Sets the cable card type.
382 *
383 * @param [in] type: the cablecard type used by host.
384 *
385 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
386 */
387 mfrError_t mfrSetCableCardType(mfrCableCardType_t type);
388 
389 /**
390 * @brief Sets the Host firmware information.
391 *
392 * @param [in] firmwareInfo: the host's firmware information
393 *
394 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
395 */
396 mfrError_t mfrSetHostFirmwareInfo(const mfrHostFirmwareInfo_t *firmwareInfo);
397 
398 /**
399 * @brief Retrieve the image name used by box when booting up. (I.e. current active image)
400 *
401 * @param [in] bootInstance: which bootup instance
402 * @param [out] bootImageName: buffer to hold the image name
403 * @param [in] len : size of the output buffer
404 *
405 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
406 */
407 mfrError_t mfrGetBootImageName(int bootInstance, char *bootImageName, int *len, mfrImageType_t bootImageType);
408 
409 /**
410 * @brief Retrieves the path configuration name.
411 *
412 * @param [in] type : which configure path
413 * @param [out] path: buffer to hold the path name
414 * @param [in] len : size of the output buffer
415 *
416 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
417 */
418 mfrError_t mfrGetPathConfiguration(mfrConfigPathType_t type, char *path, int *len);
419 
420 
421 /**
422 * @brief Triggers DFAST operations.
423 *
424 * @param [in] params : DFAST2 params used by MFR implementation
425 *
426 * @return Error Code: Return mfrERR_NONE if operation is successful, mfrERR_GENERAL if it fails
427 */
428 mfrError_t mfrGetDFAST2Data(mfrDFAST2Params_t *params);
429 
430 #ifdef __cplusplus
431 };
432 #endif
433 
434 #endif
435 
436 
437 /** @} */
438 /** @} */
mfrSetCableCardType
mfrError_t mfrSetCableCardType(mfrCableCardType_t type)
Sets the cable card type.
Definition: mfrCli.c:359
_mfrUpgradeStatus_t
Definition: mfrTypes.h:218
mfrWriteImage
mfrError_t mfrWriteImage(const char *name, const char *path, mfrImageType_t type, mfrUpgradeStatusNotify_t notify)
Validate and Write the image into flash. The process should follow these major steps: 1) Validate hea...
Definition: mfrCli.c:206
mfrScrubAllBanks
mfrError_t mfrScrubAllBanks(void)
Delete the platform images.
Definition: mfrCli.c:316
mfrDeletePDRI
mfrError_t mfrDeletePDRI(void)
Delete the P-DRI image if it is present.
Definition: mfrCli.c:302
mfrGetSerializedData
mfrError_t mfrGetSerializedData(mfrSerializedType_t type, mfrSerializedData_t *data, mfrEncryptFunction_t crypto)
Retrieve Serialized Read-Only data from device. The serialized data is returned as a byte stream....
Definition: mfrCli.c:98
mfrSetSerializedData
mfrError_t mfrSetSerializedData(mfrSerializedType_t type, mfrSerializedData_t *data, mfrDecryptFunction_t crypto)
Write Serialized data to device. The serialized data written as a byte stream. The 'crypto' parameter...
Definition: mfrCli.c:158
mfrReboot
mfrError_t mfrReboot(const char *imageName)
Reboots the box with image of given name.
Definition: mfrCli.c:331
mfr_shutdown
mfrError_t mfr_shutdown(void)
Shutdowns the mfr library. This function should be called to free resources in mfr library while sh...
Definition: mfrCli.c:84
mfrSetImageWriteProgress
mfrError_t mfrSetImageWriteProgress(const char *imageName, mfrImageType_t imageType, mfrUpgradeProgress_t progress)
Set the the progress of image upgrade.
Definition: mfrCli.c:242
mfrGetImageWriteProgress
mfrError_t mfrGetImageWriteProgress(const char *imageName, mfrImageType_t imageType, mfrUpgradeProgress_t *progress)
Retrieves the last/latest progress of image upgrade If the upgrade is in not progress,...
Definition: mfrCli.c:272
mfrGetBootImageName
mfrError_t mfrGetBootImageName(int bootInstance, char *bootImageName, int *len, mfrImageType_t bootImageType)
Retrieve the image name used by box when booting up. (I.e. current active image)
Definition: mfrCli.c:409
_mfrUpgradeStatusNotify_t
Definition: mfrTypes.h:225
mfrGetPathConfiguration
mfrError_t mfrGetPathConfiguration(mfrConfigPathType_t type, char *path, int *len)
Retrieves the path configuration name.
Definition: mfrCli.c:439
mfr_init
mfrError_t mfr_init(void)
Initialize the mfr library. This function should be call once before the functions in this API can ...
Definition: mfrCli.c:65
mfrDecryptFunction_t
mfrError_t(* mfrDecryptFunction_t)(const mfrSerializedData_t *pCipherText, mfrSerializedData_t *pClearText)
crypto funcionality. This function should be called to decrypt a block of data that are encrypted by ...
Definition: mfrTypes.h:253
mfrEncryptFunction_t
mfrError_t(* mfrEncryptFunction_t)(const mfrSerializedData_t *pClearText, mfrSerializedData_t *pCipherText)
crypto funcionality. This function should be called to encrypt a block of data
Definition: mfrTypes.h:242
mfrSetHostFirmwareInfo
mfrError_t mfrSetHostFirmwareInfo(const mfrHostFirmwareInfo_t *firmwareInfo)
Sets the Host firmware information.
Definition: mfrCli.c:379
_mfrSerializedData_t
Definition: mfrTypes.h:50
_mfrHostFrmwareInfo_t
Definition: mfrTypes.h:209
_mfrDFAST2Params_t
Definition: mfrTypes.h:199
mfrGetDFAST2Data
mfrError_t mfrGetDFAST2Data(mfrDFAST2Params_t *params)
Triggers DFAST operations.
Definition: mfrCli.c:472