Ironclad supports passing auxiliary vectors to the started processes. Auxiliary
vectors are tags of data passed on the stack to programs detailing additional
data. These values are passed behind envp
.
Each vector consists of a pair of values: an identifier, and a 64-bit integer.
The vectors passed by the kernel by value are:
AT_NULL (0)
Signifies the end of the vector chain.
AT_PHDR (3)
The address of the program headers of the executable.
AT_PHENT (4)
The size of program header entry.
AT_PHNUM (5)
The number of program headers.
AT_ENTRY (9)
The entrypoint of the executable.
AT_SECURE (23)
The value will be 1 if the executable is to be treated securely, 0 if not.
This flag will be set by Ironclad when the program holds the
MAC_CAP_SCHED
capability.