Enum cloudabi::auxtype
[−]
[src]
#[repr(u32)]pub enum auxtype { ARGDATA, ARGDATALEN, BASE, CANARY, CANARYLEN, NCPUS, NULL, PAGESZ, PHDR, PHNUM, PID, SYSINFO_EHDR, TID, // some variants omitted }
Enumeration describing the kind of value stored in auxv
.
Variants
ARGDATA
Base address of the binary argument data provided to
proc_exec()
.
ARGDATALEN
Length of the binary argument data provided to
proc_exec()
.
BASE
Base address at which the executable is placed in memory.
CANARY
Base address of a buffer of random data that may be used for non-cryptographic purposes, for example as a canary for stack smashing protection.
CANARYLEN
Length of a buffer of random data that may be used for non-cryptographic purposes, for example as a canary for stack smashing protection.
NCPUS
Number of CPUs that the system this process is running on has.
NULL
Terminator of the auxiliary vector.
PAGESZ
Smallest memory object size for which individual memory protection controls can be configured.
PHDR
Address of the first ELF program header of the executable.
PHNUM
Number of ELF program headers of the executable.
PID
Identifier of the process.
This environment does not provide any simple numerical process identifiers, for the reason that these are not useful in distributed contexts. Instead, processes are identified by a UUID.
This record should point to sixteen bytes of binary data, containing a version 4 UUID (fully random).
SYSINFO_EHDR
Address of the ELF header of the vDSO.
The vDSO is a shared library that is mapped in the
address space of the process. It provides entry points
for every system call supported by the environment,
all having a corresponding symbol that is prefixed
with cloudabi_sys_
. System calls should be invoked
through these entry points.
The first advantage of letting processes call into a
vDSO to perform system calls instead of raising
hardware traps is that it allows for easy emulation of
executables on top of existing operating systems. The
second advantage is that in cases where an operating
system provides native support for CloudABI executables,
it may still implement partial userspace
implementations of these system calls to improve
performance (e.g., clock_time_get()
). It also provides
a more dynamic way of adding, removing or replacing
system calls.
TID
Thread ID of the initial thread of the process.
Trait Implementations
impl Copy for auxtype
[src]
impl Clone for auxtype
[src]
fn clone(&self) -> auxtype
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Eq for auxtype
[src]
impl PartialEq for auxtype
[src]
fn eq(&self, __arg_0: &auxtype) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Hash for auxtype
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more