template <typename Storage = void>

class Request

Defined at line 325 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

Public Methods

zx_status_t Alloc (std::optional<Request<Storage>> * out, uint64_t data_size, uint8_t ep_address, size_t parent_req_size)

Creates a new usb request with payload space of data_size.

Defined at line 332 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

zx_status_t AllocVmo (std::optional<Request<Storage>> * out, const zx::vmo & vmo, uint64_t vmo_offset, uint64_t length, uint8_t ep_address, size_t parent_req_size)

Creates a new usb request with the given VMO.

Defined at line 347 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

void Request<Storage> (usb_request_t * request, size_t parent_req_size, bool allow_destruct)

Defined at line 362 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

void Request<Storage> (Request<Storage> && other)

Defined at line 365 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

Request<Storage> & operator= (Request<Storage> && other)

Defined at line 367 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

void ~Request<Storage> ()

Defined at line 372 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

zx_status_t Init (const zx::vmo & vmo, uint64_t vmo_offset, uint64_t length, uint8_t ep_address)

Initializes the statically allocated usb request with the given VMO.

This will free any resources allocated by the usb request but not the usb request itself.

Defined at line 376 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

size_t RequestSize (size_t parent_req_size)

Defined at line 384 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

usb_request_t * request ()

Defined at line 388 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h