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 the47 * The list of supported PDP context identifiers (CID) are modem dependent and can be retrieved by58 * identification number (ICCID). If no match is found in the database using the ICCID, the search83 * le_mdc_MapProfileOnNetworkInterface() may be used to map a data session with a network interface.98 * The current state of a data session can be queried using le_mdc_GetSessionState(). An application106 * the application takes responsibility to trigger the data session for that MT PDP request using119 * @warning The MT-PDP context activation feature is not supported on all platforms. Please refer to135 * le_mdc_GetDisconnectionReasonExt() or le_mdc_GetPlatformSpecificDisconnectionCodeExt() let you get139 * le_mdc_GetPlatformSpecificFailureConnectionReasonExt() let you get the data session connection151 * The amount of received and transmitted data can be retrieved through le_mdc_GetBytesCounters().158 * @note The data statistics collection activation and the data counters are persistent even after203 //--------------------------------------------------------------------------------------------------207 //--------------------------------------------------------------------------------------------------210 //--------------------------------------------------------------------------------------------------213 * Connect the current client thread to the service providing this API. Block until the service is216 * 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 called222 //--------------------------------------------------------------------------------------------------228 //--------------------------------------------------------------------------------------------------231 * Try to connect the current client thread to the service providing this API. Return with an error234 * For each thread that wants to use this API, either ConnectService or TryConnectService must be235 * called before any other functions in this API. Normally, ConnectService is automatically called244 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).247 //--------------------------------------------------------------------------------------------------253 //--------------------------------------------------------------------------------------------------257 * When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants260 //--------------------------------------------------------------------------------------------------267 //--------------------------------------------------------------------------------------------------273 * longer a connection to the service, and the functions in this API can't be used. For details, see278 //--------------------------------------------------------------------------------------------------285 //--------------------------------------------------------------------------------------------------289 //--------------------------------------------------------------------------------------------------292 //--------------------------------------------------------------------------------------------------296 //--------------------------------------------------------------------------------------------------299 //--------------------------------------------------------------------------------------------------303 //--------------------------------------------------------------------------------------------------306 //--------------------------------------------------------------------------------------------------310 //--------------------------------------------------------------------------------------------------313 //--------------------------------------------------------------------------------------------------317 //--------------------------------------------------------------------------------------------------320 //--------------------------------------------------------------------------------------------------324 //--------------------------------------------------------------------------------------------------327 //--------------------------------------------------------------------------------------------------331 //--------------------------------------------------------------------------------------------------334 //--------------------------------------------------------------------------------------------------338 //--------------------------------------------------------------------------------------------------341 //--------------------------------------------------------------------------------------------------346 //--------------------------------------------------------------------------------------------------349 //--------------------------------------------------------------------------------------------------353 //--------------------------------------------------------------------------------------------------356 //--------------------------------------------------------------------------------------------------360 //--------------------------------------------------------------------------------------------------363 //--------------------------------------------------------------------------------------------------367 //--------------------------------------------------------------------------------------------------370 //--------------------------------------------------------------------------------------------------374 * This event provides information on data session connection state changes for the given profileRef.377 //--------------------------------------------------------------------------------------------------388 //--------------------------------------------------------------------------------------------------392 //--------------------------------------------------------------------------------------------------399 //--------------------------------------------------------------------------------------------------403 * This event provides information on data session connection state changes for the given profileRef.406 //--------------------------------------------------------------------------------------------------415 //--------------------------------------------------------------------------------------------------419 //--------------------------------------------------------------------------------------------------426 //--------------------------------------------------------------------------------------------------440 //--------------------------------------------------------------------------------------------------447 //--------------------------------------------------------------------------------------------------457 //--------------------------------------------------------------------------------------------------464 //--------------------------------------------------------------------------------------------------473 //--------------------------------------------------------------------------------------------------482 //--------------------------------------------------------------------------------------------------496 //--------------------------------------------------------------------------------------------------503 //--------------------------------------------------------------------------------------------------510 //--------------------------------------------------------------------------------------------------521 //--------------------------------------------------------------------------------------------------533 * @warning The MT-PDP context activation feature is not supported on all platforms. Please refer to536 //--------------------------------------------------------------------------------------------------543 //--------------------------------------------------------------------------------------------------550 //--------------------------------------------------------------------------------------------------561 //--------------------------------------------------------------------------------------------------574 * @warning The MT-PDP context activation feature is not supported on all platforms. Please refer to577 //--------------------------------------------------------------------------------------------------584 //--------------------------------------------------------------------------------------------------596 //--------------------------------------------------------------------------------------------------605 //--------------------------------------------------------------------------------------------------617 //--------------------------------------------------------------------------------------------------628 //--------------------------------------------------------------------------------------------------641 //--------------------------------------------------------------------------------------------------652 //--------------------------------------------------------------------------------------------------654 * Get the gateway IPv4 address for the given profile, if the data session is connected and has an665 //--------------------------------------------------------------------------------------------------676 //--------------------------------------------------------------------------------------------------691 //--------------------------------------------------------------------------------------------------706 //--------------------------------------------------------------------------------------------------719 //--------------------------------------------------------------------------------------------------730 //--------------------------------------------------------------------------------------------------732 * Get the gateway IPv6 address for the given profile, if the data session is connected and has an743 //--------------------------------------------------------------------------------------------------754 //--------------------------------------------------------------------------------------------------769 //--------------------------------------------------------------------------------------------------784 //--------------------------------------------------------------------------------------------------786 * Allow the caller to know if the given profile is actually supporting IPv4, if the data session794 //--------------------------------------------------------------------------------------------------801 //--------------------------------------------------------------------------------------------------803 * Allow the caller to know if the given profile is actually supporting IPv6, if the data session811 //--------------------------------------------------------------------------------------------------818 //--------------------------------------------------------------------------------------------------829 //--------------------------------------------------------------------------------------------------840 //--------------------------------------------------------------------------------------------------851 //--------------------------------------------------------------------------------------------------860 //--------------------------------------------------------------------------------------------------868 //--------------------------------------------------------------------------------------------------874 //--------------------------------------------------------------------------------------------------882 //--------------------------------------------------------------------------------------------------888 //--------------------------------------------------------------------------------------------------896 //--------------------------------------------------------------------------------------------------902 //--------------------------------------------------------------------------------------------------914 //--------------------------------------------------------------------------------------------------923 //--------------------------------------------------------------------------------------------------933 //--------------------------------------------------------------------------------------------------940 //--------------------------------------------------------------------------------------------------960 //--------------------------------------------------------------------------------------------------969 //--------------------------------------------------------------------------------------------------984 //--------------------------------------------------------------------------------------------------991 //--------------------------------------------------------------------------------------------------1004 //--------------------------------------------------------------------------------------------------1015 //--------------------------------------------------------------------------------------------------1034 //--------------------------------------------------------------------------------------------------1047 //--------------------------------------------------------------------------------------------------1060 //--------------------------------------------------------------------------------------------------1077 //--------------------------------------------------------------------------------------------------1084 //--------------------------------------------------------------------------------------------------1090 //--------------------------------------------------------------------------------------------------1099 //--------------------------------------------------------------------------------------------------1108 //--------------------------------------------------------------------------------------------------1119 * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv61123 //--------------------------------------------------------------------------------------------------1132 //--------------------------------------------------------------------------------------------------1143 * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv61147 //--------------------------------------------------------------------------------------------------1156 //--------------------------------------------------------------------------------------------------1165 * @note For IPv4v6 mode, pdpType specifies which session's disconnect reason to get(IPv4 or IPv61169 //--------------------------------------------------------------------------------------------------1182 //--------------------------------------------------------------------------------------------------1192 //--------------------------------------------------------------------------------------------------1201 //--------------------------------------------------------------------------------------------------1209 //--------------------------------------------------------------------------------------------------LE_FULL_API void le_mdc_SetServerDisconnectHandler(le_mdc_DisconnectHandler_t disconnectHandler, void *contextPtr)void le_mdc_RemoveSessionStateHandler(le_mdc_SessionStateHandlerRef_t handlerRef)void(* le_mdc_DisconnectHandler_t)(void *)Definition: le_mdc_interface.h:208le_result_t le_mdc_GetSessionState(le_mdc_ProfileRef_t profileRef, le_mdc_ConState_t *connectionStatePtr)le_result_t le_mdc_StopSession(le_mdc_ProfileRef_t profileRef)bool le_mdc_IsIPv6(le_mdc_ProfileRef_t profileRef)le_result_t le_mdc_GetIPv6Address(le_mdc_ProfileRef_t profileRef, char *ipAddr, size_t ipAddrSize)le_result_t le_mdc_StopBytesCounter(void)le_result_t le_mdc_SetPDP(le_mdc_ProfileRef_t profileRef, le_mdc_Pdp_t pdp)le_result_t le_mdc_SetDefaultAPN(le_mdc_ProfileRef_t profileRef)uint32_t le_mdc_GetProfileIndex(le_mdc_ProfileRef_t profileRef)le_result_t le_mdc_StartSession(le_mdc_ProfileRef_t profileRef)struct le_mdc_SessionStateHandler * le_mdc_SessionStateHandlerRef_tDefinition: le_mdc_common.h:394void le_mdc_GetPlatformSpecificFailureConnectionReasonExt(le_mdc_ProfileRef_t profileRef, le_mdc_Pdp_t pdpType, int32_t *failureTypePtr, int32_t *failureCodePtr)void le_mdc_RemoveMtPdpSessionStateHandler(le_mdc_MtPdpSessionStateHandlerRef_t handlerRef)le_mdc_SessionStateHandlerRef_t le_mdc_AddSessionStateHandler(le_mdc_ProfileRef_t profileRef, 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_GetIPv4Address(le_mdc_ProfileRef_t profileRef, char *ipAddr, size_t ipAddrSize)le_mdc_DisconnectionReason_t le_mdc_GetDisconnectionReasonExt(le_mdc_ProfileRef_t profileRef, le_mdc_Pdp_t pdpType)int32_t le_mdc_GetPlatformSpecificDisconnectionCodeExt(le_mdc_ProfileRef_t profileRef, le_mdc_Pdp_t pdpType)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_GetProfileList(le_mdc_ProfileInfo_t *profileListPtr, size_t *profileListSizePtr)void le_mdc_ConnectService(void)void le_mdc_DisconnectService(void)bool le_mdc_IsIPv4(le_mdc_ProfileRef_t profileRef)void le_mdc_StopSessionAsync(le_mdc_ProfileRef_t profileRef, le_mdc_SessionHandlerFunc_t handlerPtr, void *contextPtr)le_result_t le_mdc_GetAPN(le_mdc_ProfileRef_t profileRef, char *apnStr, size_t apnStrSize)le_result_t le_mdc_GetBytesCounters(uint64_t *rxBytesPtr, uint64_t *txBytesPtr)le_mdc_MtPdpSessionStateHandlerRef_t le_mdc_AddMtPdpSessionStateHandler(le_mdc_SessionStateHandlerFunc_t handlerPtr, void *contextPtr)le_result_t le_mdc_StartBytesCounter(void)le_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)Definition: le_mdc_common.h:410le_result_t le_mdc_RejectMtPdpSession(le_mdc_ProfileRef_t profileRef)le_mdc_Pdp_t le_mdc_GetPDP(le_mdc_ProfileRef_t profileRef)void(* le_mdc_SessionHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_result_t result, void *contextPtr)Definition: le_mdc_common.h:454le_result_t le_mdc_GetProfileFromApn(const char *LE_NONNULL apnStr, le_mdc_ProfileRef_t *profileRefPtr)le_result_t le_mdc_GetInterfaceName(le_mdc_ProfileRef_t profileRef, char *interfaceName, size_t interfaceNameSize)void le_mdc_StartSessionAsync(le_mdc_ProfileRef_t profileRef, le_mdc_SessionHandlerFunc_t handlerPtr, void *contextPtr)le_result_t le_mdc_GetCidList(uint8_t *cidPtr, size_t *cidSizePtr)struct le_mdc_MtPdpSessionStateHandler * le_mdc_MtPdpSessionStateHandlerRef_tDefinition: le_mdc_common.h:402le_result_t le_mdc_MapProfileOnNetworkInterface(le_mdc_ProfileRef_t profileRef, const char *LE_NONNULL interfaceName)void(* le_mdc_SessionStateHandlerFunc_t)(le_mdc_ProfileRef_t profileRef, le_mdc_ConState_t ConnectionState, void *contextPtr)Definition: le_mdc_common.h:425uint32_t le_mdc_NumProfiles(void)le_result_t le_mdc_ResetBytesCounter(void)le_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_TryConnectService(void)le_result_t le_mdc_GetIPv6DNSAddresses(le_mdc_ProfileRef_t profileRef, char *dns1AddrStr, size_t dns1AddrStrSize, char *dns2AddrStr, size_t dns2AddrStrSize)le_result_t le_mdc_GetIPv4GatewayAddress(le_mdc_ProfileRef_t profileRef, char *gatewayAddr, size_t gatewayAddrSize)le_mdc_ProfileRef_t le_mdc_GetProfile(uint32_t index)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_SetAPN(le_mdc_ProfileRef_t profileRef, const char *LE_NONNULL apnStr)