/[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 654 by ph10, Tue Aug 2 11:00:40 2011 UTC revision 780 by ph10, Fri Dec 2 11:39:21 2011 UTC
# Line 98  extern "C" { Line 98  extern "C" {
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. In the comments
102    below, "compile", "exec", and "DFA exec" mean that the option is permitted to
103    be set for those functions; "used in" means that an option may be set only for
104    compile, but is subsequently referenced in exec and/or DFA exec. Any of the
105    compile-time options may be inspected during studying (and therefore JIT
106    compiling). */
107    
108  #define PCRE_CASELESS           0x00000001  /* Compile */  #define PCRE_CASELESS           0x00000001  /* Compile */
109  #define PCRE_MULTILINE          0x00000002  /* Compile */  #define PCRE_MULTILINE          0x00000002  /* Compile */
110  #define PCRE_DOTALL             0x00000004  /* Compile */  #define PCRE_DOTALL             0x00000004  /* Compile */
111  #define PCRE_EXTENDED           0x00000008  /* Compile */  #define PCRE_EXTENDED           0x00000008  /* Compile */
112  #define PCRE_ANCHORED           0x00000010  /* Compile, exec, DFA exec */  #define PCRE_ANCHORED           0x00000010  /* Compile, exec, DFA exec */
113  #define PCRE_DOLLAR_ENDONLY     0x00000020  /* Compile */  #define PCRE_DOLLAR_ENDONLY     0x00000020  /* Compile, used in exec, DFA exec */
114  #define PCRE_EXTRA              0x00000040  /* Compile */  #define PCRE_EXTRA              0x00000040  /* Compile */
115  #define PCRE_NOTBOL             0x00000080  /* Exec, DFA exec */  #define PCRE_NOTBOL             0x00000080  /* Exec, DFA exec */
116  #define PCRE_NOTEOL             0x00000100  /* Exec, DFA exec */  #define PCRE_NOTEOL             0x00000100  /* Exec, DFA exec */
117  #define PCRE_UNGREEDY           0x00000200  /* Compile */  #define PCRE_UNGREEDY           0x00000200  /* Compile */
118  #define PCRE_NOTEMPTY           0x00000400  /* Exec, DFA exec */  #define PCRE_NOTEMPTY           0x00000400  /* Exec, DFA exec */
119  #define PCRE_UTF8               0x00000800  /* Compile */  #define PCRE_UTF8               0x00000800  /* Compile, used in exec, DFA exec */
120  #define PCRE_NO_AUTO_CAPTURE    0x00001000  /* Compile */  #define PCRE_NO_AUTO_CAPTURE    0x00001000  /* Compile */
121  #define PCRE_NO_UTF8_CHECK      0x00002000  /* Compile, exec, DFA exec */  #define PCRE_NO_UTF8_CHECK      0x00002000  /* Compile, exec, DFA exec */
122  #define PCRE_AUTO_CALLOUT       0x00004000  /* Compile */  #define PCRE_AUTO_CALLOUT       0x00004000  /* Compile */
# Line 119  compile-time only bits for runtime optio Line 124  compile-time only bits for runtime optio
124  #define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */  #define PCRE_PARTIAL            0x00008000  /* Backwards compatible synonym */
125  #define PCRE_DFA_SHORTEST       0x00010000  /* DFA exec */  #define PCRE_DFA_SHORTEST       0x00010000  /* DFA exec */
126  #define PCRE_DFA_RESTART        0x00020000  /* DFA exec */  #define PCRE_DFA_RESTART        0x00020000  /* DFA exec */
127  #define PCRE_FIRSTLINE          0x00040000  /* Compile */  #define PCRE_FIRSTLINE          0x00040000  /* Compile, used in exec, DFA exec */
128  #define PCRE_DUPNAMES           0x00080000  /* Compile */  #define PCRE_DUPNAMES           0x00080000  /* Compile */
129  #define PCRE_NEWLINE_CR         0x00100000  /* Compile, exec, DFA exec */  #define PCRE_NEWLINE_CR         0x00100000  /* Compile, exec, DFA exec */
130  #define PCRE_NEWLINE_LF         0x00200000  /* Compile, exec, DFA exec */  #define PCRE_NEWLINE_LF         0x00200000  /* Compile, exec, DFA exec */
# Line 128  compile-time only bits for runtime optio Line 133  compile-time only bits for runtime optio
133  #define PCRE_NEWLINE_ANYCRLF    0x00500000  /* Compile, exec, DFA exec */  #define PCRE_NEWLINE_ANYCRLF    0x00500000  /* Compile, exec, DFA exec */
134  #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */  #define PCRE_BSR_ANYCRLF        0x00800000  /* Compile, exec, DFA exec */
135  #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */  #define PCRE_BSR_UNICODE        0x01000000  /* Compile, exec, DFA exec */
136  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile */  #define PCRE_JAVASCRIPT_COMPAT  0x02000000  /* Compile, used in exec */
137  #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Compile, exec, DFA exec */  #define PCRE_NO_START_OPTIMIZE  0x04000000  /* Compile, exec, DFA exec */
138  #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */  #define PCRE_NO_START_OPTIMISE  0x04000000  /* Synonym */
139  #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */  #define PCRE_PARTIAL_HARD       0x08000000  /* Exec, DFA exec */
140  #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */  #define PCRE_NOTEMPTY_ATSTART   0x10000000  /* Exec, DFA exec */
141  #define PCRE_UCP                0x20000000  /* Compile */  #define PCRE_UCP                0x20000000  /* Compile, used in exec, DFA exec */
142    
143  /* Exec-time and get/set-time error codes */  /* Exec-time and get/set-time error codes */
144    
# Line 164  compile-time only bits for runtime optio Line 169  compile-time only bits for runtime optio
169  #define PCRE_ERROR_BADOFFSET      (-24)  #define PCRE_ERROR_BADOFFSET      (-24)
170  #define PCRE_ERROR_SHORTUTF8      (-25)  #define PCRE_ERROR_SHORTUTF8      (-25)
171  #define PCRE_ERROR_RECURSELOOP    (-26)  #define PCRE_ERROR_RECURSELOOP    (-26)
172    #define PCRE_ERROR_JIT_STACKLIMIT (-27)
173    
174  /* Specific error codes for UTF-8 validity checks */  /* Specific error codes for UTF-8 validity checks */
175    
# Line 209  compile-time only bits for runtime optio Line 215  compile-time only bits for runtime optio
215  #define PCRE_INFO_JCHANGED          13  #define PCRE_INFO_JCHANGED          13
216  #define PCRE_INFO_HASCRORLF         14  #define PCRE_INFO_HASCRORLF         14
217  #define PCRE_INFO_MINLENGTH         15  #define PCRE_INFO_MINLENGTH         15
218    #define PCRE_INFO_JIT               16
219    #define PCRE_INFO_JITSIZE           17
220    
221  /* 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
222  compatible. */  compatible. */
# Line 222  compatible. */ Line 230  compatible. */
230  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
231  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
232  #define PCRE_CONFIG_BSR                     8  #define PCRE_CONFIG_BSR                     8
233    #define PCRE_CONFIG_JIT                     9
234    
235    /* Request types for pcre_study(). Do not re-arrange, in order to remain
236    compatible. */
237    
238    #define PCRE_STUDY_JIT_COMPILE            0x0001
239    
240  /* 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
241  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 232  these bits, just add new ones on the end Line 246  these bits, just add new ones on the end
246  #define PCRE_EXTRA_TABLES                 0x0008  #define PCRE_EXTRA_TABLES                 0x0008
247  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010  #define PCRE_EXTRA_MATCH_LIMIT_RECURSION  0x0010
248  #define PCRE_EXTRA_MARK                   0x0020  #define PCRE_EXTRA_MARK                   0x0020
249    #define PCRE_EXTRA_EXECUTABLE_JIT         0x0040
250    
251  /* Types */  /* Types */
252    
253  struct real_pcre;                 /* declaration; the definition is private  */  struct real_pcre;                 /* declaration; the definition is private  */
254  typedef struct real_pcre pcre;  typedef struct real_pcre pcre;
255    
256    struct real_pcre_jit_stack;       /* declaration; the definition is private  */
257    typedef struct real_pcre_jit_stack pcre_jit_stack;
258    
259  /* 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
260  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
261  const char *. */  const char *. */
# Line 258  typedef struct pcre_extra { Line 276  typedef struct pcre_extra {
276    const unsigned char *tables;    /* Pointer to character tables */    const unsigned char *tables;    /* Pointer to character tables */
277    unsigned long int match_limit_recursion; /* Max recursive calls to match() */    unsigned long int match_limit_recursion; /* Max recursive calls to match() */
278    unsigned char **mark;           /* For passing back a mark pointer */    unsigned char **mark;           /* For passing back a mark pointer */
279      void *executable_jit;           /* Contains a pointer to a compiled jit code */
280  } pcre_extra;  } pcre_extra;
281    
282  /* 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 305  PCRE_EXP_DECL void  pcre_stack_free(void Line 324  PCRE_EXP_DECL void  pcre_stack_free(void
324  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
325  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
326    
327    /* User defined callback which provides a stack just before the match starts. */
328    
329    typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
330    
331  /* Exported PCRE functions */  /* Exported PCRE functions */
332    
333  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 337  PCRE_EXP_DECL int  pcre_info(const pcre Line 360  PCRE_EXP_DECL int  pcre_info(const pcre
360  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
361  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
362  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
363    PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
364  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
365    
366    /* JIT compiler related functions. */
367    
368    PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);
369    PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);
370    PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *, pcre_jit_callback, void *);
371    
372  #ifdef __cplusplus  #ifdef __cplusplus
373  }  /* extern "C" */  }  /* extern "C" */
374  #endif  #endif

Legend:
Removed from v.654  
changed lines
  Added in v.780

  ViewVC Help
Powered by ViewVC 1.1.5