diff options
author | Christopher Faylor <me@cgf.cx> | 2001-12-20 02:55:11 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-12-20 02:55:11 +0000 |
commit | 48beacf6e4438f457b33fddebaa8a81698dc77f8 (patch) | |
tree | 3098581dcc296aff3ca58cdb6c556f2dc961dd2d /winsup/cygwin/regex/regex.h | |
parent | 1f93c55ff7f7613d779ed770a60be13c14b0858f (diff) | |
download | cygnal-48beacf6e4438f457b33fddebaa8a81698dc77f8.tar.gz cygnal-48beacf6e4438f457b33fddebaa8a81698dc77f8.tar.bz2 cygnal-48beacf6e4438f457b33fddebaa8a81698dc77f8.zip |
* Makefile.in (VPATH): Add regex directory.
(NM): new variable.
(OBSOLETE_FUNCTIONS): Ditto.
(NEW_FUNCTIONS): Ditto.
(install-headers): Install regex.h.
(install-man): New target.
(install): Use new target.
(DLL_OFILES): Add v8_reg* stuff.
(new-cygwin1.dll): Eliminate stamp-cygwin-lib creation.
(libcygwin.a): Remove obsolete functions from import lib. Add new functions.
* configure.in: Detect 'nm' tool.
* configure: Regenerate.
* cygwin.din: Export posix_reg* functions. Eliminate export of v8 reg*
functions. This is now handled in object files themselves.
* regex/*: New files.
* regexp/v8_*.c: New files, renamed from non v8_ equivalents.
Diffstat (limited to 'winsup/cygwin/regex/regex.h')
-rw-r--r-- | winsup/cygwin/regex/regex.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/winsup/cygwin/regex/regex.h b/winsup/cygwin/regex/regex.h new file mode 100644 index 000000000..0ef0ace36 --- /dev/null +++ b/winsup/cygwin/regex/regex.h @@ -0,0 +1,83 @@ +#ifndef _REGEX_H_ +#define _REGEX_H_ /* never again */ +#include <sys/types.h> +/* ========= begin header generated by ./mkh ========= */ +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __INSIDE_CYGWIN__ +#define regcomp posix_regcomp +#define regerror posix_regerror +#define regexec posix_regexec +#define regfree posix_regfree +#endif + +/* === regex2.h === */ +typedef off_t regoff_t; +typedef struct { + int re_magic; + size_t re_nsub; /* number of parenthesized subexpressions */ + const char *re_endp; /* end pointer for REG_PEND */ + struct re_guts *re_g; /* none of your business :-) */ +} regex_t; +typedef struct { + regoff_t rm_so; /* start of match */ + regoff_t rm_eo; /* end of match */ +} regmatch_t; + + +/* === regcomp.c === */ +extern int regcomp(regex_t *, const char *, int); +#define REG_BASIC 0000 +#define REG_EXTENDED 0001 +#define REG_ICASE 0002 +#define REG_NOSUB 0004 +#define REG_NEWLINE 0010 +#define REG_NOSPEC 0020 +#define REG_PEND 0040 +#define REG_DUMP 0200 + + +/* === regerror.c === */ +#define REG_OKAY 0 +#define REG_NOMATCH 1 +#define REG_BADPAT 2 +#define REG_ECOLLATE 3 +#define REG_ECTYPE 4 +#define REG_EESCAPE 5 +#define REG_ESUBREG 6 +#define REG_EBRACK 7 +#define REG_EPAREN 8 +#define REG_EBRACE 9 +#define REG_BADBR 10 +#define REG_ERANGE 11 +#define REG_ESPACE 12 +#define REG_BADRPT 13 +#define REG_EMPTY 14 +#define REG_ASSERT 15 +#define REG_INVARG 16 +#define REG_ATOI 255 /* convert name to number (!) */ +#define REG_ITOA 0400 /* convert number to name (!) */ +extern size_t regerror(int, const regex_t *, char *, size_t); + + +/* === regexec.c === */ +extern int regexec(const regex_t *, const char *, size_t, regmatch_t [], int); +#define REG_NOTBOL 00001 +#define REG_NOTEOL 00002 +#define REG_STARTEND 00004 +#define REG_TRACE 00400 /* tracing of execution */ +#define REG_LARGE 01000 /* force large representation */ +#define REG_BACKR 02000 /* force use of backref code */ + + +/* === regfree.c === */ +extern void regfree(regex_t *); + + +#ifdef __cplusplus +} +#endif +/* ========= end header generated by ./mkh ========= */ +#endif |