/[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 197 by ph10, Tue Jul 31 10:50:18 2007 UTC revision 645 by ph10, Sun Jul 31 17:02:18 2011 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-2011 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  /* Compile, 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_NOTUSED        (-22)  #define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */
163  #define PCRE_ERROR_BADNEWLINE     (-23)  #define PCRE_ERROR_BADNEWLINE     (-23)
164    #define PCRE_ERROR_BADOFFSET      (-24)
165    #define PCRE_ERROR_SHORTUTF8      (-25)
166    #define PCRE_ERROR_RECURSELOOP    (-26)
167    
168    /* Specific error codes for UTF-8 validity checks */
169    
170    #define PCRE_UTF8_ERR0               0
171    #define PCRE_UTF8_ERR1               1
172    #define PCRE_UTF8_ERR2               2
173    #define PCRE_UTF8_ERR3               3
174    #define PCRE_UTF8_ERR4               4
175    #define PCRE_UTF8_ERR5               5
176    #define PCRE_UTF8_ERR6               6
177    #define PCRE_UTF8_ERR7               7
178    #define PCRE_UTF8_ERR8               8
179    #define PCRE_UTF8_ERR9               9
180    #define PCRE_UTF8_ERR10             10
181    #define PCRE_UTF8_ERR11             11
182    #define PCRE_UTF8_ERR12             12
183    #define PCRE_UTF8_ERR13             13
184    #define PCRE_UTF8_ERR14             14
185    #define PCRE_UTF8_ERR15             15
186    #define PCRE_UTF8_ERR16             16
187    #define PCRE_UTF8_ERR17             17
188    #define PCRE_UTF8_ERR18             18
189    #define PCRE_UTF8_ERR19             19
190    #define PCRE_UTF8_ERR20             20
191    #define PCRE_UTF8_ERR21             21
192    
193  /* Request types for pcre_fullinfo() */  /* Request types for pcre_fullinfo() */
194    
# Line 152  extern "C" { Line 207  extern "C" {
207  #define PCRE_INFO_DEFAULT_TABLES    11  #define PCRE_INFO_DEFAULT_TABLES    11
208  #define PCRE_INFO_OKPARTIAL         12  #define PCRE_INFO_OKPARTIAL         12
209  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
210    #define PCRE_INFO_HASCRORLF         14
211    #define PCRE_INFO_MINLENGTH         15
212    
213  /* 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
214  compatible. */  compatible. */
# Line 164  compatible. */ Line 221  compatible. */
221  #define PCRE_CONFIG_STACKRECURSE            5  #define PCRE_CONFIG_STACKRECURSE            5
222  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
223  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
224    #define PCRE_CONFIG_BSR                     8
225    
226  /* 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
227  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 231  these bits, just add new ones on the end
231  #define PCRE_EXTRA_CALLOUT_DATA           0x0004  #define PCRE_EXTRA_CALLOUT_DATA           0x0004
232  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
233  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
234    #define PCRE_EXTRA_MARK                   0x0020
235    
236  /* Types */  /* Types */
237    
# Line 198  typedef struct pcre_extra { Line 257  typedef struct pcre_extra {
257    void *callout_data;             /* Data passed back in callouts */    void *callout_data;             /* Data passed back in callouts */
258    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
259    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
260      unsigned char **mark;           /* For passing back a mark pointer */
261  } pcre_extra;  } pcre_extra;
262    
263  /* 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
# Line 220  typedef struct pcre_callout_block { Line 280  typedef struct pcre_callout_block {
280    /* ------------------- Added for Version 1 -------------------------- */    /* ------------------- Added for Version 1 -------------------------- */
281    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
282    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
283      /* ------------------- Added for Version 2 -------------------------- */
284      const unsigned char *mark;      /* Pointer to current mark or NULL    */
285    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
286  } pcre_callout_block;  } pcre_callout_block;
287    

Legend:
Removed from v.197  
changed lines
  Added in v.645

  ViewVC Help
Powered by ViewVC 1.1.5