xref: /original-bsd/include/regexp.h (revision d15729d4)
1 /*
2  * Copyright (c) 1986 by University of Toronto.
3  * Copyright (c) 1989 The Regents of the University of California.
4  * All rights reserved.
5  *
6  * This code is derived from software contributed to Berkeley
7  * by Henry Spencer.
8  *
9  * %sccs.include.redist.c%
10  *
11  *	@(#)regexp.h	1.5 (Berkeley) 06/01/90
12  */
13 
14 /*
15  * Definitions etc. for regexp(3) routines.
16  *
17  * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
18  * not the System V one.
19  */
20 #define NSUBEXP  10
21 typedef struct regexp {
22 	char *startp[NSUBEXP];
23 	char *endp[NSUBEXP];
24 	char regstart;		/* Internal use only. */
25 	char reganch;		/* Internal use only. */
26 	char *regmust;		/* Internal use only. */
27 	int regmlen;		/* Internal use only. */
28 	char program[1];	/* Unwarranted chumminess with compiler. */
29 } regexp;
30 
31 #if __STDC__ || c_plusplus
32 extern regexp *regcomp(const char *);
33 extern int regexec(const  regexp *, const char *);
34 extern void regsub(const  regexp *, const char *, char *);
35 extern void regerror(const char *);
36 #else
37 extern regexp *regcomp();
38 extern int regexec();
39 extern void regsub();
40 extern void regerror();
41 #endif
42