NT4/private/posix/programs/pax/regexp.h
2020-09-30 17:12:29 +02:00

42 lines
1.0 KiB
C

/*
* Definitions etc. for regexp(3) routines.
*
* Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
* not the System V one.
*/
#ifndef _PAX_REGEXP_H
#define _PAX_REGEXP_H
#define NSUBEXP 10
typedef struct regexp {
char *startp[NSUBEXP];
char *endp[NSUBEXP];
char regstart; /* Internal use only. */
char reganch; /* Internal use only. */
char *regmust; /* Internal use only. */
int regmlen; /* Internal use only. */
char program[1]; /* Unwarranted chumminess with compiler. */
} regexp;
/*
* The first byte of the regexp internal "program" is actually this magic
* number; the start node begins in the second byte.
*/
#define MAGIC 0234
#ifdef __STDC__ /* Xn */
extern regexp *regcomp(char *);
extern int regexec(register regexp *, register char *);
extern void regsub(regexp *, char *, char *);
extern void regerror(char *);
#else /* Xn */
extern regexp *regcomp();
extern int regexec();
extern void regsub();
extern void regerror();
#endif /* Xn */
#endif /* _PAX_REGEXP_H */