root/ext/ereg/regex/regex.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _HSREGEX_H_
   2 #define _HSREGEX_H_
   3 #ifndef _HSREGEX_H
   4 #define _HSREGEX_H      /* never again */
   5 /* ========= begin header generated by ././mkh ========= */
   6 #ifdef __cplusplus
   7 extern "C" {
   8 #endif
   9 
  10 /* === regex2.h === */
  11 #ifdef WIN32
  12 #define API_EXPORT(type)    __declspec(dllexport) type __stdcall
  13 #elif defined(__GNUC__) && __GNUC__ >= 4
  14 #define API_EXPORT(type)    __attribute__ ((visibility("default"))) type
  15 #else
  16 #define API_EXPORT(type)    type
  17 #endif
  18 
  19 typedef off_t regoff_t;
  20 typedef struct {
  21         int re_magic;
  22         size_t re_nsub;         /* number of parenthesized subexpressions */
  23         const char *re_endp;    /* end pointer for REG_PEND */
  24         struct re_guts *re_g;   /* none of your business :-) */
  25 } regex_t;
  26 typedef struct {
  27         regoff_t rm_so;         /* start of match */
  28         regoff_t rm_eo;         /* end of match */
  29 } regmatch_t;
  30 
  31 
  32 /* === regcomp.c === */
  33 API_EXPORT(int) regcomp(regex_t *, const char *, int);
  34 #define REG_BASIC       0000
  35 #define REG_EXTENDED    0001
  36 #define REG_ICASE       0002
  37 #define REG_NOSUB       0004
  38 #define REG_NEWLINE     0010
  39 #define REG_NOSPEC      0020
  40 #define REG_PEND        0040
  41 #define REG_DUMP        0200
  42 
  43 
  44 /* === regerror.c === */
  45 #define REG_OKAY         0
  46 #define REG_NOMATCH      1
  47 #define REG_BADPAT       2
  48 #define REG_ECOLLATE     3
  49 #define REG_ECTYPE       4
  50 #define REG_EESCAPE      5
  51 #define REG_ESUBREG      6
  52 #define REG_EBRACK       7
  53 #define REG_EPAREN       8
  54 #define REG_EBRACE       9
  55 #define REG_BADBR       10
  56 #define REG_ERANGE      11
  57 #define REG_ESPACE      12
  58 #define REG_BADRPT      13
  59 #define REG_EMPTY       14
  60 #define REG_ASSERT      15
  61 #define REG_INVARG      16
  62 #define REG_ATOI        255     /* convert name to number (!) */
  63 #define REG_ITOA        0400    /* convert number to name (!) */
  64 API_EXPORT(size_t) regerror(int, const regex_t *, char *, size_t);
  65 
  66 
  67 /* === regexec.c === */
  68 API_EXPORT(int) regexec(const regex_t *, const char *, size_t, regmatch_t [], int);
  69 #define REG_NOTBOL      00001
  70 #define REG_NOTEOL      00002
  71 #define REG_STARTEND    00004
  72 #define REG_TRACE       00400   /* tracing of execution */
  73 #define REG_LARGE       01000   /* force large representation */
  74 #define REG_BACKR       02000   /* force use of backref code */
  75 
  76 
  77 /* === regfree.c === */
  78 API_EXPORT(void) regfree(regex_t *);
  79 
  80 #ifdef __cplusplus
  81 }
  82 #endif
  83 /* ========= end header generated by ././mkh ========= */
  84 #endif
  85 #endif

/* [<][>][^][v][top][bottom][index][help] */