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

FreeBSD Manual Pages


home | help
GETCONF(1)		  BSD General Commands Manual		    GETCONF(1)

     getconf --	retrieve standard configuration	variables

     getconf [-v environment] path_var file
     getconf [-v environment] system_var

     The getconf utility prints	the value of a POSIX or	X/Open path or system
     configuration variable to the standard output.  If	the specified variable
     is	undefined, the string "undefined" is output.

     The first form of the command, with two mandatory arguments, retrieves
     file- and file system-specific configuration variables using pathconf(2).
     The second	form, with a single argument, retrieves	system configuration
     variables using confstr(3)	and sysconf(3),	depending on the type of vari-
     able.  As an extension, the second	form can also be used to query static
     limits from <limits.h>.

     All sysconf(3) and	pathconf(2) variables use the same name	as the mani-
     fest constants defined in the relevant standard C-language	bindings, in-
     cluding any leading underscore or prefix.	That is	to say,	system_var
     might be ARG_MAX or _POSIX_VERSION, as opposed to the sysconf(3) names
     _SC_ARG_MAX or _SC_POSIX_VERSION.	Variables retrieved from confstr(3)
     have the leading `_CS_' stripped off; thus, _CS_PATH is queried by	a
     system_var	of "PATH".

   Programming Environments
     The -v environment	option specifies a IEEE	Std 1003.1-2001	("POSIX.1")
     programming environment under which the values are	to be queried.	This
     option currently does nothing, but	may in the future be used to select
     between 32-bit and	64-bit execution environments on platforms which sup-
     port both.	 Specifying an environment which is not	supported on the cur-
     rent execution platform gives undefined results.

     The standard programming environments are as follows:

	   POSIX_V6_ILP32_OFF32	  Exactly 32-bit integer, long,	pointer, and
				  file offset.	Supported platforms: None.

	   POSIX_V6_ILP32_OFFBIG  Exactly 32-bit integer, long,	and pointer;
				  at least 64-bit file offset.	Supported
				  platforms: IA32, PowerPC.

	   POSIX_V6_LP64_OFF64	  Exactly 32-bit integer; exactly 64-bit long,
				  pointer, and file offset.  Supported
				  platforms: Alpha, SPARC64.

	   POSIX_V6_LPBIG_OFFBIG  At least 32-bit integer; at least 64-bit
				  long,	pointer, and file offset.  Supported
				  platforms: None.

     The command:


     returns a newline-separated list of environments in which the width of
     certain fundamental types is no greater than the width of the native C
     type long.	 At present, all programming environments supported by FreeBSD
     have this property.  Several of the confstr(3) variables provide informa-
     tion on the necessary compiler and	linker flags to	use the	standard pro-
     gramming environments described above.

     The getconf utility exits 0 on success, and >0 if an error	occurs.	 Use
     of	a system_var or	path_var which is completely unrecognized is consid-
     ered an error, causing a diagnostic message to be written to standard er-
     ror.  One which is	known but merely undefined does	not result in an error
     indication.  The getconf utility recognizes all of	the variables defined
     for IEEE Std 1003.1-2001 ("POSIX.1"), including those which are not cur-
     rently implemented.

     The command:

	   getconf PATH

     will display the system default setting for the PATH environment vari-

     The command:

	   getconf NAME_MAX /tmp

     will display the maximum length of	a filename in the /tmp directory.

     The command:


     will display the maximum value of the C type long in the
     POSIX_V6_LPBIG_OFFBIG programming environment, if the system supports
     that environment.

     pathconf(2), confstr(3), sysconf(3)

     The getconf utility is expected to	be compliant with IEEE Std 1003.1-2001

     The getconf utility first appeared	in FreeBSD 5.0.

     Garrett A.	Wollman	<>

BSD			      September	18, 2002			   BSD


Want to link to this manual page? Use this URL:

home | help