le_info_interface.h

Go to the documentation of this file.
1 
2 
3 /*
4  * ====================== WARNING ======================
5  *
6  * THE CONTENTS OF THIS FILE HAVE BEEN AUTO-GENERATED.
7  * DO NOT MODIFY IN ANY WAY.
8  *
9  * ====================== WARNING ======================
10  */
11 
12 /**
13  * @page c_info Modem Information
14  *
15  * @ref le_info_interface.h "API Reference"
16  *
17  * <HR>
18  *
19  * This file contains prototype definitions for Modem Information APIs.
20  *
21  * @section le_info_binding IPC interfaces binding
22  *
23  * All the functions of this API are provided by the @b modemService.
24  *
25  * Here's a code sample binding to modem services:
26  * @verbatim
27  bindings:
28  {
29  clientExe.clientComponent.le_info -> modemService.le_info
30  }
31  @endverbatim
32  *
33  * @section le_info_version Query Firmware Version
34  *
35  * le_info_GetFirmwareVersion() is used to query the current firmware version.
36  * le_info_GetBootloaderVersion() is used to query the current bootloader version.
37  * In both cases, the version is returned as a human readable string.
38  *
39  * The linux kernel version can be queried using standard linux methods, such as the uname
40  * command, or the uname() API.
41  *
42  * @section le_info_model Query Device information
43  *
44  * le_info_GetDeviceModel() is used to retrieve the target hardware platform identity.
45  *
46  * le_info_GetImei() is used to retrieve the International Mobile Equipment Identity (IMEI).
47  *
48  * le_info_GetImeiSv() is used to retrieve the International Mobile Equipment Identity software
49  * version number(IMEISV).
50  *
51  * le_info_GetMeid() is used to retrieve the CDMA device Mobile Equipment Identifier (MEID).
52  *
53  * le_info_GetEsn() is used to retrieve Electronic Serial Number (ESN) of the device.
54  *
55  * le_info_GetMdn() is used to retrieve the Mobile Directory Number (MDN) of the device.
56  *
57  * le_info_GetMin() is used to retrieve the CDMA Mobile Identification Number (MIN).
58  *
59  * le_info_GetPrlVersion() is used to retrieve the CDMA version of Preferred Roaming List (PRL).
60  *
61  * le_info_GetPrlOnlyPreference() is used to retrieve the CDMA Preferred Roaming List (PRL)
62  * only preferences status.
63  *
64  * le_info_GetNai() is used to retrieve the CDMA Network Access Identifier (NAI) string.
65  *
66  * le_info_GetManufacturerName() is used to retrieve the Manufacturer name.
67  *
68  * le_info_GetPriId() is used to retrieve the Product Requirement Information Identifier (PRI ID)
69  * Part Number and the Revision Number.
70  *
71  * le_info_GetCarrierPri() is used to retrieve the Carrier Product Requirement Information (CAPRI)
72  * Name and the Revision number. Revision Number string is in major.minor_buildver format.
73  *
74  * le_info_GetSku() is used to retrieve the product stock keeping unit number (SKU).
75  *
76  * le_info_GetPlatformSerialNumber() is used to retrieve the Platform Serial Number (PSN) string.
77  *
78  * le_info_GetRfDeviceStatus() is used to retrieve the RF devices working status (i.e. working or
79  * broken) of modem's RF devices such as power amplifier, antenna switch and transceiver.
80  * That status is updated every time the module power on.
81  *
82  * @section le_info_reset Query Reset Information
83  *
84  * le_info_GetResetInformation() is used to retrieve the last reset reason.
85  * For each reset reason, an information string is provided to specify the reset cause. These
86  * strings are listed in the table below. This list may be partially supported by some plateforms.
87  *
88  * @note See platform constraints @subpage platformConstraintsInfo
89  *
90  * | Reset type | Information string | Description |
91  * |:---------------------:|:------------------------------:|:---------------------------------------------:|
92  * | LE_INFO_RESET_USER | "Reset, User Requested" | User requested the reboot |
93  * | LE_INFO_RESET_HARD | "Reset, Hardware Switch" | Hardware switch pushed |
94  * | LE_INFO_RESET_UPDATE | "Reset, Swap" | System Swap (dual platforms) |
95  * | LE_INFO_RESET_UPDATE | "Reset, Swap_sync" | System Swap and synchronize (dual platforms) |
96  * | LE_INFO_RESET_UPDATE | "Reset, Software Update" | Software Update |
97  * | LE_INFO_RESET_UPDATE | "Reset, Configuration Update" | Reset caused by a configuration update |
98  * | LE_INFO_RESET_UPDATE | "Reset, LWM2M Update" | Reset caused by a LWM2M update |
99  * | LE_INFO_RESET_UPDATE | "Reset, OMA-DM Update" | Reset caused by a OMA-DM update |
100  * | LE_INFO_RESET_UPDATE | "Reset, FOTA Update" | Reset caused by a FOTA update |
101  * | LE_INFO_POWER_DOWN | "Reset, Crash" | Software crash |
102  * | LE_INFO_POWER_DOWN | "Power Down" | Power source unplugged |
103  * | LE_INFO_TEMP_CRIT | "Power Down, Critical Temp" | Power down due to a critical voltage level |
104  * | LE_INFO_VOLT_CRIT | "Power Down, Critical Voltage" | Power down due to a ciritcal temperature level|
105  *
106  *
107  * le_info_GetExpectedResetsCount() returns the number of expected resets
108  *
109  * Expected resets can be due to normal system shutdown/restart or a software update
110  *
111  * le_info_GetUnexpectedResetsCount() return the number of unexpected resets
112  *
113  * Unexpected resets can be due to software crash, a critical voltage level or a critical
114  * temperature level
115  *
116  * <HR>
117  *
118  * Copyright (C) Sierra Wireless Inc.
119  */
120 /**
121  * @file le_info_interface.h
122  *
123  * Legato @ref c_info include file.
124  *
125  * Copyright (C) Sierra Wireless Inc.
126  */
127 
128 #ifndef LE_INFO_INTERFACE_H_INCLUDE_GUARD
129 #define LE_INFO_INTERFACE_H_INCLUDE_GUARD
130 
131 
132 #include "legato.h"
133 
134 
135 //--------------------------------------------------------------------------------------------------
136 /**
137  * Type for handler called when a server disconnects.
138  */
139 //--------------------------------------------------------------------------------------------------
140 typedef void (*le_info_DisconnectHandler_t)(void *);
141 
142 //--------------------------------------------------------------------------------------------------
143 /**
144  *
145  * Connect the current client thread to the service providing this API. Block until the service is
146  * available.
147  *
148  * For each thread that wants to use this API, either ConnectService or TryConnectService must be
149  * called before any other functions in this API. Normally, ConnectService is automatically called
150  * for the main thread, but not for any other thread. For details, see @ref apiFilesC_client.
151  *
152  * This function is created automatically.
153  */
154 //--------------------------------------------------------------------------------------------------
156 (
157  void
158 );
159 
160 //--------------------------------------------------------------------------------------------------
161 /**
162  *
163  * Try to connect the current client thread to the service providing this API. Return with an error
164  * if the service is not available.
165  *
166  * For each thread that wants to use this API, either ConnectService or TryConnectService must be
167  * called before any other functions in this API. Normally, ConnectService is automatically called
168  * for the main thread, but not for any other thread. For details, see @ref apiFilesC_client.
169  *
170  * This function is created automatically.
171  *
172  * @return
173  * - LE_OK if the client connected successfully to the service.
174  * - LE_UNAVAILABLE if the server is not currently offering the service to which the client is
175  * bound.
176  * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
177  * - LE_COMM_ERROR if the Service Directory cannot be reached.
178  */
179 //--------------------------------------------------------------------------------------------------
181 (
182  void
183 );
184 
185 //--------------------------------------------------------------------------------------------------
186 /**
187  * Set handler called when server disconnection is detected.
188  *
189  * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants
190  * to continue without exiting, it should call longjmp() from inside the handler.
191  */
192 //--------------------------------------------------------------------------------------------------
194 (
195  le_info_DisconnectHandler_t disconnectHandler,
196  void *contextPtr
197 );
198 
199 //--------------------------------------------------------------------------------------------------
200 /**
201  *
202  * Disconnect the current client thread from the service providing this API.
203  *
204  * Normally, this function doesn't need to be called. After this function is called, there's no
205  * longer a connection to the service, and the functions in this API can't be used. For details, see
206  * @ref apiFilesC_client.
207  *
208  * This function is created automatically.
209  */
210 //--------------------------------------------------------------------------------------------------
212 (
213  void
214 );
215 
216 
217 //--------------------------------------------------------------------------------------------------
218 /**
219  * Maximum IMEI length (15 digits), excluding any termination character.
220  */
221 //--------------------------------------------------------------------------------------------------
222 #define LE_INFO_IMEI_MAX_LEN 15
223 
224 //--------------------------------------------------------------------------------------------------
225 /**
226  * Maximum IMEI length (15 digits)
227  * One extra byte is added for the null character.
228  */
229 //--------------------------------------------------------------------------------------------------
230 #define LE_INFO_IMEI_MAX_BYTES 16
231 
232 //--------------------------------------------------------------------------------------------------
233 /**
234  * Maximum length of the IMEISV string, excluding any termination character.
235  */
236 //--------------------------------------------------------------------------------------------------
237 #define LE_INFO_IMEISV_MAX_LEN 255
238 
239 //--------------------------------------------------------------------------------------------------
240 /**
241  * Maximum length of the IMEISV string
242  * One extra byte is added for the null character.
243  */
244 //--------------------------------------------------------------------------------------------------
245 #define LE_INFO_IMEISV_MAX_BYTES 256
246 
247 //--------------------------------------------------------------------------------------------------
248 /**
249  * Maximum length of a version string, excluding any termination character.
250  */
251 //--------------------------------------------------------------------------------------------------
252 #define LE_INFO_MAX_VERS_LEN 256
253 
254 //--------------------------------------------------------------------------------------------------
255 /**
256  * Maximum length of a version string
257  * One extra byte is added for the null character.
258  */
259 //--------------------------------------------------------------------------------------------------
260 #define LE_INFO_MAX_VERS_BYTES 257
261 
262 //--------------------------------------------------------------------------------------------------
263 /**
264  * Maximum length of a model string, excluding any termination character.
265  */
266 //--------------------------------------------------------------------------------------------------
267 #define LE_INFO_MAX_MODEL_LEN 256
268 
269 //--------------------------------------------------------------------------------------------------
270 /**
271  * Maximum length of a model string
272  * One extra byte is added for the null character.
273  */
274 //--------------------------------------------------------------------------------------------------
275 #define LE_INFO_MAX_MODEL_BYTES 257
276 
277 //--------------------------------------------------------------------------------------------------
278 /**
279  * Maximum length of an Electronic Serial Number (ESN) string, excluding any termination character.
280  */
281 //--------------------------------------------------------------------------------------------------
282 #define LE_INFO_MAX_ESN_LEN 32
283 
284 //--------------------------------------------------------------------------------------------------
285 /**
286  * Maximum length of an Electronic Serial Number (ESN) string.
287  * One extra byte is added for the null character.
288  */
289 //--------------------------------------------------------------------------------------------------
290 #define LE_INFO_MAX_ESN_BYTES 33
291 
292 //--------------------------------------------------------------------------------------------------
293 /**
294  * Maximum length of a reset specific information string, excluding any termination character.
295  */
296 //--------------------------------------------------------------------------------------------------
297 #define LE_INFO_MAX_RESET_LEN 50
298 
299 //--------------------------------------------------------------------------------------------------
300 /**
301  * Maximum length of a reset specific information string.
302  * One extra byte is added for the null character.
303  */
304 //--------------------------------------------------------------------------------------------------
305 #define LE_INFO_MAX_RESET_BYTES 51
306 
307 //--------------------------------------------------------------------------------------------------
308 /**
309  * Maximum length of an Mobile Equipment Identifier (MEID) string, excluding any termination
310  * character.
311  */
312 //--------------------------------------------------------------------------------------------------
313 #define LE_INFO_MAX_MEID_LEN 32
314 
315 //--------------------------------------------------------------------------------------------------
316 /**
317  * Maximum length of an Mobile Equipment Identifier (MEID) string.
318  * One extra byte is added for the null character.
319  */
320 //--------------------------------------------------------------------------------------------------
321 #define LE_INFO_MAX_MEID_BYTES 33
322 
323 //--------------------------------------------------------------------------------------------------
324 /**
325  * Maximum length of an Mobile Directory Number (MDN) string, excluding any termination character.
326  */
327 //--------------------------------------------------------------------------------------------------
328 #define LE_INFO_MAX_MDN_LEN 32
329 
330 //--------------------------------------------------------------------------------------------------
331 /**
332  * Maximum length of an Mobile Directory Number (MDN) string.
333  * One extra byte is added for the null character.
334  */
335 //--------------------------------------------------------------------------------------------------
336 #define LE_INFO_MAX_MDN_BYTES 33
337 
338 //--------------------------------------------------------------------------------------------------
339 /**
340  * Maximum length of an Mobile Station ISDN Number (MSISDN) string, excluding any termination
341  * character.
342  */
343 //--------------------------------------------------------------------------------------------------
344 #define LE_INFO_MAX_MIN_LEN 32
345 
346 //--------------------------------------------------------------------------------------------------
347 /**
348  * Maximum length of an Mobile Station ISDN Number (MSISDN) string.
349  * One extra byte is added for the null character.
350  */
351 //--------------------------------------------------------------------------------------------------
352 #define LE_INFO_MAX_MIN_BYTES 33
353 
354 //--------------------------------------------------------------------------------------------------
355 /**
356  * Maximum length of an Mobile Station ISDN Number (NAI) string, excluding any termination
357  * character.
358  */
359 //--------------------------------------------------------------------------------------------------
360 #define LE_INFO_MAX_NAI_LEN 72
361 
362 //--------------------------------------------------------------------------------------------------
363 /**
364  * Maximum length of an Mobile Station ISDN Number (NAI) string.
365  * One extra byte is added for the null character.
366  */
367 //--------------------------------------------------------------------------------------------------
368 #define LE_INFO_MAX_NAI_BYTES 73
369 
370 //--------------------------------------------------------------------------------------------------
371 /**
372  * Maximum length of an Manufacturer Name string, excluding any termination character.
373  */
374 //--------------------------------------------------------------------------------------------------
375 #define LE_INFO_MAX_MFR_NAME_LEN 128
376 
377 //--------------------------------------------------------------------------------------------------
378 /**
379  * Maximum length of an Manufacturer Name string.
380  * One extra byte is added for the null character.
381  */
382 //--------------------------------------------------------------------------------------------------
383 #define LE_INFO_MAX_MFR_NAME_BYTES 129
384 
385 //--------------------------------------------------------------------------------------------------
386 /**
387  * Maximum length of the Product Requirement Information Identifier (PRI ID) Part Number string
388  * , excluding any termination character.
389  */
390 //--------------------------------------------------------------------------------------------------
391 #define LE_INFO_MAX_PRIID_PN_LEN 15
392 
393 //--------------------------------------------------------------------------------------------------
394 /**
395  * Maximum length of the Product Requirement Information Identifier (PRI ID) Part Number string.
396  * One extra byte is added for the null character.
397  */
398 //--------------------------------------------------------------------------------------------------
399 #define LE_INFO_MAX_PRIID_PN_BYTES 16
400 
401 //--------------------------------------------------------------------------------------------------
402 /**
403  * Maximum length of the Product Requirement Information Identifier (PRI ID) Revision Number string
404  * , excluding any termination character.
405  */
406 //--------------------------------------------------------------------------------------------------
407 #define LE_INFO_MAX_PRIID_REV_LEN 15
408 
409 //--------------------------------------------------------------------------------------------------
410 /**
411  * Maximum length of the Product Requirement Information Identifier (PRI ID) Revision Number string.
412  * One extra byte is added for the null character.
413  */
414 //--------------------------------------------------------------------------------------------------
415 #define LE_INFO_MAX_PRIID_REV_BYTES 16
416 
417 //--------------------------------------------------------------------------------------------------
418 /**
419  * Maximum length of the Carrier Product Requirement Information (CAPRI) Name string.
420  * , excluding any termination character.
421  */
422 //--------------------------------------------------------------------------------------------------
423 #define LE_INFO_MAX_CAPRI_NAME_LEN 16
424 
425 //--------------------------------------------------------------------------------------------------
426 /**
427  * Maximum length of the Carrier Product Requirement Information (CAPRI) Name string.
428  * One extra byte is added for the null character.
429  */
430 //--------------------------------------------------------------------------------------------------
431 #define LE_INFO_MAX_CAPRI_NAME_BYTES 17
432 
433 //--------------------------------------------------------------------------------------------------
434 /**
435  * Maximum length of the Carrier Product Requirement Information (CAPRI) Revision Number string.
436  * , excluding any termination character.
437  */
438 //--------------------------------------------------------------------------------------------------
439 #define LE_INFO_MAX_CAPRI_REV_LEN 12
440 
441 //--------------------------------------------------------------------------------------------------
442 /**
443  * Maximum length of the Carrier Product Requirement Information (CAPRI) Revision Number string.
444  * One extra byte is added for the null character.
445  */
446 //--------------------------------------------------------------------------------------------------
447 #define LE_INFO_MAX_CAPRI_REV_BYTES 13
448 
449 //--------------------------------------------------------------------------------------------------
450 /**
451  * Maximum length of an Platform Serial Number (PSN) string, excluding any termination character.
452  */
453 //--------------------------------------------------------------------------------------------------
454 #define LE_INFO_MAX_PSN_LEN 14
455 
456 //--------------------------------------------------------------------------------------------------
457 /**
458  * Maximum length of the Platform Serial Number (PSN) string.
459  * One extra byte is added for the null character.
460  */
461 //--------------------------------------------------------------------------------------------------
462 #define LE_INFO_MAX_PSN_BYTES 15
463 
464 //--------------------------------------------------------------------------------------------------
465 /**
466  * Maximum fields for the RF devices status request.
467  */
468 //--------------------------------------------------------------------------------------------------
469 #define LE_INFO_RF_DEVICES_STATUS_MAX 16
470 
471 //--------------------------------------------------------------------------------------------------
472 /**
473  * Maximum length of the product stock keeping unit number (SKU) string, excluding any termination
474  * character.
475  */
476 //--------------------------------------------------------------------------------------------------
477 #define LE_INFO_MAX_SKU_LEN 32
478 
479 //--------------------------------------------------------------------------------------------------
480 /**
481  * Maximum length of the product stock keeping unit number (SKU) string.
482  * One extra byte is added for the null character.
483  */
484 //--------------------------------------------------------------------------------------------------
485 #define LE_INFO_MAX_SKU_BYTES 33
486 
487 //--------------------------------------------------------------------------------------------------
488 /**
489  * Reset type enum
490  */
491 //--------------------------------------------------------------------------------------------------
492 typedef enum
493 {
495  ///< Unknown
497  ///< User request
499  ///< Hardware switch
501  ///< Software update
503  ///< Software crash
505  ///< Power Down
507  ///< Power Down due to a critical voltage level
509  ///< Power Down due to a critical temperature level
510 }
512 
513 
514 //--------------------------------------------------------------------------------------------------
515 /**
516  * Retrieve the International Mobile Equipment Identity (IMEI).
517  *
518  * @return LE_FAULT Function failed to retrieve the IMEI.
519  * @return LE_OVERFLOW IMEI length exceed the maximum length.
520  * @return LE_OK Function succeeded.
521  *
522  * @note If the caller passes a bad pointer into this function, it's a fatal error the
523  * function will not return.
524  */
525 //--------------------------------------------------------------------------------------------------
527 (
528  char* imei,
529  ///< [OUT] IMEI string.
530  size_t imeiSize
531  ///< [IN]
532 );
533 
534 //--------------------------------------------------------------------------------------------------
535 /**
536  * Retrieve the International Mobile Equipment Identity software version number (IMEISV).
537  *
538  * @return LE_FAULT Function failed to retrieve the IMEISV.
539  * @return LE_OVERFLOW IMEISV length exceed the maximum length.
540  * @return LE_OK Function succeeded.
541  *
542  * @note If the caller passes a bad pointer into this function, it's a fatal error; the
543  * function will not return.
544  */
545 //--------------------------------------------------------------------------------------------------
547 (
548  char* imeiSv,
549  ///< [OUT] IMEISV string.
550  size_t imeiSvSize
551  ///< [IN]
552 );
553 
554 //--------------------------------------------------------------------------------------------------
555 /**
556  * Get the firmware version string
557  *
558  * @return
559  * - LE_OK on success
560  * - LE_NOT_FOUND if the version string is not available
561  * - LE_OVERFLOW if version string to big to fit in provided buffer
562  * - LE_FAULT for any other errors
563  *
564  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
565  * function will not return.
566  */
567 //--------------------------------------------------------------------------------------------------
569 (
570  char* version,
571  ///< [OUT] Firmware version string
572  size_t versionSize
573  ///< [IN]
574 );
575 
576 //--------------------------------------------------------------------------------------------------
577 /**
578  * Get the last reset information reason
579  *
580  * @return
581  * - LE_OK on success
582  * - LE_UNSUPPORTED if it is not supported by the platform
583  * LE_OVERFLOW specific reset information length exceeds the maximum length.
584  * - LE_FAULT for any other errors
585  *
586  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
587  * function will not return.
588  */
589 //--------------------------------------------------------------------------------------------------
591 (
592  le_info_Reset_t* resetPtr,
593  ///< [OUT] Reset information
594  char* resetSpecificInfoStr,
595  ///< [OUT] Reset specific information
596  size_t resetSpecificInfoStrSize
597  ///< [IN]
598 );
599 
600 //--------------------------------------------------------------------------------------------------
601 /**
602  * Get the bootloader version string
603  *
604  * @return
605  * - LE_OK on success
606  * - LE_NOT_FOUND if the version string is not available
607  * - LE_OVERFLOW if version string to big to fit in provided buffer
608  * - LE_FAULT for any other errors
609  *
610  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
611  * function will not return.
612  */
613 //--------------------------------------------------------------------------------------------------
615 (
616  char* version,
617  ///< [OUT] Bootloader version string
618  size_t versionSize
619  ///< [IN]
620 );
621 
622 //--------------------------------------------------------------------------------------------------
623 /**
624  * Get the device model identity (Target Hardware Platform).
625  *
626  * @return
627  * - LE_OK The function succeeded.
628  * - LE_FAULT The function failed to get the value.
629  * - LE_OVERFLOW The device model identity length exceed the maximum length.
630  */
631 //--------------------------------------------------------------------------------------------------
633 (
634  char* modelPtr,
635  ///< [OUT] The model identity string (null-terminated).
636  size_t modelPtrSize
637  ///< [IN]
638 );
639 
640 //--------------------------------------------------------------------------------------------------
641 /**
642  * Get the CDMA device Mobile Equipment Identifier (MEID).
643  *
644  * @return
645  * - LE_OK The function succeeded.
646  * - LE_FAULT The function failed to get the value.
647  * - LE_OVERFLOW The device Mobile Equipment identifier length exceed the maximum length.
648  */
649 //--------------------------------------------------------------------------------------------------
651 (
652  char* meidStr,
653  ///< [OUT] The Mobile Equipment identifier (MEID)
654  ///< string (null-terminated).
655  size_t meidStrSize
656  ///< [IN]
657 );
658 
659 //--------------------------------------------------------------------------------------------------
660 /**
661  * Get the CDMA Electronic Serial Number (ESN) of the device.
662  *
663  * @return
664  * - LE_OK The function succeeded.
665  * - LE_FAULT The function failed to get the value.
666  * - LE_OVERFLOW The Electronic Serial Number length exceed the maximum length.
667  */
668 //--------------------------------------------------------------------------------------------------
670 (
671  char* esnStr,
672  ///< [OUT] The Electronic Serial Number (ESN) of the device.
673  ///< string (null-terminated).
674  size_t esnStrSize
675  ///< [IN]
676 );
677 
678 //--------------------------------------------------------------------------------------------------
679 /**
680  * Get the CDMA Mobile Directory Number (MDN) of the device.
681  *
682  * @return
683  * - LE_OK The function succeeded.
684  * - LE_FAULT The function failed to get the value.
685  * - LE_OVERFLOW The Mobile Directory Number length exceed the maximum length.
686  */
687 //--------------------------------------------------------------------------------------------------
689 (
690  char* mdnStr,
691  ///< [OUT] The Mobile Directory Number (MDN)
692  ///< string (null-terminated).
693  size_t mdnStrSize
694  ///< [IN]
695 );
696 
697 //--------------------------------------------------------------------------------------------------
698 /**
699  * Get the CDMA version of Preferred Roaming List (PRL).
700  *
701  * @return
702  * - LE_OK The function succeeded.
703  * - LE_NOT_FOUND The information is not available.
704  * - LE_FAULT The function failed to get the value.
705  */
706 //--------------------------------------------------------------------------------------------------
708 (
709  uint16_t* prlVersionPtr
710  ///< [OUT] The Preferred Roaming List (PRL) version.
711 );
712 
713 //--------------------------------------------------------------------------------------------------
714 /**
715  * Get the CDMA Preferred Roaming List (PRL) only preferences status.
716  *
717  * @return
718  * - LE_OK The function succeeded.
719  * - LE_NOT_FOUND The information is not available.
720  * - LE_FAULT The function failed to get the value.
721  */
722 //--------------------------------------------------------------------------------------------------
724 (
725  bool* prlOnlyPreferencePtr
726  ///< [OUT] The CDMA Preferred Roaming List only preferences status.
727 );
728 
729 //--------------------------------------------------------------------------------------------------
730 /**
731  * Get the CDMA Mobile Identification Number (MIN).
732  *
733  * @return
734  * - LE_OK The function succeeded.
735  * - LE_FAULT The function failed to get the value.
736  * - LE_OVERFLOW The CDMA Mobile Identification Number length exceed the maximum length.
737  */
738 //--------------------------------------------------------------------------------------------------
740 (
741  char* msisdnStr,
742  ///< [OUT] The Mobile Identification Number (MIN)
743  ///< string (null-terminated).
744  size_t msisdnStrSize
745  ///< [IN]
746 );
747 
748 //--------------------------------------------------------------------------------------------------
749 /**
750  * Get the CDMA Network Access Identifier (NAI) string in ASCII text.
751  *
752  * @return
753  * - LE_OK The function succeeded.
754  * - LE_FAULT The function failed to get the value.
755  * - LE_OVERFLOW The Network Access Identifier (NAI) length exceed the maximum length.
756  */
757 //--------------------------------------------------------------------------------------------------
759 (
760  char* naiStr,
761  ///< [OUT] The Network Access Identifier (NAI)
762  ///< string (null-terminated).
763  size_t naiStrSize
764  ///< [IN]
765 );
766 
767 //--------------------------------------------------------------------------------------------------
768 /**
769  * Get the Manufacturer Name string in ASCII text.
770  *
771  * @return
772  * - LE_OK The function succeeded.
773  * - LE_FAULT The function failed to get the value.
774  * - LE_OVERFLOW The Manufacturer Name length exceed the maximum length.
775  */
776 //--------------------------------------------------------------------------------------------------
778 (
779  char* mfrNameStr,
780  ///< [OUT] The Manufacturer Name string (null-terminated).
781  size_t mfrNameStrSize
782  ///< [IN]
783 );
784 
785 //--------------------------------------------------------------------------------------------------
786 /**
787  * Get the Product Requirement Information Part Number and Revision Number strings in ASCII text.
788  *
789  * @return
790  * - LE_OK The function succeeded.
791  * - LE_FAULT The function failed to get the value.
792  * - LE_OVERFLOW The Part or the Revision Number strings length exceed the maximum length.
793  */
794 //--------------------------------------------------------------------------------------------------
796 (
797  char* priIdPnStr,
798  ///< [OUT] The Product Requirement Information Identifier
799  ///< (PRI ID) Part Number string (null-terminated).
800  size_t priIdPnStrSize,
801  ///< [IN]
802  char* priIdRevStr,
803  ///< [OUT] The Product Requirement Information Identifier
804  ///< (PRI ID) Revision Number string
805  ///< (null-terminated).
806  size_t priIdRevStrSize
807  ///< [IN]
808 );
809 
810 //--------------------------------------------------------------------------------------------------
811 /**
812  * Get the Carrier PRI Name and Revision Number strings in ASCII text.
813  *
814  * @return
815  * - LE_OK The function succeeded.
816  * - LE_FAULT The function failed to get the value.
817  * - LE_OVERFLOW The Part or the Revision Number strings length exceed the maximum length.
818  * - LE_UNSUPPORTED The function is not supported on the platform.
819  */
820 //--------------------------------------------------------------------------------------------------
822 (
823  char* capriNameStr,
824  ///< [OUT] The Carrier Product Requirement Information
825  ///< (CAPRI) Name string (null-terminated).
826  size_t capriNameStrSize,
827  ///< [IN]
828  char* capriRevStr,
829  ///< [OUT] The Carrier Product Requirement Information
830  ///< (CAPRI) Revision Number string
831  ///< (null-terminated).
832  size_t capriRevStrSize
833  ///< [IN]
834 );
835 
836 //--------------------------------------------------------------------------------------------------
837 /**
838  * Get the Platform Serial Number (PSN) string.
839  *
840  * @return
841  * - LE_OK on success
842  * - LE_OVERFLOW if Platform Serial Number to big to fit in provided buffer
843  * - LE_FAULT for any other errors
844  */
845 //--------------------------------------------------------------------------------------------------
847 (
848  char* platformSerialNumberStr,
849  ///< [OUT] Platform Serial Number string.
850  size_t platformSerialNumberStrSize
851  ///< [IN]
852 );
853 
854 //--------------------------------------------------------------------------------------------------
855 /**
856  * Get the RF devices working status (i.e. working or broken) of modem's RF devices such as
857  * power amplifier, antenna switch and transceiver. That status is updated every time the module
858  * power on.
859  *
860  * @return
861  * - LE_OK on success
862  * - LE_UNSUPPORTED request not supported
863  * - LE_FAULT function failed to get the RF devices working status
864  * - LE_OVERFLOW the number of statuses exceeds the maximum size
865  * (LE_INFO_RF_DEVICES_STATUS_MAX)
866  * - LE_BAD_PARAMETER Null pointers provided
867  *
868  * @note If the caller is passing null pointers to this function, it is a fatal error, the
869  * function will not return.
870  */
871 //--------------------------------------------------------------------------------------------------
873 (
874  uint16_t* manufacturedIdPtr,
875  ///< [OUT] Manufactured identifier (MID)
876  size_t* manufacturedIdSizePtr,
877  ///< [INOUT]
878  uint8_t* productIdPtr,
879  ///< [OUT] Product identifier (PID)
880  size_t* productIdSizePtr,
881  ///< [INOUT]
882  bool* statusPtr,
883  ///< [OUT] Status of the RF device (MID,PID):
884  ///< 0 means something wrong
885  ///< 1 means no error found
886  size_t* statusSizePtr
887  ///< [INOUT]
888 );
889 
890 //--------------------------------------------------------------------------------------------------
891 /**
892  * Get the product stock keeping unit number (SKU) string in ASCII text.
893  *
894  * @return
895  * - LE_OK The function succeeded.
896  * - LE_FAULT The function failed to get the value.
897  * - LE_OVERFLOW The SKU number string length exceeds the maximum length.
898  */
899 //--------------------------------------------------------------------------------------------------
901 (
902  char* skuIdStr,
903  ///< [OUT] Product SKU ID string.
904  size_t skuIdStrSize
905  ///< [IN]
906 );
907 
908 //--------------------------------------------------------------------------------------------------
909 /**
910  * Get the number of expected resets
911  *
912  * @return
913  * - LE_OK Success
914  * - LE_BAD_PARAMETER Input prameter is a null pointer
915  * - LE_FAULT Failed to get the number if expected resets
916  */
917 //--------------------------------------------------------------------------------------------------
919 (
920  uint64_t* resetsCountPtrPtr
921  ///< [OUT] Number of expected resets
922 );
923 
924 //--------------------------------------------------------------------------------------------------
925 /**
926  * Get the number of unexpected resets
927  *
928  * @return
929  * - LE_OK Success
930  * - LE_BAD_PARAMETER Input prameter is a null pointer
931  * - LE_FAULT Failed to get the number if expected resets
932  */
933 //--------------------------------------------------------------------------------------------------
935 (
936  uint64_t* resetsCountPtrPtr
937  ///< [OUT] Number of expected resets
938 );
939 
940 #endif // LE_INFO_INTERFACE_H_INCLUDE_GUARD
le_result_t le_info_GetPrlOnlyPreference(bool *prlOnlyPreferencePtr)
le_result_t le_info_GetRfDeviceStatus(uint16_t *manufacturedIdPtr, size_t *manufacturedIdSizePtr, uint8_t *productIdPtr, size_t *productIdSizePtr, bool *statusPtr, size_t *statusSizePtr)
void le_info_DisconnectService(void)
le_result_t le_info_GetPlatformSerialNumber(char *platformSerialNumberStr, size_t platformSerialNumberStrSize)
le_result_t
Definition: le_basics.h:35
Software crash.
Definition: le_info_interface.h:502
le_result_t le_info_GetMdn(char *mdnStr, size_t mdnStrSize)
void le_info_ConnectService(void)
Software update.
Definition: le_info_interface.h:500
void(* le_info_DisconnectHandler_t)(void *)
Definition: le_info_interface.h:140
User request.
Definition: le_info_interface.h:496
le_result_t le_info_GetSku(char *skuIdStr, size_t skuIdStrSize)
le_result_t le_info_GetPriId(char *priIdPnStr, size_t priIdPnStrSize, char *priIdRevStr, size_t priIdRevStrSize)
le_result_t le_info_GetImeiSv(char *imeiSv, size_t imeiSvSize)
le_result_t le_info_GetPrlVersion(uint16_t *prlVersionPtr)
le_result_t le_info_GetNai(char *naiStr, size_t naiStrSize)
le_result_t le_info_GetMin(char *msisdnStr, size_t msisdnStrSize)
le_result_t le_info_GetBootloaderVersion(char *version, size_t versionSize)
le_result_t le_info_GetImei(char *imei, size_t imeiSize)
le_result_t le_info_GetMeid(char *meidStr, size_t meidStrSize)
le_result_t le_info_GetManufacturerName(char *mfrNameStr, size_t mfrNameStrSize)
Hardware switch.
Definition: le_info_interface.h:498
le_result_t le_info_GetUnexpectedResetsCount(uint64_t *resetsCountPtrPtr)
Power Down due to a critical temperature level.
Definition: le_info_interface.h:508
Power Down due to a critical voltage level.
Definition: le_info_interface.h:506
Power Down.
Definition: le_info_interface.h:504
le_result_t le_info_GetExpectedResetsCount(uint64_t *resetsCountPtrPtr)
le_result_t le_info_GetDeviceModel(char *modelPtr, size_t modelPtrSize)
void le_info_SetServerDisconnectHandler(le_info_DisconnectHandler_t disconnectHandler, void *contextPtr)
le_info_Reset_t
Definition: le_info_interface.h:492
le_result_t le_info_TryConnectService(void)
le_result_t le_info_GetEsn(char *esnStr, size_t esnStrSize)
Unknown.
Definition: le_info_interface.h:494
le_result_t le_info_GetFirmwareVersion(char *version, size_t versionSize)
le_result_t le_info_GetCarrierPri(char *capriNameStr, size_t capriNameStrSize, char *capriRevStr, size_t capriRevStrSize)
le_result_t le_info_GetResetInformation(le_info_Reset_t *resetPtr, char *resetSpecificInfoStr, size_t resetSpecificInfoStrSize)