|
| struct | co_usb::transfer::detail::complete_io_base< TSeq > |
| | Complete I/O adapter for transfer sequences. More...
|
| |
| struct | co_usb::transfer::detail::direction_complete_io_base< TSeq, EpDirection > |
| | Interface complying with Boost.Http's ReadSource and WriteSink concepts. More...
|
| |
| struct | co_usb::transfer::control_complete_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as control transfers and provides complete I/O operations. More...
|
| |
| struct | co_usb::transfer::bulk_complete_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as bulk transfers and provides complete I/O operations. More...
|
| |
| struct | co_usb::transfer::interrupt_complete_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as interrupt transfers and provides complete I/O operations. More...
|
| |
| struct | co_usb::transfer::isochronous_complete_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as isochronous transfers and provides complete I/O operations. More...
|
| |
| struct | co_usb::transfer::bulk_stream_complete_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as bulk stream transfers and provides complete I/O operations. More...
|
| |
| struct | co_usb::transfer::endpoint< Direction > |
| | USB endpoint aggregate templated on its direction. More...
|
| |
| struct | co_usb::transfer::detail::partial_io_base< TSeq > |
| | Zero-allocation adapter around a transfer sequence enabling the use of asynchronous partial I/O operations on a given transfer sequence. More...
|
| |
| struct | co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection > |
| | Provides Capy ReadStream-/WriteStream-compliant interface for partial transfer I/O. More...
|
| |
| struct | co_usb::transfer::control_partial_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as control transfers and provides partial I/O operations. More...
|
| |
| struct | co_usb::transfer::bulk_partial_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as bulk transfers and provides partial I/O operations. More...
|
| |
| struct | co_usb::transfer::interrupt_partial_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as interrupt transfers and provides partial I/O operations. More...
|
| |
| struct | co_usb::transfer::isochronous_partial_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as isochronous transfers and provides partial I/O operations. More...
|
| |
| struct | co_usb::transfer::bulk_stream_partial_io< TSeq, EpDirection > |
| | Prefills the transfer sequence as bulk stream transfers and provides partial I/O operations. More...
|
| |
| struct | co_usb::transfer::resource |
| | RAII wrapper over a transfer allocation. More...
|
| |
| struct | co_usb::transfer::sequence_view< Seq > |
| | View of a certain transfer sequence. Provides a uniform range interface. More...
|
| |
|
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::control_sink = control_complete_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::control_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::control_source = control_complete_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::control_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_sink = bulk_complete_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::bulk_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_source = bulk_complete_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::bulk_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::interrupt_sink = interrupt_complete_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::interrupt_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::interrupt_source = interrupt_complete_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::interrupt_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::isochronous_sink = isochronous_complete_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::isochronous_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::isochronous_source = isochronous_complete_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::isochronous_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_stream_sink = bulk_stream_complete_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::bulk_stream_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_stream_source = bulk_stream_complete_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::bulk_stream_complete_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::control_out = control_partial_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::control_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::control_in = control_partial_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::control_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_out = bulk_partial_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::bulk_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_in = bulk_partial_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::bulk_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::interrupt_out = interrupt_partial_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::interrupt_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::interrupt_in = interrupt_partial_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::interrupt_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::isochronous_out = isochronous_partial_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::isochronous_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::isochronous_in = isochronous_partial_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::isochronous_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_stream_out = bulk_stream_partial_io< TSeq, endpoint_direction::out > |
| | Write specialization of co_usb::transfer::bulk_stream_partial_io.
|
| |
| template<detail::TransferSequence TSeq> |
| using | co_usb::transfer::bulk_stream_in = bulk_stream_partial_io< TSeq, endpoint_direction::in > |
| | Read specialization of co_usb::transfer::bulk_stream_partial_io.
|
| |
|
| template<TransferResource Ty> |
| constexpr auto | co_usb::transfer::detail::transfer_of (Ty const &tfer_res) -> libusb_transfer * |
| | Uniform accessor for obtaining a libusb_transfer * from a co_usb::transfer::detail::TransferResource.
|
| |
| template<detail::TransferSequence TSeq> |
| constexpr auto | co_usb::transfer::cancel_transfer (TSeq const &tfer_seq) |
| | Cancels transfers from a sequence.
|
| |
| template<detail::TransferSequence TSeq, endpoint_direction EpDirection> |
| constexpr auto | co_usb::transfer::prefill_control (TSeq const &tfer_seq, endpoint< EpDirection > ep, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}) |
| | Prefills transfer sequence as control transfers.
|
| |
| template<detail::TransferSequence TSeq, endpoint_direction EpDirection> |
| constexpr auto | co_usb::transfer::prefill_bulk (TSeq const &tfer_seq, endpoint< EpDirection > ep, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}) |
| | Prefills transfer sequence as bulk transfers.
|
| |
| template<detail::TransferSequence TSeq, endpoint_direction EpDirection> |
| constexpr auto | co_usb::transfer::prefill_interrupt (TSeq const &tfer_seq, endpoint< EpDirection > ep, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}) |
| | Prefills transfer sequence as interrupt transfers.
|
| |
| template<detail::TransferSequence TSeq, endpoint_direction EpDirection> |
| constexpr auto | co_usb::transfer::prefill_isochronous (TSeq const &tfer_seq, endpoint< EpDirection > ep, int iso_packets, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}) |
| | Prefills transfer sequence as isochronous transfers.
|
| |
| template<detail::TransferSequence TSeq, endpoint_direction EpDirection> |
| constexpr auto | co_usb::transfer::prefill_bulk_stream (TSeq const &tfer_seq, endpoint< EpDirection > ep, uint32_t stream_id, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}) |
| | Prefills transfer sequence as bulk stream transfers.
|
| |
Coroutine adapters for async transfer API.