/[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 841 by zherczeg, Sat Dec 31 07:04:43 2011 UTC revision 932 by ph10, Fri Feb 24 18:54:43 2012 UTC
# Line 234  compiling). */ Line 234  compiling). */
234  #define PCRE_INFO_MINLENGTH         15  #define PCRE_INFO_MINLENGTH         15
235  #define PCRE_INFO_JIT               16  #define PCRE_INFO_JIT               16
236  #define PCRE_INFO_JITSIZE           17  #define PCRE_INFO_JITSIZE           17
237    #define PCRE_INFO_MAXLOOKBEHIND     18
238    
239  /* 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
240  compatible. */  compatible. */
# Line 249  compatible. */ Line 250  compatible. */
250  #define PCRE_CONFIG_BSR                     8  #define PCRE_CONFIG_BSR                     8
251  #define PCRE_CONFIG_JIT                     9  #define PCRE_CONFIG_JIT                     9
252  #define PCRE_CONFIG_UTF16                  10  #define PCRE_CONFIG_UTF16                  10
253    #define PCRE_CONFIG_JITTARGET              11
254    
255  /* Request types for pcre_study(). Do not re-arrange, in order to remain  /* Request types for pcre_study(). Do not re-arrange, in order to remain
256  compatible. */  compatible. */
257    
258  #define PCRE_STUDY_JIT_COMPILE            0x0001  #define PCRE_STUDY_JIT_COMPILE                0x0001
259    #define PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE   0x0002
260    #define PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE   0x0004
261    
262  /* Bit flags for the pcre_extra structure. Do not re-arrange or redefine  /* Bit flags for the pcre[16]_extra structure. Do not re-arrange or redefine
263  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. */
264    
265  #define PCRE_EXTRA_STUDY_DATA             0x0001  #define PCRE_EXTRA_STUDY_DATA             0x0001
# Line 271  these bits, just add new ones on the end Line 275  these bits, just add new ones on the end
275  struct real_pcre;                 /* declaration; the definition is private  */  struct real_pcre;                 /* declaration; the definition is private  */
276  typedef struct real_pcre pcre;  typedef struct real_pcre pcre;
277    
278    struct real_pcre16;               /* declaration; the definition is private  */
279    typedef struct real_pcre16 pcre16;
280    
281  struct real_pcre_jit_stack;       /* declaration; the definition is private  */  struct real_pcre_jit_stack;       /* declaration; the definition is private  */
282  typedef struct real_pcre_jit_stack pcre_jit_stack;  typedef struct real_pcre_jit_stack pcre_jit_stack;
283    
284  /* If PCRE is compiled with 16 bit character support, PCRE_SCHAR16 must contain  struct real_pcre16_jit_stack;     /* declaration; the definition is private  */
285    typedef struct real_pcre16_jit_stack pcre16_jit_stack;
286    
287    /* If PCRE is compiled with 16 bit character support, PCRE_UCHAR16 must contain
288  a 16 bit wide signed data type. Otherwise it can be a dummy data type since  a 16 bit wide signed data type. Otherwise it can be a dummy data type since
289  pcre16 functions are not implemented. There is a check for this in pcre_internal.h. */  pcre16 functions are not implemented. There is a check for this in pcre_internal.h. */
290  #ifndef PCRE_SCHAR16  #ifndef PCRE_UCHAR16
291  #define PCRE_SCHAR16 unsigned short  #define PCRE_UCHAR16 unsigned short
292  #endif  #endif
293    
294  #ifndef PCRE_SPTR16  #ifndef PCRE_SPTR16
295  #define PCRE_SPTR16 const PCRE_SCHAR16 *  #define PCRE_SPTR16 const PCRE_UCHAR16 *
296  #endif  #endif
297    
298  /* 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
# Line 308  typedef struct pcre_extra { Line 318  typedef struct pcre_extra {
318    void *executable_jit;           /* Contains a pointer to a compiled jit code */    void *executable_jit;           /* Contains a pointer to a compiled jit code */
319  } pcre_extra;  } pcre_extra;
320    
321    /* Same structure as above, but with 16 bit char pointers. */
322    
323    typedef struct pcre16_extra {
324      unsigned long int flags;        /* Bits for which fields are set */
325      void *study_data;               /* Opaque data from pcre_study() */
326      unsigned long int match_limit;  /* Maximum number of calls to match() */
327      void *callout_data;             /* Data passed back in callouts */
328      const unsigned char *tables;    /* Pointer to character tables */
329      unsigned long int match_limit_recursion; /* Max recursive calls to match() */
330      PCRE_UCHAR16 **mark;            /* For passing back a mark pointer */
331      void *executable_jit;           /* Contains a pointer to a compiled jit code */
332    } pcre16_extra;
333    
334  /* 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
335  structure so that new fields can be added on the end in future versions,  structure so that new fields can be added on the end in future versions,
336  without changing the API of the function, thereby allowing old clients to work  without changing the API of the function, thereby allowing old clients to work
# Line 329  typedef struct pcre_callout_block { Line 352  typedef struct pcre_callout_block {
352    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
353    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
354    /* ------------------- Added for Version 2 -------------------------- */    /* ------------------- Added for Version 2 -------------------------- */
355    const void  *mark;              /* Pointer to current mark or NULL    */    const unsigned char *mark;      /* Pointer to current mark or NULL    */
356    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
357  } pcre_callout_block;  } pcre_callout_block;
358    
359    /* Same structure as above, but with 16 bit char pointers. */
360    
361    typedef struct pcre16_callout_block {
362      int          version;           /* Identifies version of block */
363      /* ------------------------ Version 0 ------------------------------- */
364      int          callout_number;    /* Number compiled into pattern */
365      int         *offset_vector;     /* The offset vector */
366      PCRE_SPTR16  subject;           /* The subject being matched */
367      int          subject_length;    /* The length of the subject */
368      int          start_match;       /* Offset to start of this match attempt */
369      int          current_position;  /* Where we currently are in the subject */
370      int          capture_top;       /* Max current capture */
371      int          capture_last;      /* Most recently closed capture */
372      void        *callout_data;      /* Data passed in with the call */
373      /* ------------------- Added for Version 1 -------------------------- */
374      int          pattern_position;  /* Offset to next item in the pattern */
375      int          next_item_length;  /* Length of next item in the pattern */
376      /* ------------------- Added for Version 2 -------------------------- */
377      const PCRE_UCHAR16 *mark;       /* Pointer to current mark or NULL    */
378      /* ------------------------------------------------------------------ */
379    } pcre16_callout_block;
380    
381  /* Indirection for store get and free functions. These can be set to  /* Indirection for store get and free functions. These can be set to
382  alternative malloc/free functions if required. Special ones are used in the  alternative malloc/free functions if required. Special ones are used in the
383  non-recursive case for "frames". There is also an optional callout function  non-recursive case for "frames". There is also an optional callout function
# Line 350  PCRE_EXP_DECL void *(*pcre16_malloc)(siz Line 395  PCRE_EXP_DECL void *(*pcre16_malloc)(siz
395  PCRE_EXP_DECL void  (*pcre16_free)(void *);  PCRE_EXP_DECL void  (*pcre16_free)(void *);
396  PCRE_EXP_DECL void *(*pcre16_stack_malloc)(size_t);  PCRE_EXP_DECL void *(*pcre16_stack_malloc)(size_t);
397  PCRE_EXP_DECL void  (*pcre16_stack_free)(void *);  PCRE_EXP_DECL void  (*pcre16_stack_free)(void *);
398  PCRE_EXP_DECL int   (*pcre16_callout)(pcre_callout_block *);  PCRE_EXP_DECL int   (*pcre16_callout)(pcre16_callout_block *);
399  #else   /* VPCOMPAT */  #else   /* VPCOMPAT */
400  PCRE_EXP_DECL void *pcre_malloc(size_t);  PCRE_EXP_DECL void *pcre_malloc(size_t);
401  PCRE_EXP_DECL void  pcre_free(void *);  PCRE_EXP_DECL void  pcre_free(void *);
# Line 362  PCRE_EXP_DECL void *pcre16_malloc(size_t Line 407  PCRE_EXP_DECL void *pcre16_malloc(size_t
407  PCRE_EXP_DECL void  pcre16_free(void *);  PCRE_EXP_DECL void  pcre16_free(void *);
408  PCRE_EXP_DECL void *pcre16_stack_malloc(size_t);  PCRE_EXP_DECL void *pcre16_stack_malloc(size_t);
409  PCRE_EXP_DECL void  pcre16_stack_free(void *);  PCRE_EXP_DECL void  pcre16_stack_free(void *);
410  PCRE_EXP_DECL int   pcre16_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre16_callout(pcre16_callout_block *);
411  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
412    
413  /* User defined callback which provides a stack just before the match starts. */  /* User defined callback which provides a stack just before the match starts. */
414    
415  typedef pcre_jit_stack *(*pcre_jit_callback)(void *);  typedef pcre_jit_stack *(*pcre_jit_callback)(void *);
416    typedef pcre16_jit_stack *(*pcre16_jit_callback)(void *);
417    
418  /* Exported PCRE functions */  /* Exported PCRE functions */
419    
420  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,
421                    const unsigned char *);                    const unsigned char *);
422  PCRE_EXP_DECL pcre *pcre16_compile(PCRE_SPTR16, int, const char **, int *,  PCRE_EXP_DECL pcre16 *pcre16_compile(PCRE_SPTR16, int, const char **, int *,
423                    const unsigned char *);                    const unsigned char *);
424  PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,  PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,
425                    int *, const unsigned char *);                    int *, const unsigned char *);
426  PCRE_EXP_DECL pcre *pcre16_compile2(PCRE_SPTR16, int, int *, const char **,  PCRE_EXP_DECL pcre16 *pcre16_compile2(PCRE_SPTR16, int, int *, const char **,
427                    int *, const unsigned char *);                    int *, const unsigned char *);
428  PCRE_EXP_DECL int  pcre_config(int, void *);  PCRE_EXP_DECL int  pcre_config(int, void *);
429  PCRE_EXP_DECL int  pcre16_config(int, void *);  PCRE_EXP_DECL int  pcre16_config(int, void *);
430  PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,
431                    int *, int, const char *, char *, int);                    int *, int, const char *, char *, int);
432  PCRE_EXP_DECL int  pcre16_copy_named_substring(const pcre *, PCRE_SPTR16,  PCRE_EXP_DECL int  pcre16_copy_named_substring(const pcre16 *, PCRE_SPTR16,
433                    int *, int, PCRE_SPTR16, PCRE_SCHAR16 *, int);                    int *, int, PCRE_SPTR16, PCRE_UCHAR16 *, int);
434  PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int,  PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int,
435                    char *, int);                    char *, int);
436  PCRE_EXP_DECL int  pcre16_copy_substring(PCRE_SPTR16, int *, int, int,  PCRE_EXP_DECL int  pcre16_copy_substring(PCRE_SPTR16, int *, int, int,
437                    PCRE_SCHAR16 *, int);                    PCRE_UCHAR16 *, int);
438  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,
439                    const char *, int, int, int, int *, int , int *, int);                    const char *, int, int, int, int *, int , int *, int);
440  PCRE_EXP_DECL int  pcre16_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre16_dfa_exec(const pcre16 *, const pcre16_extra *,
441                    PCRE_SPTR16, int, int, int, int *, int , int *, int);                    PCRE_SPTR16, int, int, int, int *, int , int *, int);
442  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,
443                     int, int, int, int *, int);                     int, int, int, int *, int);
444  PCRE_EXP_DECL int  pcre16_exec(const pcre *, const pcre_extra *, PCRE_SPTR16,  PCRE_EXP_DECL int  pcre16_exec(const pcre16 *, const pcre16_extra *,
445                     int, int, int, int *, int);                     PCRE_SPTR16, int, int, int, int *, int);
446  PCRE_EXP_DECL void pcre_free_substring(const char *);  PCRE_EXP_DECL void pcre_free_substring(const char *);
447  PCRE_EXP_DECL void pcre16_free_substring(PCRE_SPTR16);  PCRE_EXP_DECL void pcre16_free_substring(PCRE_SPTR16);
448  PCRE_EXP_DECL void pcre_free_substring_list(const char **);  PCRE_EXP_DECL void pcre_free_substring_list(const char **);
449  PCRE_EXP_DECL void pcre16_free_substring_list(PCRE_SPTR16 *);  PCRE_EXP_DECL void pcre16_free_substring_list(PCRE_SPTR16 *);
450  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,
451                    void *);                    void *);
452  PCRE_EXP_DECL int  pcre16_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre16_fullinfo(const pcre16 *, const pcre16_extra *, int,
453                    void *);                    void *);
454  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,
455                    int *, int, const char *, const char **);                    int *, int, const char *, const char **);
456  PCRE_EXP_DECL int  pcre16_get_named_substring(const pcre *, PCRE_SPTR16,  PCRE_EXP_DECL int  pcre16_get_named_substring(const pcre16 *, PCRE_SPTR16,
457                    int *, int, PCRE_SPTR16, PCRE_SPTR16 *);                    int *, int, PCRE_SPTR16, PCRE_SPTR16 *);
458  PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);  PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);
459  PCRE_EXP_DECL int  pcre16_get_stringnumber(const pcre *, PCRE_SPTR16);  PCRE_EXP_DECL int  pcre16_get_stringnumber(const pcre16 *, PCRE_SPTR16);
460  PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,
461                    char **, char **);                    char **, char **);
462  PCRE_EXP_DECL int  pcre16_get_stringtable_entries(const pcre *, PCRE_SPTR16,  PCRE_EXP_DECL int  pcre16_get_stringtable_entries(const pcre16 *, PCRE_SPTR16,
463                    PCRE_SCHAR16 **, PCRE_SCHAR16 **);                    PCRE_UCHAR16 **, PCRE_UCHAR16 **);
464  PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,  PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,
465                    const char **);                    const char **);
466  PCRE_EXP_DECL int  pcre16_get_substring(PCRE_SPTR16, int *, int, int,  PCRE_EXP_DECL int  pcre16_get_substring(PCRE_SPTR16, int *, int, int,
# Line 423  PCRE_EXP_DECL int  pcre_get_substring_li Line 469  PCRE_EXP_DECL int  pcre_get_substring_li
469                    const char ***);                    const char ***);
470  PCRE_EXP_DECL int  pcre16_get_substring_list(PCRE_SPTR16, int *, int,  PCRE_EXP_DECL int  pcre16_get_substring_list(PCRE_SPTR16, int *, int,
471                    PCRE_SPTR16 **);                    PCRE_SPTR16 **);
 PCRE_EXP_DECL int  pcre_info(const pcre *, int *, int *);  
 PCRE_EXP_DECL int  pcre16_info(const pcre *, int *, int *);  
472  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
473  PCRE_EXP_DECL const unsigned char *pcre16_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre16_maketables(void);
474  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
475  PCRE_EXP_DECL int  pcre16_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre16_refcount(pcre16 *, int);
476  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
477  PCRE_EXP_DECL pcre_extra *pcre16_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre16_extra *pcre16_study(const pcre16 *, int, const char **);
478  PCRE_EXP_DECL void pcre_free_study(pcre_extra *);  PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
479  PCRE_EXP_DECL void pcre16_free_study(pcre_extra *);  PCRE_EXP_DECL void pcre16_free_study(pcre16_extra *);
480  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
481  PCRE_EXP_DECL const char *pcre16_version(void);  PCRE_EXP_DECL const char *pcre16_version(void);
482    
483  /* Utility functions for byte order swaps. */  /* Utility functions for byte order swaps. */
484  PCRE_EXP_DECL int  pcre_pattern_to_host_byte_order(pcre *, pcre_extra *,  PCRE_EXP_DECL int  pcre_pattern_to_host_byte_order(pcre *, pcre_extra *,
485                    const unsigned char *);                    const unsigned char *);
486  PCRE_EXP_DECL int  pcre16_pattern_to_host_byte_order(pcre *, pcre_extra *,  PCRE_EXP_DECL int  pcre16_pattern_to_host_byte_order(pcre16 *, pcre16_extra *,
487                    const unsigned char *);                    const unsigned char *);
488  PCRE_EXP_DECL int  pcre16_utf16_to_host_byte_order(PCRE_SCHAR16 *,  PCRE_EXP_DECL int  pcre16_utf16_to_host_byte_order(PCRE_UCHAR16 *,
489                    PCRE_SPTR16, int, int *, int);                    PCRE_SPTR16, int, int *, int);
490    
491  /* JIT compiler related functions. */  /* JIT compiler related functions. */
492    
493  PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);  PCRE_EXP_DECL pcre_jit_stack *pcre_jit_stack_alloc(int, int);
494  PCRE_EXP_DECL pcre_jit_stack *pcre16_jit_stack_alloc(int, int);  PCRE_EXP_DECL pcre16_jit_stack *pcre16_jit_stack_alloc(int, int);
495  PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);  PCRE_EXP_DECL void pcre_jit_stack_free(pcre_jit_stack *);
496  PCRE_EXP_DECL void pcre16_jit_stack_free(pcre_jit_stack *);  PCRE_EXP_DECL void pcre16_jit_stack_free(pcre16_jit_stack *);
497  PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *,  PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *,
498                    pcre_jit_callback, void *);                    pcre_jit_callback, void *);
499  PCRE_EXP_DECL void pcre16_assign_jit_stack(pcre_extra *,  PCRE_EXP_DECL void pcre16_assign_jit_stack(pcre16_extra *,
500                    pcre_jit_callback, void *);                    pcre16_jit_callback, void *);
501    
502  #ifdef __cplusplus  #ifdef __cplusplus
503  }  /* extern "C" */  }  /* extern "C" */

Legend:
Removed from v.841  
changed lines
  Added in v.932

  ViewVC Help
Powered by ViewVC 1.1.5