unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

fpathconf(2)                     System Calls                     fpathconf(2)



NAME
       fpathconf, pathconf - get configurable pathname variables

SYNOPSIS
       #include <unistd.h>

       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 from
       <&lt;limits.h>&gt;  or  <&lt;unistd.h>&gt;  and  the  symbolic  constants,  defined  in
       <&lt;unistd.h>&gt;, are the corresponding values used for name:


       tab()     allbox;     cw(2.138889i)|    cw(2.152778i)|    cw(1.208333i)
       lw(2.138889i)|   lw(2.152778i)|   lw(1.208333i).    VariableValue    of
       nameNotes     {ACL_ENABLED}_PC_ACL_ENABLED10    {FILESIZEBITS}_PC_FILE-
       SIZEBITS3,4      {LINK_MAX}_PC_LINK_MAX1      {MAX_CANON}_PC_MAX_CANON2
       {MAX_INPUT}_PC_MAX_INPUT2           {NAME_MAX}_PC_NAME_MAX3,          4
       {PATH_MAX}_PC_PATH_MAX4,5                       {PIPE_BUF}_PC_PIPE_BUF6
       {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_MAX4,
       9   {XATTR_ENABLED}_PC_XATTR_ENABLED1   {XATTR_EXISTS}_PC_XATTR_EXISTS1
       _POSIX_CHOWN_RESTRICTED_PC_CHOWN_RESTRICTED7
       _POSIX_NO_TRUNC_PC_NO_TRUNC3,      4       _POSIX_VDISABLE_PC_VDISABLE2
       _POSIX_ASYNC_IO_PC_ASYNC_IO8                 _POSIX_PRIO_IO_PC_PRIO_IO8
       _POSIX_SYNC_IO_PC_SYNC_IO8


       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 unspeci-
           fied whether an implementation supports an association of the vari-
           able 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 supports an association of the variable
           name with the specified file.


       5.  If path or fildes refers to a directory, the value returned is  the
           maximum  length of a relative pathname 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  supports  an  association of the variable name with
           the specified file.


       7.  If path or fildes refers to a directory, the value returned applies
           to  any files, other than directories, 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 value 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 value returned is the bitwise inclusive OR
           of the following 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.




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 the path 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  privi-
       leges  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 an invalid file descriptor, fpath-
       conf() returns -1 and errno is set to indicate the error.

       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 with <&lt;limits.h>&gt; or <&lt;unistd.h>&gt;.

ERRORS
       The pathconf() function will fail if:

       EINVAL          The value of name is not valid.



       ELOOP           A loop exists in symbolic links encountered during res-
                       olution 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  resolu-
                       tion  of  the  path argument, the length of the substi-
                       tuted pathname string exceeded {PATH_MAX}.



       ENOENT          A component of path does not name an existing  file  or
                       path is an empty string.



       ENOTDIR         A component of the path prefix is not a directory.



       The fpathconf() function may fail if:

       EBADF           The fildes argument is not a valid file descriptor.



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


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStan-
       dard MT-LevelAsync-Signal-Safe


SEE ALSO
       confstr(3C), limits.h(3HEAD), sysconf(3C), attributes(5), standards(5)




SunOS 5.10                        10 Sep 2004                     fpathconf(2)