Method

FwupdPluginUsbDevicecontrol_transfer

since: 2.0.0

Declaration [src]

gboolean
fu_usb_device_control_transfer (
  FuUsbDevice* self,
  FuUsbDirection direction,
  FuUsbRequestType request_type,
  FuUsbRecipient recipient,
  guint8 request,
  guint16 value,
  guint16 idx,
  guint8* data,
  gsize length,
  gsize* actual_length,
  guint timeout,
  GCancellable* cancellable,
  GError** error
)

Description [src]

Perform a USB control transfer.

Warning: this function is synchronous, and cannot be cancelled.

Available since: 2.0.0

Parameters

direction

Type: FuUsbDirection

No description available.

request_type

Type: FuUsbRequestType

The request type field for the setup packet.

recipient

Type: FuUsbRecipient

No description available.

request

Type: guint8

The request field for the setup packet.

value

Type: guint16

The value field for the setup packet.

idx

Type: guint16

The index field for the setup packet.

data

Type: An array of guint8

A suitably-sized data buffer for either input or output.

The length of the array is specified in the length argument.
The data is owned by the caller of the method.
length

Type: gsize

The length field for the setup packet.

actual_length

Type: gsize*

The actual number of bytes sent, or NULL.

The argument will be set by the function.
The argument can be NULL.
timeout

Type: guint

Timeout timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use 0.

cancellable

Type: GCancellable

A GCancellable, or NULL.

The argument can be NULL.
The data is owned by the caller of the method.
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 on success.