Fixed resource leakage during connection accept(2)
[middleman.git] / pcre / pcre.in
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 */