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 5.1 (Berkeley) 02/05/91 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 #include <sys/cdefs.h> 32 33 __BEGIN_DECLS 34 regexp *regcomp __P((const char *)); 35 int regexec __P((const regexp *, const char *)); 36 void regsub __P((const regexp *, const char *, char *)); 37 void regerror __P((const char *)); 38 __END_DECLS 39