/[pcre]/code/trunk/pcre_internal.h
ViewVC logotype

Diff of /code/trunk/pcre_internal.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 850 by zherczeg, Wed Jan 4 17:29:11 2012 UTC revision 915 by zherczeg, Tue Feb 14 13:05:39 2012 UTC
# Line 254  typedef unsigned char pcre_uchar; Line 254  typedef unsigned char pcre_uchar;
254    
255  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
256  #if USHRT_MAX != 65535  #if USHRT_MAX != 65535
257  /* This is a warning message. Change PCRE_SCHAR16 to a 16 bit data type in  /* This is a warning message. Change PCRE_UCHAR16 to a 16 bit data type in
258  pcre.h(.in) and disable (comment out) this message. */  pcre.h(.in) and disable (comment out) this message. */
259  #error Warning: PCRE_SCHAR16 is not a 16 bit data type.  #error Warning: PCRE_UCHAR16 is not a 16 bit data type.
260  #endif  #endif
261    
262  typedef pcre_uint16 pcre_uchar;  typedef pcre_uint16 pcre_uchar;
# Line 887  time, run time, or study time, respectiv Line 887  time, run time, or study time, respectiv
887     PCRE_NO_START_OPTIMIZE)     PCRE_NO_START_OPTIMIZE)
888    
889  #define PUBLIC_STUDY_OPTIONS \  #define PUBLIC_STUDY_OPTIONS \
890     PCRE_STUDY_JIT_COMPILE     (PCRE_STUDY_JIT_COMPILE|PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE| \
891        PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE)
892    
893  /* Magic number to provide a small check against being handed junk. */  /* Magic number to provide a small check against being handed junk. */
894    
# Line 1941  enum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4, Line 1942  enum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4,
1942         ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,         ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,
1943         ERR70, ERR71, ERR72, ERR73, ERR74, ERRCOUNT };         ERR70, ERR71, ERR72, ERR73, ERR74, ERRCOUNT };
1944    
1945    /* JIT compiling modes. The function list is indexed by them. */
1946    enum { JIT_COMPILE, JIT_PARTIAL_SOFT_COMPILE, JIT_PARTIAL_HARD_COMPILE,
1947           JIT_NUMBER_OF_COMPILE_MODES };
1948    
1949  /* The real format of the start of the pcre block; the index of names and the  /* The real format of the start of the pcre block; the index of names and the
1950  code vector run on as long as necessary after the end. We store an explicit  code vector run on as long as necessary after the end. We store an explicit
1951  offset to the name table so that if a regex is compiled on one host, saved, and  offset to the name table so that if a regex is compiled on one host, saved, and
# Line 1958  fields are present. Currently PCRE alway Line 1963  fields are present. Currently PCRE alway
1963  NOTE NOTE NOTE  NOTE NOTE NOTE
1964  */  */
1965    
1966  typedef struct real_pcre {  #ifdef COMPILE_PCRE8
1967    #define REAL_PCRE real_pcre
1968    #else
1969    #define REAL_PCRE real_pcre16
1970    #endif
1971    
1972    typedef struct REAL_PCRE {
1973    pcre_uint32 magic_number;    pcre_uint32 magic_number;
1974    pcre_uint32 size;               /* Total that was malloced */    pcre_uint32 size;               /* Total that was malloced */
1975    pcre_uint32 options;            /* Public options */    pcre_uint32 options;            /* Public options */
# Line 1975  typedef struct real_pcre { Line 1986  typedef struct real_pcre {
1986    
1987    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */    const pcre_uint8 *tables;       /* Pointer to tables or NULL for std */
1988    const pcre_uint8 *nullpad;      /* NULL padding */    const pcre_uint8 *nullpad;      /* NULL padding */
1989  } real_pcre;  } REAL_PCRE;
1990    
1991  /* The format of the block used to store data from pcre_study(). The same  /* The format of the block used to store data from pcre_study(). The same
1992  remark (see NOTE above) about extending this structure applies. */  remark (see NOTE above) about extending this structure applies. */
# Line 2173  total length. */ Line 2184  total length. */
2184  #define ctypes_offset (cbits_offset + cbit_length)  #define ctypes_offset (cbits_offset + cbit_length)
2185  #define tables_length (ctypes_offset + 256)  #define tables_length (ctypes_offset + 256)
2186    
2187  /* Internal function prefix */  /* Internal function and data prefixes. */
2188    
2189  #ifdef COMPILE_PCRE8  #ifdef COMPILE_PCRE8
2190    #ifndef PUBL
2191  #define PUBL(name) pcre_##name  #define PUBL(name) pcre_##name
2192    #endif
2193    #ifndef PRIV
2194  #define PRIV(name) _pcre_##name  #define PRIV(name) _pcre_##name
2195  #else  #endif
2196    #else /* COMPILE_PCRE8 */
2197  #ifdef COMPILE_PCRE16  #ifdef COMPILE_PCRE16
2198    #ifndef PUBL
2199  #define PUBL(name) pcre16_##name  #define PUBL(name) pcre16_##name
2200    #endif
2201    #ifndef PRIV
2202  #define PRIV(name) _pcre16_##name  #define PRIV(name) _pcre16_##name
2203    #endif
2204  #else  #else
2205  #error Unsupported compiling mode  #error Unsupported compiling mode
2206  #endif /* COMPILE_PCRE16 */  #endif /* COMPILE_PCRE16 */
# Line 2274  extern BOOL              PRIV(was_newlin Line 2293  extern BOOL              PRIV(was_newlin
2293  extern BOOL              PRIV(xclass)(int, const pcre_uchar *, BOOL);  extern BOOL              PRIV(xclass)(int, const pcre_uchar *, BOOL);
2294    
2295  #ifdef SUPPORT_JIT  #ifdef SUPPORT_JIT
2296  extern void              PRIV(jit_compile)(const real_pcre *, PUBL(extra) *);  extern void              PRIV(jit_compile)(const REAL_PCRE *, PUBL(extra) *, int);
2297  extern int               PRIV(jit_exec)(const real_pcre *, void *,  extern int               PRIV(jit_exec)(const REAL_PCRE *, void *,
2298                             const pcre_uchar *, int, int, int, int, int *, int);                             const pcre_uchar *, int, int, int, int, int *, int);
2299  extern void              PRIV(jit_free)(void *);  extern void              PRIV(jit_free)(void *);
2300  extern int               PRIV(jit_get_size)(void *);  extern int               PRIV(jit_get_size)(void *);
2301    extern const char*       PRIV(jit_get_target)(void);
2302  #endif  #endif
2303    
2304  /* Unicode character database (UCD) */  /* Unicode character database (UCD) */

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

  ViewVC Help
Powered by ViewVC 1.1.5