le_mdc_interface.h
Go to the documentation of this file.
41 * le_mdc_GetProfile() must be called with @c LE_MDC_DEFAULT_PROFILE to retrieve the default index43 * le_mdc_GetProfile() must be called with @c LE_MDC_SIMTOOLKIT_BIP_DEFAULT_PROFILE to retrieve the56 * identification number (ICCID). If no match is found in the database using the ICCID, the search81 * le_mdc_MapProfileOnNetworkInterface() may be used to map a data session with a network interface.95 * The current state of a data session can be queried using le_mdc_GetSessionState(). An application103 * the application takes responsibility to trigger the data session for that MT PDP request using144 * These values correspond to the number of bytes received/transmitted since the last software reset185 //--------------------------------------------------------------------------------------------------189 //--------------------------------------------------------------------------------------------------192 //--------------------------------------------------------------------------------------------------195 * Connect the current client thread to the service providing this API. Block until the service is198 * For each thread that wants to use this API, either ConnectService or TryConnectService must be199 * called before any other functions in this API. Normally, ConnectService is automatically called204 //--------------------------------------------------------------------------------------------------210 //--------------------------------------------------------------------------------------------------213 * Try to connect the current client thread to the service providing this API. Return with an error216 * For each thread that wants to use this API, either ConnectService or TryConnectService must be217 * called before any other functions in this API. Normally, ConnectService is automatically called226 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).229 //--------------------------------------------------------------------------------------------------235 //--------------------------------------------------------------------------------------------------239 * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants242 //--------------------------------------------------------------------------------------------------249 //--------------------------------------------------------------------------------------------------255 * longer a connection to the service, and the functions in this API can't be used. For details, see260 //--------------------------------------------------------------------------------------------------267 //--------------------------------------------------------------------------------------------------271 //--------------------------------------------------------------------------------------------------274 //--------------------------------------------------------------------------------------------------278 //--------------------------------------------------------------------------------------------------281 //--------------------------------------------------------------------------------------------------285 //--------------------------------------------------------------------------------------------------288 //--------------------------------------------------------------------------------------------------292 //--------------------------------------------------------------------------------------------------295 //--------------------------------------------------------------------------------------------------299 //--------------------------------------------------------------------------------------------------302 //--------------------------------------------------------------------------------------------------306 //--------------------------------------------------------------------------------------------------309 //--------------------------------------------------------------------------------------------------313 //--------------------------------------------------------------------------------------------------316 //--------------------------------------------------------------------------------------------------320 //--------------------------------------------------------------------------------------------------323 //--------------------------------------------------------------------------------------------------327 //--------------------------------------------------------------------------------------------------330 //--------------------------------------------------------------------------------------------------334 //--------------------------------------------------------------------------------------------------337 //--------------------------------------------------------------------------------------------------341 //--------------------------------------------------------------------------------------------------344 //--------------------------------------------------------------------------------------------------348 //--------------------------------------------------------------------------------------------------351 //--------------------------------------------------------------------------------------------------355 //--------------------------------------------------------------------------------------------------358 //--------------------------------------------------------------------------------------------------362 //--------------------------------------------------------------------------------------------------365 //--------------------------------------------------------------------------------------------------369 //--------------------------------------------------------------------------------------------------373 //--------------------------------------------------------------------------------------------------377 //--------------------------------------------------------------------------------------------------412 //--------------------------------------------------------------------------------------------------416 //--------------------------------------------------------------------------------------------------431 //--------------------------------------------------------------------------------------------------435 //--------------------------------------------------------------------------------------------------445 //--------------------------------------------------------------------------------------------------449 //--------------------------------------------------------------------------------------------------466 //--------------------------------------------------------------------------------------------------470 //--------------------------------------------------------------------------------------------------569 //--------------------------------------------------------------------------------------------------573 //--------------------------------------------------------------------------------------------------577 //--------------------------------------------------------------------------------------------------581 //--------------------------------------------------------------------------------------------------585 //--------------------------------------------------------------------------------------------------589 //--------------------------------------------------------------------------------------------------591 (600 //--------------------------------------------------------------------------------------------------604 //--------------------------------------------------------------------------------------------------606 (613 //--------------------------------------------------------------------------------------------------618 //--------------------------------------------------------------------------------------------------620 (629 //--------------------------------------------------------------------------------------------------633 * This event provides information on data session connection state changes for the given profileRef.636 //--------------------------------------------------------------------------------------------------647 //--------------------------------------------------------------------------------------------------651 //--------------------------------------------------------------------------------------------------658 //--------------------------------------------------------------------------------------------------662 * This event provides information on data session connection state changes for the given profileRef.665 //--------------------------------------------------------------------------------------------------674 //--------------------------------------------------------------------------------------------------678 //--------------------------------------------------------------------------------------------------685 //--------------------------------------------------------------------------------------------------699 //--------------------------------------------------------------------------------------------------706 //--------------------------------------------------------------------------------------------------716 //--------------------------------------------------------------------------------------------------723 //--------------------------------------------------------------------------------------------------736 //--------------------------------------------------------------------------------------------------743 //--------------------------------------------------------------------------------------------------750 //--------------------------------------------------------------------------------------------------761 //--------------------------------------------------------------------------------------------------773 //--------------------------------------------------------------------------------------------------780 //--------------------------------------------------------------------------------------------------787 //--------------------------------------------------------------------------------------------------798 //--------------------------------------------------------------------------------------------------810 //--------------------------------------------------------------------------------------------------817 //--------------------------------------------------------------------------------------------------829 //--------------------------------------------------------------------------------------------------838 //--------------------------------------------------------------------------------------------------850 //--------------------------------------------------------------------------------------------------861 //--------------------------------------------------------------------------------------------------874 //--------------------------------------------------------------------------------------------------885 //--------------------------------------------------------------------------------------------------887 * Get the gateway IPv4 address for the given profile, if the data session is connected and has an898 //--------------------------------------------------------------------------------------------------909 //--------------------------------------------------------------------------------------------------924 //--------------------------------------------------------------------------------------------------939 //--------------------------------------------------------------------------------------------------952 //--------------------------------------------------------------------------------------------------963 //--------------------------------------------------------------------------------------------------965 * Get the gateway IPv6 address for the given profile, if the data session is connected and has an976 //--------------------------------------------------------------------------------------------------987 //--------------------------------------------------------------------------------------------------1002 //--------------------------------------------------------------------------------------------------1017 //--------------------------------------------------------------------------------------------------1019 * Allow the caller to know if the given profile is actually supporting IPv4, if the data session1027 //--------------------------------------------------------------------------------------------------1034 //--------------------------------------------------------------------------------------------------1036 * Allow the caller to know if the given profile is actually supporting IPv6, if the data session1044 //--------------------------------------------------------------------------------------------------1051 //--------------------------------------------------------------------------------------------------1062 //--------------------------------------------------------------------------------------------------1073 //--------------------------------------------------------------------------------------------------1084 //--------------------------------------------------------------------------------------------------1093 //--------------------------------------------------------------------------------------------------1101 //--------------------------------------------------------------------------------------------------1107 //--------------------------------------------------------------------------------------------------1119 //--------------------------------------------------------------------------------------------------1128 //--------------------------------------------------------------------------------------------------1138 //--------------------------------------------------------------------------------------------------1145 //--------------------------------------------------------------------------------------------------1165 //--------------------------------------------------------------------------------------------------1174 //--------------------------------------------------------------------------------------------------1188 //--------------------------------------------------------------------------------------------------1195 //--------------------------------------------------------------------------------------------------1208 //--------------------------------------------------------------------------------------------------1219 //--------------------------------------------------------------------------------------------------1233 * @note Both PAP and CHAP authentification can be set for 3GPP network: in this case, the device1238 //--------------------------------------------------------------------------------------------------1251 //--------------------------------------------------------------------------------------------------1264 //--------------------------------------------------------------------------------------------------1281 //--------------------------------------------------------------------------------------------------1288 //--------------------------------------------------------------------------------------------------1294 //--------------------------------------------------------------------------------------------------1303 //--------------------------------------------------------------------------------------------------1312 //--------------------------------------------------------------------------------------------------1321 //--------------------------------------------------------------------------------------------------1328 //--------------------------------------------------------------------------------------------------1337 //--------------------------------------------------------------------------------------------------1344 //--------------------------------------------------------------------------------------------------1351 //--------------------------------------------------------------------------------------------------1362 //--------------------------------------------------------------------------------------------------1372 //--------------------------------------------------------------------------------------------------le_result_t le_mdc_GetSessionState(le_mdc_ProfileRef_t profileRef, le_mdc_ConState_t *connectionStatePtr)le_mdc_SessionStateHandlerRef_t le_mdc_AddSessionStateHandler(le_mdc_ProfileRef_t profileRef, le_mdc_SessionStateHandlerFunc_t handlerPtr, void *contextPtr)le_mdc_Pdp_t le_mdc_GetPDP(le_mdc_ProfileRef_t profileRef)void le_mdc_StartSessionAsync(le_mdc_ProfileRef_t profileRef, le_mdc_SessionHandlerFunc_t handlerPtr, void *contextPtr)void(* le_mdc_MtPdpSessionStateHandlerFunc_t)(le_mdc_ConState_t ConnectionState, void *contextPtr)Definition: le_mdc_interface.h:606le_result_t le_mdc_GetDataBearerTechnology(le_mdc_ProfileRef_t profileRef, le_mdc_DataBearerTechnology_t *downlinkDataBearerTechPtrPtr, le_mdc_DataBearerTechnology_t *uplinkDataBearerTechPtrPtr)le_result_t le_mdc_SetAPN(le_mdc_ProfileRef_t profileRef, const char *LE_NONNULL apnStr)struct le_mdc_SessionStateHandler * le_mdc_SessionStateHandlerRef_tDefinition: le_mdc_interface.h:574bool le_mdc_IsIPv4(le_mdc_ProfileRef_t profileRef)void(* le_mdc_SessionStateHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_mdc_ConState_t ConnectionState, void *contextPtr)Definition: le_mdc_interface.h:591le_result_t le_mdc_GetIPv4GatewayAddress(le_mdc_ProfileRef_t profileRef, char *gatewayAddr, size_t gatewayAddrSize)le_result_t le_mdc_StopSession(le_mdc_ProfileRef_t profileRef)le_result_t le_mdc_GetAPN(le_mdc_ProfileRef_t profileRef, char *apnStr, size_t apnStrSize)void le_mdc_SetServerDisconnectHandler(le_mdc_DisconnectHandler_t disconnectHandler, void *contextPtr)le_result_t le_mdc_GetIPv4DNSAddresses(le_mdc_ProfileRef_t profileRef, char *dns1AddrStr, size_t dns1AddrStrSize, char *dns2AddrStr, size_t dns2AddrStrSize)le_result_t le_mdc_GetIPv6Address(le_mdc_ProfileRef_t profileRef, char *ipAddr, size_t ipAddrSize)cf. 3GPP 24.008 Annex I2Definition: le_mdc_interface.h:557void le_mdc_ConnectService(void)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:477void le_mdc_StopSessionAsync(le_mdc_ProfileRef_t profileRef, le_mdc_SessionHandlerFunc_t handlerPtr, void *contextPtr)cf. 3GPP 24.008 Annex I2Definition: le_mdc_interface.h:547le_result_t le_mdc_GetInterfaceName(le_mdc_ProfileRef_t profileRef, char *interfaceName, size_t interfaceNameSize)le_result_t le_mdc_SetPDP(le_mdc_ProfileRef_t profileRef, le_mdc_Pdp_t pdp)bool le_mdc_IsIPv6(le_mdc_ProfileRef_t profileRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:525le_result_t le_mdc_GetBytesCounters(uint64_t *rxBytesPtr, uint64_t *txBytesPtr)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:497cf. 3GPP 24.008 Annex I2Definition: le_mdc_interface.h:551CDMA2000 HRPD (1xEV-DO)Definition: le_mdc_interface.h:402cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:539le_mdc_DisconnectionReason_t le_mdc_GetDisconnectionReason(le_mdc_ProfileRef_t profileRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:519void(* le_mdc_DisconnectHandler_t)(void *)Definition: le_mdc_interface.h:190le_result_t le_mdc_GetAuthentication(le_mdc_ProfileRef_t profileRef, le_mdc_Auth_t *typePtr, char *userName, size_t userNameSize, char *password, size_t passwordSize)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:495void le_mdc_GetPlatformSpecificFailureConnectionReason(le_mdc_ProfileRef_t profileRef, int32_t *failureTypePtr, int32_t *failureCodePtr)void le_mdc_RemoveSessionStateHandler(le_mdc_SessionStateHandlerRef_t handlerRef)void le_mdc_RemoveMtPdpSessionStateHandler(le_mdc_MtPdpSessionStateHandlerRef_t handlerRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:487le_result_t le_mdc_TryConnectService(void)le_mdc_ProfileRef_t le_mdc_GetProfile(uint32_t index)int32_t le_mdc_GetPlatformSpecificDisconnectionCode(le_mdc_ProfileRef_t profileRef)le_result_t le_mdc_StartSession(le_mdc_ProfileRef_t profileRef)le_result_t le_mdc_ResetBytesCounter(void)void le_mdc_DisconnectService(void)struct le_mdc_MtPdpSessionStateHandler * le_mdc_MtPdpSessionStateHandlerRef_tDefinition: le_mdc_interface.h:582le_result_t le_mdc_GetIPv4Address(le_mdc_ProfileRef_t profileRef, char *ipAddr, size_t ipAddrSize)le_mdc_MtPdpSessionStateHandlerRef_t le_mdc_AddMtPdpSessionStateHandler(le_mdc_SessionStateHandlerFunc_t handlerPtr, void *contextPtr)le_result_t le_mdc_GetIPv6GatewayAddress(le_mdc_ProfileRef_t profileRef, char *gatewayAddr, size_t gatewayAddrSize)le_result_t le_mdc_SetAuthentication(le_mdc_ProfileRef_t profileRef, le_mdc_Auth_t type, const char *LE_NONNULL userName, const char *LE_NONNULL password)le_result_t le_mdc_GetProfileFromApn(const char *LE_NONNULL apnStr, le_mdc_ProfileRef_t *profileRefPtr)uint32_t le_mdc_GetProfileIndex(le_mdc_ProfileRef_t profileRef)uint32_t le_mdc_NumProfiles(void)le_result_t le_mdc_SetDefaultAPN(le_mdc_ProfileRef_t profileRef)void(* le_mdc_SessionHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_result_t result, void *contextPtr)Definition: le_mdc_interface.h:620le_result_t le_mdc_RejectMtPdpSession(le_mdc_ProfileRef_t profileRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:533CDMA2000 HRPD (1xEV-DO RevA)Definition: le_mdc_interface.h:404le_result_t le_mdc_MapProfileOnNetworkInterface(le_mdc_ProfileRef_t profileRef, const char *LE_NONNULL interfaceName)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:521le_result_t le_mdc_GetIPv6DNSAddresses(le_mdc_ProfileRef_t profileRef, char *dns1AddrStr, size_t dns1AddrStrSize, char *dns2AddrStr, size_t dns2AddrStrSize)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:491cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:489