diff options
Diffstat (limited to 'static/openbsd/man2/pathconf.2')
| -rw-r--r-- | static/openbsd/man2/pathconf.2 | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/static/openbsd/man2/pathconf.2 b/static/openbsd/man2/pathconf.2 new file mode 100644 index 00000000..8be0618a --- /dev/null +++ b/static/openbsd/man2/pathconf.2 @@ -0,0 +1,299 @@ +.\" $OpenBSD: pathconf.2,v 1.26 2024/05/18 05:20:22 guenther Exp $ +.\" $NetBSD: pathconf.2,v 1.2 1995/02/27 12:35:22 cgd Exp $ +.\" +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd $Mdocdate: May 18 2024 $ +.Dt PATHCONF 2 +.Os +.Sh NAME +.Nm pathconf , +.Nm pathconfat , +.Nm fpathconf +.Nd get configurable pathname variables +.Sh SYNOPSIS +.In unistd.h +.Ft long +.Fn pathconf "const char *path" "int name" +.Ft long +.Fn fpathconf "int fd" "int name" +.In fcntl.h +.Ft long +.Fn pathconfat "int fd" "const char *path" "int name" "int flag" +.Sh DESCRIPTION +The +.Fn pathconf , +.Fn pathconfat , +and +.Fn fpathconf +functions provide a method for applications to determine the current +value of a configurable system limit or option variable associated +with a pathname or file descriptor. +.Pp +For +.Fn pathconf , +the +.Fa path +argument is the name of a file or directory. +For +.Fn fpathconf , +the +.Fa fd +argument is an open file descriptor. +The +.Fa name +argument specifies the system variable to be queried. +Symbolic constants for each name value are found in the include file +.In unistd.h . +.Pp +The available values are as follows: +.Bl -tag -width "123456" +.It Dv _PC_LINK_MAX +The maximum file link count. +.It Dv _PC_MAX_CANON +The maximum number of bytes in a terminal canonical input line. +.It Dv _PC_MAX_INPUT +The maximum number of bytes for which space is available in +a terminal input queue. +.It Dv _PC_NAME_MAX +The maximum number of bytes in a file name. +.It Dv _PC_PATH_MAX +The maximum number of bytes in a pathname. +.It Dv _PC_PIPE_BUF +The maximum number of bytes which will be written atomically to a pipe. +.It Dv _PC_CHOWN_RESTRICTED +Returns 1 if appropriate privileges are required for the +.Xr chown 2 +system call, otherwise 0. +.St -p1003.1-2001 +requires appropriate privilege in all cases, but this behavior was +optional in prior editions of the standard. +.It Dv _PC_NO_TRUNC +Returns 1 if attempts to use pathname components longer than +.Brq Dv NAME_MAX +will result in an +.Bq Er ENAMETOOLONG +error; otherwise, such components will be truncated to +.Brq Dv NAME_MAX . +.St -p1003.1-2001 +requires the error in all cases, but this behavior was optional in prior +editions of the standard, and some non-POSIX-compliant file systems do not +support this behavior. +.It Dv _PC_VDISABLE +Returns the terminal character disabling value. +.It Dv _PC_2_SYMLINKS +Returns 1 if the filesystem supports the creation of symbolic links +within the specified directory; the meaning of +.Dv _PC_2_SYMLINKS +is unspecified for non-directory files. +.It Dv _PC_ALLOC_SIZE_MIN +Minimum number of bytes of storage allocated for any portion of a file. +.It Dv _PC_ASYNC_IO +Returns 1 if asynchronous I/O is supported, otherwise 0. +.It Dv _PC_FILESIZEBITS +Number of bits needed to represent the maximum file size. +.It Dv _PC_PRIO_IO +Returns 1 if prioritized I/O is supported, otherwise 0. +.It Dv _PC_REC_INCR_XFER_SIZE +Recommended increment for file transfer sizes between _PC_REC_MIN_XFER_SIZE +and _PC_REC_MAX_XFER_SIZE. +.It Dv _PC_REC_MAX_XFER_SIZE +Maximum recommended file transfer size. +.It Dv _PC_REC_MIN_XFER_SIZE +Minimum recommended file transfer size. +.It Dv _PC_REC_XFER_ALIGN +Recommended file transfer buffer alignment. +.It Dv _PC_SYMLINK_MAX +Maximum number of bytes in a symbolic link. +.It Dv _PC_SYNC_IO +Returns 1 if synchronized I/O is supported, otherwise 0. +.It Dv _PC_TIMESTAMP_RESOLUTION +The resolution in nanoseconds of file timestamps. +.El +.Pp +The +.Fn pathconfat +function is equivalent to +.Fn pathconf +except in the case where +.Fa path +specifies a relative path. +In this case the file to be changed is determined relative to the directory +associated with the file descriptor +.Fa fd +instead of the current working directory. +.Pp +If +.Fn pathconfat +is passed the special value +.Dv AT_FDCWD +(defined in +.In fcntl.h ) +in the +.Fa fd +parameter, the current working directory is used. +If +.Fa flag +is also zero, the behavior is identical to a call to +.Fn pathconf . +.Pp +The +.Fa flag +argument is the bitwise OR of zero or more of the following values: +.Pp +.Bl -tag -width AT_SYMLINK_NOFOLLOW -offset indent -compact +.It Dv AT_SYMLINK_NOFOLLOW +If +.Fa path +names a symbolic link, then the system variable for the symbolic +link is queried. +.El +.Sh RETURN VALUES +If the call to +.Fn pathconf , +.Fn pathconfat , +or +.Fn fpathconf +is not successful, \-1 is returned and +.Va errno +is set appropriately. +Otherwise, if the variable is associated with functionality that does +not have a limit in the system, \-1 is returned and +.Va errno +is not modified. +Otherwise, the current variable value is returned. +.Sh ERRORS +If any of the following conditions occur, the +.Fn pathconf , +.Fn pathconfat , +and +.Fn fpathconf +functions shall return \-1 and set +.Va errno +to the corresponding value. +.Bl -tag -width Er +.It Bq Er EINVAL +The value of the +.Fa name +argument is invalid. +.It Bq Er EINVAL +The implementation does not support an association of the variable +name with the associated file. +.It Bq Er EIO +An I/O error occurred while reading from the file system. +.El +.Pp +.Fn pathconf +and +.Fn pathconfat +will fail if: +.Bl -tag -width Er +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Dv NAME_MAX +characters (but see +.Dv _PC_NO_TRUNC +above), or an entire pathname (including the terminating NUL) +exceeded +.Dv PATH_MAX +bytes. +.It Bq Er ENOENT +The named file does not exist. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.El +.Pp +Additionally, the +.Fn pathconfat +function will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The value of the +.Fa flag +argument was neither zero nor +.Dv AT_SYMLINK_NOFOLLOW . +.It Bq Er EBADF +The +.Fa path +argument specifies a relative path and the +.Fa fd +argument is neither +.Dv AT_FDCWD +nor a valid file descriptor. +.It Bq Er ENOTDIR +The +.Fa path +argument specifies a relative path and the +.Fa fd +argument is a valid file descriptor but it does not reference a directory. +.It Bq Er EACCES +The +.Fa path +argument specifies a relative path but search permission is denied +for the directory which the +.Fa fd +file descriptor references. +.El +.Pp +.Fn fpathconf +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa fd +is not a valid open file descriptor. +.El +.Sh SEE ALSO +.Xr sysctl 2 , +.Xr sysconf 3 +.Sh STANDARDS +The +.Fn pathconf +and +.Fn fpathconf +functions conform to +.St -p1003.1-2008 . +.Sh HISTORY +The +.Fn pathconf +and +.Fn fpathconf +functions first appeared in +.Bx 4.4 . +The +.Fn pathconfat +function first appeared in +.Ox 7.6 . |
