]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libusb-1.0: Fix the LibUSB.TransferCb declaration
authorOle André Vadla Ravnås <oleavr@gmail.com>
Wed, 19 Jun 2024 07:19:24 +0000 (09:19 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 24 Jun 2024 18:05:03 +0000 (20:05 +0200)
The target is part of the Transfer object, and is not passed as a
parameter.

Co-authored-by: Håvard Sørbø <havard@hsorbo.no>
vapi/libusb-1.0.vapi

index 494c87ff533c5d76f57e13bd03f6012d69aa20dd..ff9a6408a13c4c50fe4d7aa7070399ec213d15fb 100644 (file)
@@ -516,7 +516,7 @@ namespace LibUSB {
                public TransferStatus status;
        }
 
-       [CCode (cname = "libusb_transfer_cb_fn")]
+       [CCode (cname = "libusb_transfer_cb_fn", has_target = false)]
        public delegate void TransferCb (Transfer transfer);
 
        [CCode (cname = "struct libusb_transfer", cprefix = "libusb_", free_function = "libusb_free_transfer")]
@@ -530,8 +530,8 @@ namespace LibUSB {
                public TransferStatus status;
                public int length;
                public int actual_length;
-               [CCode (delegate_target_cname = "user_data")]
                public TransferCb @callback;
+               public void* user_data;
                [CCode (array_length_cname = "length")]
                public uint8[] buffer;
                public int num_iso_packets;
@@ -550,10 +550,10 @@ namespace LibUSB {
                public unowned ControlSetup control_get_setup ();
 
                public static void fill_control_setup ([CCode (array_length = false)] uint8[] buffer, uint8 bmRequestType, uint8 bRequest, uint16 wValue, uint16 wIndex, uint16 wLength);
-               public void fill_control_transfer (DeviceHandle dev_handle, [CCode (array_length = false)] uint8[] buffer, TransferCb @callback, uint timeout);
-               public void fill_bulk_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, TransferCb @callback, uint timeout);
-               public void fill_interrupt_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, TransferCb @callback, uint timeout);
-               public void fill_iso_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, int num_iso_packets, TransferCb @callback, uint timeout);
+               public void fill_control_transfer (DeviceHandle dev_handle, [CCode (array_length = false)] uint8[] buffer, TransferCb @callback, void* user_data, uint timeout);
+               public void fill_bulk_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, TransferCb @callback, void* user_data, uint timeout);
+               public void fill_interrupt_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, TransferCb @callback, void* user_data, uint timeout);
+               public void fill_iso_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, int num_iso_packets, TransferCb @callback, void* user_data, uint timeout);
                public void set_iso_packet_lengths (uint length);
                [CCode (array_length = false)]
                public unowned uint8[] get_iso_packet_buffer (uint packet);