[vala/staging] libusb-1.0: Add some missing symbols



commit a416d0426125088202f61b69b1175e8583c64e9c
Author: Corentin Noël <corentin noel collabora co uk>
Date:   Tue Jun 5 19:08:12 2018 +0100

    libusb-1.0: Add some missing symbols

 vapi/libusb-1.0.vapi | 306 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 247 insertions(+), 59 deletions(-)
---
diff --git a/vapi/libusb-1.0.vapi b/vapi/libusb-1.0.vapi
index 780900a03..a7655565c 100644
--- a/vapi/libusb-1.0.vapi
+++ b/vapi/libusb-1.0.vapi
@@ -21,10 +21,14 @@ namespace LibUSB {
                STRING,
                INTERFACE,
                ENDPOINT,
+               BOS,
+               DEVICE_CAPABILITY,
                HID,
                REPORT,
                PHYSICAL,
-               HUB
+               HUB,
+               SUPERSPEED_HUB,
+               SS_ENDPOINT_COMPANION
        }
 
        [CCode (cprefix = "LIBUSB_DT_")]
@@ -34,7 +38,12 @@ namespace LibUSB {
                public const int INTERFACE_SIZE;
                public const int ENDPOINT_SIZE;
                public const int ENDPOINT_AUDIO_SIZE;
-               public const int HUB_NONVAR_SIZE;
+               public const int SS_ENDPOINT_COMPANION_SIZE;
+               public const int BOS_SIZE;
+               public const int DEVICE_CAPABILITY_SIZE;
+               public const int USB_2_0_EXTENSION_SIZE;
+               public const int SS_USB_DEVICE_CAPABILITY_SIZE;
+               public const int CONTAINER_ID_SIZE;
        }
 
        namespace EndpointMask {
@@ -59,7 +68,8 @@ namespace LibUSB {
                CONTROL,
                ISOCHRONOUS,
                BULK,
-               INTERRUPT
+               INTERRUPT,
+               BULK_STREAM
        }
 
        [CCode (cname = "enum libusb_standard_request", cprefix = "LIBUSB_REQUEST_", has_type_id = false)]
@@ -71,9 +81,13 @@ namespace LibUSB {
                GET_DESCRIPTOR,
                SET_DESCRIPTOR,
                GET_CONFIGURATION,
+               SET_CONFIGURATION,
                GET_INTERFACE,
                SET_INTERFACE,
-               SYNCH_FRAME
+               SYNCH_FRAME,
+               SET_SEL,
+               [CCode (cname = "LIBUSB_SET_ISOCH_DELAY")]
+               SET_ISOCH_DELAY
        }
 
        [CCode (cname = "enum libusb_request_type", cprefix = "LIBUSB_REQUEST_TYPE_", has_type_id = false)]
@@ -125,14 +139,63 @@ namespace LibUSB {
                INTERRUPTED,
                NO_MEM,
                NOT_SUPPORTED,
-               OTHER
+               OTHER;
+               [CCode (cname = "libusb_strerror")]
+               public unowned string get_description ();
+               [CCode (cname = "libusb_error_name")]
+               public unowned string get_name ();
        }
 
        [CCode (cname = "enum libusb_transfer_flags", cprefix = "LIBUSB_TRANSFER_", has_type_id = false)]
        public enum TransferFlags {
                SHORT_NOT_OK,
                FREE_BUFFER,
-               FREE_TRANSFER
+               FREE_TRANSFER,
+               ADD_ZERO_PACKET
+       }
+
+       [CCode (cname = "enum libusb_speed", cprefix = "LIBUSB_SPEED_", has_type_id = false)]
+       public enum Speed {
+               UNKNOWN,
+               LOW,
+               FULL,
+               HIGH,
+               SUPER
+       }
+
+       [Flags]
+       [CCode (cname = "enum libusb_supported_speed", has_type_id = false)]
+       public enum SupportedSpeed {
+               [CCode (cname = "LIBUSB_LOW_SPEED_OPERATION")]
+               LOW,
+               [CCode (cname = "LIBUSB_FULL_SPEED_OPERATION")]
+               FULL,
+               [CCode (cname = "LIBUSB_HIGH_SPEED_OPERATION")]
+               HIGH,
+               [CCode (cname = "LIBUSB_SUPER_SPEED_OPERATION")]
+               SUPER
+       }
+
+       [Flags]
+       [CCode (cname = "enum libusb_usb_2_0_extension_attributes", has_type_id = false)]
+       public enum USB_2_0_ExtensionAttributes {
+               [CCode (cname = "LIBUSB_BM_LPM_SUPPORT")]
+               LPM_SUPPORT
+       }
+
+       [Flags]
+       [CCode (cname = "enum libusb_ss_usb_device_capability_attributes", has_type_id = false)]
+       public enum SSUsbDeviceCapabilityAttributes {
+               [CCode (cname = "LIBUSB_BM_LTM_SUPPORT")]
+               LTM_SUPPORT
+       }
+
+       [CCode (cname = "enum libusb_bos_type", cprefix = "LIBUSB_BT_", has_type_id = false)]
+       public enum BosType {
+               WIRELESS_USB_DEVICE_CAPABILITY,
+               USB_2_0_EXTENSION,
+               SS_USB_DEVICE_CAPABILITY,
+               CONTAINER_ID
        }
 
        [CCode (cname = "struct libusb_device_descriptor", has_type_id = false)]
@@ -193,7 +256,8 @@ namespace LibUSB {
                public InterfaceDescriptor[] altsetting;
        }
 
-       [Compact, CCode (cname = "struct libusb_config_descriptor", free_function = 
"libusb_free_config_descriptor")]
+       [CCode (cname = "struct libusb_config_descriptor", free_function = "libusb_free_config_descriptor")]
+       [Compact]
        public class ConfigDescriptor {
                public uint8 bLength;
                public uint8 bDescriptorType;
@@ -209,8 +273,68 @@ namespace LibUSB {
                public uint8[] extra;
        }
 
+       [CCode (cname = "struct libusb_ss_endpoint_companion_descriptor", free_function = 
"libusb_free_ss_endpoint_companion_descriptor")]
+       [Compact]
+       public class SSEndpointCompanionDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint8 bMaxBurst;
+               public uint8 bmAttributes;
+               public uint16 wBytesPerInterval;
+       }
+
+       [CCode (cname = "struct libusb_bos_dev_capability_descriptor", has_type_id = false)]
+       public struct BosDevCapabilityDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint8 bDevCapabilityType;
+               public uint8 dev_capability_data;
+       }
+
+       [CCode (cname = "struct libusb_bos_descriptor", free_function = "libusb_free_bos_descriptor")]
+       [Compact]
+       public class BosDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint16 wTotalLength;
+               [CCode (array_length_cname = "bNumDeviceCaps", array_length_type = "uint8_t")]
+               public BosDevCapabilityDescriptor[] dev_capability;
+       }
 
-       [Compact, CCode (cname = "libusb_device_handle", cprefix = "libusb_", free_function = "libusb_close")]
+       [CCode (cname = "struct libusb_usb_2_0_extension_descriptor", free_function = 
"libusb_free_usb_2_0_extension_descriptor")]
+       [Compact]
+       public class USB_2_0_ExtensionDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint8 bDevCapabilityType;
+               public uint32 bmAttributes;
+       }
+
+       [CCode (cname = "struct libusb_ss_usb_device_capability_descriptor", free_function = 
"libusb_free_ss_usb_device_capability_descriptor")]
+       [Compact]
+       public class SSUsbDeviceCapabilityDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint8 bDevCapabilityType;
+               public uint8 bmAttributes;
+               public uint16 wSpeedSupported;
+               public uint8 bFunctionalitySupport;
+               public uint8 bU1DevExitLat;
+               public uint8 bU2DevExitLat;
+       }
+
+       [CCode (cname = "struct libusb_container_id_descriptor", free_function = 
"libusb_free_container_id_descriptor")]
+       [Compact]
+       public class ContainerIdDescriptor {
+               public uint8 bLength;
+               public uint8 bDescriptorType;
+               public uint8 bDevCapabilityType;
+               public uint8 bReserved;
+               public uint8 ContainerID[16];
+       }
+
+       [CCode (cname = "libusb_device_handle", cprefix = "libusb_", free_function = "libusb_close")]
+       [Compact]
        public class DeviceHandle {
                [CCode (cname = "_vala_libusb_device_handle_new")]
                public DeviceHandle (Device device) {
@@ -221,63 +345,92 @@ namespace LibUSB {
                [CCode (cname = "libusb_open_device_with_vid_pid")]
                public DeviceHandle.from_vid_pid (Context? context, uint16 vendor_id, uint16 product_id);
                public unowned Device get_device ();
-               public int get_configuration (out int config);
-               public int set_configuration (int configuration);
-               public int claim_interface (int interface_number);
-               public int release_interface (int interface_number);
-               public int set_interface_alt_setting (int interface_number, int alternate_setting);
-               public int clear_halt (uchar endpoint);
+               public LibUSB.Error get_configuration (out int config);
+               public LibUSB.Error set_configuration (int configuration);
+               public LibUSB.Error claim_interface (int interface_number);
+               public LibUSB.Error release_interface (int interface_number);
+               public LibUSB.Error set_interface_alt_setting (int interface_number, int alternate_setting);
+               public LibUSB.Error clear_halt (uchar endpoint);
                [CCode (cname = "libusb_reset_device")]
-               public int reset ();
-               public int kernel_driver_active (int @interface);
-               public int detach_kernel_driver (int @interface);
-               public int attach_kernel_driver (int @interface);
-
-               public int get_string_descriptor_ascii (uint8 desc_index, uint8[] data);
-               public int get_descriptor (uint8 desc_type, uint8 desc_index, uint8[] data);
-               public int get_string_descriptor (uint desc_index, uint16 langid, uint8[] data);
-
-               public int control_transfer (uint8 bmRequestType, uint8 bRequest, uint16 wValue, uint16 
wIndex, [CCode (array_length = false)] uint8[] data, uint16 wLength, uint timeout);
-               public int bulk_transfer (uint8 endpoint, uint8[] data, out int transferred, uint timeout);
-               public int interrupt_transfer (uint8 endpoint, uint8[] data, out int transferred, uint 
timeout);
+               public LibUSB.Error reset ();
+               public LibUSB.Error kernel_driver_active (int @interface);
+               public LibUSB.Error detach_kernel_driver (int @interface);
+               public LibUSB.Error attach_kernel_driver (int @interface);
+               public LibUSB.Error set_auto_detach_kernel_driver (bool enable);
+
+               public LibUSB.Error get_string_descriptor_ascii (uint8 desc_index, uint8[] data);
+               public LibUSB.Error get_descriptor (uint8 desc_type, uint8 desc_index, uint8[] data);
+               public LibUSB.Error get_string_descriptor (uint desc_index, uint16 langid, uint8[] data);
+               public LibUSB.Error get_bos_descriptor (out BosDescriptor bos);
+
+               public LibUSB.Error control_transfer (uint8 bmRequestType, uint8 bRequest, uint16 wValue, 
uint16 wIndex, [CCode (array_length = false)] uint8[] data, uint16 wLength, uint timeout);
+               public LibUSB.Error bulk_transfer (uint8 endpoint, uint8[] data, out int transferred, uint 
timeout);
+               public LibUSB.Error interrupt_transfer (uint8 endpoint, uint8[] data, out int transferred, 
uint timeout);
        }
 
-       [Compact, CCode (cname = "libusb_device", cprefix = "libusb_", ref_function = "libusb_ref_device", 
unref_function = "libusb_unref_device")]
+       [CCode (cname = "libusb_device", cprefix = "libusb_", ref_function = "libusb_ref_device", 
unref_function = "libusb_unref_device")]
+       [Compact]
        public class Device {
                public uint8 get_bus_number ();
+               public uint8 get_port_number ();
+               public int get_port_numbers (out uint8[] port_numbers);
                public uint8 get_device_address ();
                public int get_max_packet_size (uint8 endpoint);
-               public int open (out DeviceHandle handle);
+               public int get_max_iso_packet_size (uint8 endpoint);
+               public Speed get_device_speed ();
+               public LibUSB.Error open (out DeviceHandle handle);
+
+               public LibUSB.Error get_active_config_descriptor (out ConfigDescriptor config);
+               public LibUSB.Error get_config_descriptor (uint8 config_index, out ConfigDescriptor config);
+               public LibUSB.Error get_config_descriptor_by_value (uint8 ConfigurationValue, out 
ConfigDescriptor config);
+               public LibUSB.Error get_device_descriptor (out DeviceDescriptor desc);
+               public unowned Device get_parent ();
+       }
 
-               public int get_active_config_descriptor (out ConfigDescriptor config);
-               public int get_config_descriptor (uint8 config_index, out ConfigDescriptor config);
-               public int get_config_descriptor_by_value (uint8 ConfigurationValue, out ConfigDescriptor 
config);
-               public int get_device_descriptor (out DeviceDescriptor desc);
+       [CCode (cname = "enum libusb_log_level", cprefix = "LIBUSB_LOG_LEVEL_", has_type_id = false)]
+       public enum LogLevel {
+               NONE,
+               ERROR,
+               WARNING,
+               INFO,
+               DEBUG
        }
 
-       [Compact, CCode (cname = "libusb_context", cprefix = "libusb_", free_function = "libusb_exit")]
+       [CCode (cname = "libusb_context", cprefix = "libusb_", free_function = "libusb_exit")]
+       [Compact]
        public class Context {
                protected Context ();
-               public static int init (out Context context);
-               public void set_debug (int level);
-               public ssize_t get_device_list ([CCode (array_length = false)] out Device[] list);
+               public static LibUSB.Error init (out Context context);
+               public void set_debug (LogLevel level);
+               public ssize_t get_device_list ([CCode (array_length = false, array_null_terminated = true)] 
out Device[] list);
                public DeviceHandle open_device_with_vid_pid (uint16 vendor_id, uint16 product_id);
 
-               public int try_lock_events ();
+               public LibUSB.Error try_lock_events ();
                public void lock_events ();
                public void unlock_events ();
-               public int event_handling_ok ();
-               public int event_handler_active ();
+               public LibUSB.Error event_handling_ok ();
+               public LibUSB.Error event_handler_active ();
+               public void interrupt_event_handler ();
                public void lock_event_waiters ();
                public void unlock_event_waiters ();
-               public int wait_for_event (Posix.timeval tv);
-               public int handle_events_timeout (Posix.timeval tv);
-               public int handle_events ();
-               public int handle_events_locked (Posix.timeval tv);
-               public int get_next_timeout (out Posix.timeval tv);
+               public LibUSB.Error wait_for_event (Posix.timeval tv);
+               public LibUSB.Error handle_events_timeout (Posix.timeval tv);
+               public LibUSB.Error handle_events_timeout_completed (Posix.timeval tv, out int completed);
+               public LibUSB.Error handle_events ();
+               public LibUSB.Error handle_events_completed (Posix.timeval tv, out int completed);
+               public LibUSB.Error handle_events_locked (Posix.timeval tv);
+               public LibUSB.Error pollfds_handle_timeouts ();
+               public LibUSB.Error get_next_timeout (out Posix.timeval tv);
                public void set_pollfd_notifiers (pollfd_added_cb added_cb, pollfd_removed_cb removed_cb, 
void* user_data);
-               [CCode (array_length = false)]
-               public unowned PollFD[] get_pollfds ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public PollFD[] get_pollfds ();
+
+               public LibUSB.Error get_ss_endpoint_companion_descriptor (EndpointDescriptor config, out 
SSEndpointCompanionDescriptor ep_comp);
+               public LibUSB.Error get_usb_2_0_extension_descriptor (BosDevCapabilityDescriptor dev_cap, out 
USB_2_0_ExtensionDescriptor usb_2_0_extension);
+               public LibUSB.Error get_ss_usb_device_capability_descriptor (BosDevCapabilityDescriptor 
dev_cap, out SSUsbDeviceCapabilityDescriptor usb_2_0_extension);
+               public LibUSB.Error get_container_id_descriptor (BosDevCapabilityDescriptor dev_cap, out 
ContainerIdDescriptor container_id);
+               public LibUSB.Error hotplug_register_callback (HotPlugEvent events, HotPlugFlags flags, int 
vendor_id, int product_id, int dev_class, HotPlugCb cb_fn, out HotCallbackHandle callback_handle);
+               public LibUSB.Error hotplug_deregister_callback (HotCallbackHandle callback_handle);
        }
 
        public static uint16 le16_to_cpu (uint16 n);
@@ -285,7 +438,8 @@ namespace LibUSB {
        [CCode (cname = "malloc", cheader_filename = "stdlib.h")]
        private static void* malloc (ulong n_bytes);
 
-       [Compact, CCode (cname = "struct libusb_control_setup")]
+       [CCode (cname = "struct libusb_control_setup")]
+       [Compact]
        public class ControlSetup {
                public uint8 bmRequestType;
                public int8 bRequest;
@@ -294,6 +448,14 @@ namespace LibUSB {
                public uint16 wLength;
        }
 
+       [CCode (cname = "enum libusb_capability", cprefix = "LIBUSB_CAP_", has_type_id = false)]
+       public enum Capability {
+               HAS_CAPABILITY,
+               HAS_HOTPLUG,
+               HAS_HID_ACCESS,
+               SUPPORTS_DETACH_KERNEL_DRIVER
+       }
+
        [CCode (cname = "enum libusb_transfer_status", cprefix = "LIBUSB_TRANSFER_", has_type_id = false)]
        public enum TransferStatus {
                COMPLETED,
@@ -305,6 +467,25 @@ namespace LibUSB {
                OVERFLOW
        }
 
+       [CCode (cname = "libusb_hotplug_event", cprefix = "LIBUSB_HOTPLUG_EVENT_", has_type_id = false)]
+       public enum HotPlugEvent {
+               DEVICE_ARRIVED,
+               DEVICE_LEFT,
+               [CCode (cname = "LIBUSB_HOTPLUG_MATCH_ANY")]
+               MATCH_ANY
+       }
+
+       [CCode (cname = "libusb_hotplug_flag", cprefix = "LIBUSB_HOTPLUG_", has_type_id = false)]
+       public enum HotPlugFlags {
+               NO_FLAGS,
+               ENUMERATE
+       }
+
+       [CCode (cname = "libusb_hotplug_callback_handle", has_type_id = false)]
+       [SimpleType]
+       public struct HotCallbackHandle : int {
+       }
+
        [CCode (cname = "struct libusb_iso_packet_descriptor", has_type_id = false)]
        public struct IsoPacketDescriptor {
                public uint length;
@@ -312,10 +493,11 @@ namespace LibUSB {
                public TransferStatus status;
        }
 
-       [CCode (has_target = false)]
-       public delegate void transfer_cb_fn (Transfer transfer);
+       [CCode (cname = "libusb_transfer_cb_fn")]
+       public delegate void TransferCb (Transfer transfer);
 
-       [Compact, CCode (cname = "struct libusb_transfer", cprefix = "libusb_", free_function = 
"libusb_free_transfer")]
+       [CCode (cname = "struct libusb_transfer", cprefix = "libusb_", free_function = 
"libusb_free_transfer")]
+       [Compact]
        public class Transfer {
                public DeviceHandle dev_handle;
                public uint8 flags;
@@ -325,8 +507,8 @@ namespace LibUSB {
                public TransferStatus status;
                public int length;
                public int actual_length;
-               public transfer_cb_fn @callback;
-               public void* user_data;
+               [CCode (delegate_target_cname = "user_data")]
+               public TransferCb @callback;
                [CCode (array_length_cname = "length")]
                public uint8[] buffer;
                public int num_iso_packets;
@@ -336,19 +518,19 @@ namespace LibUSB {
                [CCode (cname = "libusb_alloc_transfer")]
                public Transfer (int iso_packets = 0);
                [CCode (cname = "libusb_submit_transfer")]
-               public int submit ();
+               public LibUSB.Error submit ();
                [CCode (cname = "libusb_cancel_transfer")]
-               public int cancel ();
+               public LibUSB.Error cancel ();
                [CCode (cname = "libusb_contrel_transfer_get_data", array_length = false)]
                public unowned char[] control_get_data ();
                [CCode (cname = "libusb_control_transfer_get_setup")]
                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, transfer_cb_fn @callback, void* user_data, uint timeout);
-               public void fill_bulk_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, 
transfer_cb_fn @callback, void* user_data, uint timeout);
-               public void fill_interrupt_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, 
transfer_cb_fn @callback, void* user_data, uint timeout);
-               public void fill_iso_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, int 
num_iso_packets, transfer_cb_fn @callback, void* user_data, uint timeout);
+               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 set_packet_lengths (uint length);
                [CCode (array_length = false)]
                public unowned uint8[] get_iso_packet_buffer (uint packet);
@@ -361,9 +543,15 @@ namespace LibUSB {
        [CCode (has_target = false)]
        public delegate void pollfd_removed_cb (int fd, void* user_data);
 
-       [Compact, CCode (cname = "struct libusb_pollfd")]
+       [CCode (cname = "libusb_hotplug_callback_fn")]
+       public delegate void HotPlugCb (Context ctx, Device device, HotPlugEvent event);
+
+       [CCode (cname = "struct libusb_pollfd")]
+       [Compact]
        public class PollFD {
                public int fd;
                public short events;
        }
+
+       public static int has_capability (Capability capability);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]