## Enumerations and Flags Enumerations and Flags |

## Synopsis

    enum                MbimDeviceType;
    enum                MbimCellularClass;
    enum                MbimVoiceClass;
    enum                MbimSimClass;
    enum                MbimDataClass;
    enum                MbimSmsCaps;
    enum                MbimCtrlCaps;
    enum                MbimSubscriberReadyState;
    enum                MbimReadyInfoFlag;
    enum                MbimRadioSwitchState;
    enum                MbimPinType;
    enum                MbimPinState;
    enum                MbimPinOperation;
    enum                MbimPinMode;
    enum                MbimPinFormat;
    enum                MbimProviderState;
    enum                MbimVisibleProvidersAction;
    enum                MbimNwError;
    enum                MbimRegisterAction;
    enum                MbimRegisterState;
    enum                MbimRegisterMode;
    enum                MbimRegistrationFlag;
    enum                MbimPacketServiceAction;
    enum                MbimPacketServiceState;
    enum                MbimActivationCommand;
    enum                MbimCompression;
    enum                MbimAuthProtocol;
    enum                MbimContextIpType;
    enum                MbimActivationState;
    enum                MbimVoiceCallState;
    enum                MbimIPConfigurationAvailableFlag;
    enum                MbimSmsStorageState;
    enum                MbimSmsFormat;
    enum                MbimSmsFlag;
    enum                MbimSmsCdmaLang;
    enum                MbimSmsCdmaEncoding;
    enum                MbimSmsStatus;
    enum                MbimSmsStatusFlag;
    enum                MbimUssdAction;
    enum                MbimUssdResponse;
    enum                MbimUssdSessionState;
    enum                MbimPhonebookFlag;
    enum                MbimPhonebookState;
    enum                MbimPhonebookWriteFlag;
    enum                MbimStkPacProfile;
    enum                MbimStkPacType;
    enum                MbimNetworkIdleHintState;
    enum                MbimEmergencyModeState;
    enum                MbimDssLinkState;

    const gchar *       mbim_device_type_get_string         (MbimDeviceType val);
    gchar *             mbim_cellular_class_build_string_from_mask
                                                            (MbimCellularClass mask);
    const gchar *       mbim_voice_class_get_string         (MbimVoiceClass val);
    gchar *             mbim_sim_class_build_string_from_mask
                                                            (MbimSimClass mask);
    gchar *             mbim_data_class_build_string_from_mask
                                                            (MbimDataClass mask);
    gchar *             mbim_sms_caps_build_string_from_mask
                                                            (MbimSmsCaps mask);
    gchar *             mbim_ctrl_caps_build_string_from_mask
                                                            (MbimCtrlCaps mask);
    const gchar *       mbim_subscriber_ready_state_get_string
                                                            (MbimSubscriberReadyState val);
    gchar *             mbim_ready_info_flag_build_string_from_mask
                                                            (MbimReadyInfoFlag mask);
    const gchar *       mbim_radio_switch_state_get_string  (MbimRadioSwitchState val);
    const gchar *       mbim_pin_type_get_string            (MbimPinType val);
    const gchar *       mbim_pin_state_get_string           (MbimPinState val);
    const gchar *       mbim_pin_operation_get_string       (MbimPinOperation val);
    const gchar *       mbim_pin_mode_get_string            (MbimPinMode val);
    const gchar *       mbim_pin_format_get_string          (MbimPinFormat val);
    gchar *             mbim_provider_state_build_string_from_mask
                                                            (MbimProviderState mask);
    const gchar *       mbim_visible_providers_action_get_string
                                                            (MbimVisibleProvidersAction val);
    const gchar *       mbim_nw_error_get_string            (MbimNwError val);
    const gchar *       mbim_register_action_get_string     (MbimRegisterAction val);
    const gchar *       mbim_register_state_get_string      (MbimRegisterState val);
    const gchar *       mbim_register_mode_get_string       (MbimRegisterMode val);
    const gchar *       mbim_packet_service_action_get_string
                                                            (MbimPacketServiceAction val);
    const gchar *       mbim_packet_service_state_get_string
                                                            (MbimPacketServiceState val);
    const gchar *       mbim_activation_command_get_string  (MbimActivationCommand val);
    const gchar *       mbim_compression_get_string         (MbimCompression val);
    const gchar *       mbim_auth_protocol_get_string       (MbimAuthProtocol val);
    const gchar *       mbim_context_ip_type_get_string     (MbimContextIpType val);
    const gchar *       mbim_activation_state_get_string    (MbimActivationState val);
    const gchar *       mbim_voice_call_state_get_string    (MbimVoiceCallState val);
    gchar *             mbim_ip_configuration_available_flag_build_string_from_mask
                                                            (MbimIPConfigurationAvailableFlag mask);
    const gchar *       mbim_sms_storage_state_get_string   (MbimSmsStorageState val);
    const gchar *       mbim_sms_format_get_string          (MbimSmsFormat val);
    const gchar *       mbim_sms_flag_get_string            (MbimSmsFlag val);
    const gchar *       mbim_sms_cdma_lang_get_string       (MbimSmsCdmaLang val);
    const gchar *       mbim_sms_cdma_encoding_get_string   (MbimSmsCdmaEncoding val);
    const gchar *       mbim_sms_status_get_string          (MbimSmsStatus val);
    const gchar *       mbim_sms_status_flag_get_string     (MbimSmsStatusFlag val);
    const gchar *       mbim_ussd_action_get_string         (MbimUssdAction val);
    const gchar *       mbim_ussd_response_get_string       (MbimUssdResponse val);
    const gchar *       mbim_ussd_session_state_get_string  (MbimUssdSessionState val);
    const gchar *       mbim_phonebook_flag_get_string      (MbimPhonebookFlag val);
    const gchar *       mbim_phonebook_state_get_string     (MbimPhonebookState val);
    const gchar *       mbim_phonebook_write_flag_get_string
                                                            (MbimPhonebookWriteFlag val);
    const gchar *       mbim_stk_pac_profile_get_string     (MbimStkPacProfile val);
    const gchar *       mbim_stk_pac_type_get_string        (MbimStkPacType val);
    const gchar *       mbim_network_idle_hint_state_get_string
                                                            (MbimNetworkIdleHintState val);
    const gchar *       mbim_emergency_mode_state_get_string
                                                            (MbimEmergencyModeState val);
    const gchar *       mbim_dss_link_state_get_string      (MbimDssLinkState val);

## Object Hierarchy

      GEnum
       +----MbimDeviceType

      GFlags
       +----MbimCellularClass

      GEnum
       +----MbimVoiceClass

      GFlags
       +----MbimSimClass

      GFlags
       +----MbimDataClass

      GFlags
       +----MbimSmsCaps

      GFlags
       +----MbimCtrlCaps

      GEnum
       +----MbimSubscriberReadyState

      GFlags
       +----MbimReadyInfoFlag

      GEnum
       +----MbimRadioSwitchState

      GEnum
       +----MbimPinType

      GEnum
       +----MbimPinState

      GEnum
       +----MbimPinOperation

      GEnum
       +----MbimPinMode

      GEnum
       +----MbimPinFormat

      GFlags
       +----MbimProviderState

      GEnum
       +----MbimVisibleProvidersAction

      GEnum
       +----MbimNwError

      GEnum
       +----MbimRegisterAction

      GEnum
       +----MbimRegisterState

      GEnum
       +----MbimRegisterMode

      GFlags
       +----MbimRegistrationFlag

      GEnum
       +----MbimPacketServiceAction

      GEnum
       +----MbimPacketServiceState

      GEnum
       +----MbimActivationCommand

      GEnum
       +----MbimCompression

      GEnum
       +----MbimAuthProtocol

      GEnum
       +----MbimContextIpType

      GEnum
       +----MbimActivationState

      GEnum
       +----MbimVoiceCallState

      GFlags
       +----MbimIPConfigurationAvailableFlag

      GEnum
       +----MbimSmsStorageState

      GEnum
       +----MbimSmsFormat

      GEnum
       +----MbimSmsFlag

      GEnum
       +----MbimSmsCdmaLang

      GEnum
       +----MbimSmsCdmaEncoding

      GEnum
       +----MbimSmsStatus

      GEnum
       +----MbimSmsStatusFlag

      GEnum
       +----MbimUssdAction

      GEnum
       +----MbimUssdResponse

      GEnum
       +----MbimUssdSessionState

      GEnum
       +----MbimPhonebookFlag

      GEnum
       +----MbimPhonebookState

      GEnum
       +----MbimPhonebookWriteFlag

      GEnum
       +----MbimStkPacProfile

      GEnum
       +----MbimStkPacType

      GEnum
       +----MbimNetworkIdleHintState

      GEnum
       +----MbimEmergencyModeState

      GEnum
       +----MbimDssLinkState

## Description

This section defines common enum and flag types used in the interface.

## Details

### enum MbimDeviceType

    typedef enum {
        MBIM_DEVICE_TYPE_UNKNOWN   = 0,
        MBIM_DEVICE_TYPE_EMBEDDED  = 1,
        MBIM_DEVICE_TYPE_REMOVABLE = 2,
        MBIM_DEVICE_TYPE_REMOTE    = 3
    } MbimDeviceType;

Type of device.

`MBIM_DEVICE_TYPE_UNKNOWN` | Unknown type.
`MBIM_DEVICE_TYPE_EMBEDDED` | Device is embedded in the system.
`MBIM_DEVICE_TYPE_REMOVABLE` | Device is removable.
`MBIM_DEVICE_TYPE_REMOTE` | Device is remote.

### enum MbimCellularClass

    typedef enum {
        MBIM_CELLULAR_CLASS_GSM  = 1 << 0,
        MBIM_CELLULAR_CLASS_CDMA = 1 << 1
    } MbimCellularClass;

Cellular class.

`MBIM_CELLULAR_CLASS_GSM` | Device is 3GPP.
`MBIM_CELLULAR_CLASS_CDMA` | Device is 3GPP2.

### enum MbimVoiceClass

    typedef enum {
        MBIM_VOICE_CLASS_UNKNOWN                 = 0,
        MBIM_VOICE_CLASS_NO_VOICE                = 1,
        MBIM_VOICE_CLASS_SEPARATED_VOICE_DATA    = 2,
        MBIM_VOICE_CLASS_SIMULTANEOUS_VOICE_DATA = 3
    } MbimVoiceClass;

Voice class.

`MBIM_VOICE_CLASS_UNKNOWN` | Unknown voice class.
`MBIM_VOICE_CLASS_NO_VOICE` | Device doesn't support voice.
`MBIM_VOICE_CLASS_SEPARATED_VOICE_DATA` | Device supports separate voice and data connections.
`MBIM_VOICE_CLASS_SIMULTANEOUS_VOICE_DATA` | Device supports simultaneous voice and data connections.

### enum MbimSimClass

    typedef enum {
        MBIM_SIM_CLASS_LOGICAL   = 1 << 0,
        MBIM_SIM_CLASS_REMOVABLE = 1 << 1
    } MbimSimClass;

SIM class.

`MBIM_SIM_CLASS_LOGICAL` | No physical SIM.
`MBIM_SIM_CLASS_REMOVABLE` | Physical removable SIM.

### enum MbimDataClass

    typedef enum {
        MBIM_DATA_CLASS_GPRS        = 1 << 0,
        MBIM_DATA_CLASS_EDGE        = 1 << 1,
        MBIM_DATA_CLASS_UMTS        = 1 << 2,
        MBIM_DATA_CLASS_HSDPA       = 1 << 3,
        MBIM_DATA_CLASS_HSUPA       = 1 << 4,
        MBIM_DATA_CLASS_LTE         = 1 << 5,
        /* Bits 6 to 15 reserved for future 3GPP classes */
        MBIM_DATA_CLASS_1XRTT       = 1 << 16,
        MBIM_DATA_CLASS_1XEVDO      = 1 << 17,
        MBIM_DATA_CLASS_1XEVDO_REVA = 1 << 18,
        MBIM_DATA_CLASS_1XEVDV      = 1 << 19,
        MBIM_DATA_CLASS_3XRTT       = 1 << 20,
        MBIM_DATA_CLASS_1XEVDO_REVB = 1 << 21,
        MBIM_DATA_CLASS_UMB         = 1 << 22,
        /* Bits 23 to 30 reserved for future 3GPP2 classes */
        MBIM_DATA_CLASS_CUSTOM      = 1 << 31
    } MbimDataClass;

Data class.

`MBIM_DATA_CLASS_GPRS` | GPRS.
`MBIM_DATA_CLASS_EDGE` | EDGE.
`MBIM_DATA_CLASS_UMTS` | UMTS.
`MBIM_DATA_CLASS_HSDPA` | HSDPA.
`MBIM_DATA_CLASS_HSUPA` | HSUPA.
`MBIM_DATA_CLASS_LTE` | LTE.
`MBIM_DATA_CLASS_1XRTT` | 1xRTT.
`MBIM_DATA_CLASS_1XEVDO` | 1xEV-DO.
`MBIM_DATA_CLASS_1XEVDO_REVA` | 1xEV-DO RevA
`MBIM_DATA_CLASS_1XEVDV` | 1xEV-DV.
`MBIM_DATA_CLASS_3XRTT` | 3xRTT.
`MBIM_DATA_CLASS_1XEVDO_REVB` | 1xEV-DO RevB.
`MBIM_DATA_CLASS_UMB` | UMB.
`MBIM_DATA_CLASS_CUSTOM` | Custom.

### enum MbimSmsCaps

    typedef enum {
        MBIM_SMS_CAPS_PDU_RECEIVE  = 1 << 0,
        MBIM_SMS_CAPS_PDU_SEND     = 1 << 1,
        MBIM_SMS_CAPS_TEXT_RECEIVE = 1 << 2,
        MBIM_SMS_CAPS_TEXT_SEND    = 1 << 3
    } MbimSmsCaps;

SMS capabilities.

`MBIM_SMS_CAPS_PDU_RECEIVE` | Can receive in PDU mode.
`MBIM_SMS_CAPS_PDU_SEND` | Can send in PDU mode.
`MBIM_SMS_CAPS_TEXT_RECEIVE` | Can receive in text mode.
`MBIM_SMS_CAPS_TEXT_SEND` | Can send in text mode.

### enum MbimCtrlCaps

    typedef enum {
        MBIM_CTRL_CAPS_REG_MANUAL      = 1 << 0,
        MBIM_CTRL_CAPS_HW_RADIO_SWITCH = 1 << 1,
        MBIM_CTRL_CAPS_CDMA_MOBILE_IP  = 1 << 2,
        MBIM_CTRL_CAPS_CDMA_SIMPLE_IP  = 1 << 3,
        MBIM_CTRL_CAPS_MULTI_CARRIER   = 1 << 4
    } MbimCtrlCaps;

Control capabilities.

`MBIM_CTRL_CAPS_REG_MANUAL` | Device allows manual network selection.
`MBIM_CTRL_CAPS_HW_RADIO_SWITCH` | Device has a hardware radio power switch.
`MBIM_CTRL_CAPS_CDMA_MOBILE_IP` | The CDMA function supports Mobile IP.
`MBIM_CTRL_CAPS_CDMA_SIMPLE_IP` | The CDMA function supports Simple IP.
`MBIM_CTRL_CAPS_MULTI_CARRIER` | Device can work with multiple providers.

### enum MbimSubscriberReadyState

    typedef enum {
        MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED  = 0,
        MBIM_SUBSCRIBER_READY_STATE_INITIALIZED      = 1,
        MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED = 2,
        MBIM_SUBSCRIBER_READY_STATE_BAD_SIM          = 3,
        MBIM_SUBSCRIBER_READY_STATE_FAILURE          = 4,
        MBIM_SUBSCRIBER_READY_STATE_NOT_ACTIVATED    = 5,
        MBIM_SUBSCRIBER_READY_STATE_DEVICE_LOCKED    = 6,
    } MbimSubscriberReadyState;

Ready state of the subscriber.

`MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED` | Not initialized.
`MBIM_SUBSCRIBER_READY_STATE_INITIALIZED` | Initialized.
`MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED` | SIM not inserted.
`MBIM_SUBSCRIBER_READY_STATE_BAD_SIM` | Bad SIM.
`MBIM_SUBSCRIBER_READY_STATE_FAILURE` | Failure.
`MBIM_SUBSCRIBER_READY_STATE_NOT_ACTIVATED` | Not activated.
`MBIM_SUBSCRIBER_READY_STATE_DEVICE_LOCKED` | Device locked.

### enum MbimReadyInfoFlag

    typedef enum {
        MBIM_READY_INFO_FLAG_PROTECT_UNIQUE_ID = 1 << 0
    } MbimReadyInfoFlag;

`MBIM_READY_INFO_FLAG_PROTECT_UNIQUE_ID` | Request to avoid displaying subscriber ID.

### enum MbimRadioSwitchState

    typedef enum {
        MBIM_RADIO_SWITCH_STATE_OFF = 0,
        MBIM_RADIO_SWITCH_STATE_ON  = 1
    } MbimRadioSwitchState;

Radio switch state.

`MBIM_RADIO_SWITCH_STATE_OFF` | Radio is off.
`MBIM_RADIO_SWITCH_STATE_ON` | Radio is on.

### enum MbimPinType

    typedef enum {
        MBIM_PIN_TYPE_UNKNOWN              = 0,
        MBIM_PIN_TYPE_CUSTOM               = 1,
        MBIM_PIN_TYPE_PIN1                 = 2,
        MBIM_PIN_TYPE_PIN2                 = 3,
        MBIM_PIN_TYPE_DEVICE_SIM_PIN       = 4,
        MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PIN = 5,
        MBIM_PIN_TYPE_NETWORK_PIN          = 6,
        MBIM_PIN_TYPE_NETWORK_SUBSET_PIN   = 7,
        MBIM_PIN_TYPE_SERVICE_PROVIDER_PIN = 8,
        MBIM_PIN_TYPE_CORPORATE_PIN        = 9,
        MBIM_PIN_TYPE_SUBSIDY_PIN          = 10,
        MBIM_PIN_TYPE_PUK1                 = 11,
        MBIM_PIN_TYPE_PUK2                 = 12,
        MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PUK = 13,
        MBIM_PIN_TYPE_NETWORK_PUK          = 14,
        MBIM_PIN_TYPE_NETWORK_SUBSET_PUK   = 15,
        MBIM_PIN_TYPE_SERVICE_PROVIDER_PUK = 16,
        MBIM_PIN_TYPE_CORPORATE_PUK        = 17
    } MbimPinType;

PIN Types.

`MBIM_PIN_TYPE_UNKNOWN` | Unknown or unset.
`MBIM_PIN_TYPE_CUSTOM` | The PIN type is a custom type and is none of the other PIN types listed in this enumeration.
`MBIM_PIN_TYPE_PIN1` | The PIN1 key.
`MBIM_PIN_TYPE_PIN2` | The PIN2 key.
`MBIM_PIN_TYPE_DEVICE_SIM_PIN` | The device to SIM key.
`MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PIN` | The device to very first SIM key.
`MBIM_PIN_TYPE_NETWORK_PIN` | The network personalization key.
`MBIM_PIN_TYPE_NETWORK_SUBSET_PIN` | The network subset personalization key.
`MBIM_PIN_TYPE_SERVICE_PROVIDER_PIN` | The service provider (SP) personalization key.
`MBIM_PIN_TYPE_CORPORATE_PIN` | The corporate personalization key.
`MBIM_PIN_TYPE_SUBSIDY_PIN` | The subsidy unlock key.
`MBIM_PIN_TYPE_PUK1` | The Personal Identification Number1 Unlock Key (PUK1).
`MBIM_PIN_TYPE_PUK2` | The Personal Identification Number2 Unlock Key (PUK2).
`MBIM_PIN_TYPE_DEVICE_FIRST_SIM_PUK` | The device to very first SIM PIN unlock key.
`MBIM_PIN_TYPE_NETWORK_PUK` | The network personalization unlock key.
`MBIM_PIN_TYPE_NETWORK_SUBSET_PUK` | The network subset personalization unlock key.
`MBIM_PIN_TYPE_SERVICE_PROVIDER_PUK` | The service provider (SP) personalization unlock key.
`MBIM_PIN_TYPE_CORPORATE_PUK` | The corporate personalization unlock key.

### enum MbimPinState

    typedef enum {
        MBIM_PIN_STATE_UNLOCKED = 0,
        MBIM_PIN_STATE_LOCKED   = 1
    } MbimPinState;

PIN States.

`MBIM_PIN_STATE_UNLOCKED` | The device does not require a PIN.
`MBIM_PIN_STATE_LOCKED` | The device requires the user to enter a PIN.

### enum MbimPinOperation

    typedef enum {
        MBIM_PIN_OPERATION_ENTER   = 0,
        MBIM_PIN_OPERATION_ENABLE  = 1,
        MBIM_PIN_OPERATION_DISABLE = 2,
        MBIM_PIN_OPERATION_CHANGE  = 3
    } MbimPinOperation;

`MBIM_PIN_OPERATION_ENTER` | Enter the specified PIN into the device.
`MBIM_PIN_OPERATION_ENABLE` | Enable the specified PIN.
`MBIM_PIN_OPERATION_DISABLE` | Disable the specified PIN.
`MBIM_PIN_OPERATION_CHANGE` | Change the specified PIN.

### enum MbimPinMode

    typedef enum {
        MBIM_PIN_MODE_NOT_SUPPORTED = 0,
        MBIM_PIN_MODE_ENABLED       = 1,
        MBIM_PIN_MODE_DISABLED      = 2
    } MbimPinMode;

Whether the lock is enabled or disabled.

`MBIM_PIN_MODE_NOT_SUPPORTED` | Not supported.
`MBIM_PIN_MODE_ENABLED` | Enabled.
`MBIM_PIN_MODE_DISABLED` | Disabled.

### enum MbimPinFormat

    typedef enum {
        MBIM_PIN_FORMAT_UNKNOWN      = 0,
        MBIM_PIN_FORMAT_NUMERIC      = 1,
        MBIM_PIN_FORMAT_ALPHANUMERIC = 2
    } MbimPinFormat;

Format of the expected PIN code.

`MBIM_PIN_FORMAT_UNKNOWN` | Unknown format.
`MBIM_PIN_FORMAT_NUMERIC` | Numeric-only format.
`MBIM_PIN_FORMAT_ALPHANUMERIC` | Alphanumeric format.

### enum MbimProviderState

    typedef enum {
        MBIM_PROVIDER_STATE_UNKNOWN                = 0,
        MBIM_PROVIDER_STATE_HOME                   = 1 << 0,
        MBIM_PROVIDER_STATE_FORBIDDEN              = 1 << 1,
        MBIM_PROVIDER_STATE_PREFERRED              = 1 << 2,
        MBIM_PROVIDER_STATE_VISIBLE                = 1 << 3,
        MBIM_PROVIDER_STATE_REGISTERED             = 1 << 4,
        MBIM_PROVIDER_STATE_PREFERRED_MULTICARRIER = 1 << 5
    } MbimProviderState;

State of the provider.

`MBIM_PROVIDER_STATE_UNKNOWN` | Unknown.
`MBIM_PROVIDER_STATE_HOME` | Home operator.
`MBIM_PROVIDER_STATE_FORBIDDEN` | Provider blocked.
`MBIM_PROVIDER_STATE_PREFERRED` | Provider is in the preferred list.
`MBIM_PROVIDER_STATE_VISIBLE` | Provider is visible.
`MBIM_PROVIDER_STATE_REGISTERED` | Currently registered to the provider.
`MBIM_PROVIDER_STATE_PREFERRED_MULTICARRIER` | Provider is a preferred multicarrier network.

### enum MbimVisibleProvidersAction

    typedef enum {
        MBIM_VISIBLE_PROVIDERS_ACTION_FULL_SCAN       = 0,
        MBIM_VISIBLE_PROVIDERS_ACTION_RESTRICTED_SCAN = 1
    } MbimVisibleProvidersAction;

Type of action to perform when listing visible providers.

`MBIM_VISIBLE_PROVIDERS_ACTION_FULL_SCAN` | Full scan.
`MBIM_VISIBLE_PROVIDERS_ACTION_RESTRICTED_SCAN` | Locate preferred multicarrier providers.

### enum MbimNwError

    typedef enum {
        MBIM_NW_ERROR_UNKNOWN                              = 0,
        MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR                  = 2,
        MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR                  = 4,
        MBIM_NW_ERROR_ILLEGAL_ME                           = 6,
        MBIM_NW_ERROR_GPRS_NOT_ALLOWED                     = 7,
        MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED        = 8,
        MBIM_NW_ERROR_PLMN_NOT_ALLOWED                     = 11,
        MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED            = 12,
        MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA = 13,
        MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN             = 14,
        MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA            = 15,
        MBIM_NW_ERROR_NETWORK_FAILURE                      = 17,
        MBIM_NW_ERROR_CONGESTION                           = 22
    } MbimNwError;

Network errors.

`MBIM_NW_ERROR_UNKNOWN` | Unknown or unset error.
`MBIM_NW_ERROR_IMSI_UNKNOWN_IN_HLR` | IMSI unknown in the HLR.
`MBIM_NW_ERROR_IMSI_UNKNOWN_IN_VLR` | IMSI unknown in the VLR.
`MBIM_NW_ERROR_ILLEGAL_ME` | Illegal ME.
`MBIM_NW_ERROR_GPRS_NOT_ALLOWED` | GPRS not allowed.
`MBIM_NW_ERROR_GPRS_AND_NON_GPRS_NOT_ALLOWED` | GPRS and non-GPRS not allowed.
`MBIM_NW_ERROR_PLMN_NOT_ALLOWED` | PLMN not allowed.
`MBIM_NW_ERROR_LOCATION_AREA_NOT_ALLOWED` | Location area not allowed.
`MBIM_NW_ERROR_ROAMING_NOT_ALLOWED_IN_LOCATION_AREA` | Roaming not allowed in the location area.
`MBIM_NW_ERROR_GPRS_NOT_ALLOWED_IN_PLMN` | GPRS not allowed in PLMN.
`MBIM_NW_ERROR_NO_CELLS_IN_LOCATION_AREA` | No cells in location area.
`MBIM_NW_ERROR_NETWORK_FAILURE` | Network failure.
`MBIM_NW_ERROR_CONGESTION` | Congestion.

### enum MbimRegisterAction

    typedef enum {
        MBIM_REGISTER_ACTION_AUTOMATIC = 0,
        MBIM_REGISTER_ACTION_MANUAL    = 1
    } MbimRegisterAction;

Type of registration requested.

`MBIM_REGISTER_ACTION_AUTOMATIC` | Automatic registration.
`MBIM_REGISTER_ACTION_MANUAL` | Manual registration.

### enum MbimRegisterState

    typedef enum {
        MBIM_REGISTER_STATE_UNKNOWN      = 0,
        MBIM_REGISTER_STATE_DEREGISTERED = 1,
        MBIM_REGISTER_STATE_SEARCHING    = 2,
        MBIM_REGISTER_STATE_HOME         = 3,
        MBIM_REGISTER_STATE_ROAMING      = 4,
        MBIM_REGISTER_STATE_PARTNER      = 5,
        MBIM_REGISTER_STATE_DENIED       = 6
    } MbimRegisterState;

Registration state.

`MBIM_REGISTER_STATE_UNKNOWN` | Unknown registration state.
`MBIM_REGISTER_STATE_DEREGISTERED` | Not registered.
`MBIM_REGISTER_STATE_SEARCHING` | Searching.
`MBIM_REGISTER_STATE_HOME` | Registered in home network.
`MBIM_REGISTER_STATE_ROAMING` | Registered in roaming network.
`MBIM_REGISTER_STATE_PARTNER` | Registered in a preferred roaming network.
`MBIM_REGISTER_STATE_DENIED` | Registration denied.

### enum MbimRegisterMode

    typedef enum {
        MBIM_REGISTER_MODE_UNKNOWN   = 0,
        MBIM_REGISTER_MODE_AUTOMATIC = 1,
        MBIM_REGISTER_MODE_MANUAL    = 2
    } MbimRegisterMode;

Type of registration requested.

`MBIM_REGISTER_MODE_UNKNOWN` | Unknown.
`MBIM_REGISTER_MODE_AUTOMATIC` | Automatic registration.
`MBIM_REGISTER_MODE_MANUAL` | Manual registration.

### enum MbimRegistrationFlag

    typedef enum {
        MBIM_REGISTRATION_FLAG_NONE                                   = 0,
        MBIM_REGISTRATION_FLAG_MANUAL_SELECTION_NOT_AVAILABLE         = 1 << 0,
        MBIM_REGISTRATION_FLAG_MANUAL_PACKET_SERVICE_AUTOMATIC_ATTACH = 1 << 2,
    } MbimRegistrationFlag;

Registration flags.

`MBIM_REGISTRATION_FLAG_NONE` | None.
`MBIM_REGISTRATION_FLAG_MANUAL_SELECTION_NOT_AVAILABLE` | Network doesn't support manual network selection.
`MBIM_REGISTRATION_FLAG_MANUAL_PACKET_SERVICE_AUTOMATIC_ATTACH` | Modem should auto-attach to the network after registration.

### enum MbimPacketServiceAction

    typedef enum {
        MBIM_PACKET_SERVICE_ACTION_ATTACH = 0,
        MBIM_PACKET_SERVICE_ACTION_DETACH = 1
    } MbimPacketServiceAction;

Packet Service Action.

`MBIM_PACKET_SERVICE_ACTION_ATTACH` | Attach.
`MBIM_PACKET_SERVICE_ACTION_DETACH` | Detach.

### enum MbimPacketServiceState

    typedef enum {
        MBIM_PACKET_SERVICE_STATE_UNKNOWN   = 0,
        MBIM_PACKET_SERVICE_STATE_ATTACHING = 1,
        MBIM_PACKET_SERVICE_STATE_ATTACHED  = 2,
        MBIM_PACKET_SERVICE_STATE_DETACHING = 3,
        MBIM_PACKET_SERVICE_STATE_DETACHED  = 4
    } MbimPacketServiceState;

Packet Service State.

`MBIM_PACKET_SERVICE_STATE_UNKNOWN` | Unknown.
`MBIM_PACKET_SERVICE_STATE_ATTACHING` | Attaching.
`MBIM_PACKET_SERVICE_STATE_ATTACHED` | Attached.
`MBIM_PACKET_SERVICE_STATE_DETACHING` | Detaching.
`MBIM_PACKET_SERVICE_STATE_DETACHED` | Detached.

### enum MbimActivationCommand

    typedef enum {
        MBIM_ACTIVATION_COMMAND_DEACTIVATE = 0,
        MBIM_ACTIVATION_COMMAND_ACTIVATE   = 1
    } MbimActivationCommand;

Activation Command.

`MBIM_ACTIVATION_COMMAND_DEACTIVATE` | Deactivate.
`MBIM_ACTIVATION_COMMAND_ACTIVATE` | Activate.

### enum MbimCompression

    typedef enum {
        MBIM_COMPRESSION_NONE   = 0,
        MBIM_COMPRESSION_ENABLE = 1
    } MbimCompression;

Compression.

`MBIM_COMPRESSION_NONE` | None.
`MBIM_COMPRESSION_ENABLE` | Enable.

### enum MbimAuthProtocol

    typedef enum {
        MBIM_AUTH_PROTOCOL_NONE     = 0,
        MBIM_AUTH_PROTOCOL_PAP      = 1,
        MBIM_AUTH_PROTOCOL_CHAP     = 2,
        MBIM_AUTH_PROTOCOL_MSCHAPV2 = 3
    } MbimAuthProtocol;

Auth Protocol.

`MBIM_AUTH_PROTOCOL_NONE` | None.
`MBIM_AUTH_PROTOCOL_PAP` | Pap.
`MBIM_AUTH_PROTOCOL_CHAP` | Chap.
`MBIM_AUTH_PROTOCOL_MSCHAPV2` | V2.

### enum MbimContextIpType

    typedef enum {
        MBIM_CONTEXT_IP_TYPE_DEFAULT       = 0,
        MBIM_CONTEXT_IP_TYPE_IPV4          = 1,
        MBIM_CONTEXT_IP_TYPE_IPV6          = 2,
        MBIM_CONTEXT_IP_TYPE_IPV4V6        = 3,
        MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6 = 4
    } MbimContextIpType;

Context IP Type.

`MBIM_CONTEXT_IP_TYPE_DEFAULT` | It is up to the function to decide, the host does not care.
`MBIM_CONTEXT_IP_TYPE_IPV4` | IPv4 context.
`MBIM_CONTEXT_IP_TYPE_IPV6` | IPv6 context.
`MBIM_CONTEXT_IP_TYPE_IPV4V6` | The context is IPv4, IPv6 or dualstack IPv4v6.
`MBIM_CONTEXT_IP_TYPE_IPV4_AND_IPV6` | Both an IPv4 and an IPv6 context.

### enum MbimActivationState

    typedef enum {
        MBIM_ACTIVATION_STATE_UNKNOWN      = 0,
        MBIM_ACTIVATION_STATE_ACTIVATED    = 1,
        MBIM_ACTIVATION_STATE_ACTIVATING   = 2,
        MBIM_ACTIVATION_STATE_DEACTIVATED  = 3,
        MBIM_ACTIVATION_STATE_DEACTIVATING = 4
    } MbimActivationState;

Activation State.

`MBIM_ACTIVATION_STATE_UNKNOWN` | Unknown.
`MBIM_ACTIVATION_STATE_ACTIVATED` | Activated.
`MBIM_ACTIVATION_STATE_ACTIVATING` | Activating.
`MBIM_ACTIVATION_STATE_DEACTIVATED` | Deactivated.
`MBIM_ACTIVATION_STATE_DEACTIVATING` | Deactivating.

### enum MbimVoiceCallState

    typedef enum {
        MBIM_VOICE_CALL_STATE_NONE        = 0,
        MBIM_VOICE_CALL_STATE_IN_PROGRESS = 1,
        MBIM_VOICE_CALL_STATE_HANG_UP     = 2
    } MbimVoiceCallState;

Voice Call State.

`MBIM_VOICE_CALL_STATE_NONE` | None.
`MBIM_VOICE_CALL_STATE_IN_PROGRESS` | Progress.
`MBIM_VOICE_CALL_STATE_HANG_UP` | Up.

### enum MbimIPConfigurationAvailableFlag

    typedef enum {
     /*< underscore_name=mbim_ip_configuration_available_flag >*/
        MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_NONE     = 0,
        MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_ADDRESS  = 1 << 0,
        MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_GATEWAY  = 1 << 1,
        MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS      = 1 << 2,
        MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_MTU      = 1 << 3,
    } MbimIPConfigurationAvailableFlag;

Mask of available information about an IP address.

`MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_NONE` | No info available.
`MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_ADDRESS` | Address info available.
`MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_GATEWAY` | Gateway info available.
`MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_DNS` | DNS info available.
`MBIM_IP_CONFIGURATION_AVAILABLE_FLAG_MTU` | MTU info available.

### enum MbimSmsStorageState

    typedef enum {
        MBIM_SMS_STORAGE_STATE_NOT_INITIALIZED = 0,
        MBIM_SMS_STORAGE_STATE_INITIALIZED     = 1
    } MbimSmsStorageState;

State of the SMS storage.

`MBIM_SMS_STORAGE_STATE_NOT_INITIALIZED` | Storage not initialized.
`MBIM_SMS_STORAGE_STATE_INITIALIZED` | Storage initialized.

### enum MbimSmsFormat

    typedef enum {
        MBIM_SMS_FORMAT_PDU  = 0,
        MBIM_SMS_FORMAT_CDMA = 1
    } MbimSmsFormat;

SMS format.

`MBIM_SMS_FORMAT_PDU` | PDU format.
`MBIM_SMS_FORMAT_CDMA` | CDMA format.

### enum MbimSmsFlag

    typedef enum {
        MBIM_SMS_FLAG_ALL   = 0,
        MBIM_SMS_FLAG_INDEX = 1,
        MBIM_SMS_FLAG_NEW   = 2,
        MBIM_SMS_FLAG_OLD   = 3,
        MBIM_SMS_FLAG_SENT  = 4,
        MBIM_SMS_FLAG_DRAFT = 5
    } MbimSmsFlag;

Flags to use when requesting to read SMS. `MBIM_SMS_FLAG_ALL` and `MBIM_SMS_FLAG_NEW` are mandatory, all the others are optional.

`MBIM_SMS_FLAG_ALL` | All.
`MBIM_SMS_FLAG_INDEX` | Index.
`MBIM_SMS_FLAG_NEW` | New.
`MBIM_SMS_FLAG_OLD` | Old.
`MBIM_SMS_FLAG_SENT` | Sent.
`MBIM_SMS_FLAG_DRAFT` | Draft.

### enum MbimSmsCdmaLang

    typedef enum {
        MBIM_SMS_CDMA_LANG_UNKNOWN  = 0,
        MBIM_SMS_CDMA_LANG_ENGLISH  = 1,
        MBIM_SMS_CDMA_LANG_FRENCH   = 2,
        MBIM_SMS_CDMA_LANG_SPANISH  = 3,
        MBIM_SMS_CDMA_LANG_JAPANESE = 4,
        MBIM_SMS_CDMA_LANG_KOREAN   = 5,
        MBIM_SMS_CDMA_LANG_CHINESE  = 6,
        MBIM_SMS_CDMA_LANG_HEBREW   = 7
    } MbimSmsCdmaLang;

Language of a CDMA SMS.

`MBIM_SMS_CDMA_LANG_UNKNOWN` | Unknown language.
`MBIM_SMS_CDMA_LANG_ENGLISH` | English.
`MBIM_SMS_CDMA_LANG_FRENCH` | French.
`MBIM_SMS_CDMA_LANG_SPANISH` | Spanish.
`MBIM_SMS_CDMA_LANG_JAPANESE` | Japanese.
`MBIM_SMS_CDMA_LANG_KOREAN` | Korean.
`MBIM_SMS_CDMA_LANG_CHINESE` | Chinese.
`MBIM_SMS_CDMA_LANG_HEBREW` | Hebrew.

### enum MbimSmsCdmaEncoding

    typedef enum {
        MBIM_SMS_CDMA_ENCODING_OCTET        = 0,
        MBIM_SMS_CDMA_ENCODING_EPM          = 1,
        MBIM_SMS_CDMA_ENCODING_7BIT_ASCII   = 2,
        MBIM_SMS_CDMA_ENCODING_LA5          = 3,
        MBIM_SMS_CDMA_ENCODING_UNICODE      = 4,
        MBIM_SMS_CDMA_ENCODING_SHIFT_JIS    = 5,
        MBIM_SMS_CDMA_ENCODING_KOREAN       = 6,
        MBIM_SMS_CDMA_ENCODING_LATIN_HEBREW = 7,
        MBIM_SMS_CDMA_ENCODING_LATIN        = 8,
        MBIM_SMS_CDMA_ENCODING_GSM_7BIT     = 9
    } MbimSmsCdmaEncoding;

Type of encoding of a CDMA SMS.

`MBIM_SMS_CDMA_ENCODING_OCTET` | Octet.
`MBIM_SMS_CDMA_ENCODING_EPM` | EPM.
`MBIM_SMS_CDMA_ENCODING_7BIT_ASCII` | 7-bit ASCII.
`MBIM_SMS_CDMA_ENCODING_LA5` | LA5.
`MBIM_SMS_CDMA_ENCODING_UNICODE` | Unicode.
`MBIM_SMS_CDMA_ENCODING_SHIFT_JIS` | Shift JIS.
`MBIM_SMS_CDMA_ENCODING_KOREAN` | Korean.
`MBIM_SMS_CDMA_ENCODING_LATIN_HEBREW` | Latin hebrew.
`MBIM_SMS_CDMA_ENCODING_LATIN` | Latin.
`MBIM_SMS_CDMA_ENCODING_GSM_7BIT` | 7-bit GSM.

### enum MbimSmsStatus

    typedef enum {
        MBIM_SMS_STATUS_NEW   = 0,
        MBIM_SMS_STATUS_OLD   = 1,
        MBIM_SMS_STATUS_DRAFT = 2,
        MBIM_SMS_STATUS_SENT  = 3
    } MbimSmsStatus;

Status of a SMS message.

`MBIM_SMS_STATUS_NEW` | New.
`MBIM_SMS_STATUS_OLD` | Old.
`MBIM_SMS_STATUS_DRAFT` | Draft.
`MBIM_SMS_STATUS_SENT` | Sent.

### enum MbimSmsStatusFlag

    typedef enum {
        MBIM_SMS_STATUS_FLAG_NONE               = 0,
        MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL = 1,
        MBIM_SMS_STATUS_FLAG_NEW_MESSAGE        = 2
    } MbimSmsStatusFlag;

SMS status flags.

`MBIM_SMS_STATUS_FLAG_NONE` | None.
`MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL` | Message store is full.
`MBIM_SMS_STATUS_FLAG_NEW_MESSAGE` | New non-Class 0 message arrived.

### enum MbimUssdAction

    typedef enum {
        MBIM_USSD_ACTION_INITIATE = 0,
        MBIM_USSD_ACTION_CONTINUE = 1,
        MBIM_USSD_ACTION_CANCEL = 2
    } MbimUssdAction;

USSD action.

`MBIM_USSD_ACTION_INITIATE` | Initiate USSD session.
`MBIM_USSD_ACTION_CONTINUE` | Continue USSD session.
`MBIM_USSD_ACTION_CANCEL` | Cancel USSD session.

### enum MbimUssdResponse

    typedef enum {
        MBIM_USSD_RESPONSE_NO_ACTION_REQUIRED      = 0,
        MBIM_USSD_RESPONSE_ACTION_REQUIRED         = 1,
        MBIM_USSD_RESPONSE_TERMINATED_BY_NETWORK   = 2,
        MBIM_USSD_RESPONSE_OTHER_LOCAL_CLIENT      = 3,
        MBIM_USSD_RESPONSE_OPERATION_NOT_SUPPORTED = 4,
        MBIM_USSD_RESPONSE_NETWORK_TIMEOUT         = 5
    } MbimUssdResponse;

USSD response.

`MBIM_USSD_RESPONSE_NO_ACTION_REQUIRED` | No action required.
`MBIM_USSD_RESPONSE_ACTION_REQUIRED` | An action is required.
`MBIM_USSD_RESPONSE_TERMINATED_BY_NETWORK` | Terminated by network
`MBIM_USSD_RESPONSE_OTHER_LOCAL_CLIENT` | Other local client.
`MBIM_USSD_RESPONSE_OPERATION_NOT_SUPPORTED` | Operation not supported.
`MBIM_USSD_RESPONSE_NETWORK_TIMEOUT` | Network timeout.

### enum MbimUssdSessionState

    typedef enum {
        MBIM_USSD_SESSION_STATE_NEW_SESSION      = 0,
        MBIM_USSD_SESSION_STATE_EXISTING_SESSION = 1
    } MbimUssdSessionState;

Session state.

`MBIM_USSD_SESSION_STATE_NEW_SESSION` | New session.
`MBIM_USSD_SESSION_STATE_EXISTING_SESSION` | Existing session.

### enum MbimPhonebookFlag

    typedef enum {
        MBIM_PHONEBOOK_FLAG_ALL   = 0,
        MBIM_PHONEBOOK_FLAG_INDEX = 1
    } MbimPhonebookFlag;

Flags to use when reading the phonebook.

`MBIM_PHONEBOOK_FLAG_ALL` | Request all.
`MBIM_PHONEBOOK_FLAG_INDEX` | Request single entry by index.

### enum MbimPhonebookState

    typedef enum {
        MBIM_PHONEBOOK_STATE_NOT_INITIALIZED = 0,
        MBIM_PHONEBOOK_STATE_INITIALIZED     = 1
    } MbimPhonebookState;

Phonebook state.

`MBIM_PHONEBOOK_STATE_NOT_INITIALIZED` | Not initialized.
`MBIM_PHONEBOOK_STATE_INITIALIZED` | Initialized

### enum MbimPhonebookWriteFlag

    typedef enum {
        MBIM_PHONEBOOK_WRITE_FLAG_SAVE_UNUSED = 0,
        MBIM_PHONEBOOK_WRITE_FLAG_SAVE_INDEX  = 1,
    } MbimPhonebookWriteFlag;

Flags to use when writing the phonebook.

`MBIM_PHONEBOOK_WRITE_FLAG_SAVE_UNUSED` | Store the record in an unused slot.
`MBIM_PHONEBOOK_WRITE_FLAG_SAVE_INDEX` | Index where to store the record.

### enum MbimStkPacProfile

    typedef enum {
        MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_HANDLED_BY_HOST           = 0,
        MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_MAY_BE_HANDLED_BY_HOST    = 1,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_ONLY_TRANSPARENT_TO_HOST      = 2,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATION_TO_HOST_POSSIBLE = 3,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATIONS_TO_HOST_ENABLED = 4,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_CAN_BE_OVERRIDEN_BY_HOST      = 5,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_NOT_ABLE_TO_HANDLE       = 6,
        MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_ABLE_TO_HANDLE           = 7
    } MbimStkPacProfile;

Proactive command profile.

`MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_HANDLED_BY_HOST` | Command not handled by function but handled by host.
`MBIM_STK_PAC_PROFILE_NOT_HANDLED_BY_FUNCTION_MAY_BE_HANDLED_BY_HOST` | Command not handled by function but may be handled by host.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_ONLY_TRANSPARENT_TO_HOST` | Command handled by function without informing the host.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATION_TO_HOST_POSSIBLE` | Command handled by function without informing the host, but notifications may be sent to host.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_NOTIFICATIONS_TO_HOST_ENABLED` | Command handled by function, and the function wil also send notification to the host.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_FUNCTION_CAN_BE_OVERRIDEN_BY_HOST` | Command handled by function, but the host may request full control of the command.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_NOT_ABLE_TO_HANDLE` | Command will be forwarded to the host. If the host decides not to receive the command, the function will not handle it.
`MBIM_STK_PAC_PROFILE_HANDLED_BY_HOST_FUNCTION_ABLE_TO_HANDLE` | Command will be forwarded to the host. If the host decides not to receive the command, the function will handle it.

### enum MbimStkPacType

    typedef enum {
        MBIM_STK_PAC_TYPE_PROACTIVE_COMMAND = 0,
        MBIM_STK_PAC_TYPE_NOTIFICATION      = 1
    } MbimStkPacType;

Type of proactive command.

`MBIM_STK_PAC_TYPE_PROACTIVE_COMMAND` | Host is requested to handle the Proactive command.
`MBIM_STK_PAC_TYPE_NOTIFICATION` | Proactive command is handled by the function, but the host is notified.

### enum MbimNetworkIdleHintState

    typedef enum {
        MBIM_NETWORK_IDLE_HINT_STATE_DISABLED = 0,
        MBIM_NETWORK_IDLE_HINT_STATE_ENABLED  = 1
    } MbimNetworkIdleHintState;

Enable or disable network idle hint.

`MBIM_NETWORK_IDLE_HINT_STATE_DISABLED` | Disabled.
`MBIM_NETWORK_IDLE_HINT_STATE_ENABLED` | Enabled.

### enum MbimEmergencyModeState

    typedef enum {
        MBIM_EMERGENCY_MODE_STATE_OFF = 0,
        MBIM_EMERGENCY_MODE_STATE_ON  = 1
    } MbimEmergencyModeState;

Emergency mode state.

`MBIM_EMERGENCY_MODE_STATE_OFF` | Off.
`MBIM_EMERGENCY_MODE_STATE_ON` | On.

### enum MbimDssLinkState

    typedef enum {
        MBIM_DSS_LINK_STATE_DEACTIVATE = 0,
        MBIM_DSS_LINK_STATE_ACTIVATE   = 1
    } MbimDssLinkState;

Action performed in the link state.

`MBIM_DSS_LINK_STATE_DEACTIVATE` | Deactivate.
`MBIM_DSS_LINK_STATE_ACTIVATE` | Activate.

### mbim_device_type_get_string ()

    const gchar *       mbim_device_type_get_string         (MbimDeviceType val);

Gets the nickname string for the MbimDeviceType specified at `val`.

`val` : | a MbimDeviceType.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_cellular_class_build_string_from_mask ()

    gchar *             mbim_cellular_class_build_string_from_mask
                                                            (MbimCellularClass mask);

Builds a string containing a comma-separated list of nicknames for each MbimCellularClass in `mask`.

`mask` : | bitmask of MbimCellularClass values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_voice_class_get_string ()

    const gchar *       mbim_voice_class_get_string         (MbimVoiceClass val);

Gets the nickname string for the MbimVoiceClass specified at `val`.

`val` : | a MbimVoiceClass.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sim_class_build_string_from_mask ()

    gchar *             mbim_sim_class_build_string_from_mask
                                                            (MbimSimClass mask);

Builds a string containing a comma-separated list of nicknames for each MbimSimClass in `mask`.

`mask` : | bitmask of MbimSimClass values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_data_class_build_string_from_mask ()

    gchar *             mbim_data_class_build_string_from_mask
                                                            (MbimDataClass mask);

Builds a string containing a comma-separated list of nicknames for each MbimDataClass in `mask`.

`mask` : | bitmask of MbimDataClass values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_sms_caps_build_string_from_mask ()

    gchar *             mbim_sms_caps_build_string_from_mask
                                                            (MbimSmsCaps mask);

Builds a string containing a comma-separated list of nicknames for each MbimSmsCaps in `mask`.

`mask` : | bitmask of MbimSmsCaps values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_ctrl_caps_build_string_from_mask ()

    gchar *             mbim_ctrl_caps_build_string_from_mask
                                                            (MbimCtrlCaps mask);

Builds a string containing a comma-separated list of nicknames for each MbimCtrlCaps in `mask`.

`mask` : | bitmask of MbimCtrlCaps values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_subscriber_ready_state_get_string ()

    const gchar *       mbim_subscriber_ready_state_get_string
                                                            (MbimSubscriberReadyState val);

Gets the nickname string for the MbimSubscriberReadyState specified at `val`.

`val` : | a MbimSubscriberReadyState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_ready_info_flag_build_string_from_mask ()

    gchar *             mbim_ready_info_flag_build_string_from_mask
                                                            (MbimReadyInfoFlag mask);

Builds a string containing a comma-separated list of nicknames for each MbimReadyInfoFlag in `mask`.

`mask` : | bitmask of MbimReadyInfoFlag values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_radio_switch_state_get_string ()

    const gchar *       mbim_radio_switch_state_get_string  (MbimRadioSwitchState val);

Gets the nickname string for the MbimRadioSwitchState specified at `val`.

`val` : | a MbimRadioSwitchState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_pin_type_get_string ()

    const gchar *       mbim_pin_type_get_string            (MbimPinType val);

Gets the nickname string for the MbimPinType specified at `val`.

`val` : | a MbimPinType.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_pin_state_get_string ()

    const gchar *       mbim_pin_state_get_string           (MbimPinState val);

Gets the nickname string for the MbimPinState specified at `val`.

`val` : | a MbimPinState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_pin_operation_get_string ()

    const gchar *       mbim_pin_operation_get_string       (MbimPinOperation val);

Gets the nickname string for the MbimPinOperation specified at `val`.

`val` : | a MbimPinOperation.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_pin_mode_get_string ()

    const gchar *       mbim_pin_mode_get_string            (MbimPinMode val);

Gets the nickname string for the MbimPinMode specified at `val`.

`val` : | a MbimPinMode.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_pin_format_get_string ()

    const gchar *       mbim_pin_format_get_string          (MbimPinFormat val);

Gets the nickname string for the MbimPinFormat specified at `val`.

`val` : | a MbimPinFormat.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_provider_state_build_string_from_mask ()

    gchar *             mbim_provider_state_build_string_from_mask
                                                            (MbimProviderState mask);

Builds a string containing a comma-separated list of nicknames for each MbimProviderState in `mask`.

`mask` : | bitmask of MbimProviderState values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_visible_providers_action_get_string ()

    const gchar *       mbim_visible_providers_action_get_string
                                                            (MbimVisibleProvidersAction val);

Gets the nickname string for the MbimVisibleProvidersAction specified at `val`.

`val` : | a MbimVisibleProvidersAction.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_nw_error_get_string ()

    const gchar *       mbim_nw_error_get_string            (MbimNwError val);

Gets the nickname string for the MbimNwError specified at `val`.

`val` : | a MbimNwError.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_register_action_get_string ()

    const gchar *       mbim_register_action_get_string     (MbimRegisterAction val);

Gets the nickname string for the MbimRegisterAction specified at `val`.

`val` : | a MbimRegisterAction.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_register_state_get_string ()

    const gchar *       mbim_register_state_get_string      (MbimRegisterState val);

Gets the nickname string for the MbimRegisterState specified at `val`.

`val` : | a MbimRegisterState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_register_mode_get_string ()

    const gchar *       mbim_register_mode_get_string       (MbimRegisterMode val);

Gets the nickname string for the MbimRegisterMode specified at `val`.

`val` : | a MbimRegisterMode.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_packet_service_action_get_string ()

    const gchar *       mbim_packet_service_action_get_string
                                                            (MbimPacketServiceAction val);

Gets the nickname string for the MbimPacketServiceAction specified at `val`.

`val` : | a MbimPacketServiceAction.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_packet_service_state_get_string ()

    const gchar *       mbim_packet_service_state_get_string
                                                            (MbimPacketServiceState val);

Gets the nickname string for the MbimPacketServiceState specified at `val`.

`val` : | a MbimPacketServiceState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_activation_command_get_string ()

    const gchar *       mbim_activation_command_get_string  (MbimActivationCommand val);

Gets the nickname string for the MbimActivationCommand specified at `val`.

`val` : | a MbimActivationCommand.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_compression_get_string ()

    const gchar *       mbim_compression_get_string         (MbimCompression val);

Gets the nickname string for the MbimCompression specified at `val`.

`val` : | a MbimCompression.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_auth_protocol_get_string ()

    const gchar *       mbim_auth_protocol_get_string       (MbimAuthProtocol val);

Gets the nickname string for the MbimAuthProtocol specified at `val`.

`val` : | a MbimAuthProtocol.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_context_ip_type_get_string ()

    const gchar *       mbim_context_ip_type_get_string     (MbimContextIpType val);

Gets the nickname string for the MbimContextIpType specified at `val`.

`val` : | a MbimContextIpType.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_activation_state_get_string ()

    const gchar *       mbim_activation_state_get_string    (MbimActivationState val);

Gets the nickname string for the MbimActivationState specified at `val`.

`val` : | a MbimActivationState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_voice_call_state_get_string ()

    const gchar *       mbim_voice_call_state_get_string    (MbimVoiceCallState val);

Gets the nickname string for the MbimVoiceCallState specified at `val`.

`val` : | a MbimVoiceCallState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_ip_configuration_available_flag_build_string_from_mask ()

    gchar *             mbim_ip_configuration_available_flag_build_string_from_mask
                                                            (MbimIPConfigurationAvailableFlag mask);

Builds a string containing a comma-separated list of nicknames for each MbimIPConfigurationAvailableFlag in `mask`.

`mask` : | bitmask of MbimIPConfigurationAvailableFlag values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### mbim_sms_storage_state_get_string ()

    const gchar *       mbim_sms_storage_state_get_string   (MbimSmsStorageState val);

Gets the nickname string for the MbimSmsStorageState specified at `val`.

`val` : | a MbimSmsStorageState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_format_get_string ()

    const gchar *       mbim_sms_format_get_string          (MbimSmsFormat val);

Gets the nickname string for the MbimSmsFormat specified at `val`.

`val` : | a MbimSmsFormat.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_flag_get_string ()

    const gchar *       mbim_sms_flag_get_string            (MbimSmsFlag val);

Gets the nickname string for the MbimSmsFlag specified at `val`.

`val` : | a MbimSmsFlag.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_cdma_lang_get_string ()

    const gchar *       mbim_sms_cdma_lang_get_string       (MbimSmsCdmaLang val);

Gets the nickname string for the MbimSmsCdmaLang specified at `val`.

`val` : | a MbimSmsCdmaLang.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_cdma_encoding_get_string ()

    const gchar *       mbim_sms_cdma_encoding_get_string   (MbimSmsCdmaEncoding val);

Gets the nickname string for the MbimSmsCdmaEncoding specified at `val`.

`val` : | a MbimSmsCdmaEncoding.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_status_get_string ()

    const gchar *       mbim_sms_status_get_string          (MbimSmsStatus val);

Gets the nickname string for the MbimSmsStatus specified at `val`.

`val` : | a MbimSmsStatus.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_sms_status_flag_get_string ()

    const gchar *       mbim_sms_status_flag_get_string     (MbimSmsStatusFlag val);

Gets the nickname string for the MbimSmsStatusFlag specified at `val`.

`val` : | a MbimSmsStatusFlag.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_ussd_action_get_string ()

    const gchar *       mbim_ussd_action_get_string         (MbimUssdAction val);

Gets the nickname string for the MbimUssdAction specified at `val`.

`val` : | a MbimUssdAction.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_ussd_response_get_string ()

    const gchar *       mbim_ussd_response_get_string       (MbimUssdResponse val);

Gets the nickname string for the MbimUssdResponse specified at `val`.

`val` : | a MbimUssdResponse.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_ussd_session_state_get_string ()

    const gchar *       mbim_ussd_session_state_get_string  (MbimUssdSessionState val);

Gets the nickname string for the MbimUssdSessionState specified at `val`.

`val` : | a MbimUssdSessionState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_phonebook_flag_get_string ()

    const gchar *       mbim_phonebook_flag_get_string      (MbimPhonebookFlag val);

Gets the nickname string for the MbimPhonebookFlag specified at `val`.

`val` : | a MbimPhonebookFlag.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_phonebook_state_get_string ()

    const gchar *       mbim_phonebook_state_get_string     (MbimPhonebookState val);

Gets the nickname string for the MbimPhonebookState specified at `val`.

`val` : | a MbimPhonebookState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_phonebook_write_flag_get_string ()

    const gchar *       mbim_phonebook_write_flag_get_string
                                                            (MbimPhonebookWriteFlag val);

Gets the nickname string for the MbimPhonebookWriteFlag specified at `val`.

`val` : | a MbimPhonebookWriteFlag.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_stk_pac_profile_get_string ()

    const gchar *       mbim_stk_pac_profile_get_string     (MbimStkPacProfile val);

Gets the nickname string for the MbimStkPacProfile specified at `val`.

`val` : | a MbimStkPacProfile.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_stk_pac_type_get_string ()

    const gchar *       mbim_stk_pac_type_get_string        (MbimStkPacType val);

Gets the nickname string for the MbimStkPacType specified at `val`.

`val` : | a MbimStkPacType.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_network_idle_hint_state_get_string ()

    const gchar *       mbim_network_idle_hint_state_get_string
                                                            (MbimNetworkIdleHintState val);

Gets the nickname string for the MbimNetworkIdleHintState specified at `val`.

`val` : | a MbimNetworkIdleHintState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_emergency_mode_state_get_string ()

    const gchar *       mbim_emergency_mode_state_get_string
                                                            (MbimEmergencyModeState val);

Gets the nickname string for the MbimEmergencyModeState specified at `val`.

`val` : | a MbimEmergencyModeState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### mbim_dss_link_state_get_string ()

    const gchar *       mbim_dss_link_state_get_string      (MbimDssLinkState val);

Gets the nickname string for the MbimDssLinkState specified at `val`.

`val` : | a MbimDssLinkState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]