1 /* 2 * Copyright (c) 1986 by University of Toronto. 3 * Copyright (c) 1989, 1993 4 * The Regents of the University of California. 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 8.1 (Berkeley) 06/02/93 12 */ 13 14 #ifndef _REGEXP_H_ 15 #define _REGEXP_H_ 16 17 /* 18 * Definitions etc. for regexp(3) routines. 19 * 20 * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], 21 * not the System V one. 22 */ 23 #define NSUBEXP 10 24 typedef struct regexp { 25 char *startp[NSUBEXP]; 26 char *endp[NSUBEXP]; 27 char regstart; /* Internal use only. */ 28 char reganch; /* Internal use only. */ 29 char *regmust; /* Internal use only. */ 30 int regmlen; /* Internal use only. */ 31 char program[1]; /* Unwarranted chumminess with compiler. */ 32 } regexp; 33 34 #include <sys/cdefs.h> 35 36 __BEGIN_DECLS 37 regexp *regcomp __P((const char *)); 38 int regexec __P((const regexp *, const char *)); 39 void regsub __P((const regexp *, const char *, char *)); 40 void regerror __P((const char *)); 41 __END_DECLS 42 43 #endif /* !_REGEXP_H_ */ 44