Method

FwupdPluginIoctlexecute

since: 2.0.2

Declaration [src]

gboolean
fu_ioctl_execute (
  FuIoctl* self,
  gulong request,
  gpointer buf,
  gsize bufsz,
  gint* rc,
  guint timeout,
  FuIoctlFlags flags,
  GError** error
)

Description [src]

Executes the ioctl, emulating as required. Each fixup defined using fu_ioctl_add_mutable_buffer() of fu_ioctl_add_const_buffer() is run before the ioctl is executed.

If there are no fixups defined, the buf is emulated, and so you must ensure that there are no ioctl wrapper structures that use indirect pointer values.

Available since: 2.0.2

Parameters

request

Type: gulong

Request number.

buf

Type: gpointer

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

The argument can be NULL.
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_IOCTL_FLAG_RETRY.

flags

Type: FuIoctlFlags

Some FuIoctlFlags, e.g. FU_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.