diff options
author | sandra <sandra> | 1991-08-09 17:10:27 +0000 |
---|---|---|
committer | sandra <sandra> | 1991-08-09 17:10:27 +0000 |
commit | f9258abcfec9745f3ac7b5b791c052e129ff8636 (patch) | |
tree | 0f2aa66a1d3c361c59165e5f6d14fa87d227224e /manual/filesys.texi | |
parent | 24549aa12a1a99e956cfc48f5f9b8701d17b1bc3 (diff) |
Move configuration stuff to new chapter.
Diffstat (limited to 'manual/filesys.texi')
-rw-r--r-- | manual/filesys.texi | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/manual/filesys.texi b/manual/filesys.texi index 7d41af187c..c7cf1eb30c 100644 --- a/manual/filesys.texi +++ b/manual/filesys.texi @@ -22,8 +22,6 @@ setting file attributes, such as access modes and modification times. the directories themselves. * File Attributes:: Attributes of individual files. * Making Special Files:: How to create special files. -* File System Parameters:: Constants and functions that describe - various file system limits. @end menu @node Working Directory @@ -1578,327 +1576,3 @@ this file, you must remove the old file explicitly first. @end table @end deftypefun - -@node File System Parameters -@section File System Parameters - -The POSIX.1 standard specifies a number of symbolic constants that -represent the values for certain limits related to the file system, such -as the maximum length of a file name component. However, some of these -limits might not really be constants in a given implementation. For -example, in a nonhomogeneous networked environment, files mounted from -different hosts might be subject to different sets of limitations. - -In order to deal with the problem of variable limits, for most of these -parameters there is one symbolic constant that defines the most -restrictive limit permissible by the POSIX standard. If the actual -limit placed by a particular implementation for that parameter is a -constant, then it defines another constant to represent it. Otherwise, -the actual limit that applies to a particular file can be requested at -runtime by calling @code{pathconf} or @code{fpathconf}. - -Except for @code{FILENAME_MAX}, which is defined in @file{<stdio.h>}, -definitions for the following symbolic constants appear in the header -file @file{<limits.h>}. All of these macros expand into integer -constant values. - -@strong{Incomplete:} What does the GNU system do? - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_LINK_MAX -This macro represents the most restrictive limit permitted by POSIX -for the maximum value of a file's link count. The value of this -constant is @code{8}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro LINK_MAX -This is the actual implementation limit corresponding to -@code{_POSIX_LINK_MAX}, but is defined only if the limit for the -particular implementation is constant for all files. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_MAX_CANON -This macro represents the most restrictive limit permitted by POSIX -for the maximum number of bytes in a canonical input line from a -terminal device. The value of this constant is @code{255}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro MAX_CANON -This is the actual implementation limit corresponding to -@code{_POSIX_MAX_CANON}, but is defined only if the limit for the -particular implementation is constant for all files. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_MAX_INPUT -This macro represents the most restrictive limit permitted by POSIX for -the maximum number of bytes in a terminal device input queue (or -typeahead buffer). @xref{Input Modes}. The value of this constant is -@code{255}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro MAX_INPUT -This is the actual implementation limit corresponding to -@code{_POSIX_MAX_INPUT}, but is defined only if the limit for the -particular implementation is a constant for all files. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_NAME_MAX -This macro represents the most restrictive limit permitted by POSIX for -the maximum number of bytes in a file name component. The value of this -constant is @code{14}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro NAME_MAX -This is the actual implementation limit corresponding to -@code{_POSIX_NAME_MAX}, but is defined only if the limit for the -particular implementation is a constant for all files. -@end defvr - -@comment dirent.h -@comment BSD, GNU -@defvr Macro MAXNAMLEN -This is the BSD name for @code{NAME_MAX}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_PATH_MAX -This macro represents the most restrictive limit permitted by POSIX for -the maximum number of bytes in a file name. The value of this constant -is @code{255}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro PATH_MAX -This is the actual implementation limit corresponding to -@code{_POSIX_PATH_MAX}, but is defined only if the limit for the -particular implementation is a constant for all files. -@end defvr - -@comment stdio.h -@comment ANSI -@defvr {Macro} FILENAME_MAX -The value of this macro is an integer constant expression that -represents the maximum length of a file name string. - -Unlike @code{PATH_MAX}, this macro is defined even if there is no actual -limit imposed. In such a case, its value is typically a very large -number. Don't try to use @code{FILENAME_MAX} as the size of an -array in which to store a file name! Use dynamic allocation -(@pxref{Memory Allocation}) instead. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _POSIX_PIPE_BUF -This macro represents the most restrictive limit permitted by POSIX for -the maximum number of bytes that can be written atomically to a pipe. -If multiple processes are writing to the same pipe simultaneously, -output from different processes might appear in interleaved chunks of -this size. The value of this constant is @code{512}. -@end defvr - -@comment limits.h -@comment POSIX.1 -@defvr Macro _PIPE_BUF -This is the actual implementation limit corresponding to -@code{_POSIX_PIPE_BUF}, but is defined only if the limit for the -particular implementation is a constant for all pipes and FIFO files. -@end defvr - - -There are also these macros which may be defined in @file{<unistd.h>} to -describe additional characteristics of the file system. If any of these -macros are not defined at all, then the corresponding parameter depends -on the file to which it is applied, and you must use the @code{pathconf} -function at runtime to determine the parameter value. If the value is -defined to be @code{-1}, then the option does not apply to any file. -Otherwise, the option applies to all files. - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _POSIX_CHOWN_RESTRICTED -If this option is enabled, the @code{chown} function is restricted so -that the only changes permitted to nonprivileged processes is to change -the group owner of a file to either be the effective group ID of the -process, or one of its supplementary group IDs. @xref{File Ownership}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _POSIX_NO_TRUNC -If this option is enabled, file name components longer than @code{NAME_MAX} -generate an @code{ENAMETOOLONG} error. Otherwise, file name components -that are too long are silently truncated. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _POSIX_VDISABLE -This option is only meaningful for files that are terminal devices. -If it is enabled, then handling for special control characters can -be disabled individually. @xref{Special Characters}. -@end defvr - -For each of the above parameters, if the value is not a constant -for all files, you can request the value that applies to a particular -file using the @code{pathconf} or @code{fpathconf}. These functions -and the associated @var{parameter} constants are declared in the -header file @file{<unistd.h>}. - -@comment unistd.h -@comment POSIX.1 -@deftypefun long pathconf (const char *@var{filename}, int @var{parameter}) -This function is used to inquire about the limits that apply to -the file named @var{filename}. - -The @var{parameter} argument can be one of the following: - -@table @code -@item _PC_LINK_MAX -Return the value corresponding to @code{LINK_MAX}. - -@item _PC_MAX_CANON -Return the value corresponding to @code{MAX_CANON}. The file must be a -terminal device. - -@item _PC_MAX_INPUT -Return the value corresponding to @code{MAX_INPUT}. The file must be a -terminal device. - -@item _PC_NAME_MAX -Return the value corresponding to @code{NAME_MAX}. The file must be a -directory, and the value applies to all files in the directory. - -@item _PC_PATH_MAX -Return the value corresponding to @code{PATH_MAX}. The file must be a -directory, and the value returned reflects the maximum length of a -relative file name with that file name as the working directory. - -@item _PC_PIPE_BUF -Return the value corresponding to @code{PIPE_BUF}. If the file is -a pipe or FIFO special file, the value refers to the file itself; otherwise, -it must be a directory, and the value refers to any FIFO files in that -directory. - -@item _PC_CHOWN_RESTRICTED -Return the value corresponding to @code{_POSIX_CHOWN_RESTRICTED}. -If the file is a directory, the value is for any files entered in that -directory, not the directory itself. - -@item _PC_NO_TRUNC -Return the value corresponding to @code{_POSIX_NO_TRUNC}. The file -must be a directory and the value applies to all files in the directory. - -@item _PC_VDISABLE -Return the value corresponding to @code{_POSIX_VDISABLE}. The file -must be a terminal device. -@end table - -The normal return value from @code{pathconf} is the value you requested. -A value of @code{-1} is returned both if the implementation does not -impose a limit, and in case of an error. In the former case, @code{errno} -is not set, while in the latter case, @code{errno} is set to indicate -the cause of the problem. Besides the usual file name syntax errors -(@pxref{File Name Errors}), the following error conditions are defined -for this function: - -@table @code -@item EINVAL -The value of @var{parameter} is invalid, or the implementation doesn't -support the @var{parameter} for the specific file. -@end table -@end deftypefun - -@comment unistd.h -@comment POSIX.1 -@deftypefun long fpathconf (int @var{filedes}, int @var{parameter}) -This is just like @code{pathconf} except that an open file descriptor -is used to specify the file for which information is requested, instead -of a file name. - -The following @code{errno} error conditions are defined for this function: - -@table @code -@item EBADF -The @var{filedes} argument is not a valid file descriptor. - -@item EINVAL -The value of @var{parameter} is invalid, or the implementation doesn't -support the @var{parameter} for the specific file. -@end table -@end deftypefun - -These symbolic constants are defined for use as the @var{parameter} -argument to @code{pathconf} and @code{fpathconf}. The values are -all integer constants. - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_LINK_MAX -Inquire about the parameter corresponding to @code{LINK_MAX}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_MAX_CANON -Inquire about the parameter corresponding to @code{MAX_CANON}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_MAX_INPUT -Inquire about the parameter corresponding to @code{MAX_INPUT}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_NAME_MAX -Inquire about the parameter corresponding to @code{NAME_MAX}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_PATH_MAX -Inquire about the parameter corresponding to @code{PATH_MAX}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_PIPE_BUF -Inquire about the parameter corresponding to @code{PIPE_BUF}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_CHOWN_RESTRICTED -Inquire about the parameter corresponding to @code{_POSIX_CHOWN_RESTRICTED}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_NO_TRUNC -Inquire about the parameter corresponding to @code{_POSIX_NO_TRUNC}. -@end defvr - -@comment unistd.h -@comment POSIX.1 -@defvr Macro _PC_VDISABLE -Inquire about the parameter corresponding to @code{_POSIX_VDISABLE}. -@end defvr |