/[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 553 by ph10, Fri Oct 22 15:57:50 2010 UTC revision 835 by ph10, Wed Dec 28 16:10:09 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-2010 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 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. However, almost all the bits in the options  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  word are now used. In the long run, we may have to re-use some of the
101  compile-time only bits for runtime options, or vice versa. */  compile-time only bits for runtime options, or vice versa. */
102    
# Line 129  compile-time only bits for runtime optio Line 129  compile-time only bits for runtime optio
129  #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */  #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */
130  #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */  #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */
131  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile */  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile */
132  #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Exec, DFA exec */  #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Compile, exec, DFA exec */
133  #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */  #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */
134  #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */  #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */
135  #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */  #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */
# Line 161  compile-time only bits for runtime optio Line 161  compile-time only bits for runtime optio
161  #define PCRE_ERROR_RECURSIONLIMIT (-21)  #define PCRE_ERROR_RECURSIONLIMIT (-21)
162  #define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */  #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    #define PCRE_ERROR_JIT_STACKLIMIT (-27)
168    
169    /* Specific error codes for UTF-8 validity checks */
170    
171    #define PCRE_UTF8_ERR0               0
172    #define PCRE_UTF8_ERR1               1
173    #define PCRE_UTF8_ERR2               2
174    #define PCRE_UTF8_ERR3               3
175    #define PCRE_UTF8_ERR4               4
176    #define PCRE_UTF8_ERR5               5
177    #define PCRE_UTF8_ERR6               6
178    #define PCRE_UTF8_ERR7               7
179    #define PCRE_UTF8_ERR8               8
180    #define PCRE_UTF8_ERR9               9
181    #define PCRE_UTF8_ERR10             10
182    #define PCRE_UTF8_ERR11             11
183    #define PCRE_UTF8_ERR12             12
184    #define PCRE_UTF8_ERR13             13
185    #define PCRE_UTF8_ERR14             14
186    #define PCRE_UTF8_ERR15             15
187    #define PCRE_UTF8_ERR16             16
188    #define PCRE_UTF8_ERR17             17
189    #define PCRE_UTF8_ERR18             18
190    #define PCRE_UTF8_ERR19             19
191    #define PCRE_UTF8_ERR20             20
192    #define PCRE_UTF8_ERR21             21
193    
194  /* Request types for pcre_fullinfo() */  /* Request types for pcre_fullinfo() */
195    
# Line 181  compile-time only bits for runtime optio Line 210  compile-time only bits for runtime optio
210  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
211  #define PCRE_INFO_HASCRORLF         14  #define PCRE_INFO_HASCRORLF         14
212  #define PCRE_INFO_MINLENGTH         15  #define PCRE_INFO_MINLENGTH         15
213    #define PCRE_INFO_JIT               16
214    
215  /* 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
216  compatible. */  compatible. */
# Line 194  compatible. */ Line 224  compatible. */
224  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
225  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
226  #define PCRE_CONFIG_BSR                     8  #define PCRE_CONFIG_BSR                     8
227    #define PCRE_CONFIG_JIT                     9
228    
229    /* Request types for pcre_study(). Do not re-arrange, in order to remain
230    compatible. */
231    
232    #define PCRE_STUDY_JIT_COMPILE            0x0001
233    
234  /* 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
235  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 204  these bits, just add new ones on the end Line 240  these bits, just add new ones on the end
240  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
241  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
242  #define PCRE_EXTRA_MARK                   0x0020  #define PCRE_EXTRA_MARK                   0x0020
243    #define PCRE_EXTRA_EXECUTABLE_JIT         0x0040
244    
245  /* Types */  /* Types */
246    
247  struct real_pcre;                 /* declaration; the definition is private  */  struct real_pcre;                 /* declaration; the definition is private  */
248  typedef struct real_pcre pcre;  typedef struct real_pcre pcre;
249    
250    struct real_pcre_jit_stack;       /* declaration; the definition is private  */
251    typedef struct real_pcre_jit_stack pcre_jit_stack;
252    
253  /* 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
254  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
255  const char *. */  const char *. */
# Line 230  typedef struct pcre_extra { Line 270  typedef struct pcre_extra {
270    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
271    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
272    unsigned char **mark;           /* For passing back a mark pointer */    unsigned char **mark;           /* For passing back a mark pointer */
273      void *executable_jit;           /* Contains a pointer to a compiled jit code */
274  } pcre_extra;  } pcre_extra;
275    
276  /* 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 252  typedef struct pcre_callout_block { Line 293  typedef struct pcre_callout_block {
293    /* ------------------- Added for Version 1 -------------------------- */    /* ------------------- Added for Version 1 -------------------------- */
294    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
295    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
296      /* ------------------- Added for Version 2 -------------------------- */
297      const unsigned char *mark;      /* Pointer to current mark or NULL    */
298    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
299  } pcre_callout_block;  } pcre_callout_block;
300    
# Line 275  PCRE_EXP_DECL void  pcre_stack_free(void Line 318  PCRE_EXP_DECL void  pcre_stack_free(void
318  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
319  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
320    
321    /* User defined callback which provides a stack just before the match starts. */
322    
323    typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
324    
325  /* Exported PCRE functions */  /* Exported PCRE functions */
326    
327  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,
# Line 307  PCRE_EXP_DECL int  pcre_info(const pcre Line 354  PCRE_EXP_DECL int  pcre_info(const pcre
354  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
355  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
356  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
357    PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
358  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
359    
360    /* JIT compiler related functions. */
361    
362    PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);
363    PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);
364    PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *, pcre_jit_callback, void *);
365    
366  #ifdef __cplusplus  #ifdef __cplusplus
367  }  /* extern "C" */  }  /* extern "C" */
368  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.5