1 /* $OpenBSD: glob.h,v 1.10 2005/12/13 00:35:22 millert Exp $ */ 2 /* $NetBSD: glob.h,v 1.5 1994/10/26 00:55:56 cgd Exp $ */ 3 4 /** 5 * \file 6 * Copyright (c) 1989, 1993 7 * The Regents of the University of California. All rights reserved. 8 * 9 * This code is derived from software contributed to Berkeley by 10 * Guido van Rossum. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions 14 * are met: 15 * 1. Redistributions of source code must retain the above copyright 16 * notice, this list of conditions and the following disclaimer. 17 * 2. Redistributions in binary form must reproduce the above copyright 18 * notice, this list of conditions and the following disclaimer in the 19 * documentation and/or other materials provided with the distribution. 20 * 3. 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 */ 38 39 #ifndef __MONO_METADATA_W32FILE_UNIX_GLOB_H__ 40 #define __MONO_METADATA_W32FILE_UNIX_GLOB_H__ 41 42 #include <glib.h> 43 44 struct stat; 45 typedef struct { 46 int gl_pathc; /* Count of total paths so far. */ 47 int gl_offs; /* Reserved at beginning of gl_pathv. */ 48 int gl_flags; /* Copy of flags parameter to glob. */ 49 char **gl_pathv; /* List of paths matching pattern. */ 50 } mono_w32file_unix_glob_t; 51 52 #define W32FILE_UNIX_GLOB_APPEND 0x0001 /* Append to output from previous call. */ 53 #define W32FILE_UNIX_GLOB_UNIQUE 0x0040 /* When appending only add items that aren't already in the list */ 54 #define W32FILE_UNIX_GLOB_NOSPACE (-1) /* Malloc call failed. */ 55 #define W32FILE_UNIX_GLOB_ABORTED (-2) /* Unignored error. */ 56 #define W32FILE_UNIX_GLOB_NOMATCH (-3) /* No match and W32FILE_UNIX_GLOB_NOCHECK not set. */ 57 #define W32FILE_UNIX_GLOB_NOSYS (-4) /* Function not supported. */ 58 59 #define W32FILE_UNIX_GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */ 60 #define W32FILE_UNIX_GLOB_LIMIT 0x2000 /* Limit pattern match output to ARG_MAX */ 61 #define W32FILE_UNIX_GLOB_IGNORECASE 0x4000 /* Ignore case when matching */ 62 #define W32FILE_UNIX_GLOB_ABEND W32FILE_UNIX_GLOB_ABORTED /* backward compatibility */ 63 64 G_BEGIN_DECLS 65 66 int 67 mono_w32file_unix_glob (GDir *dir, const char *, int, mono_w32file_unix_glob_t *); 68 69 void 70 mono_w32file_unix_globfree (mono_w32file_unix_glob_t *); 71 72 G_END_DECLS 73 74 #endif /* !__MONO_METADATA_W32FILE_UNIX_GLOB_H__ */ 75