Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
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
     supports 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
                     environment 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 superuser.

     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.0-PRERELEASE         April 17, 2002         FreeBSD 11.0-PRERELEASE

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>

home | help