Qmi.Device.add_link_with_flags_and_initial_mux_id

### Method

# Qmi Deviceadd_link_with_flags_and_initial_mux_id

since: 1.30

#### Declaration [src]

    void
    qmi_device_add_link_with_flags_and_initial_mux_id (
      QmiDevice* self,
      guint initial_mux_id,
      const gchar* base_ifname,
      const gchar* ifname_prefix,
      QmiDeviceAddLinkFlags flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Asynchronously creates a new virtual network device in the same way as `qmi_device_add_link_with_flags()` does, but passing the additional `initial_mux_id` value from which the first available mux id interface should be looked for.

Using `QMI_DEVICE_MUX_ID_MIN` as `initial_mux_id` is equivalent to calling `qmi_device_add_link_with_flags()` with `QMI_DEVICE_MUX_ID_AUTOMATIC`.

If the link creation with the given set of `flags` is unsupported by the backend, the operation may fail.

None of the `flags` supported are applicable when using the multiplexing support provided by the qmi_wwan kernel driver, they are only used if using the rmnet backend for link management support. .

Available since: 1.30

This method completes asynchronously. Use `qmi_device_add_link_with_flags_and_initial_mux_id_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`initial_mux_id`

  Type: `guint`

  The initial mux id from which the first available mux id has to be searched for in the [`QMI_DEVICE_MUX_ID_MIN`,`QMI_DEVICE_MUX_ID_MAX`] range.

`base_ifname`

  Type: `const gchar*`

  The interface which the new link will be created on.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`ifname_prefix`

  Type: `const gchar*`

  The prefix suggested to be used for the name of the new link created.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`flags`

  Type: `QmiDeviceAddLinkFlags`

  Bitmask of %QmiDeviceAddLinkFlags values to pass to the kernel when creating the new link.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the operation is finished.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data to pass to callback function.

  The argument can be `NULL`.
  The data is owned by the caller of the method.