Macro used to handle fd permanency across jailed devices.
If we run crosvm without --disable-sandbox, we need to add the trace_marker
file descriptor to the list of file descriptors allowed to be accessed by the
sandboxed process. We call this macro to add the file descriptor to the list
of keep_rds that the process is allowed to access every time we jail.
Macro used to set up the trace environment categories. It takes a variable
number of arguments in pairs of category, boolean value on whether or not the
tracing category is enabled at compile time.
Returns a Trace object with a new name and index and traces its enter state, if the
given category identifier is enabled. Extra args can be provided for easier debugging.
Upon exiting its scope, it is automatically collected and its exit gets traced.
This macro is used as a placeholder to let us iterate over the compile-time
allocated vector of categories when we statically initialize it.
This macro should only be used internally to this crate.
Initializes the trace_marker backend. It attepts to open the trace_marker
file and keep a reference that can be shared throughout the lifetime of the
crosvm process.
Platform-specific implementation of the push_descriptors! macro. If the
trace_marker file has been initialized properly, it adds its file descriptor
to the list of file descriptors that are allowed to be accessed when the process
is jailed in the sandbox.
Platform-specific implementation of the trace_simple_print! macro. If tracing
is enabled on the system, it writes the given message to the trace_marker file.