summaryrefslogtreecommitdiffstats
path: root/Modules/pcre.h
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-10-06 14:43:11 (GMT)
committerGuido van Rossum <guido@python.org>1997-10-06 14:43:11 (GMT)
commit51b3aa3d38a49be5cc060d783dd1c80b6082b640 (patch)
treea487da45a7465d14b36bacd9f3e3ef9c0eefb5c1 /Modules/pcre.h
parent04ac894189a906102ce6d29fd916b57482682178 (diff)
downloadcpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.zip
cpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.tar.gz
cpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.tar.bz2
New "re" regular expression support.
This code is written by Philip Hazel and Andrew Kuchling. It requires a new "re.py" module, too.
Diffstat (limited to 'Modules/pcre.h')
-rw-r--r--Modules/pcre.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Modules/pcre.h b/Modules/pcre.h
new file mode 100644
index 0000000..f0f9824
--- /dev/null
+++ b/Modules/pcre.h
@@ -0,0 +1,59 @@
+/*************************************************
+* Perl-Compatible Regular Expressions *
+*************************************************/
+
+/* Copyright (c) 1997 University of Cambridge */
+
+/* Have to include stdlib.h in order to ensure that size_t is defined;
+it is needed in there for malloc. */
+
+#ifndef PCRE_H
+#define PCRE_H
+
+#include <stdlib.h>
+#ifdef FOR_PYTHON
+#include "Python.h"
+#endif
+
+/* Options */
+
+#define PCRE_CASELESS 0x01
+#define PCRE_EXTENDED 0x02
+#define PCRE_ANCHORED 0x04
+#define PCRE_MULTILINE 0x08
+#define PCRE_DOTALL 0x10
+
+/* Exec-time error codes */
+
+#define PCRE_ERROR_NOMATCH (-1)
+#define PCRE_ERROR_BADREF (-2)
+#define PCRE_ERROR_NULL (-3)
+#define PCRE_ERROR_BADOPTION (-4)
+#define PCRE_ERROR_BADMAGIC (-5)
+#define PCRE_ERROR_UNKNOWN_NODE (-6)
+
+/* Types */
+
+typedef void pcre;
+typedef void pcre_extra;
+
+/* Store get and free functions. These can be set to alternative malloc/free
+functions if required. */
+
+extern void *(*pcre_malloc)(size_t);
+extern void (*pcre_free)(void *);
+
+/* Functions */
+
+#ifdef FOR_PYTHON
+extern pcre *pcre_compile(char *, int, char **, int *, PyObject *);
+#else
+extern pcre *pcre_compile(char *, int, char **, int *);
+#endif
+extern int pcre_exec(pcre *, pcre_extra *, char *, int, int, int *, int);
+extern int pcre_info(pcre *, int *, int *);
+extern pcre_extra *pcre_study(pcre *, int, char **);
+extern char *pcre_version(void);
+
+#endif /* ifndef PCRE_H */
+/* End of pcre.h */