class SecureHeapProperties
Defined at line 3097 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
SecureHeapProperties & set_heap (::fuchsia::sysmem::HeapType _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 ()
void SecureHeapProperties (SecureHeapProperties && other)
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)
const ::fuchsia::sysmem::HeapType & heap ()
The HeapType is repeated here for convenience.
Defined at line 3104 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
bool has_heap ()
Defined at line 3108 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
::fuchsia::sysmem::HeapType * mutable_heap ()
The HeapType is repeated here for convenience.
Defined at line 3113 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
void clear_heap ()
Defined at line 3121 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3136 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
bool has_dynamic_protection_ranges ()
Defined at line 3140 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3151 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
void clear_dynamic_protection_ranges ()
Defined at line 3159 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3176 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
bool has_protected_range_granularity ()
Defined at line 3180 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3193 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
void clear_protected_range_granularity ()
Defined at line 3201 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3221 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
bool has_max_protected_range_count ()
Defined at line 3225 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3241 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
void clear_max_protected_range_count ()
Defined at line 3249 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3262 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
bool has_is_mod_protected_range_available ()
Defined at line 3266 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/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 3275 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h
void clear_is_mod_protected_range_available ()
Defined at line 3283 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/hlcpp/fuchsia/sysmem/cpp/fidl.h