/[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 849 by ph10, Sun Jan 1 15:53:39 2012 UTC revision 850 by zherczeg, Wed Jan 4 17:29:11 2012 UTC
# Line 255  compatible. */ Line 255  compatible. */
255    
256  #define PCRE_STUDY_JIT_COMPILE            0x0001  #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[16]_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. */
260    
261  #define PCRE_EXTRA_STUDY_DATA             0x0001  #define PCRE_EXTRA_STUDY_DATA             0x0001
# Line 308  typedef struct pcre_extra { Line 308  typedef struct pcre_extra {
308    void *executable_jit;           /* Contains a pointer to a compiled jit code */    void *executable_jit;           /* Contains a pointer to a compiled jit code */
309  } pcre_extra;  } pcre_extra;
310    
311    /* Same structure as above, but with 16 bit char pointers. */
312    
313    typedef struct pcre16_extra {
314      unsigned long int flags;        /* Bits for which fields are set */
315      void *study_data;               /* Opaque data from pcre_study() */
316      unsigned long int match_limit;  /* Maximum number of calls to match() */
317      void *callout_data;             /* Data passed back in callouts */
318      const unsigned char *tables;    /* Pointer to character tables */
319      unsigned long int match_limit_recursion; /* Max recursive calls to match() */
320      PCRE_SCHAR16 **mark;            /* For passing back a mark pointer */
321      void *executable_jit;           /* Contains a pointer to a compiled jit code */
322    } pcre16_extra;
323    
324  /* 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
325  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,
326  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 342  typedef struct pcre_callout_block {
342    int          pattern_position;  /* Offset to next item in the pattern */    int          pattern_position;  /* Offset to next item in the pattern */
343    int          next_item_length;  /* Length of next item in the pattern */    int          next_item_length;  /* Length of next item in the pattern */
344    /* ------------------- Added for Version 2 -------------------------- */    /* ------------------- Added for Version 2 -------------------------- */
345    const void  *mark;              /* Pointer to current mark or NULL    */    const unsigned char *mark;      /* Pointer to current mark or NULL    */
346    /* ------------------------------------------------------------------ */    /* ------------------------------------------------------------------ */
347  } pcre_callout_block;  } pcre_callout_block;
348    
349    /* Same structure as above, but with 16 bit char pointers. */
350    
351    typedef struct pcre16_callout_block {
352      int          version;           /* Identifies version of block */
353      /* ------------------------ Version 0 ------------------------------- */
354      int          callout_number;    /* Number compiled into pattern */
355      int         *offset_vector;     /* The offset vector */
356      PCRE_SPTR    subject;           /* The subject being matched */
357      int          subject_length;    /* The length of the subject */
358      int          start_match;       /* Offset to start of this match attempt */
359      int          current_position;  /* Where we currently are in the subject */
360      int          capture_top;       /* Max current capture */
361      int          capture_last;      /* Most recently closed capture */
362      void        *callout_data;      /* Data passed in with the call */
363      /* ------------------- Added for Version 1 -------------------------- */
364      int          pattern_position;  /* Offset to next item in the pattern */
365      int          next_item_length;  /* Length of next item in the pattern */
366      /* ------------------- Added for Version 2 -------------------------- */
367      const PCRE_SCHAR16 *mark;       /* Pointer to current mark or NULL    */
368      /* ------------------------------------------------------------------ */
369    } pcre16_callout_block;
370    
371  /* Indirection for store get and free functions. These can be set to  /* Indirection for store get and free functions. These can be set to
372  alternative malloc/free functions if required. Special ones are used in the  alternative malloc/free functions if required. Special ones are used in the
373  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 385  PCRE_EXP_DECL void *(*pcre16_malloc)(siz
385  PCRE_EXP_DECL void  (*pcre16_free)(void *);  PCRE_EXP_DECL void  (*pcre16_free)(void *);
386  PCRE_EXP_DECL void *(*pcre16_stack_malloc)(size_t);  PCRE_EXP_DECL void *(*pcre16_stack_malloc)(size_t);
387  PCRE_EXP_DECL void  (*pcre16_stack_free)(void *);  PCRE_EXP_DECL void  (*pcre16_stack_free)(void *);
388  PCRE_EXP_DECL int   (*pcre16_callout)(pcre_callout_block *);  PCRE_EXP_DECL int   (*pcre16_callout)(pcre16_callout_block *);
389  #else   /* VPCOMPAT */  #else   /* VPCOMPAT */
390  PCRE_EXP_DECL void *pcre_malloc(size_t);  PCRE_EXP_DECL void *pcre_malloc(size_t);
391  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 397  PCRE_EXP_DECL void *pcre16_malloc(size_t
397  PCRE_EXP_DECL void  pcre16_free(void *);  PCRE_EXP_DECL void  pcre16_free(void *);
398  PCRE_EXP_DECL void *pcre16_stack_malloc(size_t);  PCRE_EXP_DECL void *pcre16_stack_malloc(size_t);
399  PCRE_EXP_DECL void  pcre16_stack_free(void *);  PCRE_EXP_DECL void  pcre16_stack_free(void *);
400  PCRE_EXP_DECL int   pcre16_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre16_callout(pcre16_callout_block *);
401  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
402    
403  /* User defined callback which provides a stack just before the match starts. */  /* User defined callback which provides a stack just before the match starts. */
# Line 391  PCRE_EXP_DECL int pcre16_copy_substring Line 426  PCRE_EXP_DECL int pcre16_copy_substring
426                    PCRE_SCHAR16 *, int);                    PCRE_SCHAR16 *, int);
427  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,
428                    const char *, int, int, int, int *, int , int *, int);                    const char *, int, int, int, int *, int , int *, int);
429  PCRE_EXP_DECL int  pcre16_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre16_dfa_exec(const pcre *, const pcre16_extra *,
430                    PCRE_SPTR16, int, int, int, int *, int , int *, int);                    PCRE_SPTR16, int, int, int, int *, int , int *, int);
431  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,
432                     int, int, int, int *, int);                     int, int, int, int *, int);
433  PCRE_EXP_DECL int  pcre16_exec(const pcre *, const pcre_extra *, PCRE_SPTR16,  PCRE_EXP_DECL int  pcre16_exec(const pcre *, const pcre16_extra *, PCRE_SPTR16,
434                     int, int, int, int *, int);                     int, int, int, int *, int);
435  PCRE_EXP_DECL void pcre_free_substring(const char *);  PCRE_EXP_DECL void pcre_free_substring(const char *);
436  PCRE_EXP_DECL void pcre16_free_substring(PCRE_SPTR16);  PCRE_EXP_DECL void pcre16_free_substring(PCRE_SPTR16);
# Line 403  PCRE_EXP_DECL void pcre_free_substring_l Line 438  PCRE_EXP_DECL void pcre_free_substring_l
438  PCRE_EXP_DECL void pcre16_free_substring_list(PCRE_SPTR16 *);  PCRE_EXP_DECL void pcre16_free_substring_list(PCRE_SPTR16 *);
439  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,
440                    void *);                    void *);
441  PCRE_EXP_DECL int  pcre16_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre16_fullinfo(const pcre *, const pcre16_extra *, int,
442                    void *);                    void *);
443  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,
444                    int *, int, const char *, const char **);                    int *, int, const char *, const char **);
# Line 428  PCRE_EXP_DECL const unsigned char *pcre1 Line 463  PCRE_EXP_DECL const unsigned char *pcre1
463  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
464  PCRE_EXP_DECL int  pcre16_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre16_refcount(pcre *, int);
465  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
466  PCRE_EXP_DECL pcre_extra *pcre16_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre16_extra *pcre16_study(const pcre *, int, const char **);
467  PCRE_EXP_DECL void pcre_free_study(pcre_extra *);  PCRE_EXP_DECL void pcre_free_study(pcre_extra *);
468  PCRE_EXP_DECL void pcre16_free_study(pcre_extra *);  PCRE_EXP_DECL void pcre16_free_study(pcre16_extra *);
469  PCRE_EXP_DECL const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
470  PCRE_EXP_DECL const char *pcre16_version(void);  PCRE_EXP_DECL const char *pcre16_version(void);
471    
472  /* Utility functions for byte order swaps. */  /* Utility functions for byte order swaps. */
473  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 *,
474                    const unsigned char *);                    const unsigned char *);
475  PCRE_EXP_DECL int  pcre16_pattern_to_host_byte_order(pcre *, pcre_extra *,  PCRE_EXP_DECL int  pcre16_pattern_to_host_byte_order(pcre *, pcre16_extra *,
476                    const unsigned char *);                    const unsigned char *);
477  PCRE_EXP_DECL int  pcre16_utf16_to_host_byte_order(PCRE_SCHAR16 *,  PCRE_EXP_DECL int  pcre16_utf16_to_host_byte_order(PCRE_SCHAR16 *,
478                    PCRE_SPTR16, int, int *, int);                    PCRE_SPTR16, int, int *, int);
# Line 450  PCRE_EXP_DECL void pcre_jit_stack_free(p Line 485  PCRE_EXP_DECL void pcre_jit_stack_free(p
485  PCRE_EXP_DECL void pcre16_jit_stack_free(pcre_jit_stack *);  PCRE_EXP_DECL void pcre16_jit_stack_free(pcre_jit_stack *);
486  PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *,  PCRE_EXP_DECL void pcre_assign_jit_stack(pcre_extra *,
487                    pcre_jit_callback, void *);                    pcre_jit_callback, void *);
488  PCRE_EXP_DECL void pcre16_assign_jit_stack(pcre_extra *,  PCRE_EXP_DECL void pcre16_assign_jit_stack(pcre16_extra *,
489                    pcre_jit_callback, void *);                    pcre_jit_callback, void *);
490    
491  #ifdef __cplusplus  #ifdef __cplusplus

Legend:
Removed from v.849  
changed lines
  Added in v.850

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12