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 using145 * The amount of received and transmitted data can be retrieved through le_mdc_GetBytesCounters().152 * @note The data statistics collection activation and the data counters are persistent even after192 //--------------------------------------------------------------------------------------------------196 //--------------------------------------------------------------------------------------------------199 //--------------------------------------------------------------------------------------------------202 * Connect the current client thread to the service providing this API. Block until the service is205 * For each thread that wants to use this API, either ConnectService or TryConnectService must be206 * called before any other functions in this API. Normally, ConnectService is automatically called211 //--------------------------------------------------------------------------------------------------217 //--------------------------------------------------------------------------------------------------220 * Try to connect the current client thread to the service providing this API. Return with an error223 * For each thread that wants to use this API, either ConnectService or TryConnectService must be224 * called before any other functions in this API. Normally, ConnectService is automatically called233 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).236 //--------------------------------------------------------------------------------------------------242 //--------------------------------------------------------------------------------------------------246 * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants249 //--------------------------------------------------------------------------------------------------256 //--------------------------------------------------------------------------------------------------262 * longer a connection to the service, and the functions in this API can't be used. For details, see267 //--------------------------------------------------------------------------------------------------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 //--------------------------------------------------------------------------------------------------372 //--------------------------------------------------------------------------------------------------376 //--------------------------------------------------------------------------------------------------380 //--------------------------------------------------------------------------------------------------384 //--------------------------------------------------------------------------------------------------419 //--------------------------------------------------------------------------------------------------423 //--------------------------------------------------------------------------------------------------438 //--------------------------------------------------------------------------------------------------442 //--------------------------------------------------------------------------------------------------452 //--------------------------------------------------------------------------------------------------456 //--------------------------------------------------------------------------------------------------473 //--------------------------------------------------------------------------------------------------477 //--------------------------------------------------------------------------------------------------576 //--------------------------------------------------------------------------------------------------580 //--------------------------------------------------------------------------------------------------584 //--------------------------------------------------------------------------------------------------588 //--------------------------------------------------------------------------------------------------592 //--------------------------------------------------------------------------------------------------596 //--------------------------------------------------------------------------------------------------598 (607 //--------------------------------------------------------------------------------------------------611 //--------------------------------------------------------------------------------------------------613 (620 //--------------------------------------------------------------------------------------------------625 //--------------------------------------------------------------------------------------------------627 (636 //--------------------------------------------------------------------------------------------------640 * This event provides information on data session connection state changes for the given profileRef.643 //--------------------------------------------------------------------------------------------------654 //--------------------------------------------------------------------------------------------------658 //--------------------------------------------------------------------------------------------------665 //--------------------------------------------------------------------------------------------------669 * This event provides information on data session connection state changes for the given profileRef.672 //--------------------------------------------------------------------------------------------------681 //--------------------------------------------------------------------------------------------------685 //--------------------------------------------------------------------------------------------------692 //--------------------------------------------------------------------------------------------------706 //--------------------------------------------------------------------------------------------------713 //--------------------------------------------------------------------------------------------------723 //--------------------------------------------------------------------------------------------------730 //--------------------------------------------------------------------------------------------------743 //--------------------------------------------------------------------------------------------------750 //--------------------------------------------------------------------------------------------------757 //--------------------------------------------------------------------------------------------------768 //--------------------------------------------------------------------------------------------------780 //--------------------------------------------------------------------------------------------------787 //--------------------------------------------------------------------------------------------------794 //--------------------------------------------------------------------------------------------------805 //--------------------------------------------------------------------------------------------------817 //--------------------------------------------------------------------------------------------------824 //--------------------------------------------------------------------------------------------------836 //--------------------------------------------------------------------------------------------------845 //--------------------------------------------------------------------------------------------------857 //--------------------------------------------------------------------------------------------------868 //--------------------------------------------------------------------------------------------------881 //--------------------------------------------------------------------------------------------------892 //--------------------------------------------------------------------------------------------------894 * Get the gateway IPv4 address for the given profile, if the data session is connected and has an905 //--------------------------------------------------------------------------------------------------916 //--------------------------------------------------------------------------------------------------931 //--------------------------------------------------------------------------------------------------946 //--------------------------------------------------------------------------------------------------959 //--------------------------------------------------------------------------------------------------970 //--------------------------------------------------------------------------------------------------972 * Get the gateway IPv6 address for the given profile, if the data session is connected and has an983 //--------------------------------------------------------------------------------------------------994 //--------------------------------------------------------------------------------------------------1009 //--------------------------------------------------------------------------------------------------1024 //--------------------------------------------------------------------------------------------------1026 * Allow the caller to know if the given profile is actually supporting IPv4, if the data session1034 //--------------------------------------------------------------------------------------------------1041 //--------------------------------------------------------------------------------------------------1043 * Allow the caller to know if the given profile is actually supporting IPv6, if the data session1051 //--------------------------------------------------------------------------------------------------1058 //--------------------------------------------------------------------------------------------------1069 //--------------------------------------------------------------------------------------------------1080 //--------------------------------------------------------------------------------------------------1091 //--------------------------------------------------------------------------------------------------1100 //--------------------------------------------------------------------------------------------------1108 //--------------------------------------------------------------------------------------------------1114 //--------------------------------------------------------------------------------------------------1122 //--------------------------------------------------------------------------------------------------1128 //--------------------------------------------------------------------------------------------------1136 //--------------------------------------------------------------------------------------------------1142 //--------------------------------------------------------------------------------------------------1154 //--------------------------------------------------------------------------------------------------1163 //--------------------------------------------------------------------------------------------------1173 //--------------------------------------------------------------------------------------------------1180 //--------------------------------------------------------------------------------------------------1200 //--------------------------------------------------------------------------------------------------1209 //--------------------------------------------------------------------------------------------------1223 //--------------------------------------------------------------------------------------------------1230 //--------------------------------------------------------------------------------------------------1243 //--------------------------------------------------------------------------------------------------1254 //--------------------------------------------------------------------------------------------------1268 * @note Both PAP and CHAP authentification can be set for 3GPP network: in this case, the device1273 //--------------------------------------------------------------------------------------------------1286 //--------------------------------------------------------------------------------------------------1299 //--------------------------------------------------------------------------------------------------1316 //--------------------------------------------------------------------------------------------------1323 //--------------------------------------------------------------------------------------------------1329 //--------------------------------------------------------------------------------------------------1338 //--------------------------------------------------------------------------------------------------1347 //--------------------------------------------------------------------------------------------------1356 //--------------------------------------------------------------------------------------------------1363 //--------------------------------------------------------------------------------------------------1375 //--------------------------------------------------------------------------------------------------1382 //--------------------------------------------------------------------------------------------------1389 //--------------------------------------------------------------------------------------------------1400 //--------------------------------------------------------------------------------------------------1410 //--------------------------------------------------------------------------------------------------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:613le_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:581bool 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:598le_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:564void le_mdc_ConnectService(void)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:484void 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:554le_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:532le_result_t le_mdc_GetBytesCounters(uint64_t *rxBytesPtr, uint64_t *txBytesPtr)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:504cf. 3GPP 24.008 Annex I2Definition: le_mdc_interface.h:558CDMA2000 HRPD (1xEV-DO)Definition: le_mdc_interface.h:409cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:546le_mdc_DisconnectionReason_t le_mdc_GetDisconnectionReason(le_mdc_ProfileRef_t profileRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:526void(* le_mdc_DisconnectHandler_t)(void *)Definition: le_mdc_interface.h:197le_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:502void 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:494le_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:589le_result_t le_mdc_GetIPv4Address(le_mdc_ProfileRef_t profileRef, char *ipAddr, size_t ipAddrSize)le_result_t le_mdc_StartBytesCounter(void)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:627le_result_t le_mdc_StopBytesCounter(void)le_result_t le_mdc_RejectMtPdpSession(le_mdc_ProfileRef_t profileRef)cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:540CDMA2000 HRPD (1xEV-DO RevA)Definition: le_mdc_interface.h:411le_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:528le_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:498cf. 3GPP 24.008 Annex I1Definition: le_mdc_interface.h:496