Linux LITE MBIM  MBPL_SDK_R25_ENG3
Data Structures | Macros | Typedefs | Enumerations | Functions
BasicConnectDeviceService.h File Reference
#include <stdint.h>
#include <wchar.h>
#include "MbimTransport.h"

Go to the source code of this file.

Data Structures

struct  MbimEventEntry
 
struct  MbimTelephoneNumber
 
struct  MBIM_IPV4_ADDRESS
 
struct  MBIM_IPV4_ELEMENT
 
struct  MBIM_IPV6_ADDRESS
 
struct  MBIM_IPV6_ELEMENT
 

Macros

#define MBIMDataClassNone   0x0
 
#define MBIMDataClassGPRS   0x1
 
#define MBIMDataClassEDGE   0x2
 
#define MBIMDataClassUMTS   0x4
 
#define MBIMDataClassHSDPA   0x8
 
#define MBIMDataClassHSUPA   0x10
 
#define MBIMDataClassLTE   0x20
 
#define MBIMDataClassReservedForFutureGSM   0x8f40
 
#define MBIMDataClass1XRTT   0x10000
 
#define MBIMDataClass1XEVDO   0x20000
 
#define MBIMDataClass1XEVDORevA   0x40000
 
#define MBIMDataClass1XEVDV   0x80000
 
#define MBIMDataClass3XRTT   0x100000
 
#define MBIMDataClass1XEVDORevB   0x200000
 
#define MBIMDataClassUMB   0x400000
 
#define MBIMDataClassReservedForFutureCDMA   0x4f800000
 
#define MBIMDataClassCustom   0x80000000
 
#define MBIMCellularClassGsm   0x1
 
#define MBIMCellularClassCdma   0x2
 
#define MBIM_TELEPHONE_NUMBER_MAX_LEN   22
 
#define MBIM_REGISTRATION_NONE   0x0
 
#define MBIM_REGISTRATION_MANUAL_SELECTION_NOT_AVAILABLE   0x1
 
#define MBIM_REGISTRATION_PACKET_SERVICE_AUTOMATIC_ATTACH   0x2
 
#define MBIM_ACCESS_STRING_MAX_LEN   100
 
#define MBIM_USER_NAME_MAX_LEN   255
 
#define MBIM_PASSWORD_MAX_LEN   255
 
#define MBIMContextTypeNone
 
#define MBIMContextTypeInternet
 
#define MBIMContextTypeVpn
 
#define MBIMContextTypeVoice
 
#define MBIMContextTypeVideoShare
 
#define MBIMContextTypePurchase
 
#define MBIMContextTypeIMS
 
#define MBIMContextTypeMMS
 
#define MBIMContextTypeLocal
 
#define MBIM_IPV4_ADDRESS_SIZE   4
 
#define MBIM_IPV6_ADDRESS_SIZE   16
 
#define MBIM_IPV4_CONFIGURATION_AVAILABLE_ADDRESS   0x1
 
#define MBIM_IPV4_CONFIGURATION_AVAILABLE_GATEWAY   0x2
 
#define MBIM_IPV4_CONFIGURATION_AVAILABLE_DNS   0x4
 
#define MBIM_IPV4_CONFIGURATION_AVAILABLE_MTU   0x8
 
#define MBIM_IPV6_CONFIGURATION_AVAILABLE_ADDRESS   0x1
 
#define MBIM_IPV6_CONFIGURATION_AVAILABLE_GATEWAY   0x2
 
#define MBIM_IPV6_CONFIGURATION_AVAILABLE_DNS   0x4
 
#define MBIM_IPV6_CONFIGURATION_AVAILABLE_MTU   0x8
 

Typedefs

typedef struct MbimEventEntry MbimEventEntry
 

Enumerations

enum  MBIM_SUBSCRIBER_READY_STATE {
  MBIMSubscriberReadyStateNotInitialized = 0, MBIMSubscriberReadyStateInitialized = 1, MBIMSubscriberReadyStateSimNotInserted = 2, MBIMSubscriberReadyStateBadSim = 3,
  MBIMSubscriberReadyStateFailure = 4, MBIMSubscriberReadyStateNotActivated = 5, MBIMSubscriberReadyStateDeviceLocked = 6
}
 
enum  MBIM_UNIQUE_ID_FLAGS { MBIMReadyInfoFlagsNone = 0, MBIMReadyInfoFlagsProtectUniqueID = 1 }
 
enum  MBIM_PACKET_SERVICE_ACTION { MBIMPacketServiceActionAttach = 0, MBIMPacketServiceActionDetach = 1 }
 
enum  MBIM_PACKET_SERVICE_STATE {
  MBIMPacketServiceStateUnknown = 0, MBIMPacketServiceStateAttaching = 1, MBIMPacketServiceStateAttached = 2, MBIMPacketServiceStateDetaching = 3,
  MBIMPacketServiceStateDetached = 4
}
 
enum  MBIM_REGISTER_ACTION { MBIMRegisterActionAutomatic = 0, MBIMRegisterActionManual = 1 }
 
enum  MBIM_REGISTER_STATE {
  MBIMRegisterStateUnknown = 0, MBIMRegisterStateDeregistered = 1, MBIMRegisterStateSearching = 2, MBIMRegisterStateHome = 3,
  MBIMRegisterStateRoaming = 4, MBIMRegisterStatePartner = 5, MBIMRegisterStateDenied = 6
}
 
enum  MBIM_REGISTER_MODE { MBIMRegisterModeUnknown = 0, MBIMRegisterModeAutomatic = 1, MBIMRegisterModeManual = 2 }
 
enum  MBIM_ACTIVATION_COMMAND { MBIMActivationCommandDeactivate = 0, MBIMActivationCommandActivate = 1 }
 
enum  MBIM_COMPRESSION { MBIMCompressionNone = 0, MBIMCompressionEnable = 1 }
 
enum  MBIM_AUTH_PROTOCOL { MBIMAuthProtocolNone = 0, MBIMAuthProtocolPap = 1, MBIMAuthProtocolChap = 2, MBIMAuthProtocolMsChapV2 = 3 }
 
enum  MBIM_CONTEXT_IP_TYPE {
  MBIMContextIPTypeDefault = 0, MBIMContextIPTypeIPv4 = 1, MBIMContextIPTypeIPv6 = 2, MBIMContextIPTypeIPv4v6 = 3,
  MBIMContextIPTypeIPv4AndIPv6 = 4
}
 
enum  MBIM_ACTIVATION_STATE {
  MBIMActivationStateUnknown = 0, MBIMActivationStateActivated = 1, MBIMActivationStateActivating = 2, MBIMActivationStateDeactivated = 3,
  MBIMActivationStateDeactivating = 4
}
 
enum  MBIM_VOICE_CALL_STATE { MBIMVoiceCallStateNone = 0, MBIMVoiceCallStateInProgress = 1, MBIMVoiceCallStateHangUp = 2 }
 
enum  MBIM_PIN_TYPE {
  MBIMPinTypeNone = 0, MBIMPinTypeCustom = 1, MBIMPinTypePin1 = 2, MBIMPinTypePin2 = 3,
  MBIMPinTypeDeviceSimPin = 4, MBIMPinTypeDeviceFirstSimPin = 5, MBIMPinTypeNetworkPin = 6, MBIMPinTypeNetworkSubsetPin = 7,
  MBIMPinTypeServiceProviderPin = 8, MBIMPinTypeCorporatePin = 9, MBIMPinTypeSubsidyLock = 10, MBIMPinTypePuk1 = 11,
  MBIMPinTypePuk2 = 12, MBIMPinTypeDeviceFirstSimPuk = 13, MBIMPinTypeNetworkPuk = 14, MBIMPinTypeNetworkSubsetPuk = 15,
  MBIMPinTypeServiceProviderPuk = 16, MBIMPinTypeCorporatePuk = 17
}
 
enum  MBIM_PIN_STATE { MBIMPinStateUnlocked = 0, MBIMPinStateLocked = 1 }
 
enum  MBIM_PIN_OPERATION { MBIMPinOperationEnter = 0, MBIMPinOperationEnable = 1, MBIMPinOperationDisable = 2, MBIMPinOperationChange = 3 }
 
enum  MBIM_RADIO_SWITCH_STATE { MBIMRadioOff = 0, MBIMRadioOn = 1 }
 

Functions

const uint8_t * BasicConnectDeviceService_Uuid ()
 
uint32_t BasicConnectDeviceService_DeviceServiceSubscribeSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, uint32_t elementCount, MbimEventEntry *elements)
 
int BasicConnectDeviceService_DeviceServiceSubscribeSetSend (MbimTransaction *pTransaction, MbimTransport *pTransport, uint32_t elementCount, MbimEventEntry *pElements)
 
const char * MBIMDataClassToString (uint32_t flag)
 
const char * MBIMCellularClassToString (uint32_t flag)
 
uint32_t BasicConnectDeviceService_DeviceServiceSubscribeParse (uint8_t *informationBuffer, uint32_t informationBufferLength, uint32_t *pElementCount, MbimEventEntry *pElements)
 
const char * MBIMSubscriberReadyStateToString (MBIM_SUBSCRIBER_READY_STATE value)
 
const char * MBIMReadyInfoFlagsToString (MBIM_UNIQUE_ID_FLAGS value)
 
uint32_t BasicConnectDeviceService_SubscriberReadyStatusQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType)
 
uint32_t BasicConnectDeviceService_SubscriberReadyStatusParse (uint8_t *informationBuffer, uint32_t informationBufferLength, MBIM_SUBSCRIBER_READY_STATE *pReadyState, uint32_t *pSubscriberIdLen, wchar_t *pSubscriberId, uint32_t *pSimIccIdLen, wchar_t *pSimIccId, MBIM_UNIQUE_ID_FLAGS *pReadyInfo, MbimTelephoneNumber *pTelephoneNumbers, uint32_t *pTelephoneNumberCount)
 
const char * MBIMPacketServiceActionToString (MBIM_PACKET_SERVICE_ACTION value)
 
const char * MBIMPacketServiceStateToString (MBIM_PACKET_SERVICE_STATE value)
 
uint32_t BasicConnect_DeviceService_PacketServiceSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, MBIM_PACKET_SERVICE_ACTION packetServiceAction)
 
uint32_t BasicConnectDeviceService_PacketServiceQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType)
 
uint32_t BasicConnectDeviceService_PacketServiceParse (uint8_t *informationBuffer, uint32_t informationBufferLength, uint32_t *pNwError, MBIM_PACKET_SERVICE_STATE *pPacketServiceState, uint32_t *pHighestAvailableDataClass, uint64_t *pUplinkSpeed, uint64_t *pDownlinkSpeed)
 
const char * MBIMRegisterActionToString (MBIM_REGISTER_ACTION value)
 
const char * MBIMRegisterStateToString (MBIM_REGISTER_STATE value)
 
const char * MBIMRegisterModeToString (MBIM_REGISTER_MODE value)
 
const char * MBIMRegistrationFlagToString (uint32_t flag)
 
uint32_t BasicConnectDeviceService_RegisterStateSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, wchar_t *providerId, MBIM_REGISTER_ACTION registerAction, uint32_t dataClass)
 
uint32_t BasicConnectDeviceService_RegisterStateQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType)
 
uint32_t BasicConnectDeviceService_RegisterStateParse (uint8_t *informationBuffer, uint32_t informationBufferLength, uint32_t *pNwError, MBIM_REGISTER_STATE *pRegisterState, MBIM_REGISTER_MODE *pRegisterMode, uint32_t *pAvailableDataClasses, uint32_t *pCurrentCellularClass, uint32_t *pProviderIdLen, wchar_t *pProviderId, uint32_t *pProviderNameLen, wchar_t *pProviderName, uint32_t *pRoamingTextLen, wchar_t *pRoamingText, uint32_t *pRegistrationFlag)
 
const char * MBIMActivationCommandToString (MBIM_ACTIVATION_COMMAND value)
 
const char * MBIMCompressionToString (MBIM_COMPRESSION value)
 
const char * MBIMAuthProtocolToString (MBIM_AUTH_PROTOCOL value)
 
const char * MBIMContextIPTypeToString (MBIM_CONTEXT_IP_TYPE value)
 
const char * MBIMActivationStateToString (MBIM_ACTIVATION_STATE value)
 
const char * MBIMVoiceCallStateToString (MBIM_VOICE_CALL_STATE value)
 
const char * MBIMContextTypeToString (uint8_t *value)
 
uint32_t BasicConnectDeviceService_ConnectSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, uint32_t sessionId, MBIM_ACTIVATION_COMMAND activationCommand, wchar_t *accessString, wchar_t *userName, wchar_t *password, MBIM_COMPRESSION compression, MBIM_AUTH_PROTOCOL authProtocol, MBIM_CONTEXT_IP_TYPE ipType, uint8_t *contextType)
 
uint32_t BasicConnectDeviceService_ConnectQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, uint32_t sessionId)
 
uint32_t BasicConnectDeviceService_ConnectParse (uint8_t *informationBuffer, uint32_t informationBufferLength, uint32_t *pSessionId, MBIM_ACTIVATION_STATE *pActivationState, MBIM_VOICE_CALL_STATE *pVoiceCallState, MBIM_CONTEXT_IP_TYPE *pIPType, uint8_t *pContextType, uint32_t *pNwError)
 
uint32_t BasicConnectDeviceService_IpConfigurationQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, uint32_t sessionId)
 
uint32_t BasicConnectDeviceService_IpConfigurationParse (uint8_t *informationBuffer, uint32_t informationBufferLength, uint32_t *pSessionId, uint32_t *pIPv4ConfigurationAvailable, uint32_t *pIPv6ConfigurationAvailable, uint32_t *pIPv4AddressCount, MBIM_IPV4_ELEMENT *pIPv4Addresses, uint32_t *pIPv6AddressCount, MBIM_IPV6_ELEMENT *pIPv6Addresses, MBIM_IPV4_ADDRESS *pIPv4Gateway, MBIM_IPV6_ADDRESS *pIPv6Gateway, uint32_t *pIPv4DnsServerCount, MBIM_IPV4_ADDRESS *pIPv4DnsServers, uint32_t *pIPv6DnsServerCount, MBIM_IPV6_ADDRESS *pIPv6DnsServers, uint32_t *pIPv4Mtu, uint32_t *pIPv6Mtu)
 
const char * MBIMPinTypeToString (MBIM_PIN_TYPE value)
 
const char * MBIMPinStateToString (MBIM_PIN_STATE value)
 
const char * MBIMPinOperationToString (MBIM_PIN_OPERATION value)
 
uint32_t BasicConnectDeviceService_PinSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, MBIM_PIN_TYPE pinType, MBIM_PIN_OPERATION pinOperation, wchar_t *pPin, wchar_t *pNewPin)
 
uint32_t BasicConnectDeviceService_PinQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType)
 
uint32_t BasicConnectDeviceService_PinParse (uint8_t *informationBuffer, uint32_t informationBufferLength, MBIM_PIN_TYPE *pPinType, MBIM_PIN_STATE *pPinState, uint32_t *pRemainingAttempts)
 
const char * MBIMRadioToString (MBIM_RADIO_SWITCH_STATE value)
 
uint32_t BasicConnectDeviceService_RadioStateSetBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType, uint8_t *informationBuffer, uint32_t *pInformationBufferLength, MBIM_RADIO_SWITCH_STATE radioState)
 
uint32_t BasicConnectDeviceService_RadioStateQueryBuild (const uint8_t **ppDeviceServiceId, uint32_t *pCid, uint32_t *pCommandType)
 
uint32_t BasicConnectDeviceService_RadioStateParse (uint8_t *informationBuffer, uint32_t informationBufferLength, MBIM_RADIO_SWITCH_STATE *pHwRadioState, MBIM_RADIO_SWITCH_STATE *pSwRadioState)
 

Detailed Description

Note
All the APIs and definitions are based on MBIM specification values. Please use "MBIM v1 0 - errata-1.pdf" as a companion reference.

Macro Definition Documentation

◆ MBIMDataClassNone

#define MBIMDataClassNone   0x0

MBIM_DATA_CLASS A bitmap that represents which radio technologies are supported by the function. The following table shows the possible values for this member.None

◆ MBIMDataClassGPRS

#define MBIMDataClassGPRS   0x1

GPRS

◆ MBIMDataClassEDGE

#define MBIMDataClassEDGE   0x2

EDGE

◆ MBIMDataClassUMTS

#define MBIMDataClassUMTS   0x4

UMTS

◆ MBIMDataClassHSDPA

#define MBIMDataClassHSDPA   0x8

HSDPA

◆ MBIMDataClassHSUPA

#define MBIMDataClassHSUPA   0x10

HSUPA

◆ MBIMDataClassLTE

#define MBIMDataClassLTE   0x20

LTE

◆ MBIMDataClassReservedForFutureGSM

#define MBIMDataClassReservedForFutureGSM   0x8f40

Reserved for future GSM

◆ MBIMDataClass1XRTT

#define MBIMDataClass1XRTT   0x10000

1XRTT

◆ MBIMDataClass1XEVDO

#define MBIMDataClass1XEVDO   0x20000

1XEVDO

◆ MBIMDataClass1XEVDORevA

#define MBIMDataClass1XEVDORevA   0x40000

1XEVDORevA

◆ MBIMDataClass1XEVDV

#define MBIMDataClass1XEVDV   0x80000

1XEVDV

◆ MBIMDataClass3XRTT

#define MBIMDataClass3XRTT   0x100000

3XRTT

◆ MBIMDataClass1XEVDORevB

#define MBIMDataClass1XEVDORevB   0x200000

1XEVDORevB

◆ MBIMDataClassUMB

#define MBIMDataClassUMB   0x400000

UMB

◆ MBIMDataClassReservedForFutureCDMA

#define MBIMDataClassReservedForFutureCDMA   0x4f800000

Reserved for future CDMA

◆ MBIMDataClassCustom

#define MBIMDataClassCustom   0x80000000

Custom

◆ MBIMCellularClassGsm

#define MBIMCellularClassGsm   0x1

MBIM_CELLULAR_CLASS A bitmap of cellular technologies. The following table shows the possible values for this member.None

◆ MBIMCellularClassCdma

#define MBIMCellularClassCdma   0x2

GPRS

◆ MBIM_TELEPHONE_NUMBER_MAX_LEN

#define MBIM_TELEPHONE_NUMBER_MAX_LEN   22

Maximum number of chars in a telephone number (excluding NULL terminator)

◆ MBIM_REGISTRATION_NONE

#define MBIM_REGISTRATION_NONE   0x0

MBIM_REGISTRATION_FLAGS A bitmap that indicates network conditions related to auto-attach and manual network selection capabilities.None

◆ MBIM_REGISTRATION_MANUAL_SELECTION_NOT_AVAILABLE

#define MBIM_REGISTRATION_MANUAL_SELECTION_NOT_AVAILABLE   0x1

Manual selection not available

◆ MBIM_REGISTRATION_PACKET_SERVICE_AUTOMATIC_ATTACH

#define MBIM_REGISTRATION_PACKET_SERVICE_AUTOMATIC_ATTACH   0x2

Packet service automatic attach

◆ MBIM_ACCESS_STRING_MAX_LEN

#define MBIM_ACCESS_STRING_MAX_LEN   100

Maximum number of chars in access string (excluding NULL terminator)

◆ MBIM_USER_NAME_MAX_LEN

#define MBIM_USER_NAME_MAX_LEN   255

Maximum number of chars in user name (excluding NULL terminator)

◆ MBIM_PASSWORD_MAX_LEN

#define MBIM_PASSWORD_MAX_LEN   255

Maximum number of chars in password (excluding NULL terminator)

◆ MBIMContextTypeNone

#define MBIMContextTypeNone
Value:
{ \
0xb4, 0x3f, 0x75, 0x8c, 0xa5, 0x60, 0x4b, 0x46, \
0xb3, 0x5e, 0xc5, 0x86, 0x96, 0x41, 0xfb, 0x54 \
}

MBIM_CONTEXT_TYPES To use, declare a variable: uint8_t uuid[] = MBIMContextTypeXXX; The context is not yet provisioned

◆ MBIMContextTypeInternet

#define MBIMContextTypeInternet
Value:
{ \
0x7e, 0x5e, 0x2a, 0x7e, 0x4e, 0x6f, 0x72, 0x72, \
0x73, 0x6b, 0x65, 0x6e, 0x7e, 0x5e, 0x2a, 0x7e \
}

The context represents a connection to the Internet This context type is mandatory.

◆ MBIMContextTypeVpn

#define MBIMContextTypeVpn
Value:
{ \
0x9b, 0x9f, 0x7b, 0xbe, 0x89, 0x52, 0x44, 0xb7, \
0x83, 0xac, 0xca, 0x41, 0x31, 0x8d, 0xf7, 0xa0 \
}

The context represents a connection to virtual private network (VPN to a corporate network).

◆ MBIMContextTypeVoice

#define MBIMContextTypeVoice
Value:
{ \
0x88, 0x91, 0x82, 0x94, 0x0e, 0xf4, 0x43, 0x96, \
0x8c, 0xca, 0xa8, 0x58, 0x8f, 0xbc, 0x02, 0xb2 \
}

The context represents a connection to a Voice-over-IP (VOIP) service

◆ MBIMContextTypeVideoShare

#define MBIMContextTypeVideoShare
Value:
{ \
0x05, 0xa2, 0xa7, 0x16, 0x7c, 0x34, 0x4b, 0x4d, \
0x9a, 0x91, 0xc5, 0xef, 0x0c, 0x7a, 0xaa, 0xcc \
}

The context represents a connection to a video sharing service

◆ MBIMContextTypePurchase

#define MBIMContextTypePurchase
Value:
{ \
0xb3, 0x27, 0x24, 0x96, 0xac, 0x6c, 0x42, 0x2b, \
0xa8, 0xc0, 0xac, 0xf6, 0x87, 0xa2, 0x72, 0x17 \
}

The context represents a connection to an over-the-air activation site.

◆ MBIMContextTypeIMS

#define MBIMContextTypeIMS
Value:
{ \
0x21, 0x61, 0x0d, 0x01, 0x30, 0x74, 0x4b, 0xce, \
0x94, 0x25, 0xb5, 0x3a, 0x07, 0xd6, 0x97, 0xd6 \
}

The context represents a connection to IMS.

◆ MBIMContextTypeMMS

#define MBIMContextTypeMMS
Value:
{ \
0x46, 0x72, 0x66, 0x64, 0x72, 0x69, 0x6b, 0xc6, \
0x96, 0x24, 0xd1, 0xd3, 0x53, 0x89, 0xac, 0xa9 \
}

The context represents a connection to MMS.

◆ MBIMContextTypeLocal

#define MBIMContextTypeLocal
Value:
{ \
0xa5, 0x7a, 0x9a, 0xfc, 0xb0, 0x9f, 0x45, 0xd7, \
0xbb, 0x40, 0x03, 0x3c, 0x39, 0xf6, 0x0d, 0xb9 \
}

The context represents a local connection which is terminated at the device. Hence, the IP traffic will not be sent over the air.

◆ MBIM_IPV4_CONFIGURATION_AVAILABLE_ADDRESS

#define MBIM_IPV4_CONFIGURATION_AVAILABLE_ADDRESS   0x1

MBIM_IPV4_CONFIGURATION_AVAILABLE_FLAGS A bitmap that indicates which IPv4 configuration values are available from device.IP address is available

◆ MBIM_IPV4_CONFIGURATION_AVAILABLE_GATEWAY

#define MBIM_IPV4_CONFIGURATION_AVAILABLE_GATEWAY   0x2

Gateway is available

◆ MBIM_IPV4_CONFIGURATION_AVAILABLE_DNS

#define MBIM_IPV4_CONFIGURATION_AVAILABLE_DNS   0x4

DNS is available

◆ MBIM_IPV4_CONFIGURATION_AVAILABLE_MTU

#define MBIM_IPV4_CONFIGURATION_AVAILABLE_MTU   0x8

MTU is available

◆ MBIM_IPV6_CONFIGURATION_AVAILABLE_ADDRESS

#define MBIM_IPV6_CONFIGURATION_AVAILABLE_ADDRESS   0x1

MBIM_IPV6_CONFIGURATION_AVAILABLE_FLAGS A bitmap that indicates which IPv6 configuration values are available from device.IP address is available

◆ MBIM_IPV6_CONFIGURATION_AVAILABLE_GATEWAY

#define MBIM_IPV6_CONFIGURATION_AVAILABLE_GATEWAY   0x2

Gateway is available

◆ MBIM_IPV6_CONFIGURATION_AVAILABLE_DNS

#define MBIM_IPV6_CONFIGURATION_AVAILABLE_DNS   0x4

DNS is available

◆ MBIM_IPV6_CONFIGURATION_AVAILABLE_MTU

#define MBIM_IPV6_CONFIGURATION_AVAILABLE_MTU   0x8

MTU is available

Typedef Documentation

◆ MbimEventEntry

This structure represents the command IDs (CIDs) of indications related to a specific MBIM device service for which a user will be informed.

Parameters
DeviceServiceId
  • The MBIM device service's UUID which relates to the indications.
CidCount
  • Number of CIDs for which indications are to be generated. 0 means all CIDs of that MBIM device service.
Cids
  • Fixed size array of CIDs. The first 'CidCount' elements of the array will be passed to the device, upto a maximum of MBIM_MAX_CIDS.

Enumeration Type Documentation

◆ MBIM_SUBSCRIBER_READY_STATE

Enumerator
MBIMSubscriberReadyStateNotInitialized 

The SIM has not yet completed its initialization

MBIMSubscriberReadyStateInitialized 

The SIM is initialized. When this state is reported all the subscriber fields in Table 10-18 of MBIM specification: MBIM_SUBSCRIBER_READY_INFO must be valid.

MBIMSubscriberReadyStateSimNotInserted 

The SIM card is not inserted into the device

MBIMSubscriberReadyStateBadSim 

The SIM card inserted into the device is invalid

MBIMSubscriberReadyStateFailure 

A general SIM failure has occurred

MBIMSubscriberReadyStateNotActivated 

The subscription is not activated

MBIMSubscriberReadyStateDeviceLocked 

The SIM is locked and requires PIN1 or PUK1 to unlock

◆ MBIM_UNIQUE_ID_FLAGS

Enumerator
MBIMReadyInfoFlagsNone 

The device is in normal mode

MBIMReadyInfoFlagsProtectUniqueID 

When this flag is specified, the host will not display the SubscriberId specified in the same CID.

◆ MBIM_PACKET_SERVICE_ACTION

Enumerator
MBIMPacketServiceActionAttach 

Attach

MBIMPacketServiceActionDetach 

Detach

◆ MBIM_PACKET_SERVICE_STATE

Enumerator
MBIMPacketServiceStateUnknown 

Unknown

MBIMPacketServiceStateAttaching 

Attaching

MBIMPacketServiceStateAttached 

Attached

MBIMPacketServiceStateDetaching 

Detaching

MBIMPacketServiceStateDetached 

Detached

◆ MBIM_REGISTER_ACTION

Enumerator
MBIMRegisterActionAutomatic 

Automatic

MBIMRegisterActionManual 

Manual

◆ MBIM_REGISTER_STATE

Enumerator
MBIMRegisterStateUnknown 

Unknown

MBIMRegisterStateDeregistered 

Deregistered

MBIMRegisterStateSearching 

Searching

MBIMRegisterStateHome 

Home

MBIMRegisterStateRoaming 

Roaming

MBIMRegisterStatePartner 

Partner

MBIMRegisterStateDenied 

Denied

◆ MBIM_REGISTER_MODE

Enumerator
MBIMRegisterModeUnknown 

Unknown

MBIMRegisterModeAutomatic 

Automatic

MBIMRegisterModeManual 

Manual

◆ MBIM_PIN_TYPE

Enumerator
MBIMPinTypeNone 

No PIN is pending to be entered

MBIMPinTypeCustom 

The PIN type is a custom type and is none of the other PIN types listed in this enumeration

MBIMPinTypePin1 

The PIN1 key

MBIMPinTypePin2 

The PIN2 key

MBIMPinTypeDeviceSimPin 

The device to SIM key

MBIMPinTypeDeviceFirstSimPin 

The device to very first SIM key

MBIMPinTypeNetworkPin 

The network personalization key

MBIMPinTypeNetworkSubsetPin 

The network subset personalization key

MBIMPinTypeServiceProviderPin 

The service provider (SP) personalization key

MBIMPinTypeCorporatePin 

The corporate personalization key

MBIMPinTypeSubsidyLock 

The subsidy unlock key

MBIMPinTypePuk1 

The Personal Identification Number1 Unlock Key (PUK1).

MBIMPinTypePuk2 

The Personal Identification Number2 Unlock Key (PUK2).

MBIMPinTypeDeviceFirstSimPuk 

The device to very first SIM PIN unlock key

MBIMPinTypeNetworkPuk 

The network personalization unlock key

MBIMPinTypeNetworkSubsetPuk 

The network subset personalization unlock key

MBIMPinTypeServiceProviderPuk 

The service provider (SP) personalization unlock key

MBIMPinTypeCorporatePuk 

The corporate personalization unlock key

◆ MBIM_PIN_STATE

Enumerator
MBIMPinStateUnlocked 

The device does not require a PIN

MBIMPinStateLocked 

The device requires the user to enter a PIN

◆ MBIM_PIN_OPERATION

Enumerator
MBIMPinOperationEnter 

Enter the specified PIN into the device.

MBIMPinOperationEnable 

Enable the specified PIN

MBIMPinOperationDisable 

Disable the specified PIN

MBIMPinOperationChange 

Change the specified PIN

◆ MBIM_RADIO_SWITCH_STATE

Enumerator
MBIMRadioOff 

Radio is off

MBIMRadioOn 

Radio is on

Function Documentation

◆ BasicConnectDeviceService_Uuid()

const uint8_t* BasicConnectDeviceService_Uuid ( )

Returns the UUID for the MBIM Basic Connect device service.

Returns
UUID

◆ BasicConnectDeviceService_DeviceServiceSubscribeSetBuild()

uint32_t BasicConnectDeviceService_DeviceServiceSubscribeSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
uint32_t  elementCount,
MbimEventEntry elements 
)

Build a MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]elementCountNumber of MbimEventEntry elements in the payload.
[in]elementsArray of elements.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_DeviceServiceSubscribeSetSend()

int BasicConnectDeviceService_DeviceServiceSubscribeSetSend ( MbimTransaction pTransaction,
MbimTransport pTransport,
uint32_t  elementCount,
MbimEventEntry pElements 
)

CAUTION: DEPRECATED, here for backward compatability. Please use combination of BasicConnectDeviceService_DeviceServiceSubscribeSetBuild() and MbimTransport_SendCommand() going forward.

Send a MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST command to the device service and return immediately.

Parameters
[in]pTransactionTransaction object which will track the command/response.
[in]pTransportMBIM transport object which will carry out the command.
[in]elementCountNumber of MbimEventEntry elements in the command.
[in]pElementsArray of elements.
Returns
0 on success, < 0 on failure.
Note
pTransaction must have been initialized with MbimTransaction_Initialize prior to this call.

◆ BasicConnectDeviceService_DeviceServiceSubscribeParse()

uint32_t BasicConnectDeviceService_DeviceServiceSubscribeParse ( uint8_t *  informationBuffer,
uint32_t  informationBufferLength,
uint32_t *  pElementCount,
MbimEventEntry pElements 
)

Parse a MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST response.

Parameters
[in]informationBufferResponse's information data.
[in]informationBufferLengthNumber of bytes of information in response.
[in,out]pElementCountIf caller sets *pElementCount = 0, on return it will be set to number of elements available, without returning any (pElements may be NULL). If caller sets *pElementCount > 0, function will return the minimum of this value and the number of elements available (pElements must not be NULL). This allows caller to optionally determine storage required in first call and retrieve actual data in second call.
[out]pElementsArray of elements to be written to by parsing response.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_PARSE_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_SubscriberReadyStatusQueryBuild()

uint32_t BasicConnectDeviceService_SubscriberReadyStatusQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType 
)

Build a MBIM_CID_SUBSCRIBER_READY_STATUS query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnect_DeviceService_PacketServiceSetBuild()

uint32_t BasicConnect_DeviceService_PacketServiceSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
MBIM_PACKET_SERVICE_ACTION  packetServiceAction 
)

Build a MBIM_CID_PACKET_SERVICE set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]packetServiceActionPacket service action.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_PacketServiceQueryBuild()

uint32_t BasicConnectDeviceService_PacketServiceQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType 
)

Build a MBIM_CID_PACKET_SERVICE query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_RegisterStateSetBuild()

uint32_t BasicConnectDeviceService_RegisterStateSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
wchar_t *  providerId,
MBIM_REGISTER_ACTION  registerAction,
uint32_t  dataClass 
)

Build a MBIM_CID_REGISTER_STATE set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]providerIdprovider ID (NULL-terminated).
[in]registerActionRegister action.
[in]dataClassOne of MBIM_DATA_CLASS.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_RegisterStateQueryBuild()

uint32_t BasicConnectDeviceService_RegisterStateQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType 
)

Build a MBIM_CID_REGISTER_STATE query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_ConnectSetBuild()

uint32_t BasicConnectDeviceService_ConnectSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
uint32_t  sessionId,
MBIM_ACTIVATION_COMMAND  activationCommand,
wchar_t *  accessString,
wchar_t *  userName,
wchar_t *  password,
MBIM_COMPRESSION  compression,
MBIM_AUTH_PROTOCOL  authProtocol,
MBIM_CONTEXT_IP_TYPE  ipType,
uint8_t *  contextType 
)

Build a MBIM_CID_CONNECT set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]sessionIdSession ID for this session.
[in]activationCommandActivation command.
[in]accessStringAccess string (NULL-terminated), may be NULL.
[in]userNameUser name (NULL-terminated), may be NULL .
[in]passwordPassword (NULL-terminated), may be NULL.
[in]compressionCompression type.
[in]authProtocolAuthentication protocol.
[in]ipTypeIP type.
[in]contextTypeContext type, UUID initialized to one of MBIM_CONTEXT_TYPES.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_ConnectQueryBuild()

uint32_t BasicConnectDeviceService_ConnectQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
uint32_t  sessionId 
)

Build a MBIM_CID_CONNECT set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]sessionIdSession ID for this session.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_IpConfigurationQueryBuild()

uint32_t BasicConnectDeviceService_IpConfigurationQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
uint32_t  sessionId 
)

Build a MBIM_CID_IP_CONFIGURATION query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]sessionIdSession ID for this session.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_PinSetBuild()

uint32_t BasicConnectDeviceService_PinSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
MBIM_PIN_TYPE  pinType,
MBIM_PIN_OPERATION  pinOperation,
wchar_t *  pPin,
wchar_t *  pNewPin 
)

Build a MBIM_CID_PIN set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]pinTypePIN type to be operated upon.
[in]pinOperationOperation to be performed.
[in]pPinPIN value (NULL-terminated), may be NULL.
[in]pNewPinPIN value (NULL-terminated), may be NULL.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_PinQueryBuild()

uint32_t BasicConnectDeviceService_PinQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType 
)

Build a MBIM_CID_PIN query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_RadioStateSetBuild()

uint32_t BasicConnectDeviceService_RadioStateSetBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType,
uint8_t *  informationBuffer,
uint32_t *  pInformationBufferLength,
MBIM_RADIO_SWITCH_STATE  radioState 
)

Build a MBIM_CID_RADIO_STATE set payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
[out]informationBufferBuffer where MBIM payload will be constructed.
[in,out]pInformationBufferLengthin = informationBuffer capacity, out = bytes used.
[in]radioStateDesired radio state.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

◆ BasicConnectDeviceService_RadioStateQueryBuild()

uint32_t BasicConnectDeviceService_RadioStateQueryBuild ( const uint8_t **  ppDeviceServiceId,
uint32_t *  pCid,
uint32_t *  pCommandType 
)

Build a MBIM_CID_RADIO_STATE query payload.

Parameters
[out]ppDeviceServiceIdDevice service UUID will be placed here on return.
[out]pCidCID for command will be placed here on return.
[out]pCommandTypeMBIM_COMMAND_TYPE will be placed here on return.
Returns
MBIM_STATUS_SUCCESS on success, MBIM_STATUS_CUSTOM_BUILD_FAILURE on invalid parameters, or memory issues.

Copyright (c) 2011-2020 Sierra Wireless, Inc. All rights reserved