System Calls fpathconf(2)
NAME
fpathconf, pathconf - get configurable pathname variables
SYNOPSIS
#include
long fpathconf(int fildes, int name);
long pathconf(const char *path, int name);
DESCRIPTION
The fpathconf() and pathconf() functions determine the
current value of a configurable limit or option ( variable ) that is associated with a file or directory.For pathconf(), the path argument points to the pathname of
a file or directory.For fpathconf(), the fildes argument is an open file
descriptor. The name argument represents the variable to be queried relative to that file or directory. The variables in the following table come fromor and the symbolic constants, defined in , are the corresponding values used for name: SunOS 5.11 Last change: 1 Sep 2009 1
System Calls fpathconf(2)
SunOS 5.11 Last change: 1 Sep 2009 2
System Calls fpathconf(2)
_______________________________________________________________________
Variable Value of name Notes_______________________________________________________________________
{ACL_ENABLED} _PC_ACL_ENABLED 10
_______________________________________________________________________
{FILESIZEBITS} _PC_FILESIZEBITS 3,4
_______________________________________________________________________
{LINK_MAX} _PC_LINK_MAX 1
_______________________________________________________________________
{MAX_CANON} _PC_MAX_CANON 2
_______________________________________________________________________
{MAX_INPUT} _PC_MAX_INPUT 2
_______________________________________________________________________
{MIN_HOLE_SIZE} _PC_MIN_HOLE_SIZE 11
_______________________________________________________________________
{NAME_MAX} _PC_NAME_MAX 3, 4
_______________________________________________________________________
{PATH_MAX} _PC_PATH_MAX 4,5
_______________________________________________________________________
{PIPE_BUF} _PC_PIPE_BUF 6
_______________________________________________________________________
{POSIX_ALLOC_SIZE_MIN} _PC_ALLOC_SIZE_MIN
_______________________________________________________________________
{POSIX_REC_INCR_XFER_SIZE} _PC_REC_INCR_XFER_SIZE
_______________________________________________________________________
{POSIX_REC_MAX_XFER_SIZE} _PC_REC_MAX_XFER_SIZE
_______________________________________________________________________
{POSIX_REC_MIN_XFER_SIZE} _PC_REC_MIN_XFER_SIZE
_______________________________________________________________________
{POSIX_REC_XFER_ALIGN} _PC_REC_XFER_ALIGN
_______________________________________________________________________
{SYMLINK_MAX} _PC_SYMLINK_MAX 4, 9
_______________________________________________________________________
{XATTR_ENABLED} _PC_XATTR_ENABLED 1
_______________________________________________________________________
{SATTR_ENABLED} _PC_SATTR_ENABLED
_______________________________________________________________________
{XATTR_EXISTS} _PC_XATTR_EXISTS 1
_______________________________________________________________________
{SATTR_EXISTS} _PC_SATTR_EXISTS
_______________________________________________________________________
{ACCESS_FILTERING} _PC_ACCESS_FILTERING 12
_______________________________________________________________________
_POSIX_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED 7
_______________________________________________________________________
_POSIX_NO_TRUNC _PC_NO_TRUNC 3, 4
_______________________________________________________________________
_POSIX_VDISABLE _PC_VDISABLE 2
_______________________________________________________________________
_POSIX_ASYNC_IO _PC_ASYNC_IO 8
_______________________________________________________________________
_POSIX_PRIO_IO _PC_PRIO_IO 8
SunOS 5.11 Last change: 1 Sep 2009 3
System Calls fpathconf(2)
_______________________________________________________________________
| _POSIX_SYNC_IO | _PC_SYNC_IO | 8 |
|____________________________|__________________________|______________|
| _POSIX_TIMESTAMP_RESOLUTION| _PC_TIMESTAMP_RESOLUTION| 1 |
|____________________________|__________________________|______________|
Notes: 1. If path or fildes refers to a directory, the value returned applies to the directory itself. 2. If path or fildes does not refer to a terminal file, it is unspecified whether an implementation supports an association of the variable name with the specified file. 3. If path or fildes refers to a directory, the value returned applies to filenames within the directory. 4. If path or fildes does not refer to a directory, it is unspecified whether an implementation supportsan association of the variable name with the speci-
fied file. 5. If path or fildes refers to a directory, the valuereturned is the maximum length of a relative path-
name when the specified directory is the working directory. 6. If path refers to a FIFO, or fildes refers to a pipe or FIFO, the value returned applies to the referenced object. If path or fildes refers to a directory, the value returned applies to any FIFO that exists or can be created within the directory. If path or fildes refers to any other type of file,it is unspecified whether an implementation sup-
ports an association of the variable name with the specified file. 7. If path or fildes refers to a directory, the valuereturned applies to any files, other than direc-
tories, that exist or can be created within the directory. 8. If path or fildes refers to a directory, it is unspecified whether an implementation supports an association of the variable name with the specified file. 9. If path or fildes refers to a directory, the valueSunOS 5.11 Last change: 1 Sep 2009 4
System Calls fpathconf(2)
returned is the maximum length of the string that a symbolic link in that directory can contain. 10. If path or fildes refers to a file or directory in a file system that supports ACLs, the valuereturned is the bitwise inclusive OR of the follow-
ing flags associated with ACL types supported by the file system; otherwise 0 is returned._ACL_ACE_ENABLED The file system supports ACE
ACLs._ACL_ACLENT_ENABLED The file system supports UFS
aclent ACLs. 11. If a filesystem supports the reporting of holes(see lseek(2), pathconf() and fpathconf() return a
positive number that represents the minimum hole size returned in bytes. The offsets of holesreturned will be aligned to this same value. A spe-
cial value of 1 is returned if the filesystem does not specify the minimum hole size but still reports holes. 12. If path or fildes refers to a directory and the file system in which the directory resides supportsaccess filtering, a non-zero value is returned.
Otherwise, 0 is returned.RETURN VALUES
If name is an invalid value, both pathconf() and fpathconf()
return -1 and errno is set to indicate the error.
If the variable corresponding to name has no limit for thepath or file descriptor, both pathconf() and fpathconf()
return -1 without changing errno. If pathconf() needs to use
path to determine the value of name and pathconf() does not
support the association of name with the file specified by path, or if the process did not have appropriate privileges to query the file specified by path, or path does not exist,pathconf() returns -1 and errno is set to indicate the
error.If fpathconf() needs to use fildes to determine the value of
name and fpathconf() does not support the association of
name with the file specified by fildes, or if fildes is aninvalid file descriptor, fpathconf() returns -1 and errno is
set to indicate the error.SunOS 5.11 Last change: 1 Sep 2009 5
System Calls fpathconf(2)
Otherwise pathconf() or fpathconf() returns the current
variable value for the file or directory without changing errno. The value returned will not be more restrictive than the corresponding value available to the application when it was compiled withor . ERRORS
The pathconf() function will fail if:
EINVAL The value of name is not valid. ELOOP A loop exists in symbolic links encountered during resolution of the path argument.The fpathconf() function will fail if:
EINVAL The value of name is not valid.The pathconf() function may fail if:
EACCES Search permission is denied for a component of the path prefix. EINVAL An association of the variable name with the specified file is not supported.ENAMETOOLONG The length of the path argument exceeds
{PATH_MAX} or a pathname component is longer
than {NAME_MAX}.
ENAMETOOLONG As a result of encountering a symbolic link
in resolution of the path argument, the length of the substituted pathname stringexceeded {PATH_MAX}.
ENOENT A component of path does not name an exist-
ing file or path is an empty string. ENOTDIR A component of the path prefix is not a directory.SunOS 5.11 Last change: 1 Sep 2009 6
System Calls fpathconf(2)
The fpathconf() function may fail if:
EBADF The fildes argument is not a valid file descrip-
tor. EINVAL An association of the variable name with the specified file is not supported.USAGE
The {SYMLINK_MAX} variable applies only to the fpathconf()
function.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Async-Signal-Safe |
|_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
lseek(2), confstr(3C), limits.h(3HEAD), sysconf(3C), attri-
butes(5), standards(5)SunOS 5.11 Last change: 1 Sep 2009 7