diff options
author | Corentin Noël <corentin.noel@collabora.co.uk> | 2018-06-05 19:08:12 +0100 |
---|---|---|
committer | Corentin Noël <corentin.noel@collabora.co.uk> | 2018-06-05 19:08:12 +0100 |
commit | 06ff72472a630a3cbc254236adb1963db05b6f2d (patch) | |
tree | c1662a539e4b4d1616f8709c88d5f655259aba42 | |
parent | 270f8efbaef793c40ff77b8e021658f4d9abc0c1 (diff) | |
download | vala-tintou/libusb-1.0.tar.gz |
libusb-1.0: add missing symbolstintou/libusb-1.0
-rw-r--r-- | vapi/libusb-1.0.vapi | 274 |
1 files changed, 224 insertions, 50 deletions
diff --git a/vapi/libusb-1.0.vapi b/vapi/libusb-1.0.vapi index 780900a03..88c5da7f9 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)] @@ -209,6 +272,60 @@ namespace LibUSB { public uint8[] extra; } + [Compact, CCode (cname = "struct libusb_ss_endpoint_companion_descriptor", free_function = "libusb_free_ss_endpoint_companion_descriptor")] + 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; + } + + [Compact, CCode (cname = "struct libusb_bos_descriptor", free_function = "libusb_free_bos_descriptor")] + 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 = "struct libusb_usb_2_0_extension_descriptor", free_function = "libusb_free_usb_2_0_extension_descriptor")] + public class USB_2_0_ExtensionDescriptor { + public uint8 bLength; + public uint8 bDescriptorType; + public uint8 bDevCapabilityType; + public uint32 bmAttributes; + } + + [Compact, CCode (cname = "struct libusb_ss_usb_device_capability_descriptor", free_function = "libusb_free_ss_usb_device_capability_descriptor")] + 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; + } + + [Compact, CCode (cname = "struct libusb_container_id_descriptor", free_function = "libusb_free_container_id_descriptor")] + public class ContainerIdDescriptor { + public uint8 bLength; + public uint8 bDescriptorType; + public uint8 bDevCapabilityType; + public uint8 bReserved; + public uint8 ContainerID[16]; + } [Compact, CCode (cname = "libusb_device_handle", cprefix = "libusb_", free_function = "libusb_close")] public class DeviceHandle { @@ -221,63 +338,90 @@ 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")] 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")] 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); @@ -294,6 +438,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 +457,24 @@ 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 + } + + [SimpleType, CCode (cname = "libusb_hotplug_callback_handle", has_type_id = false)] + public struct HotCallbackHandle : int { + } + [CCode (cname = "struct libusb_iso_packet_descriptor", has_type_id = false)] public struct IsoPacketDescriptor { public uint length; @@ -312,7 +482,6 @@ namespace LibUSB { public TransferStatus status; } - [CCode (has_target = false)] public delegate void transfer_cb_fn (Transfer transfer); [Compact, CCode (cname = "struct libusb_transfer", cprefix = "libusb_", free_function = "libusb_free_transfer")] @@ -325,8 +494,8 @@ namespace LibUSB { public TransferStatus status; public int length; public int actual_length; + [CCode (delegate_target_cname = "user_data")] public transfer_cb_fn @callback; - public void* user_data; [CCode (array_length_cname = "length")] public uint8[] buffer; public int num_iso_packets; @@ -336,19 +505,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, transfer_cb_fn @callback, uint timeout); + public void fill_bulk_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, transfer_cb_fn @callback, uint timeout); + public void fill_interrupt_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, transfer_cb_fn @callback, uint timeout); + public void fill_iso_transfer (DeviceHandle dev_handle, uint8 endpoint, uint8[] buffer, int num_iso_packets, transfer_cb_fn @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 +530,14 @@ namespace LibUSB { [CCode (has_target = false)] public delegate void pollfd_removed_cb (int fd, void* user_data); + [CCode (cname = "libusb_hotplug_callback_fn")] + public delegate void HotPlugCb (Context ctx, Device device, HotPlugEvent event); + [Compact, CCode (cname = "struct libusb_pollfd")] public class PollFD { public int fd; public short events; } + + public static int has_capability (Capability capability); } |