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

FreeBSD Manual Pages

  
 
  

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 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>

home | help