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