class Buffer
Defined at line 1183 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.request/fuchsia.hardware.usb.request/cpp/fidl/fuchsia.hardware.usb.request/cpp/wire_types.h
Data buffer. There are two supported ways data may be conveyed, corresponding to the two
members of the Buffer union:
1) vmo_id: Pre-registered VMO. A driver may preregister VMOs using the
fuchsia.hardware.usb.endpoint.Endpoint::RegisterVmos method. These VMOs are saved by
the underlying USB driver in correspondence to the given vmo_id. Future Requests may
refer to this by the unique vmo_id.
Because VMOs are reused across Requests and saved by the underlying driver, each VMO
only needs to be pinned/unpinned once.
2) data: A data buffer for data that is not associated with a VMO. The underlying USB driver
should allocate its own VMO, copy the data from the buffer, and pin the VMO. This
should not be used often and not for large amounts of data.
Public Methods
void Buffer ()
void ~Buffer ()
void Buffer (Buffer && other)
bool IsUnknown ()
Defined at line 1196 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.request/fuchsia.hardware.usb.request/cpp/fidl/fuchsia.hardware.usb.request/cpp/wire_types.h
Buffer & operator= (Buffer && other)
bool has_invalid_tag ()
bool is_vmo_id ()
Buffer WithVmoId (::fidl::ObjectView<uint64_t> val)
The ID of a VMO that was previously registered.
template <typename... Args>
Buffer WithVmoId (::fidl::AnyArena & allocator, Args &&... args)
The ID of a VMO that was previously registered.
Defined at line 1209 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.request/fuchsia.hardware.usb.request/cpp/fidl/fuchsia.hardware.usb.request/cpp/wire_types.h
uint64_t & vmo_id ()
The ID of a VMO that was previously registered.
const uint64_t & vmo_id ()
The ID of a VMO that was previously registered.
bool is_data ()
Buffer WithData (::fidl::ObjectView< ::fidl::VectorView<uint8_t>> val)
Embedded data buffer to copy data to/from.
template <typename... Args>
Buffer WithData (::fidl::AnyArena & allocator, Args &&... args)
Embedded data buffer to copy data to/from.
Defined at line 1227 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.request/fuchsia.hardware.usb.request/cpp/fidl/fuchsia.hardware.usb.request/cpp/wire_types.h
::fidl::VectorView<uint8_t> & data ()
Embedded data buffer to copy data to/from.
const ::fidl::VectorView<uint8_t> & data ()
Embedded data buffer to copy data to/from.
::fuchsia_hardware_usb_request::wire::Buffer::Tag Which ()
void _CloseHandles ()
Enumerations
enum Tag
| Name | Value |
|---|---|
| kVmoId | 1 |
| kData | 2 |
| _do_not_handle_this__write_a_default_case_instead | ::std::numeric_limits<::fidl_union_tag_t>::max() |
Defined at line 1191 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.request/fuchsia.hardware.usb.request/cpp/fidl/fuchsia.hardware.usb.request/cpp/wire_types.h