### Method

# Qmi Device add_link_with_flags

since: 1.30

#### Declaration [src]

    void
    qmi_device_add_link_with_flags (
      QmiDevice* self,
      guint 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()` does, but passing the additional `flags` to the kernel during the operation.

Using `QMI_DEVICE_ADD_LINK_FLAGS_NONE` as `flags` is equivalent to calling `qmi_device_add_link()` directly.

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

<note><para> 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. </para></note>.

Available since: 1.30

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

#### Parameters

`mux_id`

  Type: `guint`

  The mux id for the link, in the [`QMI_DEVICE_MUX_ID_MIN`,`QMI_DEVICE_MUX_ID_MAX`] range, or `QMI_DEVICE_MUX_ID_AUTOMATIC` to find the first available mux id.

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