sig
type size_t = int
and usb_device_descriptor = {
bLength : int;
bDescriptorType : int;
bcdUSB : int;
bDeviceClass : int;
bDeviceSubClass : int;
bDeviceProtocol : int;
bMaxPacketSize0 : int;
idVendor : int;
idProduct : int;
bcdDevice : int;
iManufacturer : int;
iProduct : int;
iSerialNumber : int;
bNumConfigurations : int;
}
and usb_endpoint_descriptor = {
bLength : int;
bDescriptorType : int;
bEndpointAddress : int;
bmAttributes : int;
wMaxPacketSize : int;
bInterval : int;
bRefresh : int;
bSynchAddress : int;
extra : char array;
}
and usb_interface_descriptor = {
bLength : int;
bDescriptorType : int;
bInterfaceNumber : int;
bAlternateSetting : int;
bInterfaceClass : int;
bInterfaceSubClass : int;
bInterfaceProtocol : int;
iInterface : int;
endpoint : Usb.usb_endpoint_descriptor array;
extra : char array;
}
and usb_interface = {
altsetting : Usb.usb_interface_descriptor;
num_altsetting : int;
}
and usb_config_descriptor = {
bLength : int;
bDescriptorType : int;
wTotalLength : int;
bNumInterfaces : int;
bConfigurationValue : int;
iConfiguration : int;
bmAttributes : int;
maxPower : int;
interf : Usb.usb_interface;
extra : char array;
}
and usb_bus
and usb_dev_handle
and usb_device
external is_null : 'a Com.opaque -> bool = "is_null"
external usb_bus_prev : Usb.usb_bus Com.opaque -> Usb.usb_bus Com.opaque
= "camlidl_usb_usb_bus_prev"
external usb_bus_next : Usb.usb_bus Com.opaque -> Usb.usb_bus Com.opaque
= "camlidl_usb_usb_bus_next"
external usb_bus_dirname : Usb.usb_bus Com.opaque -> string
= "camlidl_usb_usb_bus_dirname"
external usb_bus_devices :
Usb.usb_bus Com.opaque -> Usb.usb_device Com.opaque
= "camlidl_usb_usb_bus_devices"
external usb_device_prev :
Usb.usb_device Com.opaque -> Usb.usb_device Com.opaque
= "camlidl_usb_usb_device_prev"
external usb_device_next :
Usb.usb_device Com.opaque -> Usb.usb_device Com.opaque
= "camlidl_usb_usb_device_next"
external usb_device_filename : Usb.usb_device Com.opaque -> string
= "camlidl_usb_usb_device_filename"
external usb_device_bus :
Usb.usb_device Com.opaque -> Usb.usb_bus Com.opaque
= "camlidl_usb_usb_device_bus"
external usb_device_descriptor :
Usb.usb_device Com.opaque -> Usb.usb_device_descriptor
= "camlidl_usb_usb_device_descriptor"
external usb_device_config :
Usb.usb_device Com.opaque -> Usb.usb_config_descriptor
= "camlidl_usb_usb_device_config"
external usb_init : unit -> unit = "camlidl_usb_usb_init"
external usb_find_busses : unit -> int = "camlidl_usb_usb_find_busses"
external usb_find_devices : unit -> int = "camlidl_usb_usb_find_devices"
external usb_get_busses : unit -> Usb.usb_bus Com.opaque
= "camlidl_usb_usb_get_busses"
external usb_open :
Usb.usb_device Com.opaque ->
Usb.usb_dev_handle Com.opaque * Usb.usb_device Com.opaque
= "camlidl_usb_usb_open"
external usb_close :
Usb.usb_dev_handle Com.opaque -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_close"
external usb_claim_interface :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_claim_interface"
external usb_reset :
Usb.usb_dev_handle Com.opaque -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_reset"
external usb_set_configuration :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_set_configuration"
external usb_set_altinterface :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_set_altinterface"
external usb_resetep :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque = "camlidl_usb_usb_resetep"
external usb_clear_halt :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque = "camlidl_usb_usb_clear_halt"
external usb_release_interface :
Usb.usb_dev_handle Com.opaque ->
int -> int * Usb.usb_dev_handle Com.opaque
= "camlidl_usb_usb_release_interface"
external usb_control_msg :
Usb.usb_dev_handle Com.opaque ->
int -> int -> int -> int -> int -> int -> int * int array
= "camlidl_usb_usb_control_msg_bytecode" "camlidl_usb_usb_control_msg"
external usb_get_string :
Usb.usb_dev_handle Com.opaque -> int -> int -> Usb.size_t -> int * string
= "camlidl_usb_usb_get_string"
external usb_get_string_simple :
Usb.usb_dev_handle Com.opaque -> int -> Usb.size_t -> int * string
= "camlidl_usb_usb_get_string_simple"
external usb_bulk_write :
Usb.usb_dev_handle Com.opaque -> int -> int array -> int -> int
= "camlidl_usb_usb_bulk_write"
external usb_bulk_read :
Usb.usb_dev_handle Com.opaque -> int -> int -> int -> int * int array
= "camlidl_usb_usb_bulk_read"
end