Method

FwupdPluginUdevDeviceioctl

since: 2.0.0

Declaration [src]

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

Description [src]

Control a device using a low-level request.

NOTE: In version 2.0.0 the bufsz parameter was added — which isn’t required to perform the ioctl, but is required to accurately track and emulate the device buffer.

Available since: 2.0.0

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

Type: gsize

The size of buf.

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

flags

Type: FuUdevDeviceIoctlFlags

Some FuUdevDeviceIoctlFlags, e.g. FU_UDEV_DEVICE_IOCTL_FLAG_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.