/[pcre]/code/tags/pcre-3.8/pcre.in
ViewVC logotype

Contents of /code/tags/pcre-3.8/pcre.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 60 - (show annotations) (download)
Sat Feb 24 21:39:56 2007 UTC (7 years, 8 months ago) by nigel
File size: 3345 byte(s)
Tag code/trunk as code/tags/pcre-3.8.

1 /*************************************************
2 * Perl-Compatible Regular Expressions *
3 *************************************************/
4
5 /* Copyright (c) 1997-2001 University of Cambridge */
6
7 #ifndef _PCRE_H
8 #define _PCRE_H
9
10 /* The file pcre.h is build by "configure". Do not edit it; instead
11 make changes to pcre.in. */
12
13 #define PCRE_MAJOR @PCRE_MAJOR@
14 #define PCRE_MINOR @PCRE_MINOR@
15 #define PCRE_DATE @PCRE_DATE@
16
17 /* Win32 uses DLL by default */
18
19 #ifdef _WIN32
20 # ifdef STATIC
21 # define PCRE_DL_IMPORT
22 # else
23 # define PCRE_DL_IMPORT __declspec(dllimport)
24 # endif
25 #else
26 # define PCRE_DL_IMPORT
27 #endif
28
29 /* Have to include stdlib.h in order to ensure that size_t is defined;
30 it is needed here for malloc. */
31
32 #include <stdlib.h>
33
34 /* Allow for C++ users */
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 /* Options */
41
42 #define PCRE_CASELESS 0x0001
43 #define PCRE_MULTILINE 0x0002
44 #define PCRE_DOTALL 0x0004
45 #define PCRE_EXTENDED 0x0008
46 #define PCRE_ANCHORED 0x0010
47 #define PCRE_DOLLAR_ENDONLY 0x0020
48 #define PCRE_EXTRA 0x0040
49 #define PCRE_NOTBOL 0x0080
50 #define PCRE_NOTEOL 0x0100
51 #define PCRE_UNGREEDY 0x0200
52 #define PCRE_NOTEMPTY 0x0400
53 #define PCRE_UTF8 0x0800
54
55 /* Exec-time and get-time error codes */
56
57 #define PCRE_ERROR_NOMATCH (-1)
58 #define PCRE_ERROR_NULL (-2)
59 #define PCRE_ERROR_BADOPTION (-3)
60 #define PCRE_ERROR_BADMAGIC (-4)
61 #define PCRE_ERROR_UNKNOWN_NODE (-5)
62 #define PCRE_ERROR_NOMEMORY (-6)
63 #define PCRE_ERROR_NOSUBSTRING (-7)
64
65 /* Request types for pcre_fullinfo() */
66
67 #define PCRE_INFO_OPTIONS 0
68 #define PCRE_INFO_SIZE 1
69 #define PCRE_INFO_CAPTURECOUNT 2
70 #define PCRE_INFO_BACKREFMAX 3
71 #define PCRE_INFO_FIRSTCHAR 4
72 #define PCRE_INFO_FIRSTTABLE 5
73 #define PCRE_INFO_LASTLITERAL 6
74
75 /* Types */
76
77 struct real_pcre; /* declaration; the definition is private */
78 struct real_pcre_extra; /* declaration; the definition is private */
79
80 typedef struct real_pcre pcre;
81 typedef struct real_pcre_extra pcre_extra;
82
83 /* Store get and free functions. These can be set to alternative malloc/free
84 functions if required. Some magic is required for Win32 DLL; it is null on
85 other OS. */
86
87 PCRE_DL_IMPORT extern void *(*pcre_malloc)(size_t);
88 PCRE_DL_IMPORT extern void (*pcre_free)(void *);
89
90 #undef PCRE_DL_IMPORT
91
92 /* Functions */
93
94 extern pcre *pcre_compile(const char *, int, const char **, int *,
95 const unsigned char *);
96 extern int pcre_copy_substring(const char *, int *, int, int, char *, int);
97 extern int pcre_exec(const pcre *, const pcre_extra *, const char *,
98 int, int, int, int *, int);
99 extern void pcre_free_substring(const char *);
100 extern void pcre_free_substring_list(const char **);
101 extern int pcre_get_substring(const char *, int *, int, int, const char **);
102 extern int pcre_get_substring_list(const char *, int *, int, const char ***);
103 extern int pcre_info(const pcre *, int *, int *);
104 extern int pcre_fullinfo(const pcre *, const pcre_extra *, int, void *);
105 extern const unsigned char *pcre_maketables(void);
106 extern pcre_extra *pcre_study(const pcre *, int, const char **);
107 extern const char *pcre_version(void);
108
109 #ifdef __cplusplus
110 } /* extern "C" */
111 #endif
112
113 #endif /* End of pcre.h */

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12