aboutsummaryrefslogtreecommitdiff
path: root/contrib/tcsh/glob.3
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tcsh/glob.3')
-rw-r--r--contrib/tcsh/glob.3326
1 files changed, 0 insertions, 326 deletions
diff --git a/contrib/tcsh/glob.3 b/contrib/tcsh/glob.3
deleted file mode 100644
index 2fc84e06bd6a..000000000000
--- a/contrib/tcsh/glob.3
+++ /dev/null
@@ -1,326 +0,0 @@
-.\" Copyright (c) 1989 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" Guido van Rossum.
-.\"
-.\" Redistribution and use in source and binary forms are permitted provided
-.\" that: (1) source distributions retain this entire copyright notice and
-.\" comment, and (2) distributions including binaries display the following
-.\" acknowledgement: ``This product includes software developed by the
-.\" University of California, Berkeley and its contributors'' in the
-.\" documentation or other materials provided with the distribution and in
-.\" all advertising materials mentioning features or use of this software.
-.\" 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-.\"
-.\" @(#)glob.3 5.3 (Berkeley) 3/19/91
-.\"
-.TH GLOB 3 "March 19, 1991"
-.UC 7
-.SH NAME
-glob, globfree \- generate pathnames matching a pattern
-.SH SYNOPSIS
-.nf
-#include <glob.h>
-
-glob(const char *pattern, int flags,
- const int (*errfunc)(char *, int), glob_t *pglob);
-
-void globfree(glob_t *pglob);
-.fi
-.SH DESCRIPTION
-.I Glob
-is a pathname generator that implements the rules for file name pattern
-matching used by the shell.
-.PP
-The include file
-.I glob.h
-defines the structure type
-.IR glob_t ,
-which contains at least the following fields:
-.sp
-.RS
-.nf
-.ta .5i +\w'char **gl_pathv;\0\0\0'u
-typedef struct {
- int gl_pathc; /* count of total paths so far */
- int gl_matchc; /* count of paths matching pattern */
- int gl_offs; /* reserved at beginning of gl_pathv */
- int gl_flags; /* returned flags */
- char **gl_pathv; /* list of paths matching pattern */
-} glob_t;
-.fi
-.RE
-.PP
-The argument
-.I pattern
-is a pointer to a pathname pattern to be expanded.
-.I Glob
-matches all accessible pathnames against the pattern and creates
-a list of the pathnames that match.
-In order to have access to a pathname,
-.I glob
-requires search permission on every component of a path except the last
-and read permission on each directory of any filename component of
-.I pattern
-that contains any of the special characters ``*'', ``?'' or ``[''.
-.PP
-.I Glob
-stores the number of matched pathnames into the
-.I gl_pathc
-field, and a pointer to a list of pointers to pathnames into the
-.I gl_pathv
-field.
-The first pointer after the last pathname is NULL.
-If the pattern does not match any pathnames, the returned number of
-matched paths is set to zero.
-.PP
-It is the caller's responsibility to create the structure pointed to by
-.IR pglob .
-The
-.I glob
-function allocates other space as needed, including the memory pointed
-to by
-.IR gl_pathv .
-.PP
-The argument
-.I flags
-is used to modify the behavior of
-.IR glob .
-The value of
-.I flags
-is the bitwise inclusive OR of any of the following
-values defined in
-.IR glob.h :
-.TP
-GLOB_APPEND
-Append pathnames generated to the ones from a previous call (or calls)
-to
-.IR glob .
-The value of
-.I gl_pathc
-will be the total matches found by this call and the previous call(s).
-The pathnames are appended to, not merged with the pathnames returned by
-the previous call(s).
-Between calls, the caller must not change the setting of the
-GLOB_DOOFFS flag, nor change the value of
-.I gl_offs
-when
-GLOB_DOOFFS is set, nor (obviously) call
-.I globfree
-for
-.I pglob.
-.TP
-GLOB_DOOFFS
-Make use of the
-.I gl_offs
-field.
-If this flag is set,
-.I gl_offs
-is used to specify how many NULL pointers to prepend to the beginning
-of the
-.I gl_pathv
-field.
-In other words,
-.I gl_pathv
-will point to
-.I gl_offs
-NULL pointers,
-followed by
-.I gl_pathc
-pathname pointers, followed by a NULL pointer.
-.TP
-GLOB_ERR
-Causes
-.I glob
-to return when it encounters a directory that it cannot open or read.
-Ordinarily,
-.I glob
-continues to find matches.
-.TP
-GLOB_MARK
-Each pathname that is a directory that matches
-.I pattern
-has a slash
-appended.
-.TP
-GLOB_NOSORT
-By default, the pathnames are sorted in ascending ASCII order;
-this flag prevents that sorting (speeding up
-.IR glob ).
-.TP
-GLOB_NOCHECK
-If
-.I pattern
-does not match any pathname, then
-.I glob
-returns a list
-consisting of only
-.IR pattern ,
-with the number of total pathnames is set to 1, and the number of matched
-pathnames set to 0.
-If
-.I GLOB_QUOTE
-is set, its effect is present in the pattern returned.
-.TP
-GLOB_QUOTE
-Use the backslash (``\e'') character for quoting: every occurrence of
-a backslash followed by a character in the pattern is replaced by that
-character, avoiding any special interpretation of the character.
-.TP
-GLOB_NOMAGIC
-Is the same as GLOB_NOCHECK but it only appends the
-.IR pattern
-if it does not contain any of the special characters ``*'', ``?'' or ``[''.
-GLOB_NOMAGIC is used to simplify implementing the globbing behavior in
-.IR csh(1).
-.PP
-If, during the search, a directory is encountered that cannot be opened
-or read and
-.I errfunc
-is non-NULL,
-.I glob
-calls (*\fIerrfunc\fP)(\fIpath\fP, \fIerrno\fP).
-This may be unintuitive: a pattern like ``*/Makefile'' will try to
-.IR stat (2)
-``foo/Makefile'' even if ``foo'' is not a directory, resulting in a
-call to
-.IR errfunc .
-The error routine can suppress this action by testing for ENOENT and
-ENOTDIR; however, the GLOB_ERR flag will still cause an immediate
-return when this happens.
-.PP
-If
-.I errfunc
-returns non-zero,
-.I glob
-stops the scan and returns
-.I GLOB_ABEND
-after setting
-.I gl_pathc
-and
-.I gl_pathv
-to reflect any paths already matched.
-This also happens if an error is encountered and
-.I GLOB_ERR
-is set in
-.IR flags ,
-regardless of the return value of
-.IR errfunc ,
-if called.
-If
-.I GLOB_ERR
-is not set and either
-.I errfunc
-is NULL or
-.I errfunc
-returns zero, the error is ignored.
-.PP
-The
-.I globfree
-function frees any space associated with
-.I pglob
-from a previous call(s) to
-.IR glob .
-.SH RETURNS
-On successful completion,
-.I glob
-returns zero.
-In addition the fields of
-.I pglob
-contain the values described below:
-.TP
-.I gl_pathc
-contains the total number of matched pathnames so far.
-This includes other matches from previous invocations of
-.I glob
-if
-.I GLOB_APPEND
-was specified.
-.TP
-.I gl_matchc
-contains the number of matched pathnames in the current invocation of
-.I glob.
-.TP
-.I gl_flags
-contains a copy of the
-.I flags
-parameter with the bit GLOB_MAGCHAR set if
-.I pattern
-contained any of the special characters ``*'', ``?'' or ``['', cleared
-if not.
-.TP
-.I gl_pathv
-contains a pointer to a NULL-terminated list of matched pathnames.
-However, if
-.I gl_pathc
-is zero, the contents of
-.I gl_pathv
-are undefined.
-.PP
-If
-.I glob
-terminates due to an error, it sets errno and returns one of the
-following non-zero constants, which are defined in the include
-file <glob.h>:
-.TP
-GLOB_NOSPACE
-An attempt to allocate memory failed.
-.TP
-GLOB_ABEND
-The scan was stopped because an error was encountered and either
-GLOB_ERR was set or (*\fIerrfunc\fR)() returned non-zero.
-.PP
-The arguments
-.I pglob->gl_pathc
-and
-.I pglob->gl_pathv
-are still set as specified above.
-.SH STANDARDS
-The
-.I glob
-function is expected to be POSIX 1003.2 compatible with the exception
-that the flag
-.I GLOB_QUOTE
-and the fields
-.I gl_matchc
-and
-.I gl_flags
-should not be used by applications striving for strict POSIX conformance.
-.SH EXAMPLE
-A rough equivalent of ``ls -l *.c *.h'' can be obtained with the
-following code:
-.sp
-.nf
-.RS
-glob_t g;
-
-g.gl_offs = 2;
-glob("*.c", GLOB_DOOFFS, NULL, &g);
-glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g);
-g.gl_pathv[0] = "ls";
-g.gl_pathv[1] = "-l";
-execvp("ls", g.gl_pathv);
-.RE
-.fi
-.SH SEE ALSO
-sh(1), fnmatch(3), wordexp(3), regexp(3)
-.SH BUGS
-Patterns longer than MAXPATHLEN may cause unchecked errors.
-.PP
-.I Glob
-may fail and set errno for any of the errors specified for the
-library routines
-.I stat (2),
-.I closedir (3),
-.I opendir (3),
-.I readdir (3),
-.I malloc (3),
-and
-.I free (3).
-