2005/5/9

     
 

internal_h

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

internal.h File Reference

#include pcre_config.h
#include <ctype.h>
#include <limits.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include pcre.h

Compounds

struct  branch_chain
struct  compile_data
struct  match_data
struct  pcre_study_data
struct  real_pcre
struct  recursion_info

Defines

#define PUT(a, n, d)
#define GET(a, n)   (((a)[n] << 24) | ((a)[(n)+1] << 16) | ((a)[(n)+2] << 8) | (a)[(n)+3])
#define MAX_PATTERN_SIZE   (1 << 30)
#define PUTINC(a, n, d)   PUT(a,n,d), a += LINK_SIZE
#define PUT2(a, n, d)
#define GET2(a, n)   (((a)[n] << 8) | (a)[(n)+1])
#define PUT2INC(a, n, d)   PUT2(a,n,d), a += 2
#define PCRE_DEFINITION
#define offsetof(p_type, field)   ((size_t)&(((p_type *)0)->field))
#define PCRE_IMS   (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL)
#define PCRE_FIRSTSET   0x40000000
#define PCRE_REQCHSET   0x20000000
#define PCRE_STARTLINE   0x10000000
#define PCRE_ICHANGED   0x08000000
#define PCRE_STUDY_MAPPED   0x01
#define PUBLIC_OPTIONS
#define PUBLIC_EXEC_OPTIONS   (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY)
#define PUBLIC_STUDY_OPTIONS   0
#define MAGIC_NUMBER   0x50435245UL
#define REQ_UNSET   (-2)
#define REQ_NONE   (-1)
#define REQ_CASELESS   0x0100
#define REQ_VARY   0x0200
#define FALSE   0
#define TRUE   1
#define ESC_e   27
#define ESC_f   '\f'
#define ESC_n   NEWLINE
#define ESC_r   '\r'
#define ESC_t   '\t'
#define XCL_NOT   0x01
#define XCL_MAP   0x02
#define XCL_END   0
#define XCL_SINGLE   1
#define XCL_RANGE   2
#define OP_NAME_LIST
#define OP_LENGTHS
#define EXTRACT_BASIC_MAX   150
#define CREF_RECURSE   0xffff
#define ERR1   \ at end of pattern
#define ERR2   \c at end of pattern
#define ERR3   unrecognized character follows \
#define ERR4   numbers out of order in {} quantifier
#define ERR5   number too big in {} quantifier
#define ERR6   missing terminating ] for character class
#define ERR7   invalid escape sequence in character class
#define ERR8   range out of order in character class
#define ERR9   nothing to repeat
#define ERR10   operand of unlimited repeat could match the empty string
#define ERR11   internal error: unexpected repeat
#define ERR12   unrecognized character after (?
#define ERR13   POSIX named classes are supported only within a class
#define ERR14   missing )
#define ERR15   reference to non-existent subpattern
#define ERR16   erroffset passed as NULL
#define ERR17   unknown option bit(s) set
#define ERR18   missing ) after comment
#define ERR19   parentheses nested too deeply
#define ERR20   regular expression too large
#define ERR21   failed to get memory
#define ERR22   unmatched parentheses
#define ERR23   internal error: code overflow
#define ERR24   unrecognized character after (?<
#define ERR25   lookbehind assertion is not fixed length
#define ERR26   malformed number after (?(
#define ERR27   conditional group contains more than two branches
#define ERR28   assertion expected after (?(
#define ERR29   (?R or (?digits must be followed by )
#define ERR30   unknown POSIX class name
#define ERR31   POSIX collating elements are not supported
#define ERR32   this version of PCRE is not compiled with PCRE_UTF8 support
#define ERR33   spare error
#define ERR34   character value in \x{...} sequence is too large
#define ERR35   invalid condition (?(0)
#define ERR36   \C not allowed in lookbehind assertion
#define ERR37   PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X
#define ERR38   number after (?C is > 255
#define ERR39   closing ) for (?C expected
#define ERR40   recursive call could loop indefinitely
#define ERR41   unrecognized character after (?P
#define ERR42   syntax error after (?P
#define ERR43   two named groups have the same name
#define ctype_space   0x01
#define ctype_letter   0x02
#define ctype_digit   0x04
#define ctype_xdigit   0x08
#define ctype_word   0x10
#define ctype_meta   0x80
#define cbit_space   0
#define cbit_xdigit   32
#define cbit_digit   64
#define cbit_upper   96
#define cbit_lower   128
#define cbit_word   160
#define cbit_graph   192
#define cbit_print   224
#define cbit_punct   256
#define cbit_cntrl   288
#define cbit_length   320
#define lcc_offset   0
#define fcc_offset   256
#define cbits_offset   512
#define ctypes_offset   (cbits_offset + cbit_length)
#define tables_length   (ctypes_offset + 256)

Typedefs

typedef int BOOL
typedef unsigned char uschar
typedef real_pcre real_pcre
typedef pcre_study_data pcre_study_data
typedef compile_data compile_data
typedef branch_chain branch_chain
typedef recursion_info recursion_info
typedef match_data match_data

Enumerations

enum  {
  ESC_A = 1, ESC_G, ESC_B, ESC_b,
  ESC_D, ESC_d, ESC_S, ESC_s,
  ESC_W, ESC_w, ESC_dum1, ESC_C,
  ESC_Z, ESC_z, ESC_E, ESC_Q,
  ESC_REF
}
enum  {
  OP_END, OP_SOD, OP_SOM, OP_NOT_WORD_BOUNDARY,
  OP_WORD_BOUNDARY, OP_NOT_DIGIT, OP_DIGIT, OP_NOT_WHITESPACE,
  OP_WHITESPACE, OP_NOT_WORDCHAR, OP_WORDCHAR, OP_ANY,
  OP_ANYBYTE, OP_EODN, OP_EOD, OP_OPT,
  OP_CIRC, OP_DOLL, OP_CHARS, OP_NOT,
  OP_STAR, OP_MINSTAR, OP_PLUS, OP_MINPLUS,
  OP_QUERY, OP_MINQUERY, OP_UPTO, OP_MINUPTO,
  OP_EXACT, OP_NOTSTAR, OP_NOTMINSTAR, OP_NOTPLUS,
  OP_NOTMINPLUS, OP_NOTQUERY, OP_NOTMINQUERY, OP_NOTUPTO,
  OP_NOTMINUPTO, OP_NOTEXACT, OP_TYPESTAR, OP_TYPEMINSTAR,
  OP_TYPEPLUS, OP_TYPEMINPLUS, OP_TYPEQUERY, OP_TYPEMINQUERY,
  OP_TYPEUPTO, OP_TYPEMINUPTO, OP_TYPEEXACT, OP_CRSTAR,
  OP_CRMINSTAR, OP_CRPLUS, OP_CRMINPLUS, OP_CRQUERY,
  OP_CRMINQUERY, OP_CRRANGE, OP_CRMINRANGE, OP_CLASS,
  OP_NCLASS, OP_XCLASS, OP_REF, OP_RECURSE,
  OP_CALLOUT, OP_ALT, OP_KET, OP_KETRMAX,
  OP_KETRMIN, OP_ASSERT, OP_ASSERT_NOT, OP_ASSERTBACK,
  OP_ASSERTBACK_NOT, OP_REVERSE, OP_ONCE, OP_COND,
  OP_CREF, OP_BRAZERO, OP_BRAMINZERO, OP_BRANUMBER,
  OP_BRA
}


Define Documentation

#define cbit_cntrl   288
 

#define cbit_digit   64
 

#define cbit_graph   192
 

#define cbit_length   320
 

#define cbit_lower   128
 

#define cbit_print   224
 

#define cbit_punct   256
 

#define cbit_space   0
 

#define cbit_upper   96
 

#define cbit_word   160
 

#define cbit_xdigit   32
 

#define cbits_offset   512
 

#define CREF_RECURSE   0xffff
 

#define ctype_digit   0x04
 

#define ctype_letter   0x02
 

#define ctype_meta   0x80
 

#define ctype_space   0x01
 

#define ctype_word   0x10
 

#define ctype_xdigit   0x08
 

#define ctypes_offset   (cbits_offset + cbit_length)
 

#define ERR1   \ at end of pattern
 

#define ERR10   operand of unlimited repeat could match the empty string
 

#define ERR11   internal error: unexpected repeat
 

#define ERR12   unrecognized character after (?
 

#define ERR13   POSIX named classes are supported only within a class
 

#define ERR14   missing )
 

#define ERR15   reference to non-existent subpattern
 

#define ERR16   erroffset passed as NULL
 

#define ERR17   unknown option bit(s) set
 

#define ERR18   missing ) after comment
 

#define ERR19   parentheses nested too deeply
 

#define ERR2   \c at end of pattern
 

#define ERR20   regular expression too large
 

#define ERR21   failed to get memory
 

#define ERR22   unmatched parentheses
 

#define ERR23   internal error: code overflow
 

#define ERR24   unrecognized character after (?<
 

#define ERR25   lookbehind assertion is not fixed length
 

#define ERR26   malformed number after (?(
 

#define ERR27   conditional group contains more than two branches
 

#define ERR28   assertion expected after (?(
 

#define ERR29   (?R or (?digits must be followed by )
 

#define ERR3   unrecognized character follows \
 

#define ERR30   unknown POSIX class name
 

#define ERR31   POSIX collating elements are not supported
 

#define ERR32   this version of PCRE is not compiled with PCRE_UTF8 support
 

#define ERR33   spare error
 

#define ERR34   character value in \x{...} sequence is too large
 

#define ERR35   invalid condition (?(0)
 

#define ERR36   \C not allowed in lookbehind assertion
 

#define ERR37   PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X
 

#define ERR38   number after (?C is > 255
 

#define ERR39   closing ) for (?C expected
 

#define ERR4   numbers out of order in {} quantifier
 

#define ERR40   recursive call could loop indefinitely
 

#define ERR41   unrecognized character after (?P
 

#define ERR42   syntax error after (?P
 

#define ERR43   two named groups have the same name
 

#define ERR5   number too big in {} quantifier
 

#define ERR6   missing terminating ] for character class
 

#define ERR7   invalid escape sequence in character class
 

#define ERR8   range out of order in character class
 

#define ERR9   nothing to repeat
 

#define ESC_e   27
 

#define ESC_f   '\f'
 

#define ESC_n   NEWLINE
 

#define ESC_r   '\r'
 

#define ESC_t   '\t'
 

#define EXTRACT_BASIC_MAX   150
 

#define FALSE   0
 

#define fcc_offset   256
 

#define GET a,
 )     (((a)[n] << 24) | ((a)[(n)+1] << 16) | ((a)[(n)+2] << 8) | (a)[(n)+3])
 

#define GET2 a,
 )     (((a)[n] << 8) | (a)[(n)+1])
 

#define lcc_offset   0
 

#define MAGIC_NUMBER   0x50435245UL
 

#define MAX_PATTERN_SIZE   (1 << 30)
 

#define offsetof p_type,
field   )     ((size_t)&(((p_type *)0)->field))
 

#define OP_LENGTHS
 

#define OP_NAME_LIST
 

Value:

End, \A, \G, \B, \b, \D, \d,                \
  \S, \s, \W, \w, Any, Anybyte, \Z, \z,     \
  Opt, ^, $, chars, not,                                \
  *, *?, +, +?, ?, ??, {, {, {,                 \
  *, *?, +, +?, ?, ??, {, {, {,                 \
  *, *?, +, +?, ?, ??, {, {, {,                 \
  *, *?, +, +?, ?, ??, {, {,                      \
  class, nclass, xclass, Ref, Recurse, Callout,       \
  Alt, Ket, KetRmax, KetRmin, Assert, Assert not,     \
  AssertB, AssertB not, Reverse, Once, Cond, Cond ref,\
  Brazero, Braminzero, Branumber, Bra

#define PCRE_DEFINITION
 

#define PCRE_FIRSTSET   0x40000000
 

#define PCRE_ICHANGED   0x08000000
 

#define PCRE_IMS   (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL)
 

#define PCRE_REQCHSET   0x20000000
 

#define PCRE_STARTLINE   0x10000000
 

#define PCRE_STUDY_MAPPED   0x01
 

#define PUBLIC_EXEC_OPTIONS   (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY)
 

#define PUBLIC_OPTIONS
 

Value:

#define PUBLIC_STUDY_OPTIONS   0
 

#define PUT a,
n,
 ) 
 

Value:

(a[n] = (d) >> 24),     \
  (a[(n)+1] = (d) >> 16), \
  (a[(n)+2] = (d) >> 8),  \
  (a[(n)+3] = (d) & 255)

#define PUT2 a,
n,
 ) 
 

Value:

a[n] = (d) >> 8; \
  a[(n)+1] = (d) & 255

#define PUT2INC a,
n,
 )     PUT2(a,n,d), a += 2
 

#define PUTINC a,
n,
 )     PUT(a,n,d), a += LINK_SIZE
 

#define REQ_CASELESS   0x0100
 

#define REQ_NONE   (-1)
 

#define REQ_UNSET   (-2)
 

#define REQ_VARY   0x0200
 

#define tables_length   (ctypes_offset + 256)
 

#define TRUE   1
 

#define XCL_END   0
 

#define XCL_MAP   0x02
 

#define XCL_NOT   0x01
 

#define XCL_RANGE   2
 

#define XCL_SINGLE   1
 


Typedef Documentation

typedef int BOOL
 

typedef struct branch_chain branch_chain
 

typedef struct compile_data compile_data
 

typedef struct match_data match_data
 

typedef struct pcre_study_data pcre_study_data
 

typedef struct real_pcre real_pcre
 

typedef struct recursion_info recursion_info
 

typedef unsigned char uschar
 


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
ESC_A 
ESC_G 
ESC_B 
ESC_b 
ESC_D 
ESC_d 
ESC_S 
ESC_s 
ESC_W 
ESC_w 
ESC_dum1 
ESC_C 
ESC_Z 
ESC_z 
ESC_E 
ESC_Q 
ESC_REF 

anonymous enum
 

Enumeration values:
OP_END 
OP_SOD 
OP_SOM 
OP_NOT_WORD_BOUNDARY 
OP_WORD_BOUNDARY 
OP_NOT_DIGIT 
OP_DIGIT 
OP_NOT_WHITESPACE 
OP_WHITESPACE 
OP_NOT_WORDCHAR 
OP_WORDCHAR 
OP_ANY 
OP_ANYBYTE 
OP_EODN 
OP_EOD 
OP_OPT 
OP_CIRC 
OP_DOLL 
OP_CHARS 
OP_NOT 
OP_STAR 
OP_MINSTAR 
OP_PLUS 
OP_MINPLUS 
OP_QUERY 
OP_MINQUERY 
OP_UPTO 
OP_MINUPTO 
OP_EXACT 
OP_NOTSTAR 
OP_NOTMINSTAR 
OP_NOTPLUS 
OP_NOTMINPLUS 
OP_NOTQUERY 
OP_NOTMINQUERY 
OP_NOTUPTO 
OP_NOTMINUPTO 
OP_NOTEXACT 
OP_TYPESTAR 
OP_TYPEMINSTAR 
OP_TYPEPLUS 
OP_TYPEMINPLUS 
OP_TYPEQUERY 
OP_TYPEMINQUERY 
OP_TYPEUPTO 
OP_TYPEMINUPTO 
OP_TYPEEXACT 
OP_CRSTAR 
OP_CRMINSTAR 
OP_CRPLUS 
OP_CRMINPLUS 
OP_CRQUERY 
OP_CRMINQUERY 
OP_CRRANGE 
OP_CRMINRANGE 
OP_CLASS 
OP_NCLASS 
OP_XCLASS 
OP_REF 
OP_RECURSE 
OP_CALLOUT 
OP_ALT 
OP_KET 
OP_KETRMAX 
OP_KETRMIN 
OP_ASSERT 
OP_ASSERT_NOT 
OP_ASSERTBACK 
OP_ASSERTBACK_NOT 
OP_REVERSE 
OP_ONCE 
OP_COND 
OP_CREF 
OP_BRAZERO 
OP_BRAMINZERO 
OP_BRANUMBER 
OP_BRA