549 |
/* Options for the "extra" block produced by pcre_study(). */ |
/* Options for the "extra" block produced by pcre_study(). */ |
550 |
|
|
551 |
#define PCRE_STUDY_MAPPED 0x01 /* a map of starting chars exists */ |
#define PCRE_STUDY_MAPPED 0x01 /* a map of starting chars exists */ |
552 |
|
#define PCRE_STUDY_MINLEN 0x02 /* a minimum length field exists */ |
553 |
|
|
554 |
/* Masks for identifying the public options that are permitted at compile |
/* Masks for identifying the public options that are permitted at compile |
555 |
time, run time, or study time, respectively. */ |
time, run time, or study time, respectively. */ |
1492 |
structure should be made at the end, and something earlier (e.g. a new |
structure should be made at the end, and something earlier (e.g. a new |
1493 |
flag in the options or one of the dummy fields) should indicate that the new |
flag in the options or one of the dummy fields) should indicate that the new |
1494 |
fields are present. Currently PCRE always sets the dummy fields to zero. |
fields are present. Currently PCRE always sets the dummy fields to zero. |
1495 |
NOTE NOTE NOTE: |
NOTE NOTE NOTE |
1496 |
*/ |
*/ |
1497 |
|
|
1498 |
typedef struct real_pcre { |
typedef struct real_pcre { |
1519 |
|
|
1520 |
typedef struct pcre_study_data { |
typedef struct pcre_study_data { |
1521 |
pcre_uint32 size; /* Total that was malloced */ |
pcre_uint32 size; /* Total that was malloced */ |
1522 |
pcre_uint32 options; |
pcre_uint32 flags; /* Private flags */ |
1523 |
uschar start_bits[32]; |
uschar start_bits[32]; /* Starting char bits */ |
1524 |
|
pcre_uint32 minlength; /* Minimum subject length */ |
1525 |
} pcre_study_data; |
} pcre_study_data; |
1526 |
|
|
1527 |
/* Structure for building a chain of open capturing subpatterns during |
/* Structure for building a chain of open capturing subpatterns during |
1724 |
one of the exported public functions. They have to be "external" in the C |
one of the exported public functions. They have to be "external" in the C |
1725 |
sense, but are not part of the PCRE public API. */ |
sense, but are not part of the PCRE public API. */ |
1726 |
|
|
1727 |
extern BOOL _pcre_is_newline(const uschar *, int, const uschar *, |
extern const uschar *_pcre_find_bracket(const uschar *, BOOL, int); |
1728 |
int *, BOOL); |
extern BOOL _pcre_is_newline(const uschar *, int, const uschar *, |
1729 |
extern int _pcre_ord2utf8(int, uschar *); |
int *, BOOL); |
1730 |
extern real_pcre *_pcre_try_flipped(const real_pcre *, real_pcre *, |
extern int _pcre_ord2utf8(int, uschar *); |
1731 |
const pcre_study_data *, pcre_study_data *); |
extern real_pcre *_pcre_try_flipped(const real_pcre *, real_pcre *, |
1732 |
extern int _pcre_valid_utf8(const uschar *, int); |
const pcre_study_data *, pcre_study_data *); |
1733 |
extern BOOL _pcre_was_newline(const uschar *, int, const uschar *, |
extern int _pcre_valid_utf8(const uschar *, int); |
1734 |
int *, BOOL); |
extern BOOL _pcre_was_newline(const uschar *, int, const uschar *, |
1735 |
extern BOOL _pcre_xclass(int, const uschar *); |
int *, BOOL); |
1736 |
|
extern BOOL _pcre_xclass(int, const uschar *); |
1737 |
|
|
1738 |
|
|
1739 |
/* Unicode character database (UCD) */ |
/* Unicode character database (UCD) */ |