source: trunk/src/emx/include/regex.h@ 1940

Last change on this file since 1940 was 1697, checked in by bird, 21 years ago

imported FreeBSD 5.3 code and broke stuff.

  • Property cvs2svn:cvs-rev set to 1.3
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.2 KB
RevLine 
[1506]1/* regex.h,v 1.2 2004/09/14 22:27:35 bird Exp */
2/** @file
[1697]3 * FreeBSD 5.3
[1506]4 */
[998]5/*-
6 * Copyright (c) 1992 Henry Spencer.
7 * Copyright (c) 1992, 1993
8 * The Regents of the University of California. All rights reserved.
9 *
10 * This code is derived from software contributed to Berkeley by
11 * Henry Spencer of the University of Toronto.
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 * 1. Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 * 2. Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the distribution.
21 * 3. All advertising materials mentioning features or use of this software
22 * must display the following acknowledgement:
23 * This product includes software developed by the University of
24 * California, Berkeley and its contributors.
25 * 4. Neither the name of the University nor the names of its contributors
26 * may be used to endorse or promote products derived from this software
27 * without specific prior written permission.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
30 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
33 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
35 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
38 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
39 * SUCH DAMAGE.
40 *
41 * @(#)regex.h 8.2 (Berkeley) 1/3/94
[1697]42 * $FreeBSD: src/include/regex.h,v 1.11 2004/07/12 06:07:26 tjr Exp $
[998]43 */
44
45#ifndef _REGEX_H_
46#define _REGEX_H_
47
48#include <sys/cdefs.h>
49#include <sys/_types.h>
50
51/* types */
52typedef __off_t regoff_t;
53
[1697]54#if !defined(_SIZE_T_DECLARED) && !defined(_SIZE_T) /* bird: emx */
[998]55typedef __size_t size_t;
56#define _SIZE_T_DECLARED
[1697]57#define _SIZE_T /* bird: emx */
[998]58#endif
59
60typedef struct {
61 int re_magic;
62 size_t re_nsub; /* number of parenthesized subexpressions */
63 __const char *re_endp; /* end pointer for REG_PEND */
64 struct re_guts *re_g; /* none of your business :-) */
65} regex_t;
66
67typedef struct {
68 regoff_t rm_so; /* start of match */
69 regoff_t rm_eo; /* end of match */
70} regmatch_t;
71
72/* regcomp() flags */
73#define REG_BASIC 0000
74#define REG_EXTENDED 0001
75#define REG_ICASE 0002
76#define REG_NOSUB 0004
77#define REG_NEWLINE 0010
78#define REG_NOSPEC 0020
79#define REG_PEND 0040
80#define REG_DUMP 0200
81
82/* regerror() flags */
[1697]83#define REG_ENOSYS (-1)
[998]84#define REG_NOMATCH 1
85#define REG_BADPAT 2
86#define REG_ECOLLATE 3
87#define REG_ECTYPE 4
88#define REG_EESCAPE 5
89#define REG_ESUBREG 6
90#define REG_EBRACK 7
91#define REG_EPAREN 8
92#define REG_EBRACE 9
93#define REG_BADBR 10
94#define REG_ERANGE 11
95#define REG_ESPACE 12