## Basic Connect Basic Connect |

## Functions

void | mbim_pin_desc_free ()
void | mbim_provider_free ()
void | mbim_provider_array_free ()
void | mbim_provisioned_context_element_array_free ()
void | mbim_ipv4_element_array_free ()
void | mbim_ipv6_element_array_free ()
void | mbim_device_service_element_array_free ()
void | mbim_event_entry_array_free ()
void | mbim_packet_filter_array_free ()
MbimMessage * | mbim_message_device_caps_query_new ()
gboolean | mbim_message_device_caps_response_parse ()
MbimMessage * | mbim_message_subscriber_ready_status_query_new ()
gboolean | mbim_message_subscriber_ready_status_response_parse ()
gboolean | mbim_message_subscriber_ready_status_notification_parse ()
MbimMessage * | mbim_message_radio_state_query_new ()
MbimMessage * | mbim_message_radio_state_set_new ()
gboolean | mbim_message_radio_state_response_parse ()
gboolean | mbim_message_radio_state_notification_parse ()
MbimMessage * | mbim_message_pin_query_new ()
MbimMessage * | mbim_message_pin_set_new ()
gboolean | mbim_message_pin_response_parse ()
MbimMessage * | mbim_message_pin_list_query_new ()
gboolean | mbim_message_pin_list_response_parse ()
MbimMessage * | mbim_message_home_provider_query_new ()
MbimMessage * | mbim_message_home_provider_set_new ()
gboolean | mbim_message_home_provider_response_parse ()
MbimMessage * | mbim_message_preferred_providers_query_new ()
MbimMessage * | mbim_message_preferred_providers_set_new ()
gboolean | mbim_message_preferred_providers_response_parse ()
gboolean | mbim_message_preferred_providers_notification_parse ()
MbimMessage * | mbim_message_visible_providers_query_new ()
gboolean | mbim_message_visible_providers_response_parse ()
MbimMessage * | mbim_message_register_state_query_new ()
MbimMessage * | mbim_message_register_state_set_new ()
gboolean | mbim_message_register_state_response_parse ()
gboolean | mbim_message_register_state_notification_parse ()
MbimMessage * | mbim_message_signal_state_query_new ()
MbimMessage * | mbim_message_signal_state_set_new ()
gboolean | mbim_message_signal_state_response_parse ()
gboolean | mbim_message_signal_state_notification_parse ()
MbimMessage * | mbim_message_packet_service_query_new ()
MbimMessage * | mbim_message_packet_service_set_new ()
gboolean | mbim_message_packet_service_response_parse ()
gboolean | mbim_message_packet_service_notification_parse ()
MbimMessage * | mbim_message_connect_query_new ()
MbimMessage * | mbim_message_connect_set_new ()
gboolean | mbim_message_connect_response_parse ()
gboolean | mbim_message_connect_notification_parse ()
MbimMessage * | mbim_message_provisioned_contexts_query_new ()
MbimMessage * | mbim_message_provisioned_contexts_set_new ()
gboolean | mbim_message_provisioned_contexts_response_parse ()
gboolean | mbim_message_provisioned_contexts_notification_parse ()
MbimMessage * | mbim_message_service_activation_set_new ()
gboolean | mbim_message_service_activation_response_parse ()
MbimMessage * | mbim_message_ip_configuration_query_new ()
gboolean | mbim_message_ip_configuration_response_parse ()
gboolean | mbim_message_ip_configuration_notification_parse ()
MbimMessage * | mbim_message_device_services_query_new ()
gboolean | mbim_message_device_services_response_parse ()
MbimMessage * | mbim_message_device_service_subscribe_list_set_new ()
gboolean | mbim_message_device_service_subscribe_list_response_parse ()
MbimMessage * | mbim_message_packet_statistics_query_new ()
gboolean | mbim_message_packet_statistics_response_parse ()
MbimMessage * | mbim_message_network_idle_hint_query_new ()
MbimMessage * | mbim_message_network_idle_hint_set_new ()
gboolean | mbim_message_network_idle_hint_response_parse ()
MbimMessage * | mbim_message_emergency_mode_query_new ()
MbimMessage * | mbim_message_emergency_mode_set_new ()
gboolean | mbim_message_emergency_mode_response_parse ()
gboolean | mbim_message_emergency_mode_notification_parse ()
MbimMessage * | mbim_message_ip_packet_filters_query_new ()
MbimMessage * | mbim_message_ip_packet_filters_set_new ()
gboolean | mbim_message_ip_packet_filters_response_parse ()
MbimMessage * | mbim_message_multicarrier_providers_query_new ()
MbimMessage * | mbim_message_multicarrier_providers_set_new ()
gboolean | mbim_message_multicarrier_providers_response_parse ()
gboolean | mbim_message_multicarrier_providers_notification_parse ()

## Types and Values

| MbimPinDesc
| MbimProvider
| MbimProvisionedContextElement
| MbimIPv4Element
| MbimIPv6Element
| MbimDeviceServiceElement
| MbimEventEntry
| MbimPacketFilter

## Description

## Functions

### mbim_pin_desc_free ()

    void
    mbim_pin_desc_free (MbimPinDesc *var);

Frees the memory allocated for the MbimPinDesc.

#### Parameters

var | a MbimPinDesc. |

### mbim_provider_free ()

    void
    mbim_provider_free (MbimProvider *var);

Frees the memory allocated for the MbimProvider.

#### Parameters

var | a MbimProvider. |

### mbim_provider_array_free ()

    void
    mbim_provider_array_free (MbimProvider **array);

Frees the memory allocated for the array of MbimProviders.

#### Parameters

array | a NULL terminated array of MbimProvider structs. |

### mbim_provisioned_context_element_array_free ()

    void
    mbim_provisioned_context_element_array_free
                                   (MbimProvisionedContextElement **array);

Frees the memory allocated for the array of MbimProvisionedContextElements.

#### Parameters

array | a NULL terminated array of MbimProvisionedContextElement structs. |

### mbim_ipv4_element_array_free ()

    void
    mbim_ipv4_element_array_free (MbimIPv4Element **array);

Frees the memory allocated for the array of MbimIPv4Elements.

#### Parameters

array | a NULL terminated array of MbimIPv4Element structs. |

### mbim_ipv6_element_array_free ()

    void
    mbim_ipv6_element_array_free (MbimIPv6Element **array);

Frees the memory allocated for the array of MbimIPv6Elements.

#### Parameters

array | a NULL terminated array of MbimIPv6Element structs. |

### mbim_device_service_element_array_free ()

    void
    mbim_device_service_element_array_free
                                   (MbimDeviceServiceElement **array);

Frees the memory allocated for the array of MbimDeviceServiceElements.

#### Parameters

array | a NULL terminated array of MbimDeviceServiceElement structs. |

### mbim_event_entry_array_free ()

    void
    mbim_event_entry_array_free (MbimEventEntry **array);

Frees the memory allocated for the array of MbimEventEntrys.

#### Parameters

array | a NULL terminated array of MbimEventEntry structs. |

### mbim_packet_filter_array_free ()

    void
    mbim_packet_filter_array_free (MbimPacketFilter **array);

Frees the memory allocated for the array of MbimPacketFilters.

#### Parameters

array | a NULL terminated array of MbimPacketFilter structs. |

### mbim_message_device_caps_query_new ()

    MbimMessage *
    mbim_message_device_caps_query_new (GError **error);

Create a new request for the 'Device Caps' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_device_caps_response_parse ()

    gboolean
    mbim_message_device_caps_response_parse
                                   (const MbimMessage *message,
                                    MbimDeviceType *device_type,
                                    MbimCellularClass *cellular_class,
                                    MbimVoiceClass *voice_class,
                                    MbimSimClass *sim_class,
                                    MbimDataClass *data_class,
                                    MbimSmsCaps *sms_caps,
                                    MbimCtrlCaps *control_caps,
                                    guint32 *max_sessions,
                                    gchar **custom_data_class,
                                    gchar **device_id,
                                    gchar **firmware_info,
                                    gchar **hardware_info,
                                    GError **error);

Parses and returns parameters of the 'Device Caps' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
device_type | return location for a MbimDeviceType, or `NULL` if the 'DeviceType' field is not needed. |
cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CellularClass' field is not needed. |
voice_class | return location for a MbimVoiceClass, or `NULL` if the 'VoiceClass' field is not needed. |
sim_class | return location for a MbimSimClass, or `NULL` if the 'SimClass' field is not needed. |
data_class | return location for a MbimDataClass, or `NULL` if the 'DataClass' field is not needed. |
sms_caps | return location for a MbimSmsCaps, or `NULL` if the 'SmsCaps' field is not needed. |
control_caps | return location for a MbimCtrlCaps, or `NULL` if the 'ControlCaps' field is not needed. |
max_sessions | return location for a guint32, or `NULL` if the 'MaxSessions' field is not needed. |
custom_data_class | return location for a newly allocated string, or `NULL` if the 'CustomDataClass' field is not needed. Free the returned value with `g_free()`. |
device_id | return location for a newly allocated string, or `NULL` if the 'DeviceId' field is not needed. Free the returned value with `g_free()`. |
firmware_info | return location for a newly allocated string, or `NULL` if the 'FirmwareInfo' field is not needed. Free the returned value with `g_free()`. |
hardware_info | return location for a newly allocated string, or `NULL` if the 'HardwareInfo' field is not needed. Free the returned value with `g_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_subscriber_ready_status_query_new ()

    MbimMessage *
    mbim_message_subscriber_ready_status_query_new
                                   (GError **error);

Create a new request for the 'Subscriber Ready Status' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_subscriber_ready_status_response_parse ()

    gboolean
    mbim_message_subscriber_ready_status_response_parse
                                   (const MbimMessage *message,
                                    MbimSubscriberReadyState *ready_state,
                                    gchar **subscriber_id,
                                    gchar **sim_icc_id,
                                    MbimReadyInfoFlag *ready_info,
                                    guint32 *telephone_numbers_count,
                                    gchar ***telephone_numbers,
                                    GError **error);

Parses and returns parameters of the 'Subscriber Ready Status' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
ready_state | return location for a MbimSubscriberReadyState, or `NULL` if the 'ReadyState' field is not needed. |
subscriber_id | return location for a newly allocated string, or `NULL` if the 'SubscriberId' field is not needed. Free the returned value with `g_free()`. |
sim_icc_id | return location for a newly allocated string, or `NULL` if the 'SimIccId' field is not needed. Free the returned value with `g_free()`. |
ready_info | return location for a MbimReadyInfoFlag, or `NULL` if the 'ReadyInfo' field is not needed. |
telephone_numbers_count | return location for a guint32, or `NULL` if the 'TelephoneNumbersCount' field is not needed. |
telephone_numbers | return location for a newly allocated array of strings, or `NULL` if the 'TelephoneNumbers' field is not needed. Free the returned value with `g_strfreev()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_subscriber_ready_status_notification_parse ()

    gboolean
    mbim_message_subscriber_ready_status_notification_parse
                                   (const MbimMessage *message,
                                    MbimSubscriberReadyState *ready_state,
                                    gchar **subscriber_id,
                                    gchar **sim_icc_id,
                                    MbimReadyInfoFlag *ready_info,
                                    guint32 *telephone_numbers_count,
                                    gchar ***telephone_numbers,
                                    GError **error);

Parses and returns parameters of the 'Subscriber Ready Status' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
ready_state | return location for a MbimSubscriberReadyState, or `NULL` if the 'ReadyState' field is not needed. |
subscriber_id | return location for a newly allocated string, or `NULL` if the 'SubscriberId' field is not needed. Free the returned value with `g_free()`. |
sim_icc_id | return location for a newly allocated string, or `NULL` if the 'SimIccId' field is not needed. Free the returned value with `g_free()`. |
ready_info | return location for a MbimReadyInfoFlag, or `NULL` if the 'ReadyInfo' field is not needed. |
telephone_numbers_count | return location for a guint32, or `NULL` if the 'TelephoneNumbersCount' field is not needed. |
telephone_numbers | return location for a newly allocated array of strings, or `NULL` if the 'TelephoneNumbers' field is not needed. Free the returned value with `g_strfreev()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_radio_state_query_new ()

    MbimMessage *
    mbim_message_radio_state_query_new (GError **error);

Create a new request for the 'Radio State' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_radio_state_set_new ()

    MbimMessage *
    mbim_message_radio_state_set_new (MbimRadioSwitchState radio_state,
                                      GError **error);

Create a new request for the 'Radio State' set command in the 'Basic Connect' service.

#### Parameters

radio_state | the 'RadioState' field, given as a MbimRadioSwitchState. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_radio_state_response_parse ()

    gboolean
    mbim_message_radio_state_response_parse
                                   (const MbimMessage *message,
                                    MbimRadioSwitchState *hw_radio_state,
                                    MbimRadioSwitchState *sw_radio_state,
                                    GError **error);

Parses and returns parameters of the 'Radio State' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
hw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'HwRadioState' field is not needed. |
sw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'SwRadioState' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_radio_state_notification_parse ()

    gboolean
    mbim_message_radio_state_notification_parse
                                   (const MbimMessage *message,
                                    MbimRadioSwitchState *hw_radio_state,
                                    MbimRadioSwitchState *sw_radio_state,
                                    GError **error);

Parses and returns parameters of the 'Radio State' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
hw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'HwRadioState' field is not needed. |
sw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'SwRadioState' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_pin_query_new ()

    MbimMessage *
    mbim_message_pin_query_new (GError **error);

Create a new request for the 'Pin' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_pin_set_new ()

    MbimMessage *
    mbim_message_pin_set_new (MbimPinType pin_type,
                              MbimPinOperation pin_operation,
                              const gchar *pin,
                              const gchar *new_pin,
                              GError **error);

Create a new request for the 'Pin' set command in the 'Basic Connect' service.

#### Parameters

pin_type | the 'PinType' field, given as a MbimPinType. |
pin_operation | the 'PinOperation' field, given as a MbimPinOperation. |
pin | the 'Pin' field, given as a string. |
new_pin | the 'NewPin' field, given as a string. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_pin_response_parse ()

    gboolean
    mbim_message_pin_response_parse (const MbimMessage *message,
                                     MbimPinType *pin_type,
                                     MbimPinState *pin_state,
                                     guint32 *remaining_attempts,
                                     GError **error);

Parses and returns parameters of the 'Pin' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
pin_type | return location for a MbimPinType, or `NULL` if the 'PinType' field is not needed. |
pin_state | return location for a MbimPinState, or `NULL` if the 'PinState' field is not needed. |
remaining_attempts | return location for a guint32, or `NULL` if the 'RemainingAttempts' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_pin_list_query_new ()

    MbimMessage *
    mbim_message_pin_list_query_new (GError **error);

Create a new request for the 'Pin List' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_pin_list_response_parse ()

    gboolean
    mbim_message_pin_list_response_parse (const MbimMessage *message,
                                          MbimPinDesc **pin_desc_pin1,
                                          MbimPinDesc **pin_desc_pin2,
                                          MbimPinDesc **pin_desc_device_sim_pin,
                                          MbimPinDesc **pin_desc_device_first_sim_pin,
                                          MbimPinDesc **pin_desc_network_pin,
                                          MbimPinDesc **pin_desc_network_subset_pin,
                                          MbimPinDesc **pin_desc_service_provider_pin,
                                          MbimPinDesc **pin_desc_corporate_pin,
                                          MbimPinDesc **pin_desc_subsidy_lock,
                                          MbimPinDesc **pin_desc_custom,
                                          GError **error);

Parses and returns parameters of the 'Pin List' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
pin_desc_pin1 | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescPin1' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_pin2 | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescPin2' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_device_sim_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescDeviceSimPin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_device_first_sim_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescDeviceFirstSimPin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_network_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescNetworkPin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_network_subset_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescNetworkSubsetPin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_service_provider_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescServiceProviderPin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_corporate_pin | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescCorporatePin' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_subsidy_lock | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescSubsidyLock' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
pin_desc_custom | return location for a newly allocated MbimPinDesc, or `NULL` if the 'PinDescCustom' field is not needed. Free the returned value with `mbim_pin_desc_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_home_provider_query_new ()

    MbimMessage *
    mbim_message_home_provider_query_new (GError **error);

Create a new request for the 'Home Provider' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_home_provider_set_new ()

    MbimMessage *
    mbim_message_home_provider_set_new (const MbimProvider *provider,
                                        GError **error);

Create a new request for the 'Home Provider' set command in the 'Basic Connect' service.

#### Parameters

provider | the 'Provider' field, given as a MbimProvider. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_home_provider_response_parse ()

    gboolean
    mbim_message_home_provider_response_parse
                                   (const MbimMessage *message,
                                    MbimProvider **provider,
                                    GError **error);

Parses and returns parameters of the 'Home Provider' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
provider | return location for a newly allocated MbimProvider, or `NULL` if the 'Provider' field is not needed. Free the returned value with `mbim_provider_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_preferred_providers_query_new ()

    MbimMessage *
    mbim_message_preferred_providers_query_new
                                   (GError **error);

Create a new request for the 'Preferred Providers' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_preferred_providers_set_new ()

    MbimMessage *
    mbim_message_preferred_providers_set_new
                                   (guint32 providers_count,
                                    const MbimProvider *const *providers,
                                    GError **error);

Create a new request for the 'Preferred Providers' set command in the 'Basic Connect' service.

#### Parameters

providers_count | the 'ProvidersCount' field, given as a guint32. |
providers | the 'Providers' field, given as an array of MbimProviders. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_preferred_providers_response_parse ()

    gboolean
    mbim_message_preferred_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *providers_count,
                                    MbimProvider ***providers,
                                    GError **error);

Parses and returns parameters of the 'Preferred Providers' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. |
providers | return location for a newly allocated array of MbimProviders, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_preferred_providers_notification_parse ()

    gboolean
    mbim_message_preferred_providers_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *providers_count,
                                    MbimProvider ***providers,
                                    GError **error);

Parses and returns parameters of the 'Preferred Providers' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. |
providers | return location for a newly allocated array of MbimProviders, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_visible_providers_query_new ()

    MbimMessage *
    mbim_message_visible_providers_query_new
                                   (MbimVisibleProvidersAction action,
                                    GError **error);

Create a new request for the 'Visible Providers' query command in the 'Basic Connect' service.

#### Parameters

action | the 'Action' field, given as a MbimVisibleProvidersAction. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_visible_providers_response_parse ()

    gboolean
    mbim_message_visible_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *providers_count,
                                    MbimProvider ***providers,
                                    GError **error);

Parses and returns parameters of the 'Visible Providers' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. |
providers | return location for a newly allocated array of MbimProviders, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_register_state_query_new ()

    MbimMessage *
    mbim_message_register_state_query_new (GError **error);

Create a new request for the 'Register State' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_register_state_set_new ()

    MbimMessage *
    mbim_message_register_state_set_new (const gchar *provider_id,
                                         MbimRegisterAction register_action,
                                         MbimDataClass data_class,
                                         GError **error);

Create a new request for the 'Register State' set command in the 'Basic Connect' service.

#### Parameters

provider_id | the 'ProviderId' field, given as a string. |
register_action | the 'RegisterAction' field, given as a MbimRegisterAction. |
data_class | the 'DataClass' field, given as a MbimDataClass. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_register_state_response_parse ()

    gboolean
    mbim_message_register_state_response_parse
                                   (const MbimMessage *message,
                                    MbimNwError *nw_error,
                                    MbimRegisterState *register_state,
                                    MbimRegisterMode *register_mode,
                                    MbimDataClass *available_data_classes,
                                    MbimCellularClass *current_cellular_class,
                                    gchar **provider_id,
                                    gchar **provider_name,
                                    gchar **roaming_text,
                                    MbimRegistrationFlag *registration_flag,
                                    GError **error);

Parses and returns parameters of the 'Register State' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. |
register_state | return location for a MbimRegisterState, or `NULL` if the 'RegisterState' field is not needed. |
register_mode | return location for a MbimRegisterMode, or `NULL` if the 'RegisterMode' field is not needed. |
available_data_classes | return location for a MbimDataClass, or `NULL` if the 'AvailableDataClasses' field is not needed. |
current_cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CurrentCellularClass' field is not needed. |
provider_id | return location for a newly allocated string, or `NULL` if the 'ProviderId' field is not needed. Free the returned value with `g_free()`. |
provider_name | return location for a newly allocated string, or `NULL` if the 'ProviderName' field is not needed. Free the returned value with `g_free()`. |
roaming_text | return location for a newly allocated string, or `NULL` if the 'RoamingText' field is not needed. Free the returned value with `g_free()`. |
registration_flag | return location for a MbimRegistrationFlag, or `NULL` if the 'RegistrationFlag' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_register_state_notification_parse ()

    gboolean
    mbim_message_register_state_notification_parse
                                   (const MbimMessage *message,
                                    MbimNwError *nw_error,
                                    MbimRegisterState *register_state,
                                    MbimRegisterMode *register_mode,
                                    MbimDataClass *available_data_classes,
                                    MbimCellularClass *current_cellular_class,
                                    gchar **provider_id,
                                    gchar **provider_name,
                                    gchar **roaming_text,
                                    MbimRegistrationFlag *registration_flag,
                                    GError **error);

Parses and returns parameters of the 'Register State' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. |
register_state | return location for a MbimRegisterState, or `NULL` if the 'RegisterState' field is not needed. |
register_mode | return location for a MbimRegisterMode, or `NULL` if the 'RegisterMode' field is not needed. |
available_data_classes | return location for a MbimDataClass, or `NULL` if the 'AvailableDataClasses' field is not needed. |
current_cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CurrentCellularClass' field is not needed. |
provider_id | return location for a newly allocated string, or `NULL` if the 'ProviderId' field is not needed. Free the returned value with `g_free()`. |
provider_name | return location for a newly allocated string, or `NULL` if the 'ProviderName' field is not needed. Free the returned value with `g_free()`. |
roaming_text | return location for a newly allocated string, or `NULL` if the 'RoamingText' field is not needed. Free the returned value with `g_free()`. |
registration_flag | return location for a MbimRegistrationFlag, or `NULL` if the 'RegistrationFlag' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_signal_state_query_new ()

    MbimMessage *
    mbim_message_signal_state_query_new (GError **error);

Create a new request for the 'Signal State' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_signal_state_set_new ()

    MbimMessage *
    mbim_message_signal_state_set_new (guint32 signal_strength_interval,
                                       guint32 rssi_threshold,
                                       guint32 error_rate_threshold,
                                       GError **error);

Create a new request for the 'Signal State' set command in the 'Basic Connect' service.

#### Parameters

signal_strength_interval | the 'SignalStrengthInterval' field, given as a guint32. |
rssi_threshold | the 'RssiThreshold' field, given as a guint32. |
error_rate_threshold | the 'ErrorRateThreshold' field, given as a guint32. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_signal_state_response_parse ()

    gboolean
    mbim_message_signal_state_response_parse
                                   (const MbimMessage *message,
                                    guint32 *rssi,
                                    guint32 *error_rate,
                                    guint32 *signal_strength_interval,
                                    guint32 *rssi_threshold,
                                    guint32 *error_rate_threshold,
                                    GError **error);

Parses and returns parameters of the 'Signal State' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
rssi | return location for a guint32, or `NULL` if the 'Rssi' field is not needed. |
error_rate | return location for a guint32, or `NULL` if the 'ErrorRate' field is not needed. |
signal_strength_interval | return location for a guint32, or `NULL` if the 'SignalStrengthInterval' field is not needed. |
rssi_threshold | return location for a guint32, or `NULL` if the 'RssiThreshold' field is not needed. |
error_rate_threshold | return location for a guint32, or `NULL` if the 'ErrorRateThreshold' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_signal_state_notification_parse ()

    gboolean
    mbim_message_signal_state_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *rssi,
                                    guint32 *error_rate,
                                    guint32 *signal_strength_interval,
                                    guint32 *rssi_threshold,
                                    guint32 *error_rate_threshold,
                                    GError **error);

Parses and returns parameters of the 'Signal State' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
rssi | return location for a guint32, or `NULL` if the 'Rssi' field is not needed. |
error_rate | return location for a guint32, or `NULL` if the 'ErrorRate' field is not needed. |
signal_strength_interval | return location for a guint32, or `NULL` if the 'SignalStrengthInterval' field is not needed. |
rssi_threshold | return location for a guint32, or `NULL` if the 'RssiThreshold' field is not needed. |
error_rate_threshold | return location for a guint32, or `NULL` if the 'ErrorRateThreshold' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_packet_service_query_new ()

    MbimMessage *
    mbim_message_packet_service_query_new (GError **error);

Create a new request for the 'Packet Service' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_packet_service_set_new ()

    MbimMessage *
    mbim_message_packet_service_set_new (MbimPacketServiceAction packet_service_action,
                                         GError **error);

Create a new request for the 'Packet Service' set command in the 'Basic Connect' service.

#### Parameters

packet_service_action | the 'PacketServiceAction' field, given as a MbimPacketServiceAction. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_packet_service_response_parse ()

    gboolean
    mbim_message_packet_service_response_parse
                                   (const MbimMessage *message,
                                    guint32 *nw_error,
                                    MbimPacketServiceState *packet_service_state,
                                    MbimDataClass *highest_available_data_class,
                                    guint64 *uplink_speed,
                                    guint64 *downlink_speed,
                                    GError **error);

Parses and returns parameters of the 'Packet Service' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. |
packet_service_state | return location for a MbimPacketServiceState, or `NULL` if the 'PacketServiceState' field is not needed. |
highest_available_data_class | return location for a MbimDataClass, or `NULL` if the 'HighestAvailableDataClass' field is not needed. |
uplink_speed | return location for a guint64, or `NULL` if the 'UplinkSpeed' field is not needed. |
downlink_speed | return location for a guint64, or `NULL` if the 'DownlinkSpeed' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_packet_service_notification_parse ()

    gboolean
    mbim_message_packet_service_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *nw_error,
                                    MbimPacketServiceState *packet_service_state,
                                    MbimDataClass *highest_available_data_class,
                                    guint64 *uplink_speed,
                                    guint64 *downlink_speed,
                                    GError **error);

Parses and returns parameters of the 'Packet Service' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. |
packet_service_state | return location for a MbimPacketServiceState, or `NULL` if the 'PacketServiceState' field is not needed. |
highest_available_data_class | return location for a MbimDataClass, or `NULL` if the 'HighestAvailableDataClass' field is not needed. |
uplink_speed | return location for a guint64, or `NULL` if the 'UplinkSpeed' field is not needed. |
downlink_speed | return location for a guint64, or `NULL` if the 'DownlinkSpeed' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_connect_query_new ()

    MbimMessage *
    mbim_message_connect_query_new (guint32 session_id,
                                    MbimActivationState activation_state,
                                    MbimVoiceCallState voice_call_state,
                                    MbimContextIpType ip_type,
                                    const MbimUuid *context_type,
                                    guint32 nw_error,
                                    GError **error);

Create a new request for the 'Connect' query command in the 'Basic Connect' service.

#### Parameters

session_id | the 'SessionId' field, given as a guint32. |
activation_state | the 'ActivationState' field, given as a MbimActivationState. |
voice_call_state | the 'VoiceCallState' field, given as a MbimVoiceCallState. |
ip_type | the 'IpType' field, given as a MbimContextIpType. |
context_type | the 'ContextType' field, given as a MbimUuid. |
nw_error | the 'NwError' field, given as a guint32. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_connect_set_new ()

    MbimMessage *
    mbim_message_connect_set_new (guint32 session_id,
                                  MbimActivationCommand activation_command,
                                  const gchar *access_string,
                                  const gchar *user_name,
                                  const gchar *password,
                                  MbimCompression compression,
                                  MbimAuthProtocol auth_protocol,
                                  MbimContextIpType ip_type,
                                  const MbimUuid *context_type,
                                  GError **error);

Create a new request for the 'Connect' set command in the 'Basic Connect' service.

#### Parameters

session_id | the 'SessionId' field, given as a guint32. |
activation_command | the 'ActivationCommand' field, given as a MbimActivationCommand. |
access_string | the 'AccessString' field, given as a string. |
user_name | the 'UserName' field, given as a string. |
password | the 'Password' field, given as a string. |
compression | the 'Compression' field, given as a MbimCompression. |
auth_protocol | the 'AuthProtocol' field, given as a MbimAuthProtocol. |
ip_type | the 'IpType' field, given as a MbimContextIpType. |
context_type | the 'ContextType' field, given as a MbimUuid. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_connect_response_parse ()

    gboolean
    mbim_message_connect_response_parse (const MbimMessage *message,
                                         guint32 *session_id,
                                         MbimActivationState *activation_state,
                                         MbimVoiceCallState *voice_call_state,
                                         MbimContextIpType *ip_type,
                                         const MbimUuid **context_type,
                                         guint32 *nw_error,
                                         GError **error);

Parses and returns parameters of the 'Connect' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. |
activation_state | return location for a MbimActivationState, or `NULL` if the 'ActivationState' field is not needed. |
voice_call_state | return location for a MbimVoiceCallState, or `NULL` if the 'VoiceCallState' field is not needed. |
ip_type | return location for a MbimContextIpType, or `NULL` if the 'IpType' field is not needed. |
context_type | return location for a MbimUuid, or `NULL` if the 'ContextType' field is not needed. Do not free the returned value, it is owned by `message` . |
nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_connect_notification_parse ()

    gboolean
    mbim_message_connect_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *session_id,
                                    MbimActivationState *activation_state,
                                    MbimVoiceCallState *voice_call_state,
                                    MbimContextIpType *ip_type,
                                    const MbimUuid **context_type,
                                    guint32 *nw_error,
                                    GError **error);

Parses and returns parameters of the 'Connect' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. |
activation_state | return location for a MbimActivationState, or `NULL` if the 'ActivationState' field is not needed. |
voice_call_state | return location for a MbimVoiceCallState, or `NULL` if the 'VoiceCallState' field is not needed. |
ip_type | return location for a MbimContextIpType, or `NULL` if the 'IpType' field is not needed. |
context_type | return location for a MbimUuid, or `NULL` if the 'ContextType' field is not needed. Do not free the returned value, it is owned by `message` . |
nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_provisioned_contexts_query_new ()

    MbimMessage *
    mbim_message_provisioned_contexts_query_new
                                   (GError **error);

Create a new request for the 'Provisioned Contexts' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_provisioned_contexts_set_new ()

    MbimMessage *
    mbim_message_provisioned_contexts_set_new
                                   (guint32 context_id,
                                    const MbimUuid *context_type,
                                    const gchar *access_string,
                                    const gchar *user_name,
                                    const gchar *password,
                                    MbimCompression compression,
                                    MbimAuthProtocol auth_protocol,
                                    const gchar *provider_id,
                                    GError **error);

Create a new request for the 'Provisioned Contexts' set command in the 'Basic Connect' service.

#### Parameters

context_id | the 'ContextId' field, given as a guint32. |
context_type | the 'ContextType' field, given as a MbimUuid. |
access_string | the 'AccessString' field, given as a string. |
user_name | the 'UserName' field, given as a string. |
password | the 'Password' field, given as a string. |
compression | the 'Compression' field, given as a MbimCompression. |
auth_protocol | the 'AuthProtocol' field, given as a MbimAuthProtocol. |
provider_id | the 'ProviderId' field, given as a string. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_provisioned_contexts_response_parse ()

    gboolean
    mbim_message_provisioned_contexts_response_parse
                                   (const MbimMessage *message,
                                    guint32 *provisioned_contexts_count,
                                    MbimProvisionedContextElement ***provisioned_contexts,
                                    GError **error);

Parses and returns parameters of the 'Provisioned Contexts' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
provisioned_contexts_count | return location for a guint32, or `NULL` if the 'ProvisionedContextsCount' field is not needed. |
provisioned_contexts | return location for a newly allocated array of MbimProvisionedContextElements, or `NULL` if the 'ProvisionedContexts' field is not needed. Free the returned value with `mbim_provisioned_context_element_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_provisioned_contexts_notification_parse ()

    gboolean
    mbim_message_provisioned_contexts_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *provisioned_contexts_count,
                                    MbimProvisionedContextElement ***provisioned_contexts,
                                    GError **error);

Parses and returns parameters of the 'Provisioned Contexts' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
provisioned_contexts_count | return location for a guint32, or `NULL` if the 'ProvisionedContextsCount' field is not needed. |
provisioned_contexts | return location for a newly allocated array of MbimProvisionedContextElements, or `NULL` if the 'ProvisionedContexts' field is not needed. Free the returned value with `mbim_provisioned_context_element_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_service_activation_set_new ()

    MbimMessage *
    mbim_message_service_activation_set_new
                                   (const guint32 buffer_size,
                                    const guint8 *buffer,
                                    GError **error);

Create a new request for the 'Service Activation' set command in the 'Basic Connect' service.

#### Parameters

buffer_size | size of the buffer array. |
buffer | the 'Buffer' field, given as an array of guint8 values. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_service_activation_response_parse ()

    gboolean
    mbim_message_service_activation_response_parse
                                   (const MbimMessage *message,
                                    MbimNwError *nw_error,
                                    guint32 *buffer_size,
                                    const guint8 **buffer,
                                    GError **error);

Parses and returns parameters of the 'Service Activation' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. |
buffer_size | return location for the size of the buffer array. |
buffer | return location for an array of guint8 values. Do not free the returned value, it is owned by `message` . |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_ip_configuration_query_new ()

    MbimMessage *
    mbim_message_ip_configuration_query_new
                                   (guint32 session_id,
                                    MbimIPConfigurationAvailableFlag ipv4_configuration_available,
                                    MbimIPConfigurationAvailableFlag ipv6_configuration_available,
                                    guint32 ipv4_address_count,
                                    const MbimIPv4Element *const *ipv4_address,
                                    guint32 ipv6_address_count,
                                    const MbimIPv6Element *const *ipv6_address,
                                    const MbimIPv4 *ipv4_gateway,
                                    const MbimIPv6 *ipv6_gateway,
                                    guint32 ipv4_dns_server_count,
                                    const MbimIPv4 *ipv4_dns_server,
                                    guint32 ipv6_dns_server_count,
                                    const MbimIPv6 *ipv6_dns_server,
                                    guint32 ipv4_mtu,
                                    guint32 ipv6_mtu,
                                    GError **error);

Create a new request for the 'IP Configuration' query command in the 'Basic Connect' service.

#### Parameters

session_id | the 'SessionId' field, given as a guint32. |
ipv4_configuration_available | the 'IPv4ConfigurationAvailable' field, given as a MbimIPConfigurationAvailableFlag. |
ipv6_configuration_available | the 'IPv6ConfigurationAvailable' field, given as a MbimIPConfigurationAvailableFlag. |
ipv4_address_count | the 'IPv4AddressCount' field, given as a guint32. |
ipv4_address | the 'IPv4Address' field, given as an array of MbimIPv4Elements. |
ipv6_address_count | the 'IPv6AddressCount' field, given as a guint32. |
ipv6_address | the 'IPv6Address' field, given as an array of MbimIPv6Elements. |
ipv4_gateway | the 'IPv4Gateway' field, given as a MbimIPv4. |
ipv6_gateway | the 'IPv6Gateway' field, given as a MbimIPv6. |
ipv4_dns_server_count | the 'IPv4DnsServerCount' field, given as a guint32. |
ipv4_dns_server | the 'IPv4DnsServer' field, given as an array of MbimIPv4. |
ipv6_dns_server_count | the 'IPv6DnsServerCount' field, given as a guint32. |
ipv6_dns_server | the 'IPv6DnsServer' field, given as an array of MbimIPv6. |
ipv4_mtu | the 'IPv4Mtu' field, given as a guint32. |
ipv6_mtu | the 'IPv6Mtu' field, given as a guint32. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_ip_configuration_response_parse ()

    gboolean
    mbim_message_ip_configuration_response_parse
                                   (const MbimMessage *message,
                                    guint32 *session_id,
                                    MbimIPConfigurationAvailableFlag *ipv4_configuration_available,
                                    MbimIPConfigurationAvailableFlag *ipv6_configuration_available,
                                    guint32 *ipv4_address_count,
                                    MbimIPv4Element ***ipv4_address,
                                    guint32 *ipv6_address_count,
                                    MbimIPv6Element ***ipv6_address,
                                    const MbimIPv4 **ipv4_gateway,
                                    const MbimIPv6 **ipv6_gateway,
                                    guint32 *ipv4_dns_server_count,
                                    MbimIPv4 **ipv4_dns_server,
                                    guint32 *ipv6_dns_server_count,
                                    MbimIPv6 **ipv6_dns_server,
                                    guint32 *ipv4_mtu,
                                    guint32 *ipv6_mtu,
                                    GError **error);

Parses and returns parameters of the 'IP Configuration' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. |
ipv4_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv4ConfigurationAvailable' field is not needed. |
ipv6_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv6ConfigurationAvailable' field is not needed. |
ipv4_address_count | return location for a guint32, or `NULL` if the 'IPv4AddressCount' field is not needed. |
ipv4_address | return location for a newly allocated array of MbimIPv4Elements, or `NULL` if the 'IPv4Address' field is not needed. Free the returned value with `mbim_ipv4_element_array_free()`. |
ipv6_address_count | return location for a guint32, or `NULL` if the 'IPv6AddressCount' field is not needed. |
ipv6_address | return location for a newly allocated array of MbimIPv6Elements, or `NULL` if the 'IPv6Address' field is not needed. Free the returned value with `mbim_ipv6_element_array_free()`. |
ipv4_gateway | return location for a MbimIPv4, or `NULL` if the 'IPv4Gateway' field is not needed. Do not free the returned value, it is owned by `message` . |
ipv6_gateway | return location for a MbimIPv6, or `NULL` if the 'IPv6Gateway' field is not needed. Do not free the returned value, it is owned by `message` . |
ipv4_dns_server_count | return location for a guint32, or `NULL` if the 'IPv4DnsServerCount' field is not needed. |
ipv4_dns_server | return location for a newly allocated array of MbimIPv4s, or `NULL` if the 'IPv4DnsServer' field is not needed. Free the returned value with `g_free()`. |
ipv6_dns_server_count | return location for a guint32, or `NULL` if the 'IPv6DnsServerCount' field is not needed. |
ipv6_dns_server | return location for a newly allocated array of MbimIPv6s, or `NULL` if the 'IPv6DnsServer' field is not needed. Free the returned value with `g_free()`. |
ipv4_mtu | return location for a guint32, or `NULL` if the 'IPv4Mtu' field is not needed. |
ipv6_mtu | return location for a guint32, or `NULL` if the 'IPv6Mtu' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_ip_configuration_notification_parse ()

    gboolean
    mbim_message_ip_configuration_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *session_id,
                                    MbimIPConfigurationAvailableFlag *ipv4_configuration_available,
                                    MbimIPConfigurationAvailableFlag *ipv6_configuration_available,
                                    guint32 *ipv4_address_count,
                                    MbimIPv4Element ***ipv4_address,
                                    guint32 *ipv6_address_count,
                                    MbimIPv6Element ***ipv6_address,
                                    const MbimIPv4 **ipv4_gateway,
                                    const MbimIPv6 **ipv6_gateway,
                                    guint32 *ipv4_dns_server_count,
                                    MbimIPv4 **ipv4_dns_server,
                                    guint32 *ipv6_dns_server_count,
                                    MbimIPv6 **ipv6_dns_server,
                                    guint32 *ipv4_mtu,
                                    guint32 *ipv6_mtu,
                                    GError **error);

Parses and returns parameters of the 'IP Configuration' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. |
ipv4_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv4ConfigurationAvailable' field is not needed. |
ipv6_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv6ConfigurationAvailable' field is not needed. |
ipv4_address_count | return location for a guint32, or `NULL` if the 'IPv4AddressCount' field is not needed. |
ipv4_address | return location for a newly allocated array of MbimIPv4Elements, or `NULL` if the 'IPv4Address' field is not needed. Free the returned value with `mbim_ipv4_element_array_free()`. |
ipv6_address_count | return location for a guint32, or `NULL` if the 'IPv6AddressCount' field is not needed. |
ipv6_address | return location for a newly allocated array of MbimIPv6Elements, or `NULL` if the 'IPv6Address' field is not needed. Free the returned value with `mbim_ipv6_element_array_free()`. |
ipv4_gateway | return location for a MbimIPv4, or `NULL` if the 'IPv4Gateway' field is not needed. Do not free the returned value, it is owned by `message` . |
ipv6_gateway | return location for a MbimIPv6, or `NULL` if the 'IPv6Gateway' field is not needed. Do not free the returned value, it is owned by `message` . |
ipv4_dns_server_count | return location for a guint32, or `NULL` if the 'IPv4DnsServerCount' field is not needed. |
ipv4_dns_server | return location for a newly allocated array of MbimIPv4s, or `NULL` if the 'IPv4DnsServer' field is not needed. Free the returned value with `g_free()`. |
ipv6_dns_server_count | return location for a guint32, or `NULL` if the 'IPv6DnsServerCount' field is not needed. |
ipv6_dns_server | return location for a newly allocated array of MbimIPv6s, or `NULL` if the 'IPv6DnsServer' field is not needed. Free the returned value with `g_free()`. |
ipv4_mtu | return location for a guint32, or `NULL` if the 'IPv4Mtu' field is not needed. |
ipv6_mtu | return location for a guint32, or `NULL` if the 'IPv6Mtu' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_device_services_query_new ()

    MbimMessage *
    mbim_message_device_services_query_new
                                   (GError **error);

Create a new request for the 'Device Services' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_device_services_response_parse ()

    gboolean
    mbim_message_device_services_response_parse
                                   (const MbimMessage *message,
                                    guint32 *device_services_count,
                                    guint32 *max_dss_sessions,
                                    MbimDeviceServiceElement ***device_services,
                                    GError **error);

Parses and returns parameters of the 'Device Services' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
device_services_count | return location for a guint32, or `NULL` if the 'DeviceServicesCount' field is not needed. |
max_dss_sessions | return location for a guint32, or `NULL` if the 'MaxDssSessions' field is not needed. |
device_services | return location for a newly allocated array of MbimDeviceServiceElements, or `NULL` if the 'DeviceServices' field is not needed. Free the returned value with `mbim_device_service_element_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_device_service_subscribe_list_set_new ()

    MbimMessage *
    mbim_message_device_service_subscribe_list_set_new
                                   (guint32 events_count,
                                    const MbimEventEntry *const *events,
                                    GError **error);

Create a new request for the 'Device Service Subscribe List' set command in the 'Basic Connect' service.

#### Parameters

events_count | the 'EventsCount' field, given as a guint32. |
events | the 'Events' field, given as an array of MbimEventEntrys. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_device_service_subscribe_list_response_parse ()

    gboolean
    mbim_message_device_service_subscribe_list_response_parse
                                   (const MbimMessage *message,
                                    guint32 *events_count,
                                    MbimEventEntry ***events,
                                    GError **error);

Parses and returns parameters of the 'Device Service Subscribe List' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
events_count | return location for a guint32, or `NULL` if the 'EventsCount' field is not needed. |
events | return location for a newly allocated array of MbimEventEntrys, or `NULL` if the 'Events' field is not needed. Free the returned value with `mbim_event_entry_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_packet_statistics_query_new ()

    MbimMessage *
    mbim_message_packet_statistics_query_new
                                   (GError **error);

Create a new request for the 'Packet Statistics' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_packet_statistics_response_parse ()

    gboolean
    mbim_message_packet_statistics_response_parse
                                   (const MbimMessage *message,
                                    guint32 *in_discards,
                                    guint32 *in_errors,
                                    guint64 *in_octets,
                                    guint64 *in_packets,
                                    guint64 *out_octets,
                                    guint64 *out_packets,
                                    guint32 *out_errors,
                                    guint32 *out_discards,
                                    GError **error);

Parses and returns parameters of the 'Packet Statistics' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
in_discards | return location for a guint32, or `NULL` if the 'InDiscards' field is not needed. |
in_errors | return location for a guint32, or `NULL` if the 'InErrors' field is not needed. |
in_octets | return location for a guint64, or `NULL` if the 'InOctets' field is not needed. |
in_packets | return location for a guint64, or `NULL` if the 'InPackets' field is not needed. |
out_octets | return location for a guint64, or `NULL` if the 'OutOctets' field is not needed. |
out_packets | return location for a guint64, or `NULL` if the 'OutPackets' field is not needed. |
out_errors | return location for a guint32, or `NULL` if the 'OutErrors' field is not needed. |
out_discards | return location for a guint32, or `NULL` if the 'OutDiscards' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_network_idle_hint_query_new ()

    MbimMessage *
    mbim_message_network_idle_hint_query_new
                                   (GError **error);

Create a new request for the 'Network Idle Hint' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_network_idle_hint_set_new ()

    MbimMessage *
    mbim_message_network_idle_hint_set_new
                                   (MbimNetworkIdleHintState state,
                                    GError **error);

Create a new request for the 'Network Idle Hint' set command in the 'Basic Connect' service.

#### Parameters

state | the 'State' field, given as a MbimNetworkIdleHintState. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_network_idle_hint_response_parse ()

    gboolean
    mbim_message_network_idle_hint_response_parse
                                   (const MbimMessage *message,
                                    MbimNetworkIdleHintState *state,
                                    GError **error);

Parses and returns parameters of the 'Network Idle Hint' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
state | return location for a MbimNetworkIdleHintState, or `NULL` if the 'State' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_emergency_mode_query_new ()

    MbimMessage *
    mbim_message_emergency_mode_query_new (GError **error);

Create a new request for the 'Emergency Mode' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_emergency_mode_set_new ()

    MbimMessage *
    mbim_message_emergency_mode_set_new (MbimEmergencyModeState state,
                                         GError **error);

Create a new request for the 'Emergency Mode' set command in the 'Basic Connect' service.

#### Parameters

state | the 'State' field, given as a MbimEmergencyModeState. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_emergency_mode_response_parse ()

    gboolean
    mbim_message_emergency_mode_response_parse
                                   (const MbimMessage *message,
                                    MbimEmergencyModeState *state,
                                    GError **error);

Parses and returns parameters of the 'Emergency Mode' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
state | return location for a MbimEmergencyModeState, or `NULL` if the 'State' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_emergency_mode_notification_parse ()

    gboolean
    mbim_message_emergency_mode_notification_parse
                                   (const MbimMessage *message,
                                    MbimEmergencyModeState *state,
                                    GError **error);

Parses and returns parameters of the 'Emergency Mode' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
state | return location for a MbimEmergencyModeState, or `NULL` if the 'State' field is not needed. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_ip_packet_filters_query_new ()

    MbimMessage *
    mbim_message_ip_packet_filters_query_new
                                   (guint32 session_id,
                                    guint32 packet_filters_count,
                                    const MbimPacketFilter *const *packet_filters,
                                    GError **error);

Create a new request for the 'IP Packet Filters' query command in the 'Basic Connect' service.

#### Parameters

session_id | the 'SessionId' field, given as a guint32. |
packet_filters_count | the 'PacketFiltersCount' field, given as a guint32. |
packet_filters | the 'PacketFilters' field, given as an array of MbimPacketFilters. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_ip_packet_filters_set_new ()

    MbimMessage *
    mbim_message_ip_packet_filters_set_new
                                   (guint32 session_id,
                                    guint32 packet_filters_count,
                                    const MbimPacketFilter *const *packet_filters,
                                    GError **error);

Create a new request for the 'IP Packet Filters' set command in the 'Basic Connect' service.

#### Parameters

session_id | the 'SessionId' field, given as a guint32. |
packet_filters_count | the 'PacketFiltersCount' field, given as a guint32. |
packet_filters | the 'PacketFilters' field, given as an array of MbimPacketFilters. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_ip_packet_filters_response_parse ()

    gboolean
    mbim_message_ip_packet_filters_response_parse
                                   (const MbimMessage *message,
                                    guint32 *session_id,
                                    guint32 *packet_filters_count,
                                    MbimPacketFilter ***packet_filters,
                                    GError **error);

Parses and returns parameters of the 'IP Packet Filters' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. |
packet_filters_count | return location for a guint32, or `NULL` if the 'PacketFiltersCount' field is not needed. |
packet_filters | return location for a newly allocated array of MbimPacketFilters, or `NULL` if the 'PacketFilters' field is not needed. Free the returned value with `mbim_packet_filter_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_multicarrier_providers_query_new ()

    MbimMessage *
    mbim_message_multicarrier_providers_query_new
                                   (GError **error);

Create a new request for the 'Multicarrier Providers' query command in the 'Basic Connect' service.

#### Parameters

error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_multicarrier_providers_set_new ()

    MbimMessage *
    mbim_message_multicarrier_providers_set_new
                                   (guint32 providers_count,
                                    const MbimProvider *const *providers,
                                    GError **error);

Create a new request for the 'Multicarrier Providers' set command in the 'Basic Connect' service.

#### Parameters

providers_count | the 'ProvidersCount' field, given as a guint32. |
providers | the 'Providers' field, given as an array of MbimProviders. |
error | return location for error or `NULL`. |

#### Returns

a newly allocated MbimMessage, which should be freed with `mbim_message_unref()`.

### mbim_message_multicarrier_providers_response_parse ()

    gboolean
    mbim_message_multicarrier_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *providers_count,
                                    MbimProvider ***providers,
                                    GError **error);

Parses and returns parameters of the 'Multicarrier Providers' response command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. |
providers | return location for a newly allocated array of MbimProviders, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

### mbim_message_multicarrier_providers_notification_parse ()

    gboolean
    mbim_message_multicarrier_providers_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *providers_count,
                                    MbimProvider ***providers,
                                    GError **error);

Parses and returns parameters of the 'Multicarrier Providers' notification command in the 'Basic Connect' service.

#### Parameters

message | the MbimMessage. |
providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. |
providers | return location for a newly allocated array of MbimProviders, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. |
error | return location for error or `NULL`. |

#### Returns

`TRUE` if the message was correctly parsed, `FALSE` if `error` is set.

## Types and Values

### MbimPinDesc

    typedef struct {
        guint32 pin_mode;
        guint32 pin_format;
        guint32 pin_length_min;
        guint32 pin_length_max;
    } MbimPinDesc;

#### Members

guint32 `pin_mode`; | a guint32. |
guint32 `pin_format`; | a guint32. |
guint32 `pin_length_min`; | a guint32. |
guint32 `pin_length_max`; | a guint32. |

### MbimProvider

    typedef struct {
        gchar *provider_id;
        guint32 provider_state;
        gchar *provider_name;
        guint32 cellular_class;
        guint32 rssi;
        guint32 error_rate;
    } MbimProvider;

#### Members

gchar *`provider_id`; | a string. |
guint32 `provider_state`; | a guint32. |
gchar *`provider_name`; | a string. |
guint32 `cellular_class`; | a guint32. |
guint32 `rssi`; | a guint32. |
guint32 `error_rate`; | a guint32. |

### MbimProvisionedContextElement

    typedef struct {
        guint32 context_id;
        MbimUuid context_type;
        gchar *access_string;
        gchar *user_name;
        gchar *password;
        guint32 compression;
        guint32 auth_protocol;
    } MbimProvisionedContextElement;

#### Members

guint32 `context_id`; | a guint32. |
MbimUuid `context_type`; | a MbimUuid. |
gchar *`access_string`; | a string. |
gchar *`user_name`; | a string. |
gchar *`password`; | a string. |
guint32 `compression`; | a guint32. |
guint32 `auth_protocol`; | a guint32. |

### MbimIPv4Element

    typedef struct {
        guint32 on_link_prefix_length;
        MbimIPv4 ipv4_address;
    } MbimIPv4Element;

#### Members

guint32 `on_link_prefix_length`; | a guint32. |
MbimIPv4 `ipv4_address`; | a MbimIPv4. |

### MbimIPv6Element

    typedef struct {
        guint32 on_link_prefix_length;
        MbimIPv6 ipv6_address;
    } MbimIPv6Element;

#### Members

guint32 `on_link_prefix_length`; | a guint32. |
MbimIPv6 `ipv6_address`; | a MbimIPv6 |

### MbimDeviceServiceElement

    typedef struct {
        MbimUuid device_service_id;
        guint32 dss_payload;
        guint32 max_dss_instances;
        guint32 cids_count;
        guint32 *cids;
    } MbimDeviceServiceElement;

#### Members

MbimUuid `device_service_id`; | a MbimUuid. |
guint32 `dss_payload`; | a guint32. |
guint32 `max_dss_instances`; | a guint32. |
guint32 `cids_count`; | a guint32. |
guint32 *`cids`; | an array of guint32 values. |

### MbimEventEntry

    typedef struct {
        MbimUuid device_service_id;
        guint32 cids_count;
        guint32 *cids;
    } MbimEventEntry;

#### Members

MbimUuid `device_service_id`; | a MbimUuid. |
guint32 `cids_count`; | a guint32. |
guint32 *`cids`; | an array of guint32 values. |

### MbimPacketFilter

    typedef struct {
        guint32 filter_size;
        guint8 *packet_filter;
        guint8 *packet_mask;
    } MbimPacketFilter;

#### Members

guint32 `filter_size`; | a guint32. |
guint8 *`packet_filter`; | an array of guint8 values. |
guint8 *`packet_mask`; | an array of guint8 values. |