summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/include/regex.h
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-05-14 14:19:32 +0000
commit167217bec15c9c7aa70ba2a3dc9c689b3cd91872 (patch)
tree7c0c62debf8f9f145643102fb52b81afce743594 /mdk-stage1/dietlibc/include/regex.h
parent9097327dc1c667fc51b8e05cc7c0626fac96665d (diff)
downloaddrakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar
drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.gz
drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.bz2
drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.tar.xz
drakx-167217bec15c9c7aa70ba2a3dc9c689b3cd91872.zip
import new version of dietlibc
Diffstat (limited to 'mdk-stage1/dietlibc/include/regex.h')
-rw-r--r--mdk-stage1/dietlibc/include/regex.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h
new file mode 100644
index 000000000..be609d9db
--- /dev/null
+++ b/mdk-stage1/dietlibc/include/regex.h
@@ -0,0 +1,67 @@
+#ifndef _REGEX_H
+#define _REGEX_H
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+typedef ptrdiff_t regoff_t;
+
+typedef struct {
+ regoff_t rm_so;
+ regoff_t rm_eo;
+} regmatch_t;
+
+#define REG_EXTENDED 1
+#define REG_ICASE 2
+#define REG_NOSUB 4
+#define REG_NEWLINE 8
+
+#define REG_NOTBOL 1
+#define REG_NOTEOL 2
+
+#define REG_NOMATCH -1
+
+#define RE_DUP_MAX 255
+
+struct __regex_t;
+
+typedef int (*matcher)(void*,const char*,int ofs,struct __regex_t *t,int plus,int eflags);
+
+typedef struct __regex_t {
+ struct regex {
+ matcher m;
+ void* next;
+ int pieces;
+ int num;
+ struct branch *b;
+ } r;
+ int brackets,cflags;
+ regmatch_t *l;
+} regex_t;
+
+int regcomp(regex_t *preg, const char *regex, int cflags) __THROW;
+int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) __THROW;
+size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) __THROW;
+void regfree(regex_t *preg) __THROW;
+
+enum __regex_errors {
+ REG_NOERROR,
+ REG_BADRPT, /* Invalid use of repetition operators such as using `*' as the first character. */
+ REG_BADBR, /* Invalid use of back reference operator. */
+ REG_EBRACE, /* Un-matched brace interval operators. */
+ REG_EBRACK, /* Un-matched bracket list operators. */
+ REG_ERANGE, /* Invalid use of the range operator, eg. the ending point of the
+ range occurs prior to the starting point. */
+ REG_ECTYPE, /* Unknown character class name. */
+ REG_ECOLLATE, /* Invalid collating element. */
+ REG_EPAREN, /* Un-matched parenthesis group operators. */
+ REG_ESUBREG, /* Invalid back reference to a subexpression. */
+ REG_EEND, /* Non specific error. This is not defined by POSIX.2. */
+ REG_EESCAPE, /* Trailing backslash. */
+ REG_BADPAT, /* Invalid use of pattern operators such as group or list. */
+ REG_ESIZE, /* Compiled regular expression requires a pattern buffer
+ larger than 64Kb. This is not defined by POSIX.2. */
+ REG_ESPACE, /* regcomp ran out of space */
+};
+
+#endif