FreeBSD Manual Pages
KENV(2) FreeBSD System Calls Manual KENV(2) NAME kenv -- kernel environment LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <kenv.h> int kenv(int action, const char *name, char *value, int len); DESCRIPTION The kenv() function manipulates kernel environment variables. It sup- ports the well known userland actions of getting, setting and unsetting environment variables, as well as the ability to dump all of the entries in the kernel environment. The action parameter can be one of the following: KENV_GET Returns the value associated with the named kernel environ- ment variable. If the variable is not found, -1 is returned and the global variable errno is set to ENOENT. Only the number of bytes available in value are copied out. KENV_SET Sets or adds a new kernel environment variable. This option is only available to the superuser. KENV_UNSET Unsets the kernel environment variable name. If the variable does not exist, -1 is returned and the global variable errno is set to EINVAL. This option is only available to the supe- ruser. KENV_DUMP Dumps as much of the kernel environment as will fit in value. If value is NULL, kenv() will return the number of bytes required to copy out the entire environment. The name parameter is the name of the environment variable to be affected. In the case of KENV_DUMP it is ignored. The value parameter contains either the value to set the environment variable name to in the case of KENV_SET, or it points to the location where kenv() should copy return data to in the case of KENV_DUMP and KENV_GET. If value is NULL in the case of KENV_DUMP, kenv() will return the number of bytes required to copy out the entire environment. The len parameter indicates how many bytes of storage value points to. RETURN VALUES The kenv() function returns 0 if successful in the case of KENV_SET and KENV_UNSET, and the number of bytes copied into value in the case of KENV_DUMP and KENV_GET. If an error occurs, a value of -1 is returned and the global variable errno is set to indicate the error. ERRORS kenv() will fail if: [EINVAL] action is not a valid option, or the length of the value is less than 1 for a KENV_SET. [ENOENT] no value could be found for name for a KENV_SET or KENV_UNSET. [EPERM] a user other than the superuser attempted to set or unset a kernel environment variable. [EFAULT] bad address was encountered while attempting to copy in user arguments, or copy out value(s). [ENAMETOOLONG] the name of a variable supplied by the user is longer than KENV_MNAMELEN or the value of a variable is longer than KENV_MVALLEN. SEE ALSO kenv(1) AUTHORS This man page was written by Chad David <davidc@FreeBSD.org>. The kenv() system call was written by Maxime Henrion <mux@FreeBSD.org>. FreeBSD 11.1 April 17, 2002 FreeBSD 11.1
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=kenv&sektion=2&manpath=FreeBSD+5.0-RELEASE>