- data Libusb_context
- libusb_set_debug :: Ptr Libusb_context -> CInt -> IO ()
- libusb_init :: Ptr (Ptr Libusb_context) -> IO CInt
- libusb_exit :: Ptr Libusb_context -> IO ()
- data Libusb_device
- data Libusb_device_handle
- libusb_get_device_list :: Ptr Libusb_context -> Ptr (Ptr Libusb_device) -> IO CInt
- libusb_free_device_list :: Ptr (Ptr Libusb_device) -> CInt -> IO ()
- libusb_get_bus_number :: Ptr Libusb_device -> IO Word8
- libusb_get_device_address :: Ptr libusb_device -> IO Word8
- libusb_get_max_packet_size :: Ptr Libusb_device -> CUChar -> IO CInt
- libusb_ref_device :: Ptr Libusb_device -> IO (Ptr Libusb_device)
- libusb_unref_device :: Ptr Libusb_device -> IO ()
- libusb_open :: Ptr Libusb_device -> Ptr (Ptr Libusb_device_handle) -> IO CInt
- libusb_open_device_with_vid_pid :: Ptr Libusb_context -> Word16 -> Word16 -> IO (Ptr Libusb_device_handle)
- libusb_close :: Ptr Libusb_device_handle -> IO ()
- libusb_get_device :: Ptr Libusb_device_handle -> IO (Ptr Libusb_device)
- libusb_get_configuration :: Ptr Libusb_device_handle -> Ptr CInt -> IO CInt
- libusb_set_configuration :: Ptr Libusb_device_handle -> CInt -> IO CInt
- libusb_claim_interface :: Ptr Libusb_device_handle -> CInt -> IO CInt
- libusb_release_interface :: Ptr Libusb_device_handle -> CInt -> IO CInt
- libusb_clear_halt :: Ptr Libusb_device_handle -> CUChar -> IO CInt
- libusb_reset_device :: Ptr Libusb_device_handle -> IO CInt
- libusb_kernel_driver_active :: Ptr Libusb_device_handle -> CInt -> IO CInt
- libusb_attach_kernel_driver :: Ptr Libusb_device_handle -> CInt -> IO CInt
- libusb_cpu_to_le16 :: Word16 -> Word16
- libusb_le16_to_cpu :: Word16 -> Word16
- type Libusb_standard_request = Word8
- _LIBUSB_REQUEST_GET_STATUS :: Libusb_standard_request
- _LIBUSB_REQUEST_CLEAR_FEATURE :: Libusb_standard_request
- _LIBUSB_REQUEST_SET_FEATURE :: Libusb_standard_request
- _LIBUSB_REQUEST_SET_ADDRESS :: Libusb_standard_request
- _LIBUSB_REQUEST_GET_DESCRIPTOR :: Libusb_standard_request
- _LIBUSB_REQUEST_SET_DESCRIPTOR :: Libusb_standard_request
- _LIBUSB_REQUEST_GET_CONFIGURATION :: Libusb_standard_request
- _LIBUSB_REQUEST_SET_CONFIGURATION :: Libusb_standard_request
- _LIBUSB_REQUEST_GET_INTERFACE :: Libusb_standard_request
- _LIBUSB_REQUEST_SET_INTERFACE :: Libusb_standard_request
- _LIBUSB_REQUEST_SYNCH_FRAME :: Libusb_standard_request
- type Libusb_request_type = Word8
- _LIBUSB_REQUEST_TYPE_STANDARD :: Libusb_request_type
- _LIBUSB_REQUEST_TYPE_CLASS :: Libusb_request_type
- _LIBUSB_REQUEST_TYPE_VENDOR :: Libusb_request_type
- _LIBUSB_REQUEST_TYPE_RESERVED :: Libusb_request_type
- type Libusb_request_recipient = Word8
- _LIBUSB_RECIPIENT_DEVICE :: Libusb_request_recipient
- _LIBUSB_RECIPIENT_INTERFACE :: Libusb_request_recipient
- _LIBUSB_RECIPIENT_ENDPOINT :: Libusb_request_recipient
- _LIBUSB_RECIPIENT_OTHER :: Libusb_request_recipient
- type Libusb_error = CInt
- _LIBUSB_SUCCESS :: Libusb_error
- _LIBUSB_ERROR_IO :: Libusb_error
- _LIBUSB_ERROR_INVALID_PARAM :: Libusb_error
- _LIBUSB_ERROR_ACCESS :: Libusb_error
- _LIBUSB_ERROR_NO_DEVICE :: Libusb_error
- _LIBUSB_ERROR_NOT_FOUND :: Libusb_error
- _LIBUSB_ERROR_BUSY :: Libusb_error
- _LIBUSB_ERROR_TIMEOUT :: Libusb_error
- _LIBUSB_ERROR_OVERFLOW :: Libusb_error
- _LIBUSB_ERROR_PIPE :: Libusb_error
- _LIBUSB_ERROR_INTERRUPTED :: Libusb_error
- _LIBUSB_ERROR_NO_MEM :: Libusb_error
- _LIBUSB_ERROR_NOT_SUPPORTED :: Libusb_error
- _LIBUSB_ERROR_OTHER :: Libusb_error
- data Libusb_device_descriptor
- data Libusb_endpoint_descriptor
- data Libusb_interface_descriptor
- data Libusb_interface
- data Libusb_config_descriptor
- type Libusb_class_code = Word8
- _LIBUSB_CLASS_PER_INTERFACE :: Libusb_class_code
- _LIBUSB_CLASS_AUDIO :: Libusb_class_code
- _LIBUSB_CLASS_COMM :: Libusb_class_code
- _LIBUSB_CLASS_HID :: Libusb_class_code
- _LIBUSB_CLASS_PRINTER :: Libusb_class_code
- _LIBUSB_CLASS_PTP :: Libusb_class_code
- _LIBUSB_CLASS_MASS_STORAGE :: Libusb_class_code
- _LIBUSB_CLASS_HUB :: Libusb_class_code
- _LIBUSB_CLASS_DATA :: Libusb_class_code
- _LIBUSB_CLASS_VENDOR_SPEC :: Libusb_class_code
- type Libusb_descriptor_type = Word8
- _LIBUSB_DT_DEVICE :: Libusb_descriptor_type
- _LIBUSB_DT_CONFIG :: Libusb_descriptor_type
- _LIBUSB_DT_STRING :: Libusb_descriptor_type
- _LIBUSB_DT_INTERFACE :: Libusb_descriptor_type
- _LIBUSB_DT_ENDPOINT :: Libusb_descriptor_type
- _LIBUSB_DT_HID :: Libusb_descriptor_type
- _LIBUSB_DT_REPORT :: Libusb_descriptor_type
- _LIBUSB_DT_PHYSICAL :: Libusb_descriptor_type
- _LIBUSB_DT_HUB :: Libusb_descriptor_type
- type Libusb_endpoint_direction = Word8
- _LIBUSB_ENDPOINT_IN :: Libusb_endpoint_direction
- _LIBUSB_ENDPOINT_OUT :: Libusb_endpoint_direction
- type Libusb_transfer_type = Word8
- _LIBUSB_TRANSFER_TYPE_CONTROL :: Libusb_transfer_type
- _LIBUSB_TRANSFER_TYPE_ISOCHRONOUS :: Libusb_transfer_type
- _LIBUSB_TRANSFER_TYPE_BULK :: Libusb_transfer_type
- _LIBUSB_TRANSFER_TYPE_INTERRUPT :: Libusb_transfer_type
- type Libusb_iso_sync_type = Word8
- _LIBUSB_ISO_SYNC_TYPE_NONE :: Libusb_iso_sync_type
- _LIBUSB_ISO_SYNC_TYPE_ASYNC :: Libusb_iso_sync_type
- _LIBUSB_ISO_SYNC_TYPE_ADAPTIVE :: Libusb_iso_sync_type
- _LIBUSB_ISO_SYNC_TYPE_SYNC :: Libusb_iso_sync_type
- type Libusb_iso_usage_type = Word8
- _LIBUSB_ISO_USAGE_TYPE_DATA :: Libusb_iso_usage_type
- _LIBUSB_ISO_USAGE_TYPE_FEEDBACK :: Libusb_iso_usage_type
- _LIBUSB_ISO_USAGE_TYPE_IMPLICIT :: Libusb_iso_usage_type
- libusb_get_device_descriptor :: Ptr Libusb_device -> Ptr Libusb_device_descriptor -> IO CInt
- libusb_get_active_config_descriptor :: Ptr Libusb_device -> Ptr (Ptr Libusb_config_descriptor) -> IO CInt
- libusb_get_config_descriptor :: Ptr Libusb_device -> Word8 -> Ptr (Ptr Libusb_config_descriptor) -> IO CInt
- libusb_get_config_descriptor_by_value :: Ptr Libusb_device -> Word8 -> Ptr (Ptr Libusb_config_descriptor) -> IO CInt
- libusb_free_config_descriptor :: Ptr Libusb_config_descriptor -> IO ()
- libusb_get_string_descriptor_ascii :: Ptr Libusb_device_handle -> Word8 -> Ptr CUChar -> CInt -> IO CInt
- libusb_get_descriptor :: Ptr Libusb_device_handle -> Word8 -> Word8 -> Ptr CUChar -> CInt -> IO CInt
- libusb_get_string_descriptor :: Ptr Libusb_device_handle -> Word8 -> Word16 -> Ptr CUChar -> CInt -> IO CInt
- data Libusb_control_setup
- data Libusb_iso_packet_descriptor
- data Libusb_transfer a
- data Libusb_transfer_cb_fn a
- type Libusb_transfer_status = CInt
- _LIBUSB_TRANSFER_COMPLETED :: Libusb_transfer_status
- _LIBUSB_TRANSFER_ERROR :: Libusb_transfer_status
- _LIBUSB_TRANSFER_TIMED_OUT :: Libusb_transfer_status
- _LIBUSB_TRANSFER_CANCELLED :: Libusb_transfer_status
- _LIBUSB_TRANSFER_STALL :: Libusb_transfer_status
- _LIBUSB_TRANSFER_NO_DEVICE :: Libusb_transfer_status
- _LIBUSB_TRANSFER_OVERFLOW :: Libusb_transfer_status
- type Libusb_transfer_flags = Word8
- _LIBUSB_TRANSFER_SHORT_NOT_OK :: Libusb_transfer_flags
- _LIBUSB_TRANSFER_FREE_BUFFER :: Libusb_transfer_flags
- _LIBUSB_TRANSFER_FREE_TRANSFER :: Libusb_transfer_flags
- libusb_alloc_transfer :: CInt -> IO (Ptr (Libusb_transfer a))
- libusb_free_transfer :: Ptr (Libusb_transfer a)
- libusb_submit_transfer :: Ptr (Libusb_transfer a) -> IO CInt
- libusb_cancel_transfer :: Ptr (Libusb_transfer a) -> IO CInt
- libusb_control_transfer_get_data :: Ptr (Libusb_transfer a) -> IO (Ptr CUChar)
- libusb_control_transfer_get_setup :: Ptr (Libusb_transfer a) -> IO (Ptr Libusb_control_setup)
- libusb_fill_control_setup :: Ptr CUChar -> Word8 -> Word8 -> Word16 -> Word16 -> Word16 -> IO ()
- libusb_fill_control_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> Ptr CUChar -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()
- libusb_fill_bulk_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()
- libusb_fill_interrupt_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()
- libusb_fill_iso_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()
- libusb_set_iso_packet_lengths :: Ptr (Libusb_transfer a) -> CUInt -> IO ()
- libusb_get_iso_packet_buffer :: Ptr (Libusb_transfer a) -> CUInt -> IO (Ptr CUChar)
- libusb_get_iso_packet_buffer_simple :: Ptr (Libusb_transfer a) -> CUInt -> IO (Ptr CUChar)
- data Libusb_pollfd
- data Libusb_pollfd_added_cb a
- data Libusb_pollfd_removed_cb a
- libusb_try_lock_events :: Ptr Libusb_context -> IO CInt
- libusb_lock_events :: Ptr Libusb_context -> IO ()
- libusb_unlock_events :: Ptr Libusb_context -> IO ()
- libusb_event_handling_ok :: Ptr Libusb_context -> IO CInt
- libusb_event_handler_active :: Ptr Libusb_context -> IO CInt
- libusb_lock_event_waiters :: Ptr Libusb_context -> IO ()
- libusb_unlock_event_waiters :: Ptr Libusb_context -> IO ()
- libusb_wait_for_event :: Ptr Libusb_context -> Ptr Timeval -> IO CInt
- libusb_handle_events_timeout :: Ptr Libusb_context -> Ptr Timeval -> IO CInt
- libusb_handle_events :: Ptr Libusb_context -> IO CInt
- libusb_handle_events_locked :: Ptr Libusb_context -> Ptr Timeval -> IO CInt
- libusb_get_next_timeout :: Ptr Libusb_context -> Ptr Timeval -> IO CInt
- libusb_set_pollfd_notifiers :: Ptr Libusb_context -> Libusb_pollfd_added_cb a -> Libusb_pollfd_removed_cb a -> Ptr a -> IO ()
- libusb_get_pollfds :: Ptr Libusb_context -> IO (Ptr (Ptr Libusb_pollfd))
- libusb_interrupt_transfer :: Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt
- libusb_bulk_transfer :: Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CInt
- libusb_control_transfer :: Ptr Libusb_device_handle -> Word8 -> Word8 -> Word16 -> Word16 -> Ptr CUChar -> Word16 -> CUInt -> IO CInt
Library initialization/deinitialization
data Libusb_context Source
libusb_set_debug :: Ptr Libusb_context -> CInt -> IO ()Source
libusb_init :: Ptr (Ptr Libusb_context) -> IO CIntSource
libusb_exit :: Ptr Libusb_context -> IO ()Source
Device handling and enumeration
data Libusb_device Source
libusb_get_device_list :: Ptr Libusb_context -> Ptr (Ptr Libusb_device) -> IO CIntSource
libusb_free_device_list :: Ptr (Ptr Libusb_device) -> CInt -> IO ()Source
libusb_get_device_address :: Ptr libusb_device -> IO Word8Source
libusb_open :: Ptr Libusb_device -> Ptr (Ptr Libusb_device_handle) -> IO CIntSource
libusb_open_device_with_vid_pid :: Ptr Libusb_context -> Word16 -> Word16 -> IO (Ptr Libusb_device_handle)Source
Miscellaneous
type Libusb_request_type = Word8Source
type Libusb_error = CIntSource
USB descriptors
type Libusb_class_code = Word8Source
type Libusb_transfer_type = Word8Source
type Libusb_iso_sync_type = Word8Source
type Libusb_iso_usage_type = Word8Source
libusb_get_active_config_descriptor :: Ptr Libusb_device -> Ptr (Ptr Libusb_config_descriptor) -> IO CIntSource
libusb_get_config_descriptor :: Ptr Libusb_device -> Word8 -> Ptr (Ptr Libusb_config_descriptor) -> IO CIntSource
libusb_get_config_descriptor_by_value :: Ptr Libusb_device -> Word8 -> Ptr (Ptr Libusb_config_descriptor) -> IO CIntSource
libusb_get_string_descriptor_ascii :: Ptr Libusb_device_handle -> Word8 -> Ptr CUChar -> CInt -> IO CIntSource
libusb_get_descriptor :: Ptr Libusb_device_handle -> Word8 -> Word8 -> Ptr CUChar -> CInt -> IO CIntSource
libusb_get_string_descriptor :: Ptr Libusb_device_handle -> Word8 -> Word16 -> Ptr CUChar -> CInt -> IO CIntSource
Asynchronous device I/O
data Libusb_transfer a Source
data Libusb_transfer_cb_fn a Source
type Libusb_transfer_status = CIntSource
type Libusb_transfer_flags = Word8Source
libusb_alloc_transfer :: CInt -> IO (Ptr (Libusb_transfer a))Source
libusb_submit_transfer :: Ptr (Libusb_transfer a) -> IO CIntSource
libusb_cancel_transfer :: Ptr (Libusb_transfer a) -> IO CIntSource
libusb_control_transfer_get_data :: Ptr (Libusb_transfer a) -> IO (Ptr CUChar)Source
libusb_fill_control_setup :: Ptr CUChar -> Word8 -> Word8 -> Word16 -> Word16 -> Word16 -> IO ()Source
libusb_fill_control_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> Ptr CUChar -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()Source
libusb_fill_bulk_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()Source
libusb_fill_interrupt_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()Source
libusb_fill_iso_transfer :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> Ptr a -> CUInt -> IO ()Source
libusb_set_iso_packet_lengths :: Ptr (Libusb_transfer a) -> CUInt -> IO ()Source
libusb_get_iso_packet_buffer :: Ptr (Libusb_transfer a) -> CUInt -> IO (Ptr CUChar)Source
libusb_get_iso_packet_buffer_simple :: Ptr (Libusb_transfer a) -> CUInt -> IO (Ptr CUChar)Source
Polling and timing
data Libusb_pollfd_added_cb a Source
data Libusb_pollfd_removed_cb a Source
libusb_wait_for_event :: Ptr Libusb_context -> Ptr Timeval -> IO CIntSource
libusb_set_pollfd_notifiers :: Ptr Libusb_context -> Libusb_pollfd_added_cb a -> Libusb_pollfd_removed_cb a -> Ptr a -> IO ()Source
libusb_get_pollfds :: Ptr Libusb_context -> IO (Ptr (Ptr Libusb_pollfd))Source
Synchronous device I/O
libusb_interrupt_transfer :: Ptr Libusb_device_handle -> CUChar -> Ptr CUChar -> CInt -> Ptr CInt -> CUInt -> IO CIntSource