home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / src / regex / regex.h < prev    next >
C/C++ Source or Header  |  2001-07-13  |  2KB  |  75 lines

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