### Method

# FwupdPlugin UdevDevice ioctl

since: 1.8.2

#### Declaration [src]

    gboolean
    fu_udev_device_ioctl (
      FuUdevDevice* self,
      gulong request,
      guint8* buf,
      gint* rc,
      guint timeout,
      GError** error
    )

#### Description [src]

Control a device using a low-level request.

Available since: 1.8.2

#### Parameters

`request`

  Type: `gulong`

  Request number.

`buf`

  Type: `guint8*`

  A buffer to use, which must be large enough for the request.

  The data is owned by the caller of the method.

`rc`

  Type: `gint*`

  The raw return value from the ioctl.

  The argument will be set by the function.
  The argument can be set to `NULL` by the method.

`timeout`

  Type: `guint`

  Timeout in ms for the retry action, see `FU_UDEV_DEVICE_FLAG_IOCTL_RETRY`.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE` for success.