class SecureHeapProperties

Defined at line 8781 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.

void SecureHeapProperties ()
void SecureHeapProperties (SecureHeapProperties && other)
const ::fuchsia::sysmem2::Heap & heap ()

The Heap is repeated here for convenience.

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

bool has_heap ()

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

::fuchsia::sysmem2::Heap * mutable_heap ()

The Heap is repeated here for convenience.

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

void clear_heap ()

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

const bool & dynamic_protection_ranges ()

If true, more than one call to SetPhysicalSecureHeap() for the same

heap is allowed. If false, only one SetPhyscialSecureHeap() call is

allowed, and no calls to DeleteSecureHeapPhysicalRange() or

ModifySecureHeapPhysicalRange() are allowed. Even when this is false,

the SecureMem server (driver) is still responsible for de-protecting

just before warm reboot if protected ranges would not otherwise be

cleaned up during a warm reboot.

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

bool has_dynamic_protection_ranges ()

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

bool * mutable_dynamic_protection_ranges ()

If true, more than one call to SetPhysicalSecureHeap() for the same

heap is allowed. If false, only one SetPhyscialSecureHeap() call is

allowed, and no calls to DeleteSecureHeapPhysicalRange() or

ModifySecureHeapPhysicalRange() are allowed. Even when this is false,

the SecureMem server (driver) is still responsible for de-protecting

just before warm reboot if protected ranges would not otherwise be

cleaned up during a warm reboot.

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

void clear_dynamic_protection_ranges ()

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

const uint32_t & protected_range_granularity ()

The granularity of protection ranges. If the granularity of start is

different than granularity of end or length, then this is the max

granularity value among those values.

This must be a power of 2. The client must not request ranges that

specify smaller granularity.

This must be at least zx_system_page_size() even if the HW can do

smaller granularity.

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

bool has_protected_range_granularity ()

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

uint32_t * mutable_protected_range_granularity ()

The granularity of protection ranges. If the granularity of start is

different than granularity of end or length, then this is the max

granularity value among those values.

This must be a power of 2. The client must not request ranges that

specify smaller granularity.

This must be at least zx_system_page_size() even if the HW can do

smaller granularity.

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

void clear_protected_range_granularity ()

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

const uint64_t & max_protected_range_count ()

The SecureMem server should not count reserved ranges that the SecureMem

server uses internally to get from range set A to range set B, if the

SecureMem server needs to do any emulation of that sort. Normally such

emulation by the SecureMem server is unnecessary. If any ranges are

reserved by the SecureMem server, those reserved ranges are not

available for use by the SecureMem client.

If the number of ranges is limited only by available memory, it's ok for

the SecureMem server to report 0xFFFFFFFFFFFFFFFF for this value. The

field must still be set. As usual, the SecureMem server should ensure

that SetPhysicalSecureHeapRanges() succeeds or fails atomically (either

fully updates or rolls back before completing).

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

bool has_max_protected_range_count ()

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

uint64_t * mutable_max_protected_range_count ()

The SecureMem server should not count reserved ranges that the SecureMem

server uses internally to get from range set A to range set B, if the

SecureMem server needs to do any emulation of that sort. Normally such

emulation by the SecureMem server is unnecessary. If any ranges are

reserved by the SecureMem server, those reserved ranges are not

available for use by the SecureMem client.

If the number of ranges is limited only by available memory, it's ok for

the SecureMem server to report 0xFFFFFFFFFFFFFFFF for this value. The

field must still be set. As usual, the SecureMem server should ensure

that SetPhysicalSecureHeapRanges() succeeds or fails atomically (either

fully updates or rolls back before completing).

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

void clear_max_protected_range_count ()

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

const bool & is_mod_protected_range_available ()

Iff true, ModifySecureHeapPhysicalRange() is implemented. Calling

ModifySecureHeapPhysicalRange() when is_mod_protected_range_available

is false is prohibited. Don't attempt to detect availability of

ModifySecureHeapPhysicalRange() by calling it to see if it fails; it

may ZX_PANIC().

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

bool has_is_mod_protected_range_available ()

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

bool * mutable_is_mod_protected_range_available ()

Iff true, ModifySecureHeapPhysicalRange() is implemented. Calling

ModifySecureHeapPhysicalRange() when is_mod_protected_range_available

is false is prohibited. Don't attempt to detect availability of

ModifySecureHeapPhysicalRange() by calling it to see if it fails; it

may ZX_PANIC().

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

void clear_is_mod_protected_range_available ()

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

SecureHeapProperties & set_heap (::fuchsia::sysmem2::Heap _value)
SecureHeapProperties & set_dynamic_protection_ranges (bool _value)
SecureHeapProperties & set_protected_range_granularity (uint32_t _value)
SecureHeapProperties & set_max_protected_range_count (uint64_t _value)
SecureHeapProperties & set_is_mod_protected_range_available (bool _value)
void ~SecureHeapProperties ()
SecureHeapProperties & operator= (SecureHeapProperties && other)
::std::unique_ptr<SecureHeapProperties> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, SecureHeapProperties * _value, size_t _offset)
zx_status_t Clone (SecureHeapProperties * _result)