source: trunk/third/pcre/pcre.in @ 19309

Revision 19309, 3.3 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r19308, which included commits to RCS files with non-trunk default branches.
Line 
1/*************************************************
2*       Perl-Compatible Regular Expressions      *
3*************************************************/
4
5/* Copyright (c) 1997-2001 University of Cambridge */
6
7#ifndef _PCRE_H
8#define _PCRE_H
9
10/* The file pcre.h is build by "configure". Do not edit it; instead
11make changes to pcre.in. */
12
13#define PCRE_MAJOR          @PCRE_MAJOR@
14#define PCRE_MINOR          @PCRE_MINOR@
15#define PCRE_DATE           @PCRE_DATE@
16
17/* Win32 uses DLL by default */
18
19#ifdef _WIN32
20# ifdef STATIC
21#  define PCRE_DL_IMPORT
22# else
23#  define PCRE_DL_IMPORT __declspec(dllimport)
24# endif
25#else
26# define PCRE_DL_IMPORT
27#endif
28
29/* Have to include stdlib.h in order to ensure that size_t is defined;
30it is needed here for malloc. */
31
32#include <stdlib.h>
33
34/* Allow for C++ users */
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
40/* Options */
41
42#define PCRE_CASELESS        0x0001
43#define PCRE_MULTILINE       0x0002
44#define PCRE_DOTALL          0x0004
45#define PCRE_EXTENDED        0x0008
46#define PCRE_ANCHORED        0x0010
47#define PCRE_DOLLAR_ENDONLY  0x0020
48#define PCRE_EXTRA           0x0040
49#define PCRE_NOTBOL          0x0080
50#define PCRE_NOTEOL          0x0100
51#define PCRE_UNGREEDY        0x0200
52#define PCRE_NOTEMPTY        0x0400
53#define PCRE_UTF8            0x0800
54
55/* Exec-time and get-time error codes */
56
57#define PCRE_ERROR_NOMATCH        (-1)
58#define PCRE_ERROR_NULL           (-2)
59#define PCRE_ERROR_BADOPTION      (-3)
60#define PCRE_ERROR_BADMAGIC       (-4)
61#define PCRE_ERROR_UNKNOWN_NODE   (-5)
62#define PCRE_ERROR_NOMEMORY       (-6)
63#define PCRE_ERROR_NOSUBSTRING    (-7)
64
65/* Request types for pcre_fullinfo() */
66
67#define PCRE_INFO_OPTIONS         0
68#define PCRE_INFO_SIZE            1
69#define PCRE_INFO_CAPTURECOUNT    2
70#define PCRE_INFO_BACKREFMAX      3
71#define PCRE_INFO_FIRSTCHAR       4
72#define PCRE_INFO_FIRSTTABLE      5
73#define PCRE_INFO_LASTLITERAL     6
74
75/* Types */
76
77struct real_pcre;        /* declaration; the definition is private  */
78struct real_pcre_extra;  /* declaration; the definition is private */
79
80typedef struct real_pcre pcre;
81typedef struct real_pcre_extra pcre_extra;
82
83/* Store get and free functions. These can be set to alternative malloc/free
84functions if required. Some magic is required for Win32 DLL; it is null on
85other OS. */
86
87PCRE_DL_IMPORT extern void *(*pcre_malloc)(size_t);
88PCRE_DL_IMPORT extern void  (*pcre_free)(void *);
89
90#undef PCRE_DL_IMPORT
91
92/* Functions */
93
94extern pcre *pcre_compile(const char *, int, const char **, int *,
95              const unsigned char *);
96extern int  pcre_copy_substring(const char *, int *, int, int, char *, int);
97extern int  pcre_exec(const pcre *, const pcre_extra *, const char *,
98              int, int, int, int *, int);
99extern void pcre_free_substring(const char *);
100extern void pcre_free_substring_list(const char **);
101extern int  pcre_get_substring(const char *, int *, int, int, const char **);
102extern int  pcre_get_substring_list(const char *, int *, int, const char ***);
103extern int  pcre_info(const pcre *, int *, int *);
104extern int  pcre_fullinfo(const pcre *, const pcre_extra *, int, void *);
105extern const unsigned char *pcre_maketables(void);
106extern pcre_extra *pcre_study(const pcre *, int, const char **);
107extern const char *pcre_version(void);
108
109#ifdef __cplusplus
110}  /* extern "C" */
111#endif
112
113#endif /* End of pcre.h */
Note: See TracBrowser for help on using the repository browser.