/[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 427 by ph10, Fri Aug 28 09:55:54 2009 UTC revision 836 by ph10, Wed Dec 28 17:16:11 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-2009 University of Cambridge             Copyright (c) 1997-2012 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 96  extern "C" { Line 96  extern "C" {
96  #endif  #endif
97    
98  /* Options. Some are compile-time only, some are run-time only, and some are  /* Options. Some are compile-time only, some are run-time only, and some are
99  both, so we keep them all distinct. */  both, so we keep them all distinct. However, almost all the bits in the options
100    word are now used. In the long run, we may have to re-use some of the
101  #define PCRE_CASELESS           0x00000001  compile-time only bits for runtime options, or vice versa. In the comments
102  #define PCRE_MULTILINE          0x00000002  below, "compile", "exec", and "DFA exec" mean that the option is permitted to
103  #define PCRE_DOTALL             0x00000004  be set for those functions; "used in" means that an option may be set only for
104  #define PCRE_EXTENDED           0x00000008  compile, but is subsequently referenced in exec and/or DFA exec. Any of the
105  #define PCRE_ANCHORED           0x00000010  compile-time options may be inspected during studying (and therefore JIT
106  #define PCRE_DOLLAR_ENDONLY     0x00000020  compiling). */
107  #define PCRE_EXTRA              0x00000040  
108  #define PCRE_NOTBOL             0x00000080  #define PCRE_CASELESS           0x00000001  /* Compile */
109  #define PCRE_NOTEOL             0x00000100  #define PCRE_MULTILINE          0x00000002  /* Compile */
110  #define PCRE_UNGREEDY           0x00000200  #define PCRE_DOTALL             0x00000004  /* Compile */
111  #define PCRE_NOTEMPTY           0x00000400  #define PCRE_EXTENDED           0x00000008  /* Compile */
112  #define PCRE_UTF8               0x00000800  #define PCRE_ANCHORED           0x00000010  /* Compile, exec, DFA exec */
113  #define PCRE_NO_AUTO_CAPTURE    0x00001000  #define PCRE_DOLLAR_ENDONLY     0x00000020  /* Compile, used in exec, DFA exec */
114  #define PCRE_NO_UTF8_CHECK      0x00002000  #define PCRE_EXTRA              0x00000040  /* Compile */
115  #define PCRE_AUTO_CALLOUT       0x00004000  #define PCRE_NOTBOL             0x00000080  /* Exec, DFA exec */
116  #define PCRE_PARTIAL_SOFT       0x00008000  #define PCRE_NOTEOL             0x00000100  /* Exec, DFA exec */
117    #define PCRE_UNGREEDY           0x00000200  /* Compile */
118    #define PCRE_NOTEMPTY           0x00000400  /* Exec, DFA exec */
119    /* The next two are also used in exec and DFA exec */
120    #define PCRE_UTF8               0x00000800  /* Compile (same as PCRE_UTF16) */
121    #define PCRE_UTF16              0x00000800  /* Compile (same as PCRE_UTF8) */
122    #define PCRE_NO_AUTO_CAPTURE    0x00001000  /* Compile */
123    /* The next two are also used in exec and DFA exec */
124    #define PCRE_NO_UTF8_CHECK      0x00002000  /* Compile (same as PCRE_NO_UTF16_CHECK) */
125    #define PCRE_NO_UTF16_CHECK     0x00002000  /* Compile (same as PCRE_NO_UTF8_CHECK) */
126    #define PCRE_AUTO_CALLOUT       0x00004000  /* Compile */
127    #define PCRE_PARTIAL_SOFT       0x00008000  /* Exec, DFA exec */
128  #define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */  #define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */
129  #define PCRE_DFA_SHORTEST       0x00010000  #define PCRE_DFA_SHORTEST       0x00010000  /* DFA exec */
130  #define PCRE_DFA_RESTART        0x00020000  #define PCRE_DFA_RESTART        0x00020000  /* DFA exec */
131  #define PCRE_FIRSTLINE          0x00040000  #define PCRE_FIRSTLINE          0x00040000  /* Compile, used in exec, DFA exec */
132  #define PCRE_DUPNAMES           0x00080000  #define PCRE_DUPNAMES           0x00080000  /* Compile */
133  #define PCRE_NEWLINE_CR         0x00100000  #define PCRE_NEWLINE_CR         0x00100000  /* Compile, exec, DFA exec */
134  #define PCRE_NEWLINE_LF         0x00200000  #define PCRE_NEWLINE_LF         0x00200000  /* Compile, exec, DFA exec */
135  #define PCRE_NEWLINE_CRLF       0x00300000  #define PCRE_NEWLINE_CRLF       0x00300000  /* Compile, exec, DFA exec */
136  #define PCRE_NEWLINE_ANY        0x00400000  #define PCRE_NEWLINE_ANY        0x00400000  /* Compile, exec, DFA exec */
137  #define PCRE_NEWLINE_ANYCRLF    0x00500000  #define PCRE_NEWLINE_ANYCRLF    0x00500000  /* Compile, exec, DFA exec */
138  #define PCRE_BSR_ANYCRLF        0x00800000  #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */
139  #define PCRE_BSR_UNICODE        0x01000000  #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */
140  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile, used in exec */
141  #define PCRE_NO_START_OPTIMIZE  0x04000000  #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Compile, exec, DFA exec */
142  #define PCRE_NO_START_OPTIMISE  0x04000000  #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */
143  #define PCRE_PARTIAL_HARD       0x08000000  #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */
144    #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */
145    #define PCRE_UCP                0x20000000  /* Compile, used in exec, DFA exec */
146    
147  /* Exec-time and get/set-time error codes */  /* Exec-time and get/set-time error codes */
148    
149  #define PCRE_ERROR_NOMATCH         (-1)  #define PCRE_ERROR_NOMATCH          (-1)
150  #define PCRE_ERROR_NULL            (-2)  #define PCRE_ERROR_NULL             (-2)
151  #define PCRE_ERROR_BADOPTION       (-3)  #define PCRE_ERROR_BADOPTION        (-3)
152  #define PCRE_ERROR_BADMAGIC        (-4)  #define PCRE_ERROR_BADMAGIC         (-4)
153  #define PCRE_ERROR_UNKNOWN_OPCODE  (-5)  #define PCRE_ERROR_UNKNOWN_OPCODE   (-5)
154  #define PCRE_ERROR_UNKNOWN_NODE    (-5)  /* For backward compatibility */  #define PCRE_ERROR_UNKNOWN_NODE     (-5)  /* For backward compatibility */
155  #define PCRE_ERROR_NOMEMORY        (-6)  #define PCRE_ERROR_NOMEMORY         (-6)
156  #define PCRE_ERROR_NOSUBSTRING     (-7)  #define PCRE_ERROR_NOSUBSTRING      (-7)
157  #define PCRE_ERROR_MATCHLIMIT      (-8)  #define PCRE_ERROR_MATCHLIMIT       (-8)
158  #define PCRE_ERROR_CALLOUT         (-9)  /* Never used by PCRE itself */  #define PCRE_ERROR_CALLOUT          (-9)  /* Never used by PCRE itself */
159  #define PCRE_ERROR_BADUTF8        (-10)  #define PCRE_ERROR_BADUTF8         (-10)  /* Same for 8/16 */
160  #define PCRE_ERROR_BADUTF8_OFFSET (-11)  #define PCRE_ERROR_BADUTF16        (-10)  /* Same for 8/16 */
161  #define PCRE_ERROR_PARTIAL        (-12)  #define PCRE_ERROR_BADUTF8_OFFSET  (-11)  /* Same for 8/16 */
162  #define PCRE_ERROR_BADPARTIAL     (-13)  #define PCRE_ERROR_BADUTF16_OFFSET (-11)  /* Same for 8/16 */
163  #define PCRE_ERROR_INTERNAL       (-14)  #define PCRE_ERROR_PARTIAL         (-12)
164  #define PCRE_ERROR_BADCOUNT       (-15)  #define PCRE_ERROR_BADPARTIAL      (-13)
165  #define PCRE_ERROR_DFA_UITEM      (-16)  #define PCRE_ERROR_INTERNAL        (-14)
166  #define PCRE_ERROR_DFA_UCOND      (-17)  #define PCRE_ERROR_BADCOUNT        (-15)
167  #define PCRE_ERROR_DFA_UMLIMIT    (-18)  #define PCRE_ERROR_DFA_UITEM       (-16)
168  #define PCRE_ERROR_DFA_WSSIZE     (-19)  #define PCRE_ERROR_DFA_UCOND       (-17)
169  #define PCRE_ERROR_DFA_RECURSE    (-20)  #define PCRE_ERROR_DFA_UMLIMIT     (-18)
170  #define PCRE_ERROR_RECURSIONLIMIT (-21)  #define PCRE_ERROR_DFA_WSSIZE      (-19)
171  #define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */  #define PCRE_ERROR_DFA_RECURSE     (-20)
172  #define PCRE_ERROR_BADNEWLINE     (-23)  #define PCRE_ERROR_RECURSIONLIMIT  (-21)
173    #define PCRE_ERROR_NULLWSLIMIT     (-22)  /* No longer actually used */
174    #define PCRE_ERROR_BADNEWLINE      (-23)
175    #define PCRE_ERROR_BADOFFSET       (-24)
176    #define PCRE_ERROR_SHORTUTF8       (-25)
177    #define PCRE_ERROR_SHORTUTF16      (-25)  /* Same for 8/16 */
178    #define PCRE_ERROR_RECURSELOOP     (-26)
179    #define PCRE_ERROR_JIT_STACKLIMIT  (-27)
180    #define PCRE_ERROR_BADMODE         (-28)
181    #define PCRE_ERROR_BADENDIANNESS   (-29)
182    
183    /* Specific error codes for UTF-8 validity checks */
184    
185    #define PCRE_UTF8_ERR0               0
186    #define PCRE_UTF8_ERR1               1
187    #define PCRE_UTF8_ERR2               2
188    #define PCRE_UTF8_ERR3               3
189    #define PCRE_UTF8_ERR4               4
190    #define PCRE_UTF8_ERR5               5
191    #define PCRE_UTF8_ERR6               6
192    #define PCRE_UTF8_ERR7               7
193    #define PCRE_UTF8_ERR8               8
194    #define PCRE_UTF8_ERR9               9
195    #define PCRE_UTF8_ERR10             10
196    #define PCRE_UTF8_ERR11             11
197    #define PCRE_UTF8_ERR12             12
198    #define PCRE_UTF8_ERR13             13
199    #define PCRE_UTF8_ERR14             14
200    #define PCRE_UTF8_ERR15             15
201    #define PCRE_UTF8_ERR16             16
202    #define PCRE_UTF8_ERR17             17
203    #define PCRE_UTF8_ERR18             18
204    #define PCRE_UTF8_ERR19             19
205    #define PCRE_UTF8_ERR20             20
206    #define PCRE_UTF8_ERR21             21
207    
208    /* Specific error codes for UTF-16 validity checks */
209    
210    #define PCRE_UTF16_ERR0              0
211    #define PCRE_UTF16_ERR1              1
212    #define PCRE_UTF16_ERR2              2
213    #define PCRE_UTF16_ERR3              3
214    #define PCRE_UTF16_ERR4              4
215    
216  /* Request types for pcre_fullinfo() */  /* Request types for pcre_fullinfo() */
217    
# Line 176  both, so we keep them all distinct. */ Line 231  both, so we keep them all distinct. */
231  #define PCRE_INFO_OKPARTIAL         12  #define PCRE_INFO_OKPARTIAL         12
232  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
233  #define PCRE_INFO_HASCRORLF         14  #define PCRE_INFO_HASCRORLF         14
234    #define PCRE_INFO_MINLENGTH         15
235    #define PCRE_INFO_JIT               16
236    #define PCRE_INFO_JITSIZE           17
237    
238  /* 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
239  compatible. */  compatible. */
# Line 189  compatible. */ Line 247  compatible. */
247  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
248  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
249  #define PCRE_CONFIG_BSR                     8  #define PCRE_CONFIG_BSR                     8
250    #define PCRE_CONFIG_JIT                     9
251    #define PCRE_CONFIG_UTF16                  10
252    
253    /* Request types for pcre_study(). Do not re-arrange, in order to remain
254    compatible. */
255    
256    #define PCRE_STUDY_JIT_COMPILE            0x0001
257    
258  /* 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
259  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 198  these bits, just add new ones on the end Line 263  these bits, just add new ones on the end
263  #define PCRE_EXTRA_CALLOUT_DATA           0x0004  #define PCRE_EXTRA_CALLOUT_DATA           0x0004
264  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
265  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
266    #define PCRE_EXTRA_MARK                   0x0020
267    #define PCRE_EXTRA_EXECUTABLE_JIT         0x0040
268    
269  /* Types */  /* Types */
270    
271  struct real_pcre;                 /* declaration; the definition is private  */  struct real_pcre;                 /* declaration; the definition is private  */
272  typedef struct real_pcre pcre;  typedef struct real_pcre pcre;
273    
274    struct real_pcre_jit_stack;       /* declaration; the definition is private  */
275    typedef struct real_pcre_jit_stack pcre_jit_stack;
276    
277    /* If PCRE is compiled with 16 bit character support, PCRE_SCHAR16 must contain
278    a 16 bit wide signed data type. Otherwise it can be a dummy data type since
279    pcre16 functions are not implemented. There is a check for this in pcre_internal.h. */
280    #ifndef PCRE_SCHAR16
281    #define PCRE_SCHAR16 short
282    #endif
283    
284    #ifndef PCRE_SPTR16
285    #define PCRE_SPTR16 const PCRE_SCHAR16 *
286    #endif
287    
288  /* When PCRE is compiled as a C++ library, the subject pointer type can be  /* When PCRE is compiled as a C++ library, the subject pointer type can be
289  replaced with a custom type. For conventional use, the public interface is a  replaced with a custom type. For conventional use, the public interface is a
290  const char *. */  const char *. */
# Line 223  typedef struct pcre_extra { Line 304  typedef struct pcre_extra {
304    void *callout_data;             /* Data passed back in callouts */    void *callout_data;             /* Data passed back in callouts */
305    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
306    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
307      unsigned char **mark;           /* For passing back a mark pointer */
308      void *executable_jit;           /* Contains a pointer to a compiled jit code */
309  } pcre_extra;  } pcre_extra;
310    
311  /* 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 245  typedef struct pcre_callout_block { Line 328  typedef struct pcre_callout_block {
328    /* ------------------- Added for Version 1 -------------------------- */    /* ------------------- Added for Version 1 -------------------------- */
329    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
330    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
331      /* ------------------- Added for Version 2 -------------------------- */
332      const void  *mark;              /* Pointer to current mark or NULL    */
333    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
334  } pcre_callout_block;  } pcre_callout_block;
335    
# Line 260  PCRE_EXP_DECL void  (*pcre_free)(void *) Line 345  PCRE_EXP_DECL void  (*pcre_free)(void *)
345  PCRE_EXP_DECL void *(*pcre_stack_malloc)(size_t);  PCRE_EXP_DECL void *(*pcre_stack_malloc)(size_t);
346  PCRE_EXP_DECL void  (*pcre_stack_free)(void *);  PCRE_EXP_DECL void  (*pcre_stack_free)(void *);
347  PCRE_EXP_DECL int   (*pcre_callout)(pcre_callout_block *);  PCRE_EXP_DECL int   (*pcre_callout)(pcre_callout_block *);
348    
349    PCRE_EXP_DECL void *(*pcre16_malloc)(size_t);
350    PCRE_EXP_DECL void  (*pcre16_free)(void *);
351    PCRE_EXP_DECL void *(*pcre16_stack_malloc)(size_t);
352    PCRE_EXP_DECL void  (*pcre16_stack_free)(void *);
353    PCRE_EXP_DECL int   (*pcre16_callout)(pcre_callout_block *);
354  #else   /* VPCOMPAT */  #else   /* VPCOMPAT */
355  PCRE_EXP_DECL void *pcre_malloc(size_t);  PCRE_EXP_DECL void *pcre_malloc(size_t);
356  PCRE_EXP_DECL void  pcre_free(void *);  PCRE_EXP_DECL void  pcre_free(void *);
357  PCRE_EXP_DECL void *pcre_stack_malloc(size_t);  PCRE_EXP_DECL void *pcre_stack_malloc(size_t);
358  PCRE_EXP_DECL void  pcre_stack_free(void *);  PCRE_EXP_DECL void  pcre_stack_free(void *);
359  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
360    
361    PCRE_EXP_DECL void *pcre16_malloc(size_t);
362    PCRE_EXP_DECL void  pcre16_free(void *);
363    PCRE_EXP_DECL void *pcre16_stack_malloc(size_t);
364    PCRE_EXP_DECL void  pcre16_stack_free(void *);
365    PCRE_EXP_DECL int   pcre16_callout(pcre_callout_block *);
366  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
367    
368    /* User defined callback which provides a stack just before the match starts. */
369    
370    typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
371    
372  /* Exported PCRE functions */  /* Exported PCRE functions */
373    
374  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,
375                    const unsigned char *);                    const unsigned char *);
376    PCRE_EXP_DECL pcre *pcre16_compile(PCRE_SPTR16, int, const char **, int *,
377                      const unsigned char *);
378  PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,  PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,
379                    int *, const unsigned char *);                    int *, const unsigned char *);
380    PCRE_EXP_DECL pcre *pcre16_compile2(PCRE_SPTR16, int, int *, const char **,
381                      int *, const unsigned char *);
382  PCRE_EXP_DECL int  pcre_config(int, void *);  PCRE_EXP_DECL int  pcre_config(int, void *);
383    PCRE_EXP_DECL int  pcre16_config(int, void *);
384  PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,
385                    int *, int, const char *, char *, int);                    int *, int, const char *, char *, int);
386  PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int, char *,  PCRE_EXP_DECL int  pcre16_copy_named_substring(const pcre *, PCRE_SPTR16,
387                    int);                    int *, int, PCRE_SPTR16, PCRE_SCHAR16 *, int);
388    PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int,
389                      char *, int);
390    PCRE_EXP_DECL int  pcre16_copy_substring(PCRE_SPTR16, int *, int, int,
391                      PCRE_SCHAR16 *, int);
392  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,
393                    const char *, int, int, int, int *, int , int *, int);                    const char *, int, int, int, int *, int , int *, int);
394    PCRE_EXP_DECL int  pcre16_dfa_exec(const pcre *, const pcre_extra *,
395                      PCRE_SPTR16, int, int, int, int *, int , int *, int);
396  PCRE_EXP_DECL int  pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,  PCRE_EXP_DECL int  pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,
397                     int, int, int, int *, int);                     int, int, int, int *, int);
398    PCRE_EXP_DECL int  pcre16_exec(const pcre *, const pcre_extra *, PCRE_SPTR16,
399                       int, int, int, int *, int);
400  PCRE_EXP_DECL void pcre_free_substring(const char *);  PCRE_EXP_DECL void pcre_free_substring(const char *);
401    PCRE_EXP_DECL void pcre16_free_substring(PCRE_SPTR16);
402  PCRE_EXP_DECL void pcre_free_substring_list(const char **);  PCRE_EXP_DECL void pcre_free_substring_list(const char **);
403    PCRE_EXP_DECL void pcre16_free_substring_list(PCRE_SPTR16 *);
404  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,
405                    void *);                    void *);
406    PCRE_EXP_DECL int  pcre16_fullinfo(const pcre *, const pcre_extra *, int,
407                      void *);
408  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,
409                    int *, int, const char *, const char **);                    int *, int, const char *, const char **);
410    PCRE_EXP_DECL int  pcre16_get_named_substring(const pcre *, PCRE_SPTR16,
411                      int *, int, PCRE_SPTR16, PCRE_SPTR16 *);
412  PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);  PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);
413    PCRE_EXP_DECL int  pcre16_get_stringnumber(const pcre *, PCRE_SPTR16);
414  PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,
415                    char **, char **);                    char **, char **);
416    PCRE_EXP_DECL int  pcre16_get_stringtable_entries(const pcre *, PCRE_SPTR16,
417                      PCRE_SCHAR16 **, PCRE_SCHAR16 **);
418  PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,  PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,
419                    const char **);                    const char **);
420    PCRE_EXP_DECL int  pcre16_get_substring(PCRE_SPTR16, int *, int, int,
421                      PCRE_SPTR16 *);
422  PCRE_EXP_DECL int  pcre_get_substring_list(const char *, int *, int,  PCRE_EXP_DECL int  pcre_get_substring_list(const char *, int *, int,
423                    const char ***);                    const char ***);
424    PCRE_EXP_DECL int  pcre16_get_substring_list(PCRE_SPTR16, int *, int,
425                      PCRE_SPTR16 **);
426  PCRE_EXP_DECL int  pcre_info(const pcre *, int *, int *);  PCRE_EXP_DECL int  pcre_info(const pcre *, int *, int *);
427    PCRE_EXP_DECL int  pcre16_info(const pcre *, int *, int *);
428  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
429    PCRE_EXP_DECL const unsigned char *pcre16_maketables(void);
430  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
431    PCRE_EXP_DECL int  pcre16_refcount(pcre *, int);
432  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
433    PCRE_EXP_DECL pcre_extra *pcre16_study(const pcre *, int, const char **);
434    PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
435    PCRE_EXP_DECL void pcre16_free_study(pcre_extra *);
436  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
437    PCRE_EXP_DECL const char *pcre16_version(void);
438    
439    /* Utility functions for byte order swaps. */
440    PCRE_EXP_DECL int  pcre_pattern_to_host_byte_order(pcre *, pcre_extra *,
441                      const unsigned char *);
442    PCRE_EXP_DECL int  pcre16_pattern_to_host_byte_order(pcre *, pcre_extra *,
443                      const unsigned char *);
444    PCRE_EXP_DECL int  pcre16_utf16_to_host_byte_order(PCRE_SCHAR16 *,
445                      PCRE_SPTR16, int, int *, int);
446    
447    /* JIT compiler related functions. */
448    
449    PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);
450    PCRE_EXP_DECL pcre_jit_stack *pcre16_jit_stack_alloc(int, int);
451    PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);
452    PCRE_EXP_DECL void pcre16_jit_stack_free(pcre_jit_stack *);
453    PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *,
454                      pcre_jit_callback, void *);
455    PCRE_EXP_DECL void pcre16_assign_jit_stack(pcre_extra *,
456                      pcre_jit_callback, void *);
457    
458  #ifdef __cplusplus  #ifdef __cplusplus
459  }  /* extern "C" */  }  /* extern "C" */

Legend:
Removed from v.427  
changed lines
  Added in v.836

  ViewVC Help
Powered by ViewVC 1.1.5