le_mdc_common.h

Go to the documentation of this file.
1 
2 /*
3  * ====================== WARNING ======================
4  *
5  * THE CONTENTS OF THIS FILE HAVE BEEN AUTO-GENERATED.
6  * DO NOT MODIFY IN ANY WAY.
7  *
8  * ====================== WARNING ======================
9  */
10 /**
11  * @file le_mdc_common.h
12  *
13  * Type definitions for le_mdc.
14  *
15  */
16 #ifndef LE_MDC_COMMON_H_INCLUDE_GUARD
17 #define LE_MDC_COMMON_H_INCLUDE_GUARD
18 
19 
20 #include "legato.h"
21 
22 #define IFGEN_LE_MDC_PROTOCOL_ID "9a4af815f75d12203c778d5f974f55de"
23 #define IFGEN_LE_MDC_MSG_SIZE 2032
24 /** @addtogroup le_mdc
25  * @{ **/
26 
27 
28 //--------------------------------------------------------------------------------------------------
29 /**
30  * Maximum number of bytes in a interface name (not including the null-terminator).
31  */
32 //--------------------------------------------------------------------------------------------------
33 #define LE_MDC_INTERFACE_NAME_MAX_LEN 20
34 
35 //--------------------------------------------------------------------------------------------------
36 /**
37  * Maximum number of bytes in a profile name (including the null-terminator).
38  */
39 //--------------------------------------------------------------------------------------------------
40 #define LE_MDC_INTERFACE_NAME_MAX_BYTES 21
41 
42 //--------------------------------------------------------------------------------------------------
43 /**
44  * Maximum number of bytes in an IPv4 address (not including the null-terminator).
45  */
46 //--------------------------------------------------------------------------------------------------
47 #define LE_MDC_IPV4_ADDR_MAX_LEN 15
48 
49 //--------------------------------------------------------------------------------------------------
50 /**
51  * Maximum number of bytes in an IPv4 address (including the null-terminator).
52  */
53 //--------------------------------------------------------------------------------------------------
54 #define LE_MDC_IPV4_ADDR_MAX_BYTES 16
55 
56 //--------------------------------------------------------------------------------------------------
57 /**
58  * Maximum number of bytes in an IPv6 address (not including the null-terminator).
59  */
60 //--------------------------------------------------------------------------------------------------
61 #define LE_MDC_IPV6_ADDR_MAX_LEN 45
62 
63 //--------------------------------------------------------------------------------------------------
64 /**
65  * Maximum number of bytes in an IPv6 address (including the null-terminator).
66  */
67 //--------------------------------------------------------------------------------------------------
68 #define LE_MDC_IPV6_ADDR_MAX_BYTES 46
69 
70 //--------------------------------------------------------------------------------------------------
71 /**
72  * Maximum number of bytes in a apn name (not including the null-terminator).
73  */
74 //--------------------------------------------------------------------------------------------------
75 #define LE_MDC_APN_NAME_MAX_LEN 100
76 
77 //--------------------------------------------------------------------------------------------------
78 /**
79  * Maximum number of bytes in a apn name (including the null-terminator).
80  */
81 //--------------------------------------------------------------------------------------------------
82 #define LE_MDC_APN_NAME_MAX_BYTES 101
83 
84 //--------------------------------------------------------------------------------------------------
85 /**
86  * Maximum number of bytes in a user name (not including the null-terminator).
87  */
88 //--------------------------------------------------------------------------------------------------
89 #define LE_MDC_USER_NAME_MAX_LEN 64
90 
91 //--------------------------------------------------------------------------------------------------
92 /**
93  * Maximum number of bytes in a user name (including the null-terminator).
94  */
95 //--------------------------------------------------------------------------------------------------
96 #define LE_MDC_USER_NAME_MAX_BYTES 65
97 
98 //--------------------------------------------------------------------------------------------------
99 /**
100  * Maximum number of bytes in a password name (not including the null-terminator).
101  */
102 //--------------------------------------------------------------------------------------------------
103 #define LE_MDC_PASSWORD_NAME_MAX_LEN 100
104 
105 //--------------------------------------------------------------------------------------------------
106 /**
107  * Maximum number of bytes in a password name (including the null-terminator).
108  */
109 //--------------------------------------------------------------------------------------------------
110 #define LE_MDC_PASSWORD_NAME_MAX_BYTES 101
111 
112 //--------------------------------------------------------------------------------------------------
113 /**
114  * Default profile definition.
115  */
116 //--------------------------------------------------------------------------------------------------
117 #define LE_MDC_DEFAULT_PROFILE -1
118 
119 //--------------------------------------------------------------------------------------------------
120 /**
121  * Default profile definition for Bearer Independent Protocol (BIP).
122  */
123 //--------------------------------------------------------------------------------------------------
124 #define LE_MDC_SIMTOOLKIT_BIP_DEFAULT_PROFILE -2
125 
126 //--------------------------------------------------------------------------------------------------
127 /**
128  * Define the max # of entries in a cellular profile list. So far most of the supported modules
129  * & platforms have a limit of 24 profiles, while on 9x50 Qualcomm on the EM75xx baseline it has
130  * been increased to 34. It's unforeseeable that in the short future this limit will further be
131  * raised beyond this level.
132  */
133 //--------------------------------------------------------------------------------------------------
134 #define LE_MDC_PROFILE_LIST_ENTRY_MAX 36
135 
136 //--------------------------------------------------------------------------------------------------
137 /**
138  */
139 //--------------------------------------------------------------------------------------------------
140 #define LE_MDC_PROFILE_LIST_ENTRY_NAMELEN_MAX 50
141 
142 //--------------------------------------------------------------------------------------------------
143 /**
144  */
145 //--------------------------------------------------------------------------------------------------
146 #define LE_MDC_MAX_PDP_CID_INDEX 36
147 
148 //--------------------------------------------------------------------------------------------------
149 /**
150  * Reference to a modem data connection profile.
151  */
152 //--------------------------------------------------------------------------------------------------
153 typedef struct le_mdc_Profile* le_mdc_ProfileRef_t;
154 
155 
156 //--------------------------------------------------------------------------------------------------
157 /**
158  * Enumeration of data bearer technologies.
159  */
160 //--------------------------------------------------------------------------------------------------
161 typedef enum
162 {
164  ///< Unknown
166  ///< GSM
168  ///< GPRS
170  ///< Enhanced GPRS (EDGE)
172  ///< WCDMA (UMTS)
174  ///< HSPA
176  ///< HSPA+
178  ///< Dual Cell - HSPA+
180  ///< HSDPA
182  ///< HSUPA
184  ///< Dual Cell - HSUPA
186  ///< Dual Cell - HSPA
188  ///< LTE
190  ///< LTE FDD
192  ///< LTE TDD
194  ///< LTE CA DL
196  ///< LTE CA UL
198  ///< TD-SCDMA
200  ///< CDMA2000 1X
202  ///< CDMA2000 HRPD (1xEV-DO)
204  ///< CDMA2000 HRPD (1xEV-DO RevA)
206  ///< CDMA2000 EHRPD
208  ///< IS95 1X
210  ///< HDR REV0 DPA
212  ///< HDR REVA DPA
214  ///< HDR REVB DPA
216  ///< HDR REVA MPA
218  ///< HDR REVB MPA
220  ///< HDR REVA EMPA
222  ///< HDR REVB EMPA
224  ///< HDR REVB MMPA
226  ///< HDR EVDO FMC
228  ///< 64 QAM
230  ///< S2B
231 }
233 
234 
235 //--------------------------------------------------------------------------------------------------
236 /**
237  * Enumeration of Packet Data Protocol.
238  */
239 //--------------------------------------------------------------------------------------------------
240 typedef enum
241 {
243  ///< Unknown
245  ///< IPv4
247  ///< IPv6
249  ///< IPv4 and IPv6
250 }
252 
253 
254 //--------------------------------------------------------------------------------------------------
255 /**
256  * Authentication bit mask.
257  */
258 //--------------------------------------------------------------------------------------------------/// no authentication
259 #define LE_MDC_AUTH_NONE 0x1/// PAP protocol
260 #define LE_MDC_AUTH_PAP 0x2/// CHAP protocol
261 #define LE_MDC_AUTH_CHAP 0x4
262 typedef uint32_t le_mdc_Auth_t;
263 
264 
265 //--------------------------------------------------------------------------------------------------
266 /**
267  * Enumeration of connection state.
268  */
269 //--------------------------------------------------------------------------------------------------
270 typedef enum
271 {
273  ///< Data session is disconnected
275  ///< Authenticating data session
277  ///< Data session is connected
279  ///< Suspending data session
281  ///< Incoming data session (MT-PDP context request)
282 }
284 
285 
286 //--------------------------------------------------------------------------------------------------
287 /**
288  * Enumeration of the possible reasons for the disconnection.
289  */
290 //--------------------------------------------------------------------------------------------------
291 typedef enum
292 {
294  ///< Modem has no service
296  ///< cf. 3GPP 24.008 Annex I1
298  ///< cf. 3GPP 24.008 Annex I1
300  ///< cf. 3GPP 24.008 Annex I1
302  ///< cf. 3GPP 24.008 Annex I1
304  ///< cf. 3GPP 24.008 Annex I1
306  ///< cf. 3GPP 24.008 Annex I1
308  ///< cf. 3GPP 24.008 Annex I1
310  ///< cf. 3GPP 24.008 Annex I1
312  ///< cf. 3GPP 24.008 Annex I1
314  ///< cf. 3GPP 24.008 Annex I1
316  ///< cf. 3GPP 24.008 Annex I1
318  ///< cf. 3GPP 24.008 Annex I1
320  ///< cf. 3GPP 24.008 Annex I1
322  ///< cf. 3GPP 24.008 Annex I1
324  ///< cf. 3GPP 24.008 Annex I1
326  ///< cf. 3GPP 24.008 Annex I1
328  ///< cf. 3GPP 24.008 Annex I1
330  ///< cf. 3GPP 24.008 Annex I1
332  ///< cf. 3GPP 24.008 Annex I1
334  ///< cf. 3GPP 24.008 Annex I1
336  ///< cf. 3GPP 24.008 Annex I1
338  ///< cf. 3GPP 24.008 Annex I1
340  ///< cf. 3GPP 24.008 Annex I1
342  ///< cf. 3GPP 24.008 Annex I1
344  ///< cf. 3GPP 24.008 Annex I1
346  ///< cf. 3GPP 24.008 Annex I1
348  ///< cf. 3GPP 24.008 Annex I1
350  ///< cf. 3GPP 24.008 Annex I1
352  ///< cf. 3GPP 24.008 Annex I1
354  ///< cf. 3GPP 24.008 Annex I1
356  ///< cf. 3GPP 24.008 Annex I1
358  ///< cf. 3GPP 24.008 Annex I1
360  ///< cf. 3GPP 24.008 Annex I1
362  ///< cf. 3GPP 24.008 Annex I1
364  ///< cf. 3GPP 24.008 Annex I2
366  ///< cf. 3GPP 24.008 Annex I2
368  ///< cf. 3GPP 24.008 Annex I2
370  ///< cf. 3GPP 24.008 Annex I2
372  ///< cf. 3GPP 24.008 Annex I2
374  ///< cf. 3GPP 24.008 Annex I2
376  ///< cf. 3GPP 24.008 Annex I2
378  ///< cf. 3GPP 24.008 Annex I2
380  ///< cf. 3GPP 24.008 Annex I2
382  ///< Platform specific code.
384  ///< Undefined reason.
385 }
387 
388 
389 //--------------------------------------------------------------------------------------------------
390 /**
391  * Reference type used by Add/Remove functions for EVENT 'le_mdc_SessionState'
392  */
393 //--------------------------------------------------------------------------------------------------
394 typedef struct le_mdc_SessionStateHandler* le_mdc_SessionStateHandlerRef_t;
395 
396 
397 //--------------------------------------------------------------------------------------------------
398 /**
399  * Reference type used by Add/Remove functions for EVENT 'le_mdc_MtPdpSessionState'
400  */
401 //--------------------------------------------------------------------------------------------------
402 typedef struct le_mdc_MtPdpSessionStateHandler* le_mdc_MtPdpSessionStateHandlerRef_t;
403 
404 
405 //--------------------------------------------------------------------------------------------------
406 /**
407  * This is the structure with info about a given cellular data profile
408  */
409 //--------------------------------------------------------------------------------------------------
410 typedef struct
411 {
412  char name[50 + 1];
413  uint8_t index;
414  uint8_t type;
415 }
417 
418 
419 //--------------------------------------------------------------------------------------------------
420 /**
421  * Handler for Data session connection state changes.
422  */
423 //--------------------------------------------------------------------------------------------------
424 typedef void (*le_mdc_SessionStateHandlerFunc_t)
425 (
426  le_mdc_ProfileRef_t profileRef,
427  ///< Profile reference
428  le_mdc_ConState_t ConnectionState,
429  ///< Data session connection state.
430  void* contextPtr
431  ///<
432 );
433 
434 //--------------------------------------------------------------------------------------------------
435 /**
436  * Handler for MT-PDP Data session connection state changes.
437  */
438 //--------------------------------------------------------------------------------------------------
440 (
441  le_mdc_ConState_t ConnectionState,
442  ///< MT-PDP Data session connection state.
443  void* contextPtr
444  ///<
445 );
446 
447 //--------------------------------------------------------------------------------------------------
448 /**
449  * Handler for asynchronous session start and stop result response
450  *
451  */
452 //--------------------------------------------------------------------------------------------------
453 typedef void (*le_mdc_SessionHandlerFunc_t)
454 (
455  le_mdc_ProfileRef_t profileRef,
456  ///< Profile reference
457  le_result_t result,
458  ///< Session start or stop result response
459  void* contextPtr
460  ///<
461 );
462 
463 
464 //--------------------------------------------------------------------------------------------------
465 /**
466  * Get if this client bound locally.
467  */
468 //--------------------------------------------------------------------------------------------------
469 LE_SHARED bool ifgen_le_mdc_HasLocalBinding
470 (
471  void
472 );
473 
474 
475 //--------------------------------------------------------------------------------------------------
476 /**
477  * Init data that is common across all threads
478  */
479 //--------------------------------------------------------------------------------------------------
480 LE_SHARED void ifgen_le_mdc_InitCommonData
481 (
482  void
483 );
484 
485 
486 //--------------------------------------------------------------------------------------------------
487 /**
488  * Perform common initialization and open a session
489  */
490 //--------------------------------------------------------------------------------------------------
491 LE_SHARED le_result_t ifgen_le_mdc_OpenSession
492 (
493  le_msg_SessionRef_t _ifgen_sessionRef,
494  bool isBlocking
495 );
496 
497 //--------------------------------------------------------------------------------------------------
498 /**
499  * Add handler function for EVENT 'le_mdc_SessionState'
500  *
501  * This event provides information on data session connection state changes for the given profileRef.
502  *
503  */
504 //--------------------------------------------------------------------------------------------------
505 LE_SHARED le_mdc_SessionStateHandlerRef_t ifgen_le_mdc_AddSessionStateHandler
506 (
507  le_msg_SessionRef_t _ifgen_sessionRef,
508  le_mdc_ProfileRef_t profileRef,
509  ///< [IN] The profile object of interest
511  ///< [IN]
512  void* contextPtr
513  ///< [IN]
514 );
515 
516 //--------------------------------------------------------------------------------------------------
517 /**
518  * Remove handler function for EVENT 'le_mdc_SessionState'
519  */
520 //--------------------------------------------------------------------------------------------------
521 LE_SHARED void ifgen_le_mdc_RemoveSessionStateHandler
522 (
523  le_msg_SessionRef_t _ifgen_sessionRef,
525  ///< [IN]
526 );
527 
528 //--------------------------------------------------------------------------------------------------
529 /**
530  * Add handler function for EVENT 'le_mdc_MtPdpSessionState'
531  *
532  * This event provides information on data session connection state changes for the given profileRef.
533  *
534  */
535 //--------------------------------------------------------------------------------------------------
536 LE_SHARED le_mdc_MtPdpSessionStateHandlerRef_t ifgen_le_mdc_AddMtPdpSessionStateHandler
537 (
538  le_msg_SessionRef_t _ifgen_sessionRef,
540  ///< [IN]
541  void* contextPtr
542  ///< [IN]
543 );
544 
545 //--------------------------------------------------------------------------------------------------
546 /**
547  * Remove handler function for EVENT 'le_mdc_MtPdpSessionState'
548  */
549 //--------------------------------------------------------------------------------------------------
550 LE_SHARED void ifgen_le_mdc_RemoveMtPdpSessionStateHandler
551 (
552  le_msg_SessionRef_t _ifgen_sessionRef,
554  ///< [IN]
555 );
556 
557 //--------------------------------------------------------------------------------------------------
558 /**
559  * Get Profile Reference for index
560  *
561  * @note Create a new profile if the profile's index can't be found.
562  *
563  * @warning 0 is not a valid index.
564  *
565  * @warning Ensure to check the list of supported data profiles for your specific platform.
566  *
567  * @return
568  * - Reference to the data profile
569  * - NULL if the profile index does not exist
570  */
571 //--------------------------------------------------------------------------------------------------
572 LE_SHARED le_mdc_ProfileRef_t ifgen_le_mdc_GetProfile
573 (
574  le_msg_SessionRef_t _ifgen_sessionRef,
575  uint32_t index
576  ///< [IN] index of the profile.
577 );
578 
579 //--------------------------------------------------------------------------------------------------
580 /**
581  * Get the index for the given Profile.
582  *
583  * @return
584  * - index of the profile in the modem
585  *
586  * @note
587  * The process exits, if an invalid profile object is given
588  */
589 //--------------------------------------------------------------------------------------------------
590 LE_SHARED uint32_t ifgen_le_mdc_GetProfileIndex
591 (
592  le_msg_SessionRef_t _ifgen_sessionRef,
593  le_mdc_ProfileRef_t profileRef
594  ///< [IN] Query this profile object
595 );
596 
597 //--------------------------------------------------------------------------------------------------
598 /**
599  * Get the list of supported PDP context identifiers
600  *
601  * @return
602  * - LE_OK on success
603  * - LE_BAD_PARAMETER if the input parameter is not valid
604  * - LE_FAULT for other failures
605  */
606 //--------------------------------------------------------------------------------------------------
607 LE_SHARED le_result_t ifgen_le_mdc_GetCidList
608 (
609  le_msg_SessionRef_t _ifgen_sessionRef,
610  uint8_t* cidPtr,
611  ///< [OUT] List of supported PDP context identifiers
612  size_t* cidSizePtr
613  ///< [INOUT]
614 );
615 
616 //--------------------------------------------------------------------------------------------------
617 /**
618  * Start profile data session.
619  *
620  * @return
621  * - LE_OK on success
622  * - LE_BAD_PARAMETER if input parameter is incorrect
623  * - LE_DUPLICATE if the data session is already connected for the given profile
624  * - LE_TIMEOUT for session start timeout
625  * - LE_FAULT for other failures
626  *
627  * @note
628  * The process exits, if an invalid profile object is given
629  */
630 //--------------------------------------------------------------------------------------------------
631 LE_SHARED le_result_t ifgen_le_mdc_StartSession
632 (
633  le_msg_SessionRef_t _ifgen_sessionRef,
634  le_mdc_ProfileRef_t profileRef
635  ///< [IN] Start data session for this profile object
636 );
637 
638 //--------------------------------------------------------------------------------------------------
639 /**
640  * Start profile data session.
641  *
642  * @note
643  * The process exits, if an invalid profile object is given
644  */
645 //--------------------------------------------------------------------------------------------------
646 LE_SHARED void ifgen_le_mdc_StartSessionAsync
647 (
648  le_msg_SessionRef_t _ifgen_sessionRef,
649  le_mdc_ProfileRef_t profileRef,
650  ///< [IN] Start data session for this profile object
651  le_mdc_SessionHandlerFunc_t handlerPtr,
652  ///< [IN] Handler for start data session result
653  void* contextPtr
654  ///< [IN]
655 );
656 
657 //--------------------------------------------------------------------------------------------------
658 /**
659  * Stop profile data session.
660  *
661  * @return
662  * - LE_OK on success
663  * - LE_BAD_PARAMETER if the input parameter is not valid
664  * - LE_FAULT for other failures
665  *
666  * @note
667  * The process exits, if an invalid profile object is given
668  *
669  * @warning The MT-PDP context activation feature is not supported on all platforms. Please refer to
670  * @ref MT-PDP_context section for full details.
671  */
672 //--------------------------------------------------------------------------------------------------
673 LE_SHARED le_result_t ifgen_le_mdc_StopSession
674 (
675  le_msg_SessionRef_t _ifgen_sessionRef,
676  le_mdc_ProfileRef_t profileRef
677  ///< [IN] Stop data session for this profile object
678 );
679 
680 //--------------------------------------------------------------------------------------------------
681 /**
682  * Stop profile data session.
683  *
684  * @note
685  * The process exits, if an invalid profile object is given
686  */
687 //--------------------------------------------------------------------------------------------------
688 LE_SHARED void ifgen_le_mdc_StopSessionAsync
689 (
690  le_msg_SessionRef_t _ifgen_sessionRef,
691  le_mdc_ProfileRef_t profileRef,
692  ///< [IN] Stop data session for this profile object
693  le_mdc_SessionHandlerFunc_t handlerPtr,
694  ///< [IN] Handler for stop data session result
695  void* contextPtr
696  ///< [IN]
697 );
698 
699 //--------------------------------------------------------------------------------------------------
700 /**
701  * Reject MT-PDP profile data session.
702  *
703  * @return
704  * - LE_OK on success
705  * - LE_BAD_PARAMETER if the input parameter is not valid
706  * - LE_UNSUPPORTED if not supported by the target
707  * - LE_FAULT for other failures
708  *
709  * @note
710  * The process exits, if an invalid profile object is given
711  *
712  * @warning The MT-PDP context activation feature is not supported on all platforms. Please refer to
713  * @ref MT-PDP_context section for full details.
714  */
715 //--------------------------------------------------------------------------------------------------
716 LE_SHARED le_result_t ifgen_le_mdc_RejectMtPdpSession
717 (
718  le_msg_SessionRef_t _ifgen_sessionRef,
719  le_mdc_ProfileRef_t profileRef
720  ///< [IN] Reject MT-PDP data session for this profile object
721 );
722 
723 //--------------------------------------------------------------------------------------------------
724 /**
725  * Get the current data session state.
726  *
727  * @return
728  * - LE_OK on success
729  * - LE_BAD_PARAMETER if an input parameter is not valid
730  * - LE_FAULT on failure
731  *
732  * @note
733  * The process exits, if an invalid profile object is given
734  */
735 //--------------------------------------------------------------------------------------------------
736 LE_SHARED le_result_t ifgen_le_mdc_GetSessionState
737 (
738  le_msg_SessionRef_t _ifgen_sessionRef,
739  le_mdc_ProfileRef_t profileRef,
740  ///< [IN] Query this profile object
741  le_mdc_ConState_t* connectionStatePtr
742  ///< [OUT] The data session state
743 );
744 
745 //--------------------------------------------------------------------------------------------------
746 /**
747  * Get the network interface name, if the data session is connected.
748  *
749  * @return
750  * - LE_OK on success
751  * - LE_OVERFLOW if the interface name would not fit in interfaceNameStr
752  * - LE_FAULT for all other errors
753  *
754  * @note
755  * The process exits, if an invalid profile object is given
756  */
757 //--------------------------------------------------------------------------------------------------
758 LE_SHARED le_result_t ifgen_le_mdc_GetInterfaceName
759 (
760  le_msg_SessionRef_t _ifgen_sessionRef,
761  le_mdc_ProfileRef_t profileRef,
762  ///< [IN] Query this profile object
763  char* interfaceName,
764  ///< [OUT] The name of the network interface
765  size_t interfaceNameSize
766  ///< [IN]
767 );
768 
769 //--------------------------------------------------------------------------------------------------
770 /**
771  * Get the IPv4 address for the given profile, if the data session is connected and has an IPv4
772  * address.
773  *
774  * @return
775  * - LE_OK on success
776  * - LE_OVERFLOW if the IP address would not fit in ipAddrStr
777  * - LE_FAULT for all other errors
778  *
779  * @note
780  * The process exits, if an invalid profile object is given
781  */
782 //--------------------------------------------------------------------------------------------------
783 LE_SHARED le_result_t ifgen_le_mdc_GetIPv4Address
784 (
785  le_msg_SessionRef_t _ifgen_sessionRef,
786  le_mdc_ProfileRef_t profileRef,
787  ///< [IN] Query this profile object
788  char* ipAddr,
789  ///< [OUT] The IP address in dotted format
790  size_t ipAddrSize
791  ///< [IN]
792 );
793 
794 //--------------------------------------------------------------------------------------------------
795 /**
796  * Get the gateway IPv4 address for the given profile, if the data session is connected and has an
797  * IPv4 address.
798  *
799  * @return
800  * - LE_OK on success
801  * - LE_OVERFLOW if the IP address would not fit in gatewayAddrStr
802  * - LE_FAULT for all other errors
803  *
804  * @note
805  * The process exits, if an invalid profile object is given
806  */
807 //--------------------------------------------------------------------------------------------------
808 LE_SHARED le_result_t ifgen_le_mdc_GetIPv4GatewayAddress
809 (
810  le_msg_SessionRef_t _ifgen_sessionRef,
811  le_mdc_ProfileRef_t profileRef,
812  ///< [IN] Query this profile object
813  char* gatewayAddr,
814  ///< [OUT] The gateway IP address in dotted format
815  size_t gatewayAddrSize
816  ///< [IN]
817 );
818 
819 //--------------------------------------------------------------------------------------------------
820 /**
821  * Get the primary/secondary DNS v4 addresses for the given profile, if the data session is
822  * connected and has an IPv4 address.
823  *
824  * @return
825  * - LE_OK on success
826  * - LE_OVERFLOW if the IP address would not fit in buffer
827  * - LE_FAULT for all other errors
828  *
829  * @note
830  * - If only one DNS address is available, then it will be returned, and an empty string will
831  * be returned for the unavailable address
832  * - The process exits, if an invalid profile object is given
833  */
834 //--------------------------------------------------------------------------------------------------
835 LE_SHARED le_result_t ifgen_le_mdc_GetIPv4DNSAddresses
836 (
837  le_msg_SessionRef_t _ifgen_sessionRef,
838  le_mdc_ProfileRef_t profileRef,
839  ///< [IN] Query this profile object
840  char* dns1AddrStr,
841  ///< [OUT] The primary DNS IP address in dotted format
842  size_t dns1AddrStrSize,
843  ///< [IN]
844  char* dns2AddrStr,
845  ///< [OUT] The secondary DNS IP address in dotted format
846  size_t dns2AddrStrSize
847  ///< [IN]
848 );
849 
850 //--------------------------------------------------------------------------------------------------
851 /**
852  * Get the IPv6 address for the given profile, if the data session is connected and has an IPv6
853  * address.
854  *
855  * @return
856  * - LE_OK on success
857  * - LE_OVERFLOW if the IP address would not fit in ipAddrStr
858  * - LE_FAULT for all other errors
859  *
860  * @note
861  * The process exits, if an invalid profile object is given
862  */
863 //--------------------------------------------------------------------------------------------------
864 LE_SHARED le_result_t ifgen_le_mdc_GetIPv6Address
865 (
866  le_msg_SessionRef_t _ifgen_sessionRef,
867  le_mdc_ProfileRef_t profileRef,
868  ///< [IN] Query this profile object
869  char* ipAddr,
870  ///< [OUT] The IP address in dotted format
871  size_t ipAddrSize
872  ///< [IN]
873 );
874 
875 //--------------------------------------------------------------------------------------------------
876 /**
877  * Get the gateway IPv6 address for the given profile, if the data session is connected and has an
878  * IPv6 address.
879  *
880  * @return
881  * - LE_OK on success
882  * - LE_OVERFLOW if the IP address would not fit in gatewayAddrStr
883  * - LE_FAULT for all other errors
884  *
885  * @note
886  * The process exits, if an invalid profile object is given
887  */
888 //--------------------------------------------------------------------------------------------------
889 LE_SHARED le_result_t ifgen_le_mdc_GetIPv6GatewayAddress
890 (
891  le_msg_SessionRef_t _ifgen_sessionRef,
892  le_mdc_ProfileRef_t profileRef,
893  ///< [IN] Query this profile object
894  char* gatewayAddr,
895  ///< [OUT] The gateway IP address in dotted format
896  size_t gatewayAddrSize
897  ///< [IN]
898 );
899 
900 //--------------------------------------------------------------------------------------------------
901 /**
902  * Get the primary/secondary DNS v6 addresses, if the data session is connected and has an IPv6
903  * address.
904  *
905  * @return
906  * - LE_OK on success
907  * - LE_OVERFLOW if the IP address can't fit in buffer
908  * - LE_FAULT for all other errors
909  *
910  * @note
911  * - If only one DNS address is available, it will be returned, and an empty string will
912  * be returned for the unavailable address.
913  * - The process exits, if an invalid profile object is given
914  */
915 //--------------------------------------------------------------------------------------------------
916 LE_SHARED le_result_t ifgen_le_mdc_GetIPv6DNSAddresses
917 (
918  le_msg_SessionRef_t _ifgen_sessionRef,
919  le_mdc_ProfileRef_t profileRef,
920  ///< [IN] Query this profile object
921  char* dns1AddrStr,
922  ///< [OUT] The primary DNS IP address in dotted format
923  size_t dns1AddrStrSize,
924  ///< [IN]
925  char* dns2AddrStr,
926  ///< [OUT] The secondary DNS IP address in dotted format
927  size_t dns2AddrStrSize
928  ///< [IN]
929 );
930 
931 //--------------------------------------------------------------------------------------------------
932 /**
933  * Allow the caller to know if the given profile is actually supporting IPv4, if the data session
934  * is connected.
935  *
936  * @return TRUE if PDP type is IPv4, FALSE otherwise.
937  *
938  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
939  * function will not return.
940  */
941 //--------------------------------------------------------------------------------------------------
942 LE_SHARED bool ifgen_le_mdc_IsIPv4
943 (
944  le_msg_SessionRef_t _ifgen_sessionRef,
945  le_mdc_ProfileRef_t profileRef
946  ///< [IN] Query this profile object
947 );
948 
949 //--------------------------------------------------------------------------------------------------
950 /**
951  * Allow the caller to know if the given profile is actually supporting IPv6, if the data session
952  * is connected.
953  *
954  * @return TRUE if PDP type is IPv6, FALSE otherwise.
955  *
956  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
957  * function will not return.
958  */
959 //--------------------------------------------------------------------------------------------------
960 LE_SHARED bool ifgen_le_mdc_IsIPv6
961 (
962  le_msg_SessionRef_t _ifgen_sessionRef,
963  le_mdc_ProfileRef_t profileRef
964  ///< [IN] Query this profile object
965 );
966 
967 //--------------------------------------------------------------------------------------------------
968 /**
969  * Get the Data Bearer Technology for the given profile, if the data session is connected.
970  *
971  * @return
972  * - LE_OK on success
973  * - LE_FAULT for all other errors
974  *
975  * @note
976  * The process exits, if an invalid profile object is given
977  */
978 //--------------------------------------------------------------------------------------------------
979 LE_SHARED le_result_t ifgen_le_mdc_GetDataBearerTechnology
980 (
981  le_msg_SessionRef_t _ifgen_sessionRef,
982  le_mdc_ProfileRef_t profileRef,
983  ///< [IN] Query this profile object
984  le_mdc_DataBearerTechnology_t* downlinkDataBearerTechPtrPtr,
985  ///< [OUT] downlink data bearer technology
986  le_mdc_DataBearerTechnology_t* uplinkDataBearerTechPtrPtr
987  ///< [OUT] uplink data bearer technology
988 );
989 
990 //--------------------------------------------------------------------------------------------------
991 /**
992  * Get number of bytes received/transmitted without error since the last reset.
993  *
994  * @return
995  * - LE_OK on success
996  * - LE_FAULT for all other errors
997  *
998  * @note
999  * - The process exits, if an invalid pointer is given
1000  */
1001 //--------------------------------------------------------------------------------------------------
1002 LE_SHARED le_result_t ifgen_le_mdc_GetBytesCounters
1003 (
1004  le_msg_SessionRef_t _ifgen_sessionRef,
1005  uint64_t* rxBytesPtr,
1006  ///< [OUT] bytes amount received since the last counter reset
1007  uint64_t* txBytesPtr
1008  ///< [OUT] bytes amount transmitted since the last counter reset
1009 );
1010 
1011 //--------------------------------------------------------------------------------------------------
1012 /**
1013  * Reset received/transmitted data flow statistics
1014  *
1015  * @return
1016  * - LE_OK on success
1017  * - LE_FAULT for all other errors
1018  */
1019 //--------------------------------------------------------------------------------------------------
1020 LE_SHARED le_result_t ifgen_le_mdc_ResetBytesCounter
1021 (
1022  le_msg_SessionRef_t _ifgen_sessionRef
1023 );
1024 
1025 //--------------------------------------------------------------------------------------------------
1026 /**
1027  * Stop collecting received/transmitted data flow statistics
1028  *
1029  * @return
1030  * - LE_OK on success
1031  * - LE_FAULT for all other errors
1032  */
1033 //--------------------------------------------------------------------------------------------------
1034 LE_SHARED le_result_t ifgen_le_mdc_StopBytesCounter
1035 (
1036  le_msg_SessionRef_t _ifgen_sessionRef
1037 );
1038 
1039 //--------------------------------------------------------------------------------------------------
1040 /**
1041  * Start collecting received/transmitted data flow statistics
1042  *
1043  * @return
1044  * - LE_OK on success
1045  * - LE_FAULT for all other errors
1046  */
1047 //--------------------------------------------------------------------------------------------------
1048 LE_SHARED le_result_t ifgen_le_mdc_StartBytesCounter
1049 (
1050  le_msg_SessionRef_t _ifgen_sessionRef
1051 );
1052 
1053 //--------------------------------------------------------------------------------------------------
1054 /**
1055  * Set the Packet Data Protocol (PDP) for the given profile.
1056  *
1057  * @return
1058  * - LE_OK on success
1059  * - LE_BAD_PARAMETER if the PDP is not supported
1060  * - LE_FAULT if the data session is currently connected for the given profile
1061  *
1062  * @note
1063  * The process exits, if an invalid profile object is given
1064  */
1065 //--------------------------------------------------------------------------------------------------
1066 LE_SHARED le_result_t ifgen_le_mdc_SetPDP
1067 (
1068  le_msg_SessionRef_t _ifgen_sessionRef,
1069  le_mdc_ProfileRef_t profileRef,
1070  ///< [IN] Query this profile object
1071  le_mdc_Pdp_t pdp
1072  ///< [IN] The Packet Data Protocol
1073 );
1074 
1075 //--------------------------------------------------------------------------------------------------
1076 /**
1077  * Get the Packet Data Protocol (PDP) for the given profile.
1078  *
1079  * @return
1080  * - packet data protocol value
1081  *
1082  * @note
1083  * The process exits, if an invalid profile object is given
1084  */
1085 //--------------------------------------------------------------------------------------------------
1086 LE_SHARED le_mdc_Pdp_t ifgen_le_mdc_GetPDP
1087 (
1088  le_msg_SessionRef_t _ifgen_sessionRef,
1089  le_mdc_ProfileRef_t profileRef
1090  ///< [IN] Query this profile object
1091 );
1092 
1093 //--------------------------------------------------------------------------------------------------
1094 /**
1095  * Set the Access Point Name (APN) for the given profile.
1096  *
1097  * The APN must be an ASCII string.
1098  *
1099  * @return
1100  * - LE_OK on success
1101  * - LE_BAD_PARAMETER if an input parameter is not valid
1102  * - LE_FAULT if the data session is currently connected for the given profile
1103  *
1104  * @note If APN is too long (max APN_NAME_MAX_LEN digits), it is a fatal error, the
1105  * function will not return.
1106  *
1107  * @warning The maximum APN length might be limited by the platform.
1108  * Please refer to the platform documentation @ref platformConstraintsMdc.
1109  *
1110  * @note
1111  * The process exits, if an invalid profile object is given
1112  */
1113 //--------------------------------------------------------------------------------------------------
1114 LE_SHARED le_result_t ifgen_le_mdc_SetAPN
1115 (
1116  le_msg_SessionRef_t _ifgen_sessionRef,
1117  le_mdc_ProfileRef_t profileRef,
1118  ///< [IN] Query this profile object
1119  const char* LE_NONNULL apnStr
1120  ///< [IN] The Access Point Name
1121 );
1122 
1123 //--------------------------------------------------------------------------------------------------
1124 /**
1125  * Set the Access Point Name (APN) for the given profile according to the SIM identification
1126  * number (ICCID). If no APN is found using the ICCID, fall back on the home network (MCC/MNC)
1127  * to determine the default APN.
1128  *
1129  * @return
1130  * - LE_OK on success
1131  * - LE_BAD_PARAMETER if an input parameter is not valid
1132  * - LE_FAULT for all other errors
1133  *
1134  * @note
1135  * The process exits if an invalid profile object is given
1136  */
1137 //--------------------------------------------------------------------------------------------------
1138 LE_SHARED le_result_t ifgen_le_mdc_SetDefaultAPN
1139 (
1140  le_msg_SessionRef_t _ifgen_sessionRef,
1141  le_mdc_ProfileRef_t profileRef
1142  ///< [IN] Query this profile object
1143 );
1144 
1145 //--------------------------------------------------------------------------------------------------
1146 /**
1147  * Get the Access Point Name (APN) for the given profile.
1148  *
1149  * @return
1150  * - LE_OK on success
1151  * - LE_BAD_PARAMETER if an input parameter is not valid
1152  * - LE_OVERFLOW if the APN is is too long
1153  * - LE_FAULT on failed
1154  *
1155  * @note
1156  * The process exits, if an invalid profile object is given
1157  */
1158 //--------------------------------------------------------------------------------------------------
1159 LE_SHARED le_result_t ifgen_le_mdc_GetAPN
1160 (
1161  le_msg_SessionRef_t _ifgen_sessionRef,
1162  le_mdc_ProfileRef_t profileRef,
1163  ///< [IN] Query this profile object
1164  char* apnStr,
1165  ///< [OUT] The Access Point Name
1166  size_t apnStrSize
1167  ///< [IN]
1168 );
1169 
1170 //--------------------------------------------------------------------------------------------------
1171 /**
1172  * Set authentication property
1173  *
1174  * @return
1175  * - LE_OK on success
1176  *
1177  * @note
1178  * - The process exits, if userName or password are NULL when type is not PA_MDC_AUTH_NONE
1179  * - The process exits, if an invalid profile object is given
1180  * @note If userName is too long (max USER_NAME_MAX_LEN digits), it is a fatal error, the
1181  * function will not return.
1182  * @note If password is too long (max PASSWORD_NAME_MAX_LEN digits), it is a fatal error, the
1183  * function will not return.
1184  * @note Both PAP and CHAP authentication can be set for 3GPP network: in this case, the device
1185  * decides which authentication procedure is performed. For example, the device can have a
1186  * policy to select the most secure authentication mechanism.
1187  *
1188  */
1189 //--------------------------------------------------------------------------------------------------
1190 LE_SHARED le_result_t ifgen_le_mdc_SetAuthentication
1191 (
1192  le_msg_SessionRef_t _ifgen_sessionRef,
1193  le_mdc_ProfileRef_t profileRef,
1194  ///< [IN] Query this profile object
1195  le_mdc_Auth_t type,
1196  ///< [IN] Authentication type
1197  const char* LE_NONNULL userName,
1198  ///< [IN] UserName used by authentication
1199  const char* LE_NONNULL password
1200  ///< [IN] Password used by authentication
1201 );
1202 
1203 //--------------------------------------------------------------------------------------------------
1204 /**
1205  * Get authentication property
1206  *
1207  * @return
1208  * - LE_OK on success
1209  * - LE_BAD_PARAMETER if an input parameter is not valid
1210  * - LE_OVERFLOW userName or password are too small
1211  * - LE_FAULT on failed
1212  *
1213  * @note
1214  * The process exits, if an invalid profile object is given
1215  */
1216 //--------------------------------------------------------------------------------------------------
1217 LE_SHARED le_result_t ifgen_le_mdc_GetAuthentication
1218 (
1219  le_msg_SessionRef_t _ifgen_sessionRef,
1220  le_mdc_ProfileRef_t profileRef,
1221  ///< [IN] Query this profile object
1222  le_mdc_Auth_t* typePtr,
1223  ///< [OUT] Authentication type
1224  char* userName,
1225  ///< [OUT] UserName used by authentication
1226  size_t userNameSize,
1227  ///< [IN]
1228  char* password,
1229  ///< [OUT] Password used by authentication
1230  size_t passwordSize
1231  ///< [IN]
1232 );
1233 
1234 //--------------------------------------------------------------------------------------------------
1235 /**
1236  * Get the number of profiles on the modem.
1237  *
1238  * @return
1239  * - number of profiles existing on modem
1240  */
1241 //--------------------------------------------------------------------------------------------------
1242 LE_SHARED uint32_t ifgen_le_mdc_NumProfiles
1243 (
1244  le_msg_SessionRef_t _ifgen_sessionRef
1245 );
1246 
1247 //--------------------------------------------------------------------------------------------------
1248 /**
1249  * Get a profile selected by its APN
1250  *
1251  * @return
1252  * - LE_OK on success
1253  * - LE_BAD_PARAMETER if an input parameter is not valid
1254  * - LE_NOT_FOUND if the requested APN is not found
1255  */
1256 //--------------------------------------------------------------------------------------------------
1257 LE_SHARED le_result_t ifgen_le_mdc_GetProfileFromApn
1258 (
1259  le_msg_SessionRef_t _ifgen_sessionRef,
1260  const char* LE_NONNULL apnStr,
1261  ///< [IN] The Access Point Name
1262  le_mdc_ProfileRef_t* profileRefPtr
1263  ///< [OUT] profile reference
1264 );
1265 
1266 //--------------------------------------------------------------------------------------------------
1267 /**
1268  * Called to get the disconnection reason.
1269  *
1270  * @return The disconnection reason.
1271  *
1272  * @warning The return value le_mdc_DisconnectionReason_t might be limited by the platform.
1273  * Please refer to the platform documentation @ref platformConstraintsMdc.
1274  *
1275  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
1276  * function will not return.
1277  * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv6
1278  * session). For IPv4 and IPv6 mode, pdpType is ignored because there is only one session for
1279  * IPv4 and IPv6 mode.
1280  */
1281 //--------------------------------------------------------------------------------------------------
1282 LE_SHARED le_mdc_DisconnectionReason_t ifgen_le_mdc_GetDisconnectionReasonExt
1283 (
1284  le_msg_SessionRef_t _ifgen_sessionRef,
1285  le_mdc_ProfileRef_t profileRef,
1286  ///< [IN] profile reference
1287  le_mdc_Pdp_t pdpType
1288  ///< [IN] pdp type of session
1289 );
1290 
1291 //--------------------------------------------------------------------------------------------------
1292 /**
1293  * Called to get the platform specific disconnection code.
1294  *
1295  * Refer to @ref platformConstraintsSpecificErrorCodes for platform specific
1296  * disconnection code description.
1297  *
1298  * @return The platform specific disconnection code.
1299  *
1300  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
1301  * function will not return.
1302  * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv6
1303  * session). For IPv4 and IPv6 mode, pdpType is ignored because there is only one session for
1304  * IPv4 and IPv6 mode.
1305  */
1306 //--------------------------------------------------------------------------------------------------
1307 LE_SHARED int32_t ifgen_le_mdc_GetPlatformSpecificDisconnectionCodeExt
1308 (
1309  le_msg_SessionRef_t _ifgen_sessionRef,
1310  le_mdc_ProfileRef_t profileRef,
1311  ///< [IN] profile reference
1312  le_mdc_Pdp_t pdpType
1313  ///< [IN] pdp type of session
1314 );
1315 
1316 //--------------------------------------------------------------------------------------------------
1317 /**
1318  * Called to get the platform specific connection failure reason.
1319  *
1320  * Refer to @ref platformConstraintsSpecificErrorCodes for platform specific connection failure
1321  * types and code descriptions.
1322  *
1323  * @note If the caller is passing a bad pointer into this function, it is a fatal error, the
1324  * function will not return.
1325  * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv6
1326  * session). For IPv4 and IPv6 mode, pdpType is ignored because there is only one session for
1327  * IPv4 and IPv6 mode.
1328  */
1329 //--------------------------------------------------------------------------------------------------
1330 LE_SHARED void ifgen_le_mdc_GetPlatformSpecificFailureConnectionReasonExt
1331 (
1332  le_msg_SessionRef_t _ifgen_sessionRef,
1333  le_mdc_ProfileRef_t profileRef,
1334  ///< [IN] profile reference
1335  le_mdc_Pdp_t pdpType,
1336  ///< [IN] pdp type of session
1337  int32_t* failureTypePtr,
1338  ///< [OUT] platform specific failure type
1339  int32_t* failureCodePtr
1340  ///< [OUT] platform specific failure code
1341 );
1342 
1343 //--------------------------------------------------------------------------------------------------
1344 /**
1345  * Map a profile on a network interface
1346  *
1347  * * @return
1348  * - LE_OK on success
1349  * - LE_UNSUPPORTED if not supported by the target
1350  * - LE_FAULT for all other errors
1351  *
1352  */
1353 //--------------------------------------------------------------------------------------------------
1354 LE_SHARED le_result_t ifgen_le_mdc_MapProfileOnNetworkInterface
1355 (
1356  le_msg_SessionRef_t _ifgen_sessionRef,
1357  le_mdc_ProfileRef_t profileRef,
1358  ///< [IN] Profile reference
1359  const char* LE_NONNULL interfaceName
1360  ///< [IN] Network interface name
1361 );
1362 
1363 //--------------------------------------------------------------------------------------------------
1364 /**
1365  * Get the list of available profiles
1366  *
1367  * @return
1368  * - list of available profiles
1369  * - LE_OK if the retrieval is successful; otherwise, some error code
1370  */
1371 //--------------------------------------------------------------------------------------------------
1372 LE_SHARED le_result_t ifgen_le_mdc_GetProfileList
1373 (
1374  le_msg_SessionRef_t _ifgen_sessionRef,
1375  le_mdc_ProfileInfo_t* profileListPtr,
1376  ///< [OUT] list of available profiles
1377  size_t* profileListSizePtr
1378  ///< [INOUT]
1379 );
1380 /** @} **/
1381 #endif // LE_MDC_COMMON_H_INCLUDE_GUARD
GSM.
Definition: le_mdc_common.h:165
HDR REV0 DPA.
Definition: le_mdc_common.h:209
LTE.
Definition: le_mdc_common.h:187
HSPA.
Definition: le_mdc_common.h:173
#define LE_SHARED
Definition: le_basics.h:300
LTE CA DL.
Definition: le_mdc_common.h:193
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:363
Unknown.
Definition: le_mdc_common.h:163
le_result_t
Definition: le_basics.h:46
struct le_mdc_SessionStateHandler * le_mdc_SessionStateHandlerRef_t
Definition: le_mdc_common.h:394
LTE FDD.
Definition: le_mdc_common.h:189
le_mdc_Pdp_t
Definition: le_mdc_common.h:240
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:325
struct le_mdc_Profile * le_mdc_ProfileRef_t
Definition: le_mdc_common.h:153
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:349
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:371
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:339
le_mdc_ConState_t
Definition: le_mdc_common.h:270
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:295
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:377
Dual Cell - HSPA.
Definition: le_mdc_common.h:185
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:299
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:345
Undefined reason.
Definition: le_mdc_common.h:383
Dual Cell - HSPA+.
Definition: le_mdc_common.h:177
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:309
void(* le_mdc_MtPdpSessionStateHandlerFunc_t)(le_mdc_ConState_t ConnectionState, void *contextPtr)
Definition: le_mdc_common.h:440
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:347
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:355
le_mdc_DisconnectionReason_t
Definition: le_mdc_common.h:291
HDR REVB DPA.
Definition: le_mdc_common.h:213
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:315
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:353
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:297
HDR REVB MPA.
Definition: le_mdc_common.h:217
Platform specific code.
Definition: le_mdc_common.h:381
HDR REVA EMPA.
Definition: le_mdc_common.h:219
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:373
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:313
Dual Cell - HSUPA.
Definition: le_mdc_common.h:183
GPRS.
Definition: le_mdc_common.h:167
HDR REVB MMPA.
Definition: le_mdc_common.h:223
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:343
HDR EVDO FMC.
Definition: le_mdc_common.h:225
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:359
Authenticating data session.
Definition: le_mdc_common.h:274
TD-SCDMA.
Definition: le_mdc_common.h:197
HSUPA.
Definition: le_mdc_common.h:181
le_mdc_DataBearerTechnology_t
Definition: le_mdc_common.h:161
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:369
Data session is disconnected.
Definition: le_mdc_common.h:272
HDR REVA MPA.
Definition: le_mdc_common.h:215
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:323
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:301
Definition: le_mdc_common.h:410
HDR REVB EMPA.
Definition: le_mdc_common.h:221
CDMA2000 HRPD (1xEV-DO)
Definition: le_mdc_common.h:201
IPv4.
Definition: le_mdc_common.h:244
Suspending data session.
Definition: le_mdc_common.h:278
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:860
Enhanced GPRS (EDGE)
Definition: le_mdc_common.h:169
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:307
void(* le_mdc_SessionHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_result_t result, void *contextPtr)
Definition: le_mdc_common.h:454
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:357
Modem has no service.
Definition: le_mdc_common.h:293
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:327
LTE CA UL.
Definition: le_mdc_common.h:195
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:351
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:335
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:333
Data session is connected.
Definition: le_mdc_common.h:276
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:317
HSPA+.
Definition: le_mdc_common.h:175
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:361
WCDMA (UMTS)
Definition: le_mdc_common.h:171
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:337
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:319
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:303
HDR REVA DPA.
Definition: le_mdc_common.h:211
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:321
struct le_mdc_MtPdpSessionStateHandler * le_mdc_MtPdpSessionStateHandlerRef_t
Definition: le_mdc_common.h:402
IS95 1X.
Definition: le_mdc_common.h:207
void(* le_mdc_SessionStateHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_mdc_ConState_t ConnectionState, void *contextPtr)
Definition: le_mdc_common.h:425
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:329
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:311
LTE TDD.
Definition: le_mdc_common.h:191
CDMA2000 1X.
Definition: le_mdc_common.h:199
CDMA2000 EHRPD.
Definition: le_mdc_common.h:205
IPv4 and IPv6.
Definition: le_mdc_common.h:248
Incoming data session (MT-PDP context request)
Definition: le_mdc_common.h:280
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:375
S2B.
Definition: le_mdc_common.h:229
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:331
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:305
Unknown.
Definition: le_mdc_common.h:242
HSDPA.
Definition: le_mdc_common.h:179
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:367
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:379
cf. 3GPP 24.008 Annex I2
Definition: le_mdc_common.h:365
cf. 3GPP 24.008 Annex I1
Definition: le_mdc_common.h:341
CDMA2000 HRPD (1xEV-DO RevA)
Definition: le_mdc_common.h:203
64 QAM
Definition: le_mdc_common.h:227
IPv6.
Definition: le_mdc_common.h:246