280 lines
6.2 KiB
HTML
280 lines
6.2 KiB
HTML
|
<html>
|
|||
|
<head>
|
|||
|
<!-- This file has been generated by unroff 1.0, 03/21/96 19:25:27. -->
|
|||
|
<!-- Do not edit! -->
|
|||
|
<link rev="made" href="mailto:net@informatik.uni-bremen.de">
|
|||
|
<!-- t -->
|
|||
|
<!-- @(#)pathconf.2v 1.20 90/02/15 SMI; new for 4.1, POSIX -->
|
|||
|
<title>Manual page for PATHCONF(2V)</title>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<h2>
|
|||
|
pathconf, fpathconf - query file system related limits and options
|
|||
|
<hr></h2>
|
|||
|
<h2>SYNOPSIS</h2>
|
|||
|
<pre>
|
|||
|
<b>#include <unistd.h>
|
|||
|
</b></pre>
|
|||
|
<p>
|
|||
|
<pre>
|
|||
|
<b>long pathconf(path, name)
|
|||
|
char *path;
|
|||
|
int name;
|
|||
|
</b></pre>
|
|||
|
<p>
|
|||
|
<pre>
|
|||
|
<b>long fpathconf(fd, name)
|
|||
|
int fd, name;
|
|||
|
</b></pre>
|
|||
|
<h2>DESCRIPTION</h2>
|
|||
|
<p>
|
|||
|
<b>pathconf()
|
|||
|
</b>and
|
|||
|
<b>fpathconf()
|
|||
|
</b>provide a
|
|||
|
method for the application to determine the current value of a
|
|||
|
configurable limit or option that is associated with a file
|
|||
|
or directory,
|
|||
|
<p>
|
|||
|
For
|
|||
|
<b>pathconf()</b>,
|
|||
|
<i>path
|
|||
|
</i>points to the pathname of a file or
|
|||
|
directory.<tt> </tt>
|
|||
|
For
|
|||
|
<b>fpathconf()</b>,
|
|||
|
<i>fd
|
|||
|
</i>is an open file descriptor.<tt> </tt>
|
|||
|
<p>
|
|||
|
The convention used throughout sections 2 and 3
|
|||
|
is that
|
|||
|
{LIMIT}
|
|||
|
means that
|
|||
|
LIMIT
|
|||
|
is something that
|
|||
|
can change from file to file (due to multiple file systems on the same
|
|||
|
machine). The actual value for
|
|||
|
LIMIT is typically
|
|||
|
not defined in any header file since
|
|||
|
it is not invariant. Instead, pathconf must be called to retrieve the value.<tt> </tt>
|
|||
|
<b>pathconf()
|
|||
|
</b>understands a list of flags that are named similarly to the value
|
|||
|
being queried.
|
|||
|
<p>
|
|||
|
The following table lists the name and meaning of each conceptual limit.<tt> </tt>
|
|||
|
<p>
|
|||
|
<dl><dt><dd>
|
|||
|
<pre>
|
|||
|
Limit Meaning
|
|||
|
------------------------------------------------------------------------
|
|||
|
{LINK_MAX} Max links to an object.
|
|||
|
{MAX_CANON} Max tty input line size.
|
|||
|
{MAX_INPUT} Max packet a tty can accept at once.
|
|||
|
{NAME_MAX} Max filename length.
|
|||
|
{PATH_MAX} Max pathname length.
|
|||
|
{PIPE_BUF} Pipe buffer size.
|
|||
|
{_POSIX_CHOWN_RESTRICTED} If true only root can chown() files, other<65>
|
|||
|
wise anyone may give away files.
|
|||
|
{_POSIX_NO_TRUNC} If false filenames > {NAME_MAX} are trun<75>
|
|||
|
cated, otherwise an error.
|
|||
|
{_POSIX_VDISABLE} A char to use to disable tty special chars.
|
|||
|
</pre>
|
|||
|
</dl>
|
|||
|
<p>
|
|||
|
The following table lists the name of each limit, the flag
|
|||
|
passed to
|
|||
|
<b>pathconf()
|
|||
|
</b>to retrieve the value of each variable, and some notes about usage.<tt> </tt>
|
|||
|
<p>
|
|||
|
<dl><dt><dd>
|
|||
|
<pre>
|
|||
|
Limit Pathconf Flag Notes
|
|||
|
---------------------------------------------------------
|
|||
|
{LINK_MAX} _PC_LINK_MAX 1
|
|||
|
{MAX_CANON} _PC_MAX_CANON 2
|
|||
|
{MAX_INPUT} _PC_MAX_INPUT 2
|
|||
|
{NAME_MAX} _PC_NAME_MAX 3,4
|
|||
|
{PATH_MAX} _PC_PATH_MAX 4,5
|
|||
|
{PIPE_BUF} _PC_PIPE_BUF 6
|
|||
|
{_POSIX_CHOWN_RESTRICTED} _PC_CHOWN_RESTRICTED 7,8
|
|||
|
{_POSIX_NO_TRUNC} _PC_NO_TRUNC 3,4,8
|
|||
|
{_POSIX_VDISABLE} _PC_VDISABLE 2,8
|
|||
|
</pre>
|
|||
|
</dl>
|
|||
|
<p>
|
|||
|
<p>
|
|||
|
The following notes apply to the entries in the preceding table.<tt> </tt>
|
|||
|
<p>
|
|||
|
<dl>
|
|||
|
<dt>1
|
|||
|
<dd>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refers to a directory, the value returned applies to the
|
|||
|
directory itself.<tt> </tt>
|
|||
|
<dt>2
|
|||
|
<dd>
|
|||
|
The behavior is undefined if
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>does not refer to a terminal file.<tt> </tt>
|
|||
|
<dt>3
|
|||
|
<dd>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refers to a directory, the value returned applies to the
|
|||
|
file names within the directory.<tt> </tt>
|
|||
|
<dt>4
|
|||
|
<dd>
|
|||
|
The behavior is undefined if
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>does not refer to a directory.<tt> </tt>
|
|||
|
<dt>5
|
|||
|
<dd>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refers to a directory, the value returned is the maximum
|
|||
|
length of a relative pathname when the specified directory
|
|||
|
is the working directory.<tt> </tt>
|
|||
|
<dt>6
|
|||
|
<dd>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>refers to a
|
|||
|
FIFO,
|
|||
|
or
|
|||
|
<i>fd
|
|||
|
</i>refers to a pipe of
|
|||
|
FIFO,
|
|||
|
the value returned applies to the referenced object itself.<tt> </tt>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refers to a directory, the value returned applies to any
|
|||
|
FIFOs
|
|||
|
that exist or can be created within the directory.<tt> </tt>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refer to any other type of file, the behavior is undefined.<tt> </tt>
|
|||
|
<dt>7
|
|||
|
<dd>
|
|||
|
If
|
|||
|
<i>path
|
|||
|
</i>or
|
|||
|
<i>fd
|
|||
|
</i>refer to a directory, the value returned applies
|
|||
|
to any files, other than directories, that
|
|||
|
exist or can be created within the directory.<tt> </tt>
|
|||
|
<dt>8
|
|||
|
<dd>
|
|||
|
The option in question is a boolean; the return value is 0 or 1.<tt> </tt>
|
|||
|
</dl>
|
|||
|
<h2>RETURN VALUES</h2>
|
|||
|
<p>
|
|||
|
On success,
|
|||
|
<b>pathconf()
|
|||
|
</b>and
|
|||
|
<b>fpathconf()
|
|||
|
</b>return
|
|||
|
the current
|
|||
|
variable value for the file or directory.<tt> </tt>
|
|||
|
On failure,
|
|||
|
they return
|
|||
|
-1
|
|||
|
and set
|
|||
|
<b>errno
|
|||
|
</b>to indicate the error.<tt> </tt>
|
|||
|
<p>
|
|||
|
If the variable corresponding to
|
|||
|
<i>name
|
|||
|
</i>has no limit for the path or file
|
|||
|
descriptor,
|
|||
|
<b>pathconf()
|
|||
|
</b>and
|
|||
|
<b>fpathconf()
|
|||
|
</b>return -1 without changing
|
|||
|
<b>errno</b>.<tt> </tt>
|
|||
|
<h2>ERRORS</h2>
|
|||
|
<p>
|
|||
|
<b>pathconf()
|
|||
|
</b>and
|
|||
|
<b>fpathconf()
|
|||
|
</b>may set
|
|||
|
<b>errno
|
|||
|
</b>to:
|
|||
|
<dl>
|
|||
|
<dt>EINVAL
|
|||
|
<dd>
|
|||
|
The value of name is invalid.<tt> </tt>
|
|||
|
</dl>
|
|||
|
<p>
|
|||
|
For each of the following conditions,
|
|||
|
if the condition is detected,
|
|||
|
<b>pathconf()
|
|||
|
</b>fails and sets
|
|||
|
<b>errno
|
|||
|
</b>to:
|
|||
|
<dl>
|
|||
|
<dt>EACCES
|
|||
|
<dd>
|
|||
|
Search permission is denied for a component of the path prefix.<tt> </tt>
|
|||
|
<dt>EINVAL
|
|||
|
<dd>
|
|||
|
The implementation does not support an association of the
|
|||
|
variable name with the specified file.<tt> </tt>
|
|||
|
<dt>ENAMETOOLONG
|
|||
|
<dd>
|
|||
|
The length of the path argument exceeds
|
|||
|
{PATH_MAX}.<tt> </tt>
|
|||
|
<dt><dd><p>
|
|||
|
A pathname component is longer than
|
|||
|
{NAME_MAX}
|
|||
|
while
|
|||
|
{POSIX_NO_TRUNC}
|
|||
|
is in effect.<tt> </tt>
|
|||
|
<dt>ENOENT
|
|||
|
<dd>
|
|||
|
The named file does not exist.<tt> </tt>
|
|||
|
<dt><dd><p>
|
|||
|
<i>path
|
|||
|
</i>points to an empty string.<tt> </tt>
|
|||
|
<dt>ENOTDIR
|
|||
|
<dd>
|
|||
|
A component of the path prefix is not a directory.<tt> </tt>
|
|||
|
</dl>
|
|||
|
<p>
|
|||
|
For each of the following conditions,
|
|||
|
if the condition is detected,
|
|||
|
<b>fpathconf()
|
|||
|
</b>fails and sets
|
|||
|
<b>errno
|
|||
|
</b>to:
|
|||
|
<dl>
|
|||
|
<dt>EBADF
|
|||
|
<dd>
|
|||
|
The
|
|||
|
<i>fd
|
|||
|
</i>argument is not a valid file descriptor.<tt> </tt>
|
|||
|
<dt>EINVAL
|
|||
|
<dd>
|
|||
|
The implementation does not support an association of the
|
|||
|
variable name with the specified file.<tt> </tt>
|
|||
|
|
|||
|
</dl>
|
|||
|
<p><hr>
|
|||
|
Markup created by <em>unroff</em> 1.0, <tt> </tt> <tt> </tt>March 21, 1996.
|
|||
|
</body>
|
|||
|
</html>
|