summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin.noel@collabora.co.uk>2018-06-05 19:08:12 +0100
committerCorentin Noël <corentin.noel@collabora.co.uk>2018-06-05 19:08:12 +0100
commit06ff72472a630a3cbc254236adb1963db05b6f2d (patch)
treec1662a539e4b4d1616f8709c88d5f655259aba42
parent270f8efbaef793c40ff77b8e021658f4d9abc0c1 (diff)
downloadvala-tintou/libusb-1.0.tar.gz
libusb-1.0: add missing symbolstintou/libusb-1.0
-rw-r--r--vapi/libusb-1.0.vapi274
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);
}