Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

limits(4)

sysconf(3C)

unistd(4)






       fpathconf(2)                                            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 functions fpathconf and pathconf return the current value
             of a configurable limit or option associated with a file or
             directory.  The path argument points to the pathname of a file
             or directory; fildes is an open file descriptor; and name is
             the symbolic constant defined in unistd.h [see unistd(4)]
             representing the configurable system limit or option to be
             returned.

             The value of the configurable system limit or option specified
             by name does not change during the lifetime of the calling
             process.

          Return Values
             The values returned by pathconf and fpathconf depend on the
             type of file specified by path or fildes.  The following table
             contains the symbolic constants supported by pathconf and
             fpathconf along with the POSIX defined return value.  The
             return value is based on the type of file specified by path or
             fildes.

                              Value of name     |   See Note
                           _____________________|___________
                           _PC_LINK_MAX         |      1
                           _____________________|___________
                           _PC_MAX_CANNON       |      2
                           _____________________|___________
                           _PC_MAX_INPUT        |      2
                           _____________________|___________
                           _PC_NAME_MAX         |     3,4
                           _____________________|___________
                           _PC_PATH_MAX         |     4,5
                           _____________________|___________
                           _PC_PIPE_BUF         |      6
                           _____________________|___________
                           _PC_CHOWN_RESTRICTED |      7




                           Copyright 1994 Novell, Inc.               Page 1













      fpathconf(2)                                            fpathconf(2)


                          _____________________|___________
                          _PC_NO_TRUNC         |     3,4
                          _____________________|___________
                          _PC_VDISABLE         |      2
                          _____________________|___________

            Notes:

            1     If path or fildes refers to a directory, the value
                  returned applies to the directory itself.

            2     The behavior is undefined if path or fildes does not
                  refer to a terminal file.

            3     If path or fildes refers to a directory, the value
                  returned applies to the filenames within the directory.

            4     The behavior is undefined if path or fildes does not
                  refer to a directory.

            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 current directory.

            6     If path or fildes refers to a pipe or FIFO, the value
                  returned applies to the FIFO itself.  If path or fildes
                  refers to a directory, the value returned applies to any
                  FIFOs that exist or can be created within the directory.
                  If path or fildes refer to any other type of file, the
                  behavior is undefined.

            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.

            If fpathconf or pathconf are invoked with a symbolic constant
            that corresponds to a configurable system limit or option
            without a fixed upper bound, a value of -1 is returned and the
            value of errno is not changed.

         Errors
            In the following conditions, fpathconf fails and sets errno
            to:





                          Copyright 1994 Novell, Inc.               Page 2













       fpathconf(2)                                            fpathconf(2)


            EACCES Read permission is denied on the named file.

            EBADF  fildes is not a valid file descriptor.

             In the following conditions, pathconf fails and sets errno to:

            EACCES Search permission is denied for a component of the path
                    prefix.

            ELOOP  Too many symbolic links are encountered while
                    translating path.

            EMULTIHOP
                    Components of path require hopping to multiple remote
                    machines and file system type does not allow it.

            ENAMETOOLONG
                    The length of a pathname exceeds {PATH_MAX}, or
                    pathname component is longer than {NAME_MAX} while
                    (_POSIX_NO_TRUNC) is in effect.

            ENOENT path is needed for the command specified and the named
                    file does not exist or if the path argument points to
                    an empty string.

            ENOLINK
                    path points to a remote machine and the link to that
                    machine is no longer active.

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

             In the following conditions, both fpathconf and pathconf fail
             and set errno to:

            EINVAL name is invalid.

       REFERENCES
             limits(4), sysconf(3C), unistd(4)









                           Copyright 1994 Novell, Inc.               Page 3








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026