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