## Basic Connect service

Basic Connect service — Support for the Basic Connect service.

## 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
typedef | MbimProviderArray
| MbimProvisionedContextElement
typedef | MbimProvisionedContextElementArray
| MbimIPv4Element
typedef | MbimIPv4ElementArray
| MbimIPv6Element
typedef | MbimIPv6ElementArray
| MbimDeviceServiceElement
typedef | MbimDeviceServiceElementArray
| MbimEventEntry
typedef | MbimEventEntryArray
| MbimPacketFilter
typedef | MbimPacketFilterArray

## Description

This section implements support for requests, responses and notifications in the Basic Connect service.

## Functions

### mbim_pin_desc_free ()

    void
    mbim_pin_desc_free (MbimPinDesc *var);

Frees the memory allocated for the MbimPinDesc.

#### Parameters

var | a MbimPinDesc. |

Since: 1.0

### mbim_provider_free ()

    void
    mbim_provider_free (MbimProvider *var);

Frees the memory allocated for the MbimProvider.

#### Parameters

var | a MbimProvider. |

Since: 1.2

### mbim_provider_array_free ()

    void
    mbim_provider_array_free (MbimProviderArray *array);

Frees the memory allocated for the array of MbimProvider structs.

#### Parameters

array | a NULL terminated array of MbimProvider structs. |

Since: 1.2

### mbim_provisioned_context_element_array_free ()

    void
    mbim_provisioned_context_element_array_free
                                   (MbimProvisionedContextElementArray *array);

Frees the memory allocated for the array of MbimProvisionedContextElement structs.

#### Parameters

array | a NULL terminated array of MbimProvisionedContextElement structs. |

Since: 1.0

### mbim_ipv4_element_array_free ()

    void
    mbim_ipv4_element_array_free (MbimIPv4ElementArray *array);

Frees the memory allocated for the array of MbimIPv4Element structs.

#### Parameters

array | a NULL terminated array of MbimIPv4Element structs. |

Since: 1.0

### mbim_ipv6_element_array_free ()

    void
    mbim_ipv6_element_array_free (MbimIPv6ElementArray *array);

Frees the memory allocated for the array of MbimIPv6Element structs.

#### Parameters

array | a NULL terminated array of MbimIPv6Element structs. |

Since: 1.0

### mbim_device_service_element_array_free ()

    void
    mbim_device_service_element_array_free
                                   (MbimDeviceServiceElementArray *array);

Frees the memory allocated for the array of MbimDeviceServiceElement structs.

#### Parameters

array | a NULL terminated array of MbimDeviceServiceElement structs. |

Since: 1.0

### mbim_event_entry_array_free ()

    void
    mbim_event_entry_array_free (MbimEventEntryArray *array);

Frees the memory allocated for the array of MbimEventEntry structs.

#### Parameters

array | a NULL terminated array of MbimEventEntry structs. |

Since: 1.4

### mbim_packet_filter_array_free ()

    void
    mbim_packet_filter_array_free (MbimPacketFilterArray *array);

Frees the memory allocated for the array of MbimPacketFilter structs.

#### Parameters

array | a NULL terminated array of MbimPacketFilter structs. |

Since: 1.4

### 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()`.

Since: 1.0

### mbim_message_device_caps_response_parse ()

    gboolean
    mbim_message_device_caps_response_parse
                                   (const MbimMessage *message,
                                    MbimDeviceType *out_device_type,
                                    MbimCellularClass *out_cellular_class,
                                    MbimVoiceClass *out_voice_class,
                                    MbimSimClass *out_sim_class,
                                    MbimDataClass *out_data_class,
                                    MbimSmsCaps *out_sms_caps,
                                    MbimCtrlCaps *out_control_caps,
                                    guint32 *out_max_sessions,
                                    gchar **out_custom_data_class,
                                    gchar **out_device_id,
                                    gchar **out_firmware_info,
                                    gchar **out_hardware_info,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_device_type | return location for a MbimDeviceType, or `NULL` if the 'DeviceType' field is not needed. | [out][optional][transfer none]
out_cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CellularClass' field is not needed. | [out][optional][transfer none]
out_voice_class | return location for a MbimVoiceClass, or `NULL` if the 'VoiceClass' field is not needed. | [out][optional][transfer none]
out_sim_class | return location for a MbimSimClass, or `NULL` if the 'SimClass' field is not needed. | [out][optional][transfer none]
out_data_class | return location for a MbimDataClass, or `NULL` if the 'DataClass' field is not needed. | [out][optional][transfer none]
out_sms_caps | return location for a MbimSmsCaps, or `NULL` if the 'SmsCaps' field is not needed. | [out][optional][transfer none]
out_control_caps | return location for a MbimCtrlCaps, or `NULL` if the 'ControlCaps' field is not needed. | [out][optional][transfer none]
out_max_sessions | return location for a guint32, or `NULL` if the 'MaxSessions' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### mbim_message_subscriber_ready_status_response_parse ()

    gboolean
    mbim_message_subscriber_ready_status_response_parse
                                   (const MbimMessage *message,
                                    MbimSubscriberReadyState *out_ready_state,
                                    gchar **out_subscriber_id,
                                    gchar **out_sim_icc_id,
                                    MbimReadyInfoFlag *out_ready_info,
                                    guint32 *out_telephone_numbers_count,
                                    gchar ***out_telephone_numbers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_ready_state | return location for a MbimSubscriberReadyState, or `NULL` if the 'ReadyState' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_ready_info | return location for a MbimReadyInfoFlag, or `NULL` if the 'ReadyInfo' field is not needed. | [out][optional][transfer none]
out_telephone_numbers_count | return location for a guint32, or `NULL` if the 'TelephoneNumbersCount' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full][type GStrv]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_subscriber_ready_status_notification_parse ()

    gboolean
    mbim_message_subscriber_ready_status_notification_parse
                                   (const MbimMessage *message,
                                    MbimSubscriberReadyState *out_ready_state,
                                    gchar **out_subscriber_id,
                                    gchar **out_sim_icc_id,
                                    MbimReadyInfoFlag *out_ready_info,
                                    guint32 *out_telephone_numbers_count,
                                    gchar ***out_telephone_numbers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_ready_state | return location for a MbimSubscriberReadyState, or `NULL` if the 'ReadyState' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_ready_info | return location for a MbimReadyInfoFlag, or `NULL` if the 'ReadyInfo' field is not needed. | [out][optional][transfer none]
out_telephone_numbers_count | return location for a guint32, or `NULL` if the 'TelephoneNumbersCount' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full][type GStrv]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

### 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()`.

Since: 1.0

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_radio_state_response_parse ()

    gboolean
    mbim_message_radio_state_response_parse
                                   (const MbimMessage *message,
                                    MbimRadioSwitchState *out_hw_radio_state,
                                    MbimRadioSwitchState *out_sw_radio_state,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_hw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'HwRadioState' field is not needed. | [out][optional][transfer none]
out_sw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'SwRadioState' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_radio_state_notification_parse ()

    gboolean
    mbim_message_radio_state_notification_parse
                                   (const MbimMessage *message,
                                    MbimRadioSwitchState *out_hw_radio_state,
                                    MbimRadioSwitchState *out_sw_radio_state,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_hw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'HwRadioState' field is not needed. | [out][optional][transfer none]
out_sw_radio_state | return location for a MbimRadioSwitchState, or `NULL` if the 'SwRadioState' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### 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. | [in]
pin_operation | the 'PinOperation' field, given as a MbimPinOperation. | [in]
pin | the 'Pin' field, given as a string. | [in]
new_pin | the 'NewPin' field, given as a string. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_pin_response_parse ()

    gboolean
    mbim_message_pin_response_parse (const MbimMessage *message,
                                     MbimPinType *out_pin_type,
                                     MbimPinState *out_pin_state,
                                     guint32 *out_remaining_attempts,
                                     GError **error);

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

#### Parameters

message | the MbimMessage. |
out_pin_type | return location for a MbimPinType, or `NULL` if the 'PinType' field is not needed. | [out][optional][transfer none]
out_pin_state | return location for a MbimPinState, or `NULL` if the 'PinState' field is not needed. | [out][optional][transfer none]
out_remaining_attempts | return location for a guint32, or `NULL` if the 'RemainingAttempts' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### mbim_message_pin_list_response_parse ()

    gboolean
    mbim_message_pin_list_response_parse (const MbimMessage *message,
                                          MbimPinDesc **out_pin_desc_pin1,
                                          MbimPinDesc **out_pin_desc_pin2,
                                          MbimPinDesc **out_pin_desc_device_sim_pin,
                                          MbimPinDesc **out_pin_desc_device_first_sim_pin,
                                          MbimPinDesc **out_pin_desc_network_pin,
                                          MbimPinDesc **out_pin_desc_network_subset_pin,
                                          MbimPinDesc **out_pin_desc_service_provider_pin,
                                          MbimPinDesc **out_pin_desc_corporate_pin,
                                          MbimPinDesc **out_pin_desc_subsidy_lock,
                                          MbimPinDesc **out_pin_desc_custom,
                                          GError **error);

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

#### Parameters

message | the MbimMessage. |
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.2

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### mbim_message_home_provider_response_parse ()

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

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

#### Parameters

message | the MbimMessage. |
out_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()`. | [out][optional][transfer full]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### 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()`.

Since: 1.2

### 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. | [in]
providers | the 'Providers' field, given as an array of MbimProvider items. | [in][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### mbim_message_preferred_providers_response_parse ()

    gboolean
    mbim_message_preferred_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_providers_count,
                                    MbimProviderArray **out_providers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. | [out][optional][transfer none]
out_providers | return location for a newly allocated array of MbimProvider items, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### mbim_message_preferred_providers_notification_parse ()

    gboolean
    mbim_message_preferred_providers_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_providers_count,
                                    MbimProviderArray **out_providers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. | [out][optional][transfer none]
out_providers | return location for a newly allocated array of MbimProvider items, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### mbim_message_visible_providers_response_parse ()

    gboolean
    mbim_message_visible_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_providers_count,
                                    MbimProviderArray **out_providers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. | [out][optional][transfer none]
out_providers | return location for a newly allocated array of MbimProvider items, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### 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()`.

Since: 1.0

### 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. | [in]
register_action | the 'RegisterAction' field, given as a MbimRegisterAction. | [in]
data_class | the 'DataClass' field, given as a MbimDataClass. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_register_state_response_parse ()

    gboolean
    mbim_message_register_state_response_parse
                                   (const MbimMessage *message,
                                    MbimNwError *out_nw_error,
                                    MbimRegisterState *out_register_state,
                                    MbimRegisterMode *out_register_mode,
                                    MbimDataClass *out_available_data_classes,
                                    MbimCellularClass *out_current_cellular_class,
                                    gchar **out_provider_id,
                                    gchar **out_provider_name,
                                    gchar **out_roaming_text,
                                    MbimRegistrationFlag *out_registration_flag,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
out_register_state | return location for a MbimRegisterState, or `NULL` if the 'RegisterState' field is not needed. | [out][optional][transfer none]
out_register_mode | return location for a MbimRegisterMode, or `NULL` if the 'RegisterMode' field is not needed. | [out][optional][transfer none]
out_available_data_classes | return location for a MbimDataClass, or `NULL` if the 'AvailableDataClasses' field is not needed. | [out][optional][transfer none]
out_current_cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CurrentCellularClass' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_registration_flag | return location for a MbimRegistrationFlag, or `NULL` if the 'RegistrationFlag' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_register_state_notification_parse ()

    gboolean
    mbim_message_register_state_notification_parse
                                   (const MbimMessage *message,
                                    MbimNwError *out_nw_error,
                                    MbimRegisterState *out_register_state,
                                    MbimRegisterMode *out_register_mode,
                                    MbimDataClass *out_available_data_classes,
                                    MbimCellularClass *out_current_cellular_class,
                                    gchar **out_provider_id,
                                    gchar **out_provider_name,
                                    gchar **out_roaming_text,
                                    MbimRegistrationFlag *out_registration_flag,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
out_register_state | return location for a MbimRegisterState, or `NULL` if the 'RegisterState' field is not needed. | [out][optional][transfer none]
out_register_mode | return location for a MbimRegisterMode, or `NULL` if the 'RegisterMode' field is not needed. | [out][optional][transfer none]
out_available_data_classes | return location for a MbimDataClass, or `NULL` if the 'AvailableDataClasses' field is not needed. | [out][optional][transfer none]
out_current_cellular_class | return location for a MbimCellularClass, or `NULL` if the 'CurrentCellularClass' field is not needed. | [out][optional][transfer none]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_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()`. | [out][optional][transfer full]
out_registration_flag | return location for a MbimRegistrationFlag, or `NULL` if the 'RegistrationFlag' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### 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. | [in]
rssi_threshold | the 'RssiThreshold' field, given as a guint32. | [in]
error_rate_threshold | the 'ErrorRateThreshold' field, given as a guint32. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_signal_state_response_parse ()

    gboolean
    mbim_message_signal_state_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_rssi,
                                    guint32 *out_error_rate,
                                    guint32 *out_signal_strength_interval,
                                    guint32 *out_rssi_threshold,
                                    guint32 *out_error_rate_threshold,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_rssi | return location for a guint32, or `NULL` if the 'Rssi' field is not needed. | [out][optional][transfer none]
out_error_rate | return location for a guint32, or `NULL` if the 'ErrorRate' field is not needed. | [out][optional][transfer none]
out_signal_strength_interval | return location for a guint32, or `NULL` if the 'SignalStrengthInterval' field is not needed. | [out][optional][transfer none]
out_rssi_threshold | return location for a guint32, or `NULL` if the 'RssiThreshold' field is not needed. | [out][optional][transfer none]
out_error_rate_threshold | return location for a guint32, or `NULL` if the 'ErrorRateThreshold' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_signal_state_notification_parse ()

    gboolean
    mbim_message_signal_state_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_rssi,
                                    guint32 *out_error_rate,
                                    guint32 *out_signal_strength_interval,
                                    guint32 *out_rssi_threshold,
                                    guint32 *out_error_rate_threshold,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_rssi | return location for a guint32, or `NULL` if the 'Rssi' field is not needed. | [out][optional][transfer none]
out_error_rate | return location for a guint32, or `NULL` if the 'ErrorRate' field is not needed. | [out][optional][transfer none]
out_signal_strength_interval | return location for a guint32, or `NULL` if the 'SignalStrengthInterval' field is not needed. | [out][optional][transfer none]
out_rssi_threshold | return location for a guint32, or `NULL` if the 'RssiThreshold' field is not needed. | [out][optional][transfer none]
out_error_rate_threshold | return location for a guint32, or `NULL` if the 'ErrorRateThreshold' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_packet_service_response_parse ()

    gboolean
    mbim_message_packet_service_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_nw_error,
                                    MbimPacketServiceState *out_packet_service_state,
                                    MbimDataClass *out_highest_available_data_class,
                                    guint64 *out_uplink_speed,
                                    guint64 *out_downlink_speed,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
out_packet_service_state | return location for a MbimPacketServiceState, or `NULL` if the 'PacketServiceState' field is not needed. | [out][optional][transfer none]
out_highest_available_data_class | return location for a MbimDataClass, or `NULL` if the 'HighestAvailableDataClass' field is not needed. | [out][optional][transfer none]
out_uplink_speed | return location for a guint64, or `NULL` if the 'UplinkSpeed' field is not needed. | [out][optional][transfer none]
out_downlink_speed | return location for a guint64, or `NULL` if the 'DownlinkSpeed' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_packet_service_notification_parse ()

    gboolean
    mbim_message_packet_service_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_nw_error,
                                    MbimPacketServiceState *out_packet_service_state,
                                    MbimDataClass *out_highest_available_data_class,
                                    guint64 *out_uplink_speed,
                                    guint64 *out_downlink_speed,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
out_packet_service_state | return location for a MbimPacketServiceState, or `NULL` if the 'PacketServiceState' field is not needed. | [out][optional][transfer none]
out_highest_available_data_class | return location for a MbimDataClass, or `NULL` if the 'HighestAvailableDataClass' field is not needed. | [out][optional][transfer none]
out_uplink_speed | return location for a guint64, or `NULL` if the 'UplinkSpeed' field is not needed. | [out][optional][transfer none]
out_downlink_speed | return location for a guint64, or `NULL` if the 'DownlinkSpeed' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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. | [in]
activation_state | the 'ActivationState' field, given as a MbimActivationState. | [in]
voice_call_state | the 'VoiceCallState' field, given as a MbimVoiceCallState. | [in]
ip_type | the 'IpType' field, given as a MbimContextIpType. | [in]
context_type | the 'ContextType' field, given as a MbimUuid. | [in]
nw_error | the 'NwError' field, given as a guint32. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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. | [in]
activation_command | the 'ActivationCommand' field, given as a MbimActivationCommand. | [in]
access_string | the 'AccessString' field, given as a string. | [in]
user_name | the 'UserName' field, given as a string. | [in]
password | the 'Password' field, given as a string. | [in]
compression | the 'Compression' field, given as a MbimCompression. | [in]
auth_protocol | the 'AuthProtocol' field, given as a MbimAuthProtocol. | [in]
ip_type | the 'IpType' field, given as a MbimContextIpType. | [in]
context_type | the 'ContextType' field, given as a MbimUuid. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_connect_response_parse ()

    gboolean
    mbim_message_connect_response_parse (const MbimMessage *message,
                                         guint32 *out_session_id,
                                         MbimActivationState *out_activation_state,
                                         MbimVoiceCallState *out_voice_call_state,
                                         MbimContextIpType *out_ip_type,
                                         const MbimUuid **out_context_type,
                                         guint32 *out_nw_error,
                                         GError **error);

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

#### Parameters

message | the MbimMessage. |
out_session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. | [out][optional][transfer none]
out_activation_state | return location for a MbimActivationState, or `NULL` if the 'ActivationState' field is not needed. | [out][optional][transfer none]
out_voice_call_state | return location for a MbimVoiceCallState, or `NULL` if the 'VoiceCallState' field is not needed. | [out][optional][transfer none]
out_ip_type | return location for a MbimContextIpType, or `NULL` if the 'IpType' field is not needed. | [out][optional][transfer none]
out_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` . | [out][optional][transfer none]
out_nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_connect_notification_parse ()

    gboolean
    mbim_message_connect_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_session_id,
                                    MbimActivationState *out_activation_state,
                                    MbimVoiceCallState *out_voice_call_state,
                                    MbimContextIpType *out_ip_type,
                                    const MbimUuid **out_context_type,
                                    guint32 *out_nw_error,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. | [out][optional][transfer none]
out_activation_state | return location for a MbimActivationState, or `NULL` if the 'ActivationState' field is not needed. | [out][optional][transfer none]
out_voice_call_state | return location for a MbimVoiceCallState, or `NULL` if the 'VoiceCallState' field is not needed. | [out][optional][transfer none]
out_ip_type | return location for a MbimContextIpType, or `NULL` if the 'IpType' field is not needed. | [out][optional][transfer none]
out_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` . | [out][optional][transfer none]
out_nw_error | return location for a guint32, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### 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. | [in]
context_type | the 'ContextType' field, given as a MbimUuid. | [in]
access_string | the 'AccessString' field, given as a string. | [in]
user_name | the 'UserName' field, given as a string. | [in]
password | the 'Password' field, given as a string. | [in]
compression | the 'Compression' field, given as a MbimCompression. | [in]
auth_protocol | the 'AuthProtocol' field, given as a MbimAuthProtocol. | [in]
provider_id | the 'ProviderId' field, given as a string. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_provisioned_contexts_response_parse ()

    gboolean
    mbim_message_provisioned_contexts_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_provisioned_contexts_count,
                                    MbimProvisionedContextElementArray **out_provisioned_contexts,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_provisioned_contexts_count | return location for a guint32, or `NULL` if the 'ProvisionedContextsCount' field is not needed. | [out][optional][transfer none]
out_provisioned_contexts | return location for a newly allocated array of MbimProvisionedContextElement items, or `NULL` if the 'ProvisionedContexts' field is not needed. Free the returned value with `mbim_provisioned_context_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvisionedContextElement]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_provisioned_contexts_notification_parse ()

    gboolean
    mbim_message_provisioned_contexts_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_provisioned_contexts_count,
                                    MbimProvisionedContextElementArray **out_provisioned_contexts,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_provisioned_contexts_count | return location for a guint32, or `NULL` if the 'ProvisionedContextsCount' field is not needed. | [out][optional][transfer none]
out_provisioned_contexts | return location for a newly allocated array of MbimProvisionedContextElement items, or `NULL` if the 'ProvisionedContexts' field is not needed. Free the returned value with `mbim_provisioned_context_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvisionedContextElement]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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. | [in]
buffer | the 'Buffer' field, given as an array of guint8 values. | [in][element-type guint8][array length=buffer_size]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### mbim_message_service_activation_response_parse ()

    gboolean
    mbim_message_service_activation_response_parse
                                   (const MbimMessage *message,
                                    MbimNwError *out_nw_error,
                                    guint32 *out_buffer_size,
                                    const guint8 **out_buffer,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_nw_error | return location for a MbimNwError, or `NULL` if the 'NwError' field is not needed. | [out][optional][transfer none]
out_buffer_size | return location for the size of the buffer array. | [out][optional]
out_buffer | return location for an array of guint8 values. Do not free the returned value, it is owned by `message` . | [out][optional][transfer none][element-type guint8][array length=out_buffer_size]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.2

### 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. | [in]
ipv4_configuration_available | the 'IPv4ConfigurationAvailable' field, given as a MbimIPConfigurationAvailableFlag. | [in]
ipv6_configuration_available | the 'IPv6ConfigurationAvailable' field, given as a MbimIPConfigurationAvailableFlag. | [in]
ipv4_address_count | the 'IPv4AddressCount' field, given as a guint32. | [in]
ipv4_address | the 'IPv4Address' field, given as an array of MbimIPv4Element items. | [in][array zero-terminated=1][element-type MbimIPv4Element]
ipv6_address_count | the 'IPv6AddressCount' field, given as a guint32. | [in]
ipv6_address | the 'IPv6Address' field, given as an array of MbimIPv6Element items. | [in][array zero-terminated=1][element-type MbimIPv6Element]
ipv4_gateway | the 'IPv4Gateway' field, given as a MbimIPv4. | [in]
ipv6_gateway | the 'IPv6Gateway' field, given as a MbimIPv6. | [in]
ipv4_dns_server_count | the 'IPv4DnsServerCount' field, given as a guint32. | [in]
ipv4_dns_server | the 'IPv4DnsServer' field, given as an array of MbimIPv4 items. | [in][array zero-terminated=1][element-type MbimIPv4]
ipv6_dns_server_count | the 'IPv6DnsServerCount' field, given as a guint32. | [in]
ipv6_dns_server | the 'IPv6DnsServer' field, given as an array of MbimIPv6 items. | [in][array zero-terminated=1][element-type MbimIPv6]
ipv4_mtu | the 'IPv4Mtu' field, given as a guint32. | [in]
ipv6_mtu | the 'IPv6Mtu' field, given as a guint32. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_ip_configuration_response_parse ()

    gboolean
    mbim_message_ip_configuration_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_session_id,
                                    MbimIPConfigurationAvailableFlag *out_ipv4_configuration_available,
                                    MbimIPConfigurationAvailableFlag *out_ipv6_configuration_available,
                                    guint32 *out_ipv4_address_count,
                                    MbimIPv4ElementArray **out_ipv4_address,
                                    guint32 *out_ipv6_address_count,
                                    MbimIPv6ElementArray **out_ipv6_address,
                                    const MbimIPv4 **out_ipv4_gateway,
                                    const MbimIPv6 **out_ipv6_gateway,
                                    guint32 *out_ipv4_dns_server_count,
                                    MbimIPv4 **out_ipv4_dns_server,
                                    guint32 *out_ipv6_dns_server_count,
                                    MbimIPv6 **out_ipv6_dns_server,
                                    guint32 *out_ipv4_mtu,
                                    guint32 *out_ipv6_mtu,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. | [out][optional][transfer none]
out_ipv4_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv4ConfigurationAvailable' field is not needed. | [out][optional][transfer none]
out_ipv6_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv6ConfigurationAvailable' field is not needed. | [out][optional][transfer none]
out_ipv4_address_count | return location for a guint32, or `NULL` if the 'IPv4AddressCount' field is not needed. | [out][optional][transfer none]
out_ipv4_address | return location for a newly allocated array of MbimIPv4Element items, or `NULL` if the 'IPv4Address' field is not needed. Free the returned value with `mbim_ipv4_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv4Element]
out_ipv6_address_count | return location for a guint32, or `NULL` if the 'IPv6AddressCount' field is not needed. | [out][optional][transfer none]
out_ipv6_address | return location for a newly allocated array of MbimIPv6Element items, or `NULL` if the 'IPv6Address' field is not needed. Free the returned value with `mbim_ipv6_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv6Element]
out_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` . | [out][optional][transfer none]
out_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` . | [out][optional][transfer none]
out_ipv4_dns_server_count | return location for a guint32, or `NULL` if the 'IPv4DnsServerCount' field is not needed. | [out][optional][transfer none]
out_ipv4_dns_server | return location for a newly allocated array of MbimIPv4 items, or `NULL` if the 'IPv4DnsServer' field is not needed. Free the returned value with `g_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv4]
out_ipv6_dns_server_count | return location for a guint32, or `NULL` if the 'IPv6DnsServerCount' field is not needed. | [out][optional][transfer none]
out_ipv6_dns_server | return location for a newly allocated array of MbimIPv6 items, or `NULL` if the 'IPv6DnsServer' field is not needed. Free the returned value with `g_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv6]
out_ipv4_mtu | return location for a guint32, or `NULL` if the 'IPv4Mtu' field is not needed. | [out][optional][transfer none]
out_ipv6_mtu | return location for a guint32, or `NULL` if the 'IPv6Mtu' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### mbim_message_ip_configuration_notification_parse ()

    gboolean
    mbim_message_ip_configuration_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_session_id,
                                    MbimIPConfigurationAvailableFlag *out_ipv4_configuration_available,
                                    MbimIPConfigurationAvailableFlag *out_ipv6_configuration_available,
                                    guint32 *out_ipv4_address_count,
                                    MbimIPv4ElementArray **out_ipv4_address,
                                    guint32 *out_ipv6_address_count,
                                    MbimIPv6ElementArray **out_ipv6_address,
                                    const MbimIPv4 **out_ipv4_gateway,
                                    const MbimIPv6 **out_ipv6_gateway,
                                    guint32 *out_ipv4_dns_server_count,
                                    MbimIPv4 **out_ipv4_dns_server,
                                    guint32 *out_ipv6_dns_server_count,
                                    MbimIPv6 **out_ipv6_dns_server,
                                    guint32 *out_ipv4_mtu,
                                    guint32 *out_ipv6_mtu,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. | [out][optional][transfer none]
out_ipv4_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv4ConfigurationAvailable' field is not needed. | [out][optional][transfer none]
out_ipv6_configuration_available | return location for a MbimIPConfigurationAvailableFlag, or `NULL` if the 'IPv6ConfigurationAvailable' field is not needed. | [out][optional][transfer none]
out_ipv4_address_count | return location for a guint32, or `NULL` if the 'IPv4AddressCount' field is not needed. | [out][optional][transfer none]
out_ipv4_address | return location for a newly allocated array of MbimIPv4Element items, or `NULL` if the 'IPv4Address' field is not needed. Free the returned value with `mbim_ipv4_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv4Element]
out_ipv6_address_count | return location for a guint32, or `NULL` if the 'IPv6AddressCount' field is not needed. | [out][optional][transfer none]
out_ipv6_address | return location for a newly allocated array of MbimIPv6Element items, or `NULL` if the 'IPv6Address' field is not needed. Free the returned value with `mbim_ipv6_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv6Element]
out_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` . | [out][optional][transfer none]
out_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` . | [out][optional][transfer none]
out_ipv4_dns_server_count | return location for a guint32, or `NULL` if the 'IPv4DnsServerCount' field is not needed. | [out][optional][transfer none]
out_ipv4_dns_server | return location for a newly allocated array of MbimIPv4 items, or `NULL` if the 'IPv4DnsServer' field is not needed. Free the returned value with `g_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv4]
out_ipv6_dns_server_count | return location for a guint32, or `NULL` if the 'IPv6DnsServerCount' field is not needed. | [out][optional][transfer none]
out_ipv6_dns_server | return location for a newly allocated array of MbimIPv6 items, or `NULL` if the 'IPv6DnsServer' field is not needed. Free the returned value with `g_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimIPv6]
out_ipv4_mtu | return location for a guint32, or `NULL` if the 'IPv4Mtu' field is not needed. | [out][optional][transfer none]
out_ipv6_mtu | return location for a guint32, or `NULL` if the 'IPv6Mtu' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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()`.

Since: 1.0

### mbim_message_device_services_response_parse ()

    gboolean
    mbim_message_device_services_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_device_services_count,
                                    guint32 *out_max_dss_sessions,
                                    MbimDeviceServiceElementArray **out_device_services,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_device_services_count | return location for a guint32, or `NULL` if the 'DeviceServicesCount' field is not needed. | [out][optional][transfer none]
out_max_dss_sessions | return location for a guint32, or `NULL` if the 'MaxDssSessions' field is not needed. | [out][optional][transfer none]
out_device_services | return location for a newly allocated array of MbimDeviceServiceElement items, or `NULL` if the 'DeviceServices' field is not needed. Free the returned value with `mbim_device_service_element_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimDeviceServiceElement]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.0

### 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. | [in]
events | the 'Events' field, given as an array of MbimEventEntry items. | [in][array zero-terminated=1][element-type MbimEventEntry]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

### mbim_message_device_service_subscribe_list_response_parse ()

    gboolean
    mbim_message_device_service_subscribe_list_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_events_count,
                                    MbimEventEntryArray **out_events,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_events_count | return location for a guint32, or `NULL` if the 'EventsCount' field is not needed. | [out][optional][transfer none]
out_events | return location for a newly allocated array of MbimEventEntry items, or `NULL` if the 'Events' field is not needed. Free the returned value with `mbim_event_entry_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimEventEntry]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

### 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()`.

Since: 1.4

### mbim_message_packet_statistics_response_parse ()

    gboolean
    mbim_message_packet_statistics_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_in_discards,
                                    guint32 *out_in_errors,
                                    guint64 *out_in_octets,
                                    guint64 *out_in_packets,
                                    guint64 *out_out_octets,
                                    guint64 *out_out_packets,
                                    guint32 *out_out_errors,
                                    guint32 *out_out_discards,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_in_discards | return location for a guint32, or `NULL` if the 'InDiscards' field is not needed. | [out][optional][transfer none]
out_in_errors | return location for a guint32, or `NULL` if the 'InErrors' field is not needed. | [out][optional][transfer none]
out_in_octets | return location for a guint64, or `NULL` if the 'InOctets' field is not needed. | [out][optional][transfer none]
out_in_packets | return location for a guint64, or `NULL` if the 'InPackets' field is not needed. | [out][optional][transfer none]
out_out_octets | return location for a guint64, or `NULL` if the 'OutOctets' field is not needed. | [out][optional][transfer none]
out_out_packets | return location for a guint64, or `NULL` if the 'OutPackets' field is not needed. | [out][optional][transfer none]
out_out_errors | return location for a guint32, or `NULL` if the 'OutErrors' field is not needed. | [out][optional][transfer none]
out_out_discards | return location for a guint32, or `NULL` if the 'OutDiscards' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### 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()`.

Since: 1.4

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_network_idle_hint_response_parse ()

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

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

#### Parameters

message | the MbimMessage. |
out_state | return location for a MbimNetworkIdleHintState, or `NULL` if the 'State' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### 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()`.

Since: 1.4

### 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. | [in]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_emergency_mode_response_parse ()

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

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

#### Parameters

message | the MbimMessage. |
out_state | return location for a MbimEmergencyModeState, or `NULL` if the 'State' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_emergency_mode_notification_parse ()

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

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

#### Parameters

message | the MbimMessage. |
out_state | return location for a MbimEmergencyModeState, or `NULL` if the 'State' field is not needed. | [out][optional][transfer none]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

### 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. | [in]
packet_filters_count | the 'PacketFiltersCount' field, given as a guint32. | [in]
packet_filters | the 'PacketFilters' field, given as an array of MbimPacketFilter items. | [in][array zero-terminated=1][element-type MbimPacketFilter]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### 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. | [in]
packet_filters_count | the 'PacketFiltersCount' field, given as a guint32. | [in]
packet_filters | the 'PacketFilters' field, given as an array of MbimPacketFilter items. | [in][array zero-terminated=1][element-type MbimPacketFilter]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_ip_packet_filters_response_parse ()

    gboolean
    mbim_message_ip_packet_filters_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_session_id,
                                    guint32 *out_packet_filters_count,
                                    MbimPacketFilterArray **out_packet_filters,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_session_id | return location for a guint32, or `NULL` if the 'SessionId' field is not needed. | [out][optional][transfer none]
out_packet_filters_count | return location for a guint32, or `NULL` if the 'PacketFiltersCount' field is not needed. | [out][optional][transfer none]
out_packet_filters | return location for a newly allocated array of MbimPacketFilter items, or `NULL` if the 'PacketFilters' field is not needed. Free the returned value with `mbim_packet_filter_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimPacketFilter]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### 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()`.

Since: 1.4

### 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. | [in]
providers | the 'Providers' field, given as an array of MbimProvider items. | [in][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_multicarrier_providers_response_parse ()

    gboolean
    mbim_message_multicarrier_providers_response_parse
                                   (const MbimMessage *message,
                                    guint32 *out_providers_count,
                                    MbimProviderArray **out_providers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. | [out][optional][transfer none]
out_providers | return location for a newly allocated array of MbimProvider items, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.4

### mbim_message_multicarrier_providers_notification_parse ()

    gboolean
    mbim_message_multicarrier_providers_notification_parse
                                   (const MbimMessage *message,
                                    guint32 *out_providers_count,
                                    MbimProviderArray **out_providers,
                                    GError **error);

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

#### Parameters

message | the MbimMessage. |
out_providers_count | return location for a guint32, or `NULL` if the 'ProvidersCount' field is not needed. | [out][optional][transfer none]
out_providers | return location for a newly allocated array of MbimProvider items, or `NULL` if the 'Providers' field is not needed. Free the returned value with `mbim_provider_array_free()`. | [out][optional][transfer full][array zero-terminated=1][element-type MbimProvider]
error | return location for error or `NULL`. |

#### Returns

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

Since: 1.8

## Types and Values

### MbimPinDesc

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

A MbimPinDesc element.

#### Members

guint32 `pin_mode`; | a MbimPinMode given as a guint32. |
guint32 `pin_format`; | a MbimPinFormat given as a guint32. |
guint32 `pin_length_min`; | a guint32. |
guint32 `pin_length_max`; | a guint32. |

Since: 1.0

### MbimProvider

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

A MbimProvider element.

#### Members

gchar *`provider_id`; | a string. |
guint32 `provider_state`; | a MbimProviderState given as a guint32. |
gchar *`provider_name`; | a string. |
guint32 `cellular_class`; | a MbimCellularClass given as a guint32. |
guint32 `rssi`; | a guint32. |
guint32 `error_rate`; | a guint32. |

Since: 1.2

### MbimProviderArray

    typedef MbimProvider *MbimProviderArray;

A NULL-terminated array of MbimProvider elements.

Since: 1.24

### MbimProvisionedContextElement

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

A MbimProvisionedContextElement element.

#### 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 MbimCompression given as a guint32. |
guint32 `auth_protocol`; | a MbimAuthProtocol given as a guint32. |

Since: 1.0

### MbimProvisionedContextElementArray

    typedef MbimProvisionedContextElement *MbimProvisionedContextElementArray;

A NULL-terminated array of MbimProvisionedContextElement elements.

Since: 1.24

### MbimIPv4Element

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

A MbimIPv4Element element.

#### Members

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

Since: 1.0

### MbimIPv4ElementArray

    typedef MbimIPv4Element *MbimIPv4ElementArray;

A NULL-terminated array of MbimIPv4Element elements.

Since: 1.24

### MbimIPv6Element

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

A MbimIPv6Element element.

#### Members

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

Since: 1.0

### MbimIPv6ElementArray

    typedef MbimIPv6Element *MbimIPv6ElementArray;

A NULL-terminated array of MbimIPv6Element elements.

Since: 1.24

### MbimDeviceServiceElement

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

A MbimDeviceServiceElement element.

#### 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. |

Since: 1.0

### MbimDeviceServiceElementArray

    typedef MbimDeviceServiceElement *MbimDeviceServiceElementArray;

A NULL-terminated array of MbimDeviceServiceElement elements.

Since: 1.24

### MbimEventEntry

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

A MbimEventEntry element.

#### Members

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

Since: 1.4

### MbimEventEntryArray

    typedef MbimEventEntry *MbimEventEntryArray;

A NULL-terminated array of MbimEventEntry elements.

Since: 1.24

### MbimPacketFilter

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

A MbimPacketFilter element.

#### Members

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

Since: 1.4

### MbimPacketFilterArray

    typedef MbimPacketFilter *MbimPacketFilterArray;

A NULL-terminated array of MbimPacketFilter elements.

Since: 1.24