home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / pcre.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  2.1 KB  |  95 lines

  1. /*************************************************
  2. *       Perl-Compatible Regular Expressions      *
  3. *************************************************/
  4.  
  5. /* Copyright (c) 1998 University of Cambridge */
  6.  
  7. #ifndef _PCRE_H
  8. #define _PCRE_H
  9.  
  10. /* Have to include stdlib.h in order to ensure that size_t is defined;
  11. it is needed here for malloc. */
  12.  
  13. #include <sys/types.h>
  14. #include <stdlib.h>
  15.  
  16. /* Allow for C++ users */
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /* Options */
  23.  
  24. #define PCRE_CASELESS        0x0001
  25. #define PCRE_MULTILINE       0x0002
  26. #define PCRE_DOTALL          0x0004
  27. #define PCRE_EXTENDED        0x0008
  28. #define PCRE_ANCHORED        0x0010
  29. #define PCRE_DOLLAR_ENDONLY  0x0020
  30. #define PCRE_EXTRA           0x0040
  31. #define PCRE_NOTBOL          0x0080
  32. #define PCRE_NOTEOL          0x0100
  33. #define PCRE_UNGREEDY        0x0200
  34.  
  35. /* Exec-time error codes */
  36.  
  37. #define PCRE_ERROR_NOMATCH        (-1)
  38. #define PCRE_ERROR_NULL           (-2)
  39. #define PCRE_ERROR_BADOPTION      (-3)
  40. #define PCRE_ERROR_BADMAGIC       (-4)
  41. #define PCRE_ERROR_UNKNOWN_NODE   (-5)
  42. #define PCRE_ERROR_NOMEMORY       (-6)
  43.  
  44. /* Types */
  45.  
  46. typedef void pcre;
  47. typedef void pcre_extra;
  48.  
  49. /* Store get and free functions. These can be set to alternative malloc/free
  50. functions if required. */
  51.  
  52. extern void *(*pcre_malloc)(size_t);
  53. extern void  (*pcre_free)(void *);
  54.  
  55. /* Functions */
  56.  
  57. extern pcre *
  58. #ifdef __BORLANDC__
  59. _RTLENTRY _EXPFUNC
  60. #endif
  61. pcre_compile(const char *, int, const char **, int *,
  62.   const unsigned char *);
  63. extern int
  64. #ifdef __BORLANDC__
  65. _RTLENTRY _EXPFUNC
  66. #endif
  67. pcre_exec(const pcre *, const pcre_extra *, const char *,
  68.   int, int, int *, int);
  69. extern unsigned const char *
  70. #ifdef __BORLANDC__
  71. _RTLENTRY _EXPFUNC
  72. #endif
  73. pcre_maketables(void);
  74. extern int
  75. #ifdef __BORLANDC__
  76. _RTLENTRY _EXPFUNC
  77. #endif
  78. pcre_info(const pcre *, int *, int *);
  79. extern pcre_extra *
  80. #ifdef __BORLANDC__
  81. _RTLENTRY _EXPFUNC
  82. #endif
  83. pcre_study(const pcre *, int, const char **);
  84. extern const char *
  85. #ifdef __BORLANDC__
  86. _RTLENTRY _EXPFUNC
  87. #endif
  88. pcre_version(void);
  89.  
  90. #ifdef __cplusplus
  91. }  /* extern "C" */
  92. #endif
  93.  
  94. #endif /* End of pcre.h */
  95.