pcre.h
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: pcre.h,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 15:35:18  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.5
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*************************************************
  10. *       Perl-Compatible Regular Expressions      *
  11. *************************************************/
  12. /* Copyright (c) 1997-2001 University of Cambridge */
  13. #ifndef _PCRE_H
  14. #define _PCRE_H
  15. /* The file pcre.h was build by "configure" */
  16. #define PCRE_MAJOR          3
  17. #define PCRE_MINOR          9
  18. #define PCRE_DATE           02-Jan-2002
  19. /* Have to include stdlib.h in order to ensure that size_t is defined;
  20. it is needed here for malloc. */
  21. #include <stdlib.h>
  22. /* Allow for C++ users */
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Options */
  27. #define PCRE_CASELESS        0x0001
  28. #define PCRE_MULTILINE       0x0002
  29. #define PCRE_DOTALL          0x0004
  30. #define PCRE_EXTENDED        0x0008
  31. #define PCRE_ANCHORED        0x0010
  32. #define PCRE_DOLLAR_ENDONLY  0x0020
  33. #define PCRE_EXTRA           0x0040
  34. #define PCRE_NOTBOL          0x0080
  35. #define PCRE_NOTEOL          0x0100
  36. #define PCRE_UNGREEDY        0x0200
  37. #define PCRE_NOTEMPTY        0x0400
  38. #define PCRE_UTF8            0x0800
  39. /* Exec-time and get-time error codes */
  40. #define PCRE_ERROR_NOMATCH        (-1)
  41. #define PCRE_ERROR_NULL           (-2)
  42. #define PCRE_ERROR_BADOPTION      (-3)
  43. #define PCRE_ERROR_BADMAGIC       (-4)
  44. #define PCRE_ERROR_UNKNOWN_NODE   (-5)
  45. #define PCRE_ERROR_NOMEMORY       (-6)
  46. #define PCRE_ERROR_NOSUBSTRING    (-7)
  47. /* Request types for pcre_fullinfo() */
  48. #define PCRE_INFO_OPTIONS         0
  49. #define PCRE_INFO_SIZE            1
  50. #define PCRE_INFO_CAPTURECOUNT    2
  51. #define PCRE_INFO_BACKREFMAX      3
  52. #define PCRE_INFO_FIRSTCHAR       4
  53. #define PCRE_INFO_FIRSTTABLE      5
  54. #define PCRE_INFO_LASTLITERAL     6
  55. /* Types */
  56. struct real_pcre;        /* declaration; the definition is private  */
  57. struct real_pcre_extra;  /* declaration; the definition is private */
  58. typedef struct real_pcre pcre;
  59. typedef struct real_pcre_extra pcre_extra;
  60. /* Store get and free functions. These can be set to alternative malloc/free
  61.    functions if required */
  62. extern void *(*pcre_malloc)(size_t);
  63. extern void  (*pcre_free)(void *);
  64. /* Functions */
  65. extern pcre *pcre_compile(const char *, int, const char **, int *,
  66.                           const unsigned char *);
  67. extern int  pcre_copy_substring(const char *, int *, int, int, char *, int);
  68. extern int  pcre_exec(const pcre *, const pcre_extra *, const char *,
  69.                       int, int, int, int *, int);
  70. extern void pcre_free_substring(const char *);
  71. extern void pcre_free_substring_list(const char **);
  72. extern int  pcre_get_substring(const char *, int *, int, int, const char **);
  73. extern int  pcre_get_substring_list(const char *, int *, int, const char ***);
  74. extern int  pcre_info(const pcre *, int *, int *);
  75. extern int  pcre_fullinfo(const pcre *, const pcre_extra *, int, void *);
  76. extern const unsigned char *pcre_maketables(void);
  77. extern pcre_extra *pcre_study(const pcre *, int, const char **);
  78. extern const char *pcre_version(void);
  79. #ifdef __cplusplus
  80. }  /* extern "C" */
  81. #endif
  82. #endif /* End of pcre.h */