template <typename Storage = void>

class Request

Defined at line 226 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 233 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 248 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 263 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

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

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

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

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

void ~Request<Storage> ()

Defined at line 273 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 277 of file ../../src/devices/usb/lib/usb/include/usb/request-cpp.h

size_t RequestSize (size_t parent_req_size)

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

usb_request_t * request ()

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