summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-tumbleweed/man3/readdir.3am
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--upstream/opensuse-tumbleweed/man3/readdir.3am118
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 :