Crate monitor_api

Source
Expand description

This crate exists to break a circular dependency between twz-rt and monitor. We use extern symbols so that we can just call into the monitor without having to have it as an explicit dependency.

Modules§

__twz_secgate_impl_monitor_rt_comp_ctrl_mod
__twz_secgate_impl_monitor_rt_compartment_dynamic_gate_mod
__twz_secgate_impl_monitor_rt_compartment_wait_mod
__twz_secgate_impl_monitor_rt_drop_compartment_handle_mod
__twz_secgate_impl_monitor_rt_drop_library_handle_mod
__twz_secgate_impl_monitor_rt_get_comp_config_mod
__twz_secgate_impl_monitor_rt_get_compartment_deps_mod
__twz_secgate_impl_monitor_rt_get_compartment_handle_mod
__twz_secgate_impl_monitor_rt_get_compartment_info_mod
__twz_secgate_impl_monitor_rt_get_compartment_thread_mod
__twz_secgate_impl_monitor_rt_get_library_handle_mod
__twz_secgate_impl_monitor_rt_get_library_info_mod
__twz_secgate_impl_monitor_rt_get_thread_simple_buffer_mod
__twz_secgate_impl_monitor_rt_load_compartment_mod
__twz_secgate_impl_monitor_rt_load_library_mod
__twz_secgate_impl_monitor_rt_lookup_compartment_mod
__twz_secgate_impl_monitor_rt_object_map_mod
__twz_secgate_impl_monitor_rt_object_pair_map_mod
__twz_secgate_impl_monitor_rt_object_unmap_mod
__twz_secgate_impl_monitor_rt_set_nameroot_mod
__twz_secgate_impl_monitor_rt_spawn_thread_mod
__twz_secgate_impl_monitor_rt_stats_mod

Structs§

CompartmentDepsIter
An iterator over a compartment’s dependencies.
CompartmentFlags
Compartment state flags.
CompartmentHandle
A compartment handle. On drop, the compartment may be unloaded.
CompartmentInfo
Information about a compartment.
CompartmentLoader
A builder-type for loading compartments.
CompartmentMgrStats
CompartmentThreadsIter
An iterator over a compartment’s threads.
DynlinkStats
HandleStats
LibraryHandle
A handle to a loaded library. On drop, the library may unload.
LibraryInfo
Contains information about a library loaded into the address space.
LibraryInfo
LibraryInfoRaw
LibraryIter
An iterator over libraries in a compartment.
LibraryLoader
A builder-type for loading libraries.
MappedObjectAddrs
Contains raw mapping addresses, for use when translating to object handles for the runtime.
MonitorStats
NewCompartmentFlags
RuntimeThreadControl
SharedCompConfig
Shared data between the monitor and a compartment runtime. Written to by the monitor, and read-only from the compartment.
SpaceStats
Tcb
ThreadInfo
ThreadMgrStats
TlsRegion
TlsTemplateInfo
Information about a monitor-generated TLS template.

Enums§

MonitorCompControlCmd

Constants§

MONITOR_INSTANCE_ID
Reserved instance ID for the security monitor.
THREAD_STARTED

Functions§

get_comp_config
Get a reference to this compartment’s SharedCompConfig.
monitor_rt_comp_ctrl
monitor_rt_compartment_dynamic_gate
monitor_rt_compartment_wait
monitor_rt_drop_compartment_handle
monitor_rt_drop_library_handle
monitor_rt_get_comp_config
monitor_rt_get_compartment_deps
monitor_rt_get_compartment_handle
monitor_rt_get_compartment_info
monitor_rt_get_compartment_thread
monitor_rt_get_library_handle
monitor_rt_get_library_info
monitor_rt_get_thread_simple_buffer
monitor_rt_load_compartment
monitor_rt_load_library
monitor_rt_lookup_compartment
monitor_rt_object_map
monitor_rt_object_pair_map
monitor_rt_object_unmap
monitor_rt_set_nameroot
monitor_rt_spawn_thread
monitor_rt_stats
set_comp_config
Tries to set the comp config pointer. May fail, as this can only be set once. The comp config pointer is automatically determined if get_comp_config is called without comp config being set, by cross-compartment call into monitor.
set_nameroot
stats
Get stats from the monitor