/[pcre]/code/trunk/pcre.h.in
ViewVC logotype

Diff of /code/trunk/pcre.h.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 169 by ph10, Mon Jun 4 10:49:21 2007 UTC revision 553 by ph10, Fri Oct 22 15:57:50 2010 UTC
# Line 5  Line 5 
5  /* This is the public header file for the PCRE library, to be #included by  /* This is the public header file for the PCRE library, to be #included by
6  applications that call the PCRE functions.  applications that call the PCRE functions.
7    
8             Copyright (c) 1997-2007 University of Cambridge             Copyright (c) 1997-2010 University of Cambridge
9    
10  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
11  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
# Line 49  POSSIBILITY OF SUCH DAMAGE. Line 49  POSSIBILITY OF SUCH DAMAGE.
49  /* When an application links to a PCRE DLL in Windows, the symbols that are  /* When an application links to a PCRE DLL in Windows, the symbols that are
50  imported have to be identified as such. When building PCRE, the appropriate  imported have to be identified as such. When building PCRE, the appropriate
51  export setting is defined in pcre_internal.h, which includes this file. So we  export setting is defined in pcre_internal.h, which includes this file. So we
52  don't change an existing definition of PCRE_EXP_DECL. */  don't change existing definitions of PCRE_EXP_DECL and PCRECPP_EXP_DECL. */
53    
54  #ifndef PCRE_EXP_DECL  #if defined(_WIN32) && !defined(PCRE_STATIC)
55  #  ifdef _WIN32  #  ifndef PCRE_EXP_DECL
56  #    ifndef PCRE_STATIC  #    define PCRE_EXP_DECL  extern __declspec(dllimport)
57  #      define PCRE_EXP_DECL extern __declspec(dllimport)  #  endif
58    #  ifdef __cplusplus
59    #    ifndef PCRECPP_EXP_DECL
60    #      define PCRECPP_EXP_DECL  extern __declspec(dllimport)
61    #    endif
62    #    ifndef PCRECPP_EXP_DEFN
63    #      define PCRECPP_EXP_DEFN  __declspec(dllimport)
64  #    endif  #    endif
65  #  endif  #  endif
66  #endif  #endif
# Line 63  don't change an existing definition of P Line 69  don't change an existing definition of P
69    
70  #ifndef PCRE_EXP_DECL  #ifndef PCRE_EXP_DECL
71  #  ifdef __cplusplus  #  ifdef __cplusplus
72  #    define PCRE_EXP_DECL       extern "C"  #    define PCRE_EXP_DECL  extern "C"
73  #  else  #  else
74  #    define PCRE_EXP_DECL       extern  #    define PCRE_EXP_DECL  extern
75    #  endif
76    #endif
77    
78    #ifdef __cplusplus
79    #  ifndef PCRECPP_EXP_DECL
80    #    define PCRECPP_EXP_DECL  extern
81    #  endif
82    #  ifndef PCRECPP_EXP_DEFN
83    #    define PCRECPP_EXP_DEFN
84  #  endif  #  endif
85  #endif  #endif
86    
# Line 80  it is needed here for malloc. */ Line 95  it is needed here for malloc. */
95  extern "C" {  extern "C" {
96  #endif  #endif
97    
98  /* Options */  /* Options. Some are compile-time only, some are run-time only, and some are
99    both, so we keep them all distinct. However, almost all the bits in the options
100  #define PCRE_CASELESS           0x00000001  word are now used. In the long run, we may have to re-use some of the
101  #define PCRE_MULTILINE          0x00000002  compile-time only bits for runtime options, or vice versa. */
102  #define PCRE_DOTALL             0x00000004  
103  #define PCRE_EXTENDED           0x00000008  #define PCRE_CASELESS           0x00000001  /* Compile */
104  #define PCRE_ANCHORED           0x00000010  #define PCRE_MULTILINE          0x00000002  /* Compile */
105  #define PCRE_DOLLAR_ENDONLY     0x00000020  #define PCRE_DOTALL             0x00000004  /* Compile */
106  #define PCRE_EXTRA              0x00000040  #define PCRE_EXTENDED           0x00000008  /* Compile */
107  #define PCRE_NOTBOL             0x00000080  #define PCRE_ANCHORED           0x00000010  /* Compile, exec, DFA exec */
108  #define PCRE_NOTEOL             0x00000100  #define PCRE_DOLLAR_ENDONLY     0x00000020  /* Compile */
109  #define PCRE_UNGREEDY           0x00000200  #define PCRE_EXTRA              0x00000040  /* Compile */
110  #define PCRE_NOTEMPTY           0x00000400  #define PCRE_NOTBOL             0x00000080  /* Exec, DFA exec */
111  #define PCRE_UTF8               0x00000800  #define PCRE_NOTEOL             0x00000100  /* Exec, DFA exec */
112  #define PCRE_NO_AUTO_CAPTURE    0x00001000  #define PCRE_UNGREEDY           0x00000200  /* Compile */
113  #define PCRE_NO_UTF8_CHECK      0x00002000  #define PCRE_NOTEMPTY           0x00000400  /* Exec, DFA exec */
114  #define PCRE_AUTO_CALLOUT       0x00004000  #define PCRE_UTF8               0x00000800  /* Compile */
115  #define PCRE_PARTIAL            0x00008000  #define PCRE_NO_AUTO_CAPTURE    0x00001000  /* Compile */
116  #define PCRE_DFA_SHORTEST       0x00010000  #define PCRE_NO_UTF8_CHECK      0x00002000  /* Compile, exec, DFA exec */
117  #define PCRE_DFA_RESTART        0x00020000  #define PCRE_AUTO_CALLOUT       0x00004000  /* Compile */
118  #define PCRE_FIRSTLINE          0x00040000  #define PCRE_PARTIAL_SOFT       0x00008000  /* Exec, DFA exec */
119  #define PCRE_DUPNAMES           0x00080000  #define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */
120  #define PCRE_NEWLINE_CR         0x00100000  #define PCRE_DFA_SHORTEST       0x00010000  /* DFA exec */
121  #define PCRE_NEWLINE_LF         0x00200000  #define PCRE_DFA_RESTART        0x00020000  /* DFA exec */
122  #define PCRE_NEWLINE_CRLF       0x00300000  #define PCRE_FIRSTLINE          0x00040000  /* Compile */
123  #define PCRE_NEWLINE_ANY        0x00400000  #define PCRE_DUPNAMES           0x00080000  /* Compile */
124  #define PCRE_NEWLINE_ANYCRLF    0x00500000  #define PCRE_NEWLINE_CR         0x00100000  /* Compile, exec, DFA exec */
125    #define PCRE_NEWLINE_LF         0x00200000  /* Compile, exec, DFA exec */
126    #define PCRE_NEWLINE_CRLF       0x00300000  /* Compile, exec, DFA exec */
127    #define PCRE_NEWLINE_ANY        0x00400000  /* Compile, exec, DFA exec */
128    #define PCRE_NEWLINE_ANYCRLF    0x00500000  /* Compile, exec, DFA exec */
129    #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */
130    #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */
131    #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile */
132    #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Exec, DFA exec */
133    #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */
134    #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */
135    #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */
136    #define PCRE_UCP                0x20000000  /* Compile */
137    
138  /* Exec-time and get/set-time error codes */  /* Exec-time and get/set-time error codes */
139    
# Line 132  extern "C" { Line 159  extern "C" {
159  #define PCRE_ERROR_DFA_WSSIZE     (-19)  #define PCRE_ERROR_DFA_WSSIZE     (-19)
160  #define PCRE_ERROR_DFA_RECURSE    (-20)  #define PCRE_ERROR_DFA_RECURSE    (-20)
161  #define PCRE_ERROR_RECURSIONLIMIT (-21)  #define PCRE_ERROR_RECURSIONLIMIT (-21)
162  #define PCRE_ERROR_NULLWSLIMIT    (-22)  #define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */
163  #define PCRE_ERROR_BADNEWLINE     (-23)  #define PCRE_ERROR_BADNEWLINE     (-23)
164    
165  /* Request types for pcre_fullinfo() */  /* Request types for pcre_fullinfo() */
# Line 152  extern "C" { Line 179  extern "C" {
179  #define PCRE_INFO_DEFAULT_TABLES    11  #define PCRE_INFO_DEFAULT_TABLES    11
180  #define PCRE_INFO_OKPARTIAL         12  #define PCRE_INFO_OKPARTIAL         12
181  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
182    #define PCRE_INFO_HASCRORLF         14
183    #define PCRE_INFO_MINLENGTH         15
184    
185  /* Request types for pcre_config(). Do not re-arrange, in order to remain  /* Request types for pcre_config(). Do not re-arrange, in order to remain
186  compatible. */  compatible. */
# Line 164  compatible. */ Line 193  compatible. */
193  #define PCRE_CONFIG_STACKRECURSE            5  #define PCRE_CONFIG_STACKRECURSE            5
194  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
195  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
196    #define PCRE_CONFIG_BSR                     8
197    
198  /* Bit flags for the pcre_extra structure. Do not re-arrange or redefine  /* Bit flags for the pcre_extra structure. Do not re-arrange or redefine
199  these bits, just add new ones on the end, in order to remain compatible. */  these bits, just add new ones on the end, in order to remain compatible. */
# Line 173  these bits, just add new ones on the end Line 203  these bits, just add new ones on the end
203  #define PCRE_EXTRA_CALLOUT_DATA           0x0004  #define PCRE_EXTRA_CALLOUT_DATA           0x0004
204  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
205  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
206    #define PCRE_EXTRA_MARK                   0x0020
207    
208  /* Types */  /* Types */
209    
# Line 198  typedef struct pcre_extra { Line 229  typedef struct pcre_extra {
229    void *callout_data;             /* Data passed back in callouts */    void *callout_data;             /* Data passed back in callouts */
230    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
231    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
232      unsigned char **mark;           /* For passing back a mark pointer */
233  } pcre_extra;  } pcre_extra;
234    
235  /* The structure for passing out data via the pcre_callout_function. We use a  /* The structure for passing out data via the pcre_callout_function. We use a

Legend:
Removed from v.169  
changed lines
  Added in v.553

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12