/[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 675 by ph10, Sat Aug 27 10:18:46 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    
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 181  compile-time only bits for runtime optio Line 209  compile-time only bits for runtime optio
209  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
210  #define PCRE_INFO_HASCRORLF         14  #define PCRE_INFO_HASCRORLF         14
211  #define PCRE_INFO_MINLENGTH         15  #define PCRE_INFO_MINLENGTH         15
212    #define PCRE_INFO_JIT               16
213    
214  /* 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
215  compatible. */  compatible. */
# Line 194  compatible. */ Line 223  compatible. */
223  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
224  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
225  #define PCRE_CONFIG_BSR                     8  #define PCRE_CONFIG_BSR                     8
226    #define PCRE_CONFIG_JIT                     9
227    
228    /* Request types for pcre_study(). Do not re-arrange, in order to remain
229    compatible. */
230    
231    #define PCRE_STUDY_JIT_COMPILE            0x0001
232    
233  /* 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
234  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 239  these bits, just add new ones on the end
239  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
240  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
241  #define PCRE_EXTRA_MARK                   0x0020  #define PCRE_EXTRA_MARK                   0x0020
242    #define PCRE_EXTRA_EXECUTABLE_JIT         0x0040
243    
244  /* Types */  /* Types */
245    
246  struct real_pcre;                 /* declaration; the definition is private  */  struct real_pcre;                 /* declaration; the definition is private  */
247  typedef struct real_pcre pcre;  typedef struct real_pcre pcre;
248    
249    struct real_pcre_jit_stack;       /* declaration; the definition is private  */
250    typedef struct real_pcre_jit_stack pcre_jit_stack;
251    
252  /* 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
253  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
254  const char *. */  const char *. */
# Line 230  typedef struct pcre_extra { Line 269  typedef struct pcre_extra {
269    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
270    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
271    unsigned char **mark;           /* For passing back a mark pointer */    unsigned char **mark;           /* For passing back a mark pointer */
272      void *executable_jit;           /* Contains a pointer to a compiled jit code */
273  } pcre_extra;  } pcre_extra;
274    
275  /* 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 292  typedef struct pcre_callout_block {
292    /* ------------------- Added for Version 1 -------------------------- */    /* ------------------- Added for Version 1 -------------------------- */
293    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
294    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
295      /* ------------------- Added for Version 2 -------------------------- */
296      const unsigned char *mark;      /* Pointer to current mark or NULL    */
297    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
298  } pcre_callout_block;  } pcre_callout_block;
299    
# Line 275  PCRE_EXP_DECL void  pcre_stack_free(void Line 317  PCRE_EXP_DECL void  pcre_stack_free(void
317  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
318  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
319    
320    /* User defined callback which provides a stack just before the match starts. */
321    
322    typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
323    
324  /* Exported PCRE functions */  /* Exported PCRE functions */
325    
326  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 353  PCRE_EXP_DECL int  pcre_info(const pcre
353  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
354  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
355  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
356    PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
357  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
358    
359    /* JIT compiler related functions. */
360    
361    PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);
362    PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);
363    PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *, pcre_jit_callback, void *);
364    
365  #ifdef __cplusplus  #ifdef __cplusplus
366  }  /* extern "C" */  }  /* extern "C" */
367  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.5