Changeset 861


Ignore:
Timestamp:
Nov 22, 2003, 11:23:54 PM (21 years ago)
Author:
bird
Message:

FreeBSD 5.1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/emx/include/glob.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r860 r861  
    1 /* glob.h (emx+gcc) */
     1/*
     2 * Copyright (c) 1989, 1993
     3 *      The Regents of the University of California.  All rights reserved.
     4 *
     5 * This code is derived from software contributed to Berkeley by
     6 * Guido van Rossum.
     7 *
     8 * Redistribution and use in source and binary forms, with or without
     9 * modification, are permitted provided that the following conditions
     10 * are met:
     11 * 1. Redistributions of source code must retain the above copyright
     12 *    notice, this list of conditions and the following disclaimer.
     13 * 2. Redistributions in binary form must reproduce the above copyright
     14 *    notice, this list of conditions and the following disclaimer in the
     15 *    documentation and/or other materials provided with the distribution.
     16 * 3. All advertising materials mentioning features or use of this software
     17 *    must display the following acknowledgement:
     18 *      This product includes software developed by the University of
     19 *      California, Berkeley and its contributors.
     20 * 4. Neither the name of the University nor the names of its contributors
     21 *    may be used to endorse or promote products derived from this software
     22 *    without specific prior written permission.
     23 *
     24 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     27 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     34 * SUCH DAMAGE.
     35 *
     36 *      @(#)glob.h      8.1 (Berkeley) 6/2/93
     37 * $FreeBSD: src/include/glob.h,v 1.7 2002/07/17 04:58:09 mikeh Exp $
     38 */
    239
    3 #ifndef _GLOB_H
    4 #define _GLOB_H
     40/** @file
     41 * FreeBSD 5.1
     42 */
    543
    6 #if defined (__cplusplus)
    7 extern "C" {
    8 #endif
     44#ifndef _GLOB_H_
     45#define _GLOB_H_
    946
    10 #if !defined (_SIZE_T)
    11 #define _SIZE_T
    12 typedef unsigned long size_t;
    13 #endif
     47#include <sys/cdefs.h>
    1448
    15 #define GLOB_APPEND     0x0001
    16 #define GLOB_DOOFFS     0x0002
    17 #define GLOB_ERR        0x0004
    18 #define GLOB_MARK       0x0008
    19 #define GLOB_NOCHECK    0x0010
    20 #define GLOB_NOESCAPE   0x0020
    21 #define GLOB_NOSORT     0x0040
    22 #define GLOB_PERIOD     0x0080  /* POSIX.2? */
     49struct stat;
     50typedef struct {
     51        int gl_pathc;           /* Count of total paths so far. */
     52        int gl_matchc;          /* Count of paths matching pattern. */
     53        int gl_offs;            /* Reserved at beginning of gl_pathv. */
     54        int gl_flags;           /* Copy of flags parameter to glob. */
     55        char **gl_pathv;        /* List of paths matching pattern. */
     56                                /* Copy of errfunc parameter to glob. */
     57        int (*gl_errfunc)(const char *, int);
    2358
    24 #define GLOB_ABEND      1
    25 #define GLOB_NOMATCH    2
    26 #define GLOB_NOSPACE    3
    27 
    28 typedef struct
    29 {
    30   /* Required by POSIX.2 */
    31   size_t gl_pathc;
    32   char **gl_pathv;
    33   size_t gl_offs;
    34 
    35   /* BSD */
    36   int gl_flags;
    37 
    38   /* Internal */
    39   size_t gl_alloc;
    40   int gl_reserved[3];
     59        /*
     60         * Alternate filesystem access methods for glob; replacement
     61         * versions of closedir(3), readdir(3), opendir(3), stat(2)
     62         * and lstat(2).
     63         */
     64        void (*gl_closedir)(void *);
     65        struct dirent *(*gl_readdir)(void *);
     66        void *(*gl_opendir)(const char *);
     67        int (*gl_lstat)(const char *, struct stat *);
     68        int (*gl_stat)(const char *, struct stat *);
    4169} glob_t;
    4270
    43 int glob (__const__ char *, int, int (*)(__const__ char *, int), glob_t *);
    44 void globfree (glob_t *);
     71#if __POSIX_VISIBLE >= 199209
     72/* Believed to have been introduced in 1003.2-1992 */
     73#define GLOB_APPEND     0x0001  /* Append to output from previous call. */
     74#define GLOB_DOOFFS     0x0002  /* Use gl_offs. */
     75#define GLOB_ERR        0x0004  /* Return on error. */
     76#define GLOB_MARK       0x0008  /* Append / to matching directories. */
     77#define GLOB_NOCHECK    0x0010  /* Return pattern itself if nothing matches. */
     78#define GLOB_NOSORT     0x0020  /* Don't sort. */
     79#define GLOB_NOESCAPE   0x2000  /* Disable backslash escaping. */
    4580
     81/* Error values returned by glob(3) */
     82#define GLOB_NOSPACE    (-1)    /* Malloc call failed. */
     83#define GLOB_ABORTED    (-2)    /* Unignored error. */
     84#define GLOB_NOMATCH    (-3)    /* No match and GLOB_NOCHECK was not set. */
     85#define GLOB_NOSYS      (-4)    /* Obsolete: source comptability only. */
     86#endif /* __POSIX_VISIBLE >= 199209 */
    4687
    47 #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE >= 2
    48 #define GLOB_MAGCHAR    0x0100
    49 #endif
     88#if __BSD_VISIBLE
     89#define GLOB_ALTDIRFUNC 0x0040  /* Use alternately specified directory funcs. */
     90#define GLOB_BRACE      0x0080  /* Expand braces ala csh. */
     91#define GLOB_MAGCHAR    0x0100  /* Pattern had globbing characters. */
     92#define GLOB_NOMAGIC    0x0200  /* GLOB_NOCHECK without magic chars (csh). */
     93#define GLOB_QUOTE      0x0400  /* Quote special chars with \. */
     94#define GLOB_TILDE      0x0800  /* Expand tilde names from the passwd file. */
     95#define GLOB_LIMIT      0x1000  /* limit number of returned paths */
    5096
     97/* source compatibility, these are the old names */
     98#define GLOB_MAXPATH    GLOB_LIMIT
     99#define GLOB_ABEND      GLOB_ABORTED
     100#endif /* __BSD_VISIBLE */
    51101
    52 int _glob (__const__ char *, int, int (*)(__const__ char *, int), glob_t *);
    53 void _globfree (glob_t *);
     102__BEGIN_DECLS
     103int     glob(const char *, int, int (*)(const char *, int), glob_t *);
     104void    globfree(glob_t *);
     105__END_DECLS
    54106
    55 
    56 #if defined (__cplusplus)
    57 }
    58 #endif
    59 
    60 #endif /* not _GLOB_H */
     107#endif /* !_GLOB_H_ */
Note: See TracChangeset for help on using the changeset viewer.