FreeBSD manual
download PDF document: auxv.3.pdf
ELF_AUX_INFO(3) FreeBSD Library Functions Manual ELF_AUX_INFO(3)
NAME
elf_aux_info - extract data from the elf auxiliary vector of the current
process
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/auxv.h>
int
elf_aux_info(int aux, void *buf, int buflen);
DESCRIPTION
The elf_aux_info() function retrieves the auxiliary info vector requested
in aux. The information is stored into the provided buffer if it will
fit. The following values, defined in <sys/elf_common.h> can be
requested (corresponding buffer sizes are specified in parenthesis):
AT_CANARY The canary value for SSP (arbitrary sized buffer, as many
bytes are returned as it fits into it, rest is zeroed).
AT_EXECPATH The path of executed program (MAXPATHLEN). This may not be
present if the process was initialized by fexecve(2) and
the namecache no longer contains the file's name.
AT_HWCAP CPU / hardware feature flags (sizeof(u_long)).
AT_HWCAP2 CPU / hardware feature flags (sizeof(u_long)).
AT_NCPUS Number of CPUs (sizeof(int)).
AT_OSRELDATE The OSRELDATE of the kernel or jail the program is running
on (sizeof(int)).
AT_PAGESIZES Vector of page sizes (arbitrary sized buffer, as many
elements of the pagesizes array are returned as it fits).
AT_PAGESZ Page size in bytes (sizeof(int)).
AT_TIMEKEEP Pointer to VDSO timehands (for library internal use,
sizeof(void *)).
AT_USRSTACKBASE
Top of the user stack for main thread.
AT_USRSTACKLIM
Limit for grow of the user stack for main thread.
RETURN VALUES
Returns zero on success, or an error number on failure.
ERRORS
[EINVAL] An unknown item was requested.
[EINVAL] The provided buffer was not the right size for the
requested item.
Only a small subset of available auxiliary info vector items are
accessible with this function. Some items require a "right-sized" buffer
while others just require a "big enough" buffer.
FreeBSD 14.0-RELEASE-p11 September 16, 2022 FreeBSD 14.0-RELEASE-p11