class VmoBuffer

Defined at line 6817 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

VmoBuffer & set_vmo (::zx::vmo _value)
VmoBuffer & set_vmo_usable_start (uint64_t _value)
VmoBuffer & set_close_weak_asap (::zx::eventpair _value)
void VmoBuffer ()
void VmoBuffer (VmoBuffer && other)
void ~VmoBuffer ()
VmoBuffer & operator= (VmoBuffer && other)
::std::unique_ptr<VmoBuffer> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, VmoBuffer * _value, size_t _offset)
zx_status_t Clone (VmoBuffer * _result)
const ::zx::vmo & vmo ()

`vmo` can be un-set if a participant has only

[`fuchsia.sysmem2/BufferUsage.none`] set to `NONE_USAGE` (explicitly or

implicitly by [`fuchsia.sysmem2/BufferCollection.SetConstraints`]

without `constraints` set).

Defined at line 6827 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

bool has_vmo ()

Defined at line 6831 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

::zx::vmo * mutable_vmo ()

`vmo` can be un-set if a participant has only

[`fuchsia.sysmem2/BufferUsage.none`] set to `NONE_USAGE` (explicitly or

implicitly by [`fuchsia.sysmem2/BufferCollection.SetConstraints`]

without `constraints` set).

Defined at line 6839 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

void clear_vmo ()

Defined at line 6847 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

const uint64_t & vmo_usable_start ()

Offset within the VMO of the first usable byte. Must be

<

the VMO's size

in bytes, and leave sufficient room for BufferMemorySettings.size_bytes

before the end of the VMO.

Currently sysmem will always set this field to 0, and in future, sysmem

won't set this field to a non-zero value unless all participants have

explicitly indicated support for non-zero vmo_usable_start (this

mechanism does not exist as of this comment). A participant that hasn't

explicitly indicated support for non-zero vmo_usable_start (all current

clients) should implicitly assume this field is set to 0 without

actually checking this field.

Defined at line 6866 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

bool has_vmo_usable_start ()

Defined at line 6870 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

uint64_t * mutable_vmo_usable_start ()

Offset within the VMO of the first usable byte. Must be

<

the VMO's size

in bytes, and leave sufficient room for BufferMemorySettings.size_bytes

before the end of the VMO.

Currently sysmem will always set this field to 0, and in future, sysmem

won't set this field to a non-zero value unless all participants have

explicitly indicated support for non-zero vmo_usable_start (this

mechanism does not exist as of this comment). A participant that hasn't

explicitly indicated support for non-zero vmo_usable_start (all current

clients) should implicitly assume this field is set to 0 without

actually checking this field.

Defined at line 6885 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

void clear_vmo_usable_start ()

Defined at line 6893 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

const ::zx::eventpair & close_weak_asap ()

This field is set iff `vmo` is a sysmem weak VMO handle. The client must

keep `close_weak_asap` around for as long as `vmo`, and must notice

`ZX_EVENTPAIR_PEER_CLOSED`. If that signal occurs, the client must close

`vmo` asap. Not doing so is considered a VMO leak by the client and in

that case sysmem will eventually complain loudly via syslog (currently

5s later).

Defined at line 6907 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

bool has_close_weak_asap ()

Defined at line 6911 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

::zx::eventpair * mutable_close_weak_asap ()

This field is set iff `vmo` is a sysmem weak VMO handle. The client must

keep `close_weak_asap` around for as long as `vmo`, and must notice

`ZX_EVENTPAIR_PEER_CLOSED`. If that signal occurs, the client must close

`vmo` asap. Not doing so is considered a VMO leak by the client and in

that case sysmem will eventually complain loudly via syslog (currently

5s later).

Defined at line 6921 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

void clear_close_weak_asap ()

Defined at line 6929 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h