source: trunk/third/tcsh/glob.h @ 22036

Revision 22036, 4.0 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r22035, which included commits to RCS files with non-trunk default branches.
Line 
1/*      $NetBSD: glob.h,v 1.13 2001/03/16 21:02:42 christos Exp $       */
2
3/*
4 * Copyright (c) 1989, 1993
5 *      The Regents of the University of California.  All rights reserved.
6 *
7 * This code is derived from software contributed to Berkeley by
8 * Guido van Rossum.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 *    notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 *    notice, this list of conditions and the following disclaimer in the
17 *    documentation and/or other materials provided with the distribution.
18 * 3. Neither the name of the University nor the names of its contributors
19 *    may be used to endorse or promote products derived from this software
20 *    without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 *      @(#)glob.h      8.1 (Berkeley) 6/2/93
35 */
36
37#ifndef _GLOB_H_
38#define _GLOB_H_
39
40typedef struct {
41        int gl_pathc;           /* Count of total paths so far. */
42        int gl_matchc;          /* Count of paths matching pattern. */
43        int gl_offs;            /* Reserved at beginning of gl_pathv. */
44        int gl_flags;           /* Copy of flags parameter to glob. */
45        char **gl_pathv;        /* List of paths matching pattern. */
46                                /* Copy of errfunc parameter to glob. */
47        int (*gl_errfunc) __P((const char *, int));
48
49        /*
50         * Alternate filesystem access methods for glob; replacement
51         * versions of closedir(3), readdir(3), opendir(3), stat(2)
52         * and lstat(2).
53         */
54        void (*gl_closedir) __P((void *));
55        struct dirent *(*gl_readdir) __P((void *));     
56        void *(*gl_opendir) __P((const char *));
57        int (*gl_lstat) __P((const char *, struct stat *));
58        int (*gl_stat) __P((const char *, struct stat *));
59} glob_t;
60
61#define GLOB_APPEND     0x0001  /* Append to output from previous call. */
62#define GLOB_DOOFFS     0x0002  /* Use gl_offs. */
63#define GLOB_ERR        0x0004  /* Return on error. */
64#define GLOB_MARK       0x0008  /* Append / to matching directories. */
65#define GLOB_NOCHECK    0x0010  /* Return pattern itself if nothing matches. */
66#define GLOB_NOSORT     0x0020  /* Don't sort. */
67#define GLOB_NOESCAPE   0x1000  /* Disable backslash escaping. */
68
69#define GLOB_NOSPACE    (-1)    /* Malloc call failed. */
70#define GLOB_ABORTED    (-2)    /* Unignored error. */
71#define GLOB_NOMATCH    (-3)    /* No match, and GLOB_NOCHECK was not set. */
72#define GLOB_NOSYS      (-4)    /* Implementation does not support function. */
73
74/* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */
75#define GLOB_ALTDIRFUNC 0x0040  /* Use alternately specified directory funcs. */
76#define GLOB_BRACE      0x0080  /* Expand braces ala csh. */
77#define GLOB_MAGCHAR    0x0100  /* Pattern had globbing characters. */
78#define GLOB_NOMAGIC    0x0200  /* GLOB_NOCHECK without magic chars (csh). */
79#define GLOB_LIMIT      0x0400  /* Limit memory used by matches to ARG_MAX */
80#define GLOB_TILDE      0x0800  /* Expand tilde names from the passwd file. */
81#define GLOB_ALTNOT     0x1000  /* use alternate glob character [^ not !] */
82#define GLOB_QUOTE      0x2000  /* XXX: source compatibility */
83
84#define GLOB_ABEND      GLOB_ABORTED    /* source compatibility */
85/* #endif */
86
87#include "tc.nls.h"
88
89int     glob __P((const char *, int, int (*)(const char *, int), glob_t *));
90void    globfree __P((glob_t *));
91int     globcharcoll __P((NLSChar, NLSChar, int));
92
93#endif /* !_GLOB_H_ */
Note: See TracBrowser for help on using the repository browser.