diff options
Diffstat (limited to '')
-rw-r--r-- | upstream/opensuse-tumbleweed/man3/readdir.3am | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/upstream/opensuse-tumbleweed/man3/readdir.3am b/upstream/opensuse-tumbleweed/man3/readdir.3am new file mode 100644 index 00000000..a5635471 --- /dev/null +++ b/upstream/opensuse-tumbleweed/man3/readdir.3am @@ -0,0 +1,118 @@ +.TH READDIR 3am "June 02 2023" "Free Software Foundation" "GNU Awk Extension Modules" +.SH NAME +readdir \- directory input parser for gawk +.SH SYNOPSIS +.ft CW +@load "readdir" +.sp +BEGIN { PROCINFO["readdir_override"] = \fIany_value\fP } # optional +.ft R +.SH DESCRIPTION +The +.I readdir +extension +adds an input parser for directories. +.PP +When this extension is in use, instead of skipping directories named +on the command line (or with +.BR getline ), +they are read, with each entry returned as a record. +.PP +The record consists of three fields +separated by forward slash characters. +The first two are the inode number and the +filename, and +the third field is a single letter indicating the type of the +file: +.B f +for file, +.B d +for directory, +.B b +for a block device, +.B c +for a character device, +.B p +for a FIFO, +.B l +for a symbolic link, or +.B s +for a socket. +.PP +On systems where the directory entry contains the file type, the third +field is filled in from that information. +On systems without the file type information, the extension falls back +to calling +.IR stat (2), +in order to provide the information. +Thus the third field should never be +.BR u " (unknown)." +.PP +Normally, when reading directories, you should set +.B FS +equal to \fB"/"\fP. However, you may instead chose to create +\fBPROCINFO["readdir_override"]\fP (with any value). If this element +exists when the directory is opened, then the extension automatically +sets the fields in each record for you. +.PP +By default, if a directory cannot be opened (due to permission problems, +for example), +.I gawk +will exit. +As with regular files, this situation can be handled using a +.B BEGINFILE +rule that checks +.B ERRNO +and prints an error or otherwise handles the problem. +.\" .SH BUGS +.SH EXAMPLE +.ft CW +.nf +@load "readdir" +\&... +BEGIN { FS = "/" } +{ print "file name is", $2 } +.fi +.ft R +.SH "SEE ALSO" +.IR "GAWK: Effective AWK Programming" , +.IR filefuncs (3am), +.IR fnmatch (3am), +.IR fork (3am), +.IR inplace (3am), +.IR ordchr (3am), +.IR readfile (3am), +.IR revoutput (3am), +.IR rwarray (3am), +.IR time (3am). +.PP +.IR opendir (3), +.IR readdir (3), +.IR stat (2). +.SH AUTHOR +Arnold Robbins, +.BR arnold@skeeve.com . +.SH COPYING PERMISSIONS +Copyright \(co 2012, 2013, 2018, 2019, 2023 +Free Software Foundation, Inc. +.PP +Permission is granted to make and distribute verbatim copies of +this manual page provided the copyright notice and this permission +notice are preserved on all copies. +.ig +Permission is granted to process this file through troff and print the +results, provided the printed document carries copying permission +notice identical to this one except for the removal of this paragraph +(this paragraph not being relevant to the printed manual page). +.. +.PP +Permission is granted to copy and distribute modified versions of this +manual page under the conditions for verbatim copying, provided that +the entire resulting derived work is distributed under the terms of a +permission notice identical to this one. +.PP +Permission is granted to copy and distribute translations of this +manual page into another language, under the above conditions for +modified versions, except that this permission notice may be stated in +a translation approved by the Foundation. +.\" vim: set filetype=nroff : |