/[pcre]/code/trunk/pcre.h.in
ViewVC logotype

Diff of /code/trunk/pcre.h.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 97 by ph10, Mon Mar 5 12:36:47 2007 UTC revision 389 by ph10, Sun Mar 15 18:24:05 2009 UTC
# Line 5  Line 5 
5  /* This is the public header file for the PCRE library, to be #included by  /* This is the public header file for the PCRE library, to be #included by
6  applications that call the PCRE functions.  applications that call the PCRE functions.
7    
8             Copyright (c) 1997-2006 University of Cambridge             Copyright (c) 1997-2009 University of Cambridge
9    
10  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
11  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
# Line 41  POSSIBILITY OF SUCH DAMAGE. Line 41  POSSIBILITY OF SUCH DAMAGE.
41    
42  /* The current PCRE version information. */  /* The current PCRE version information. */
43    
 /* NOTES FOR FUTURE MAINTAINERS: Do not use numbers with leading zeros, because  
 they may be treated as octal constants. The PCRE_PRERELEASE feature is for  
 identifying release candidates. It might be defined as -RC2, for example. In  
 real releases, it should be defined empty. Do not change the alignment of these  
 statments. The code in ./configure greps out the version numbers by using "cut"  
 to get values from column 29 onwards. These are substituted into pcre-config  
 and libpcre.pc. The values are not put into configure.ac and substituted here  
 (which would simplify this issue) because that makes life harder for those who  
 cannot run ./configure. As it now stands, this file need not be edited in that  
 circumstance. */  
   
44  #define PCRE_MAJOR          @PCRE_MAJOR@  #define PCRE_MAJOR          @PCRE_MAJOR@
45  #define PCRE_MINOR          @PCRE_MINOR@  #define PCRE_MINOR          @PCRE_MINOR@
46  #define PCRE_PRERELEASE     @PCRE_PRERELEASE@  #define PCRE_PRERELEASE     @PCRE_PRERELEASE@
47  #define PCRE_DATE           @PCRE_DATE@  #define PCRE_DATE           @PCRE_DATE@
48    
49  /* Win32 uses DLL by default; it needs special stuff for exported functions  /* When an application links to a PCRE DLL in Windows, the symbols that are
50  when building PCRE. */  imported have to be identified as such. When building PCRE, the appropriate
51    export setting is defined in pcre_internal.h, which includes this file. So we
52  #ifdef _WIN32  don't change existing definitions of PCRE_EXP_DECL and PCRECPP_EXP_DECL. */
53  #  ifdef PCRE_DEFINITION  
54  #    ifdef DLL_EXPORT  #if defined(_WIN32) && !defined(PCRE_STATIC)
55  #      define PCRE_DATA_SCOPE __declspec(dllexport)  #  ifndef PCRE_EXP_DECL
56    #    define PCRE_EXP_DECL  extern __declspec(dllimport)
57    #  endif
58    #  ifdef __cplusplus
59    #    ifndef PCRECPP_EXP_DECL
60    #      define PCRECPP_EXP_DECL  extern __declspec(dllimport)
61  #    endif  #    endif
62  #  else  #    ifndef PCRECPP_EXP_DEFN
63  #    ifndef PCRE_STATIC  #      define PCRECPP_EXP_DEFN  __declspec(dllimport)
 #      define PCRE_DATA_SCOPE extern __declspec(dllimport)  
64  #    endif  #    endif
65  #  endif  #  endif
66  #endif  #endif
67    
68  /* Otherwise, we use the standard "extern". */  /* By default, we use the standard "extern" declarations. */
69    
70  #ifndef PCRE_DATA_SCOPE  #ifndef PCRE_EXP_DECL
71  #  ifdef __cplusplus  #  ifdef __cplusplus
72  #    define PCRE_DATA_SCOPE     extern "C"  #    define PCRE_EXP_DECL  extern "C"
73  #  else  #  else
74  #    define PCRE_DATA_SCOPE     extern  #    define PCRE_EXP_DECL  extern
75    #  endif
76    #endif
77    
78    #ifdef __cplusplus
79    #  ifndef PCRECPP_EXP_DECL
80    #    define PCRECPP_EXP_DECL  extern
81    #  endif
82    #  ifndef PCRECPP_EXP_DEFN
83    #    define PCRECPP_EXP_DEFN
84  #  endif  #  endif
85  #endif  #endif
86    
# Line 93  it is needed here for malloc. */ Line 95  it is needed here for malloc. */
95  extern "C" {  extern "C" {
96  #endif  #endif
97    
98  /* Options */  /* Options. Some are compile-time only, some are run-time only, and some are
99    both, so we keep them all distinct. */
100    
101  #define PCRE_CASELESS           0x00000001  #define PCRE_CASELESS           0x00000001
102  #define PCRE_MULTILINE          0x00000002  #define PCRE_MULTILINE          0x00000002
# Line 119  extern "C" { Line 122  extern "C" {
122  #define PCRE_NEWLINE_LF         0x00200000  #define PCRE_NEWLINE_LF         0x00200000
123  #define PCRE_NEWLINE_CRLF       0x00300000  #define PCRE_NEWLINE_CRLF       0x00300000
124  #define PCRE_NEWLINE_ANY        0x00400000  #define PCRE_NEWLINE_ANY        0x00400000
125    #define PCRE_NEWLINE_ANYCRLF    0x00500000
126    #define PCRE_BSR_ANYCRLF        0x00800000
127    #define PCRE_BSR_UNICODE        0x01000000
128    #define PCRE_JAVASCRIPT_COMPAT  0x02000000
129    #define PCRE_NO_START_OPTIMIZE  0x04000000
130    #define PCRE_NO_START_OPTIMISE  0x04000000
131    
132  /* Exec-time and get/set-time error codes */  /* Exec-time and get/set-time error codes */
133    
# Line 144  extern "C" { Line 153  extern "C" {
153  #define PCRE_ERROR_DFA_WSSIZE     (-19)  #define PCRE_ERROR_DFA_WSSIZE     (-19)
154  #define PCRE_ERROR_DFA_RECURSE    (-20)  #define PCRE_ERROR_DFA_RECURSE    (-20)
155  #define PCRE_ERROR_RECURSIONLIMIT (-21)  #define PCRE_ERROR_RECURSIONLIMIT (-21)
156  #define PCRE_ERROR_NULLWSLIMIT    (-22)  #define PCRE_ERROR_NULLWSLIMIT    (-22)  /* No longer actually used */
157  #define PCRE_ERROR_BADNEWLINE     (-23)  #define PCRE_ERROR_BADNEWLINE     (-23)
158    
159  /* Request types for pcre_fullinfo() */  /* Request types for pcre_fullinfo() */
# Line 162  extern "C" { Line 171  extern "C" {
171  #define PCRE_INFO_NAMETABLE          9  #define PCRE_INFO_NAMETABLE          9
172  #define PCRE_INFO_STUDYSIZE         10  #define PCRE_INFO_STUDYSIZE         10
173  #define PCRE_INFO_DEFAULT_TABLES    11  #define PCRE_INFO_DEFAULT_TABLES    11
174    #define PCRE_INFO_OKPARTIAL         12
175    #define PCRE_INFO_JCHANGED          13
176    #define PCRE_INFO_HASCRORLF         14
177    
178  /* Request types for pcre_config(). Do not re-arrange, in order to remain  /* Request types for pcre_config(). Do not re-arrange, in order to remain
179  compatible. */  compatible. */
# Line 174  compatible. */ Line 186  compatible. */
186  #define PCRE_CONFIG_STACKRECURSE            5  #define PCRE_CONFIG_STACKRECURSE            5
187  #define PCRE_CONFIG_UNICODE_PROPERTIES      6  #define PCRE_CONFIG_UNICODE_PROPERTIES      6
188  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7  #define PCRE_CONFIG_MATCH_LIMIT_RECURSION   7
189    #define PCRE_CONFIG_BSR                     8
190    
191  /* Bit flags for the pcre_extra structure. Do not re-arrange or redefine  /* Bit flags for the pcre_extra structure. Do not re-arrange or redefine
192  these bits, just add new ones on the end, in order to remain compatible. */  these bits, just add new ones on the end, in order to remain compatible. */
# Line 240  that is triggered by the (?) regex item. Line 253  that is triggered by the (?) regex item.
253  have to take another form. */  have to take another form. */
254    
255  #ifndef VPCOMPAT  #ifndef VPCOMPAT
256  PCRE_DATA_SCOPE void *(*pcre_malloc)(size_t);  PCRE_EXP_DECL void *(*pcre_malloc)(size_t);
257  PCRE_DATA_SCOPE void  (*pcre_free)(void *);  PCRE_EXP_DECL void  (*pcre_free)(void *);
258  PCRE_DATA_SCOPE void *(*pcre_stack_malloc)(size_t);  PCRE_EXP_DECL void *(*pcre_stack_malloc)(size_t);
259  PCRE_DATA_SCOPE void  (*pcre_stack_free)(void *);  PCRE_EXP_DECL void  (*pcre_stack_free)(void *);
260  PCRE_DATA_SCOPE int   (*pcre_callout)(pcre_callout_block *);  PCRE_EXP_DECL int   (*pcre_callout)(pcre_callout_block *);
261  #else   /* VPCOMPAT */  #else   /* VPCOMPAT */
262  PCRE_DATA_SCOPE void *pcre_malloc(size_t);  PCRE_EXP_DECL void *pcre_malloc(size_t);
263  PCRE_DATA_SCOPE void  pcre_free(void *);  PCRE_EXP_DECL void  pcre_free(void *);
264  PCRE_DATA_SCOPE void *pcre_stack_malloc(size_t);  PCRE_EXP_DECL void *pcre_stack_malloc(size_t);
265  PCRE_DATA_SCOPE void  pcre_stack_free(void *);  PCRE_EXP_DECL void  pcre_stack_free(void *);
266  PCRE_DATA_SCOPE int   pcre_callout(pcre_callout_block *);  PCRE_EXP_DECL int   pcre_callout(pcre_callout_block *);
267  #endif  /* VPCOMPAT */  #endif  /* VPCOMPAT */
268    
269  /* Exported PCRE functions */  /* Exported PCRE functions */
270    
271  PCRE_DATA_SCOPE pcre *pcre_compile(const char *, int, const char **, int *,  PCRE_EXP_DECL pcre *pcre_compile(const char *, int, const char **, int *,
272                    const unsigned char *);                    const unsigned char *);
273  PCRE_DATA_SCOPE pcre *pcre_compile2(const char *, int, int *, const char **,  PCRE_EXP_DECL pcre *pcre_compile2(const char *, int, int *, const char **,
274                    int *, const unsigned char *);                    int *, const unsigned char *);
275  PCRE_DATA_SCOPE int  pcre_config(int, void *);  PCRE_EXP_DECL int  pcre_config(int, void *);
276  PCRE_DATA_SCOPE int  pcre_copy_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_copy_named_substring(const pcre *, const char *,
277                    int *, int, const char *, char *, int);                    int *, int, const char *, char *, int);
278  PCRE_DATA_SCOPE int  pcre_copy_substring(const char *, int *, int, int, char *,  PCRE_EXP_DECL int  pcre_copy_substring(const char *, int *, int, int, char *,
279                    int);                    int);
280  PCRE_DATA_SCOPE int  pcre_dfa_exec(const pcre *, const pcre_extra *,  PCRE_EXP_DECL int  pcre_dfa_exec(const pcre *, const pcre_extra *,
281                    const char *, int, int, int, int *, int , int *, int);                    const char *, int, int, int, int *, int , int *, int);
282  PCRE_DATA_SCOPE int  pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,  PCRE_EXP_DECL int  pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,
283                     int, int, int, int *, int);                     int, int, int, int *, int);
284  PCRE_DATA_SCOPE void pcre_free_substring(const char *);  PCRE_EXP_DECL void pcre_free_substring(const char *);
285  PCRE_DATA_SCOPE void pcre_free_substring_list(const char **);  PCRE_EXP_DECL void pcre_free_substring_list(const char **);
286  PCRE_DATA_SCOPE int  pcre_fullinfo(const pcre *, const pcre_extra *, int,  PCRE_EXP_DECL int  pcre_fullinfo(const pcre *, const pcre_extra *, int,
287                    void *);                    void *);
288  PCRE_DATA_SCOPE int  pcre_get_named_substring(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_named_substring(const pcre *, const char *,
289                    int *, int, const char *, const char **);                    int *, int, const char *, const char **);
290  PCRE_DATA_SCOPE int  pcre_get_stringnumber(const pcre *, const char *);  PCRE_EXP_DECL int  pcre_get_stringnumber(const pcre *, const char *);
291  PCRE_DATA_SCOPE int  pcre_get_stringtable_entries(const pcre *, const char *,  PCRE_EXP_DECL int  pcre_get_stringtable_entries(const pcre *, const char *,
292                    char **, char **);                    char **, char **);
293  PCRE_DATA_SCOPE int  pcre_get_substring(const char *, int *, int, int,  PCRE_EXP_DECL int  pcre_get_substring(const char *, int *, int, int,
294                    const char **);                    const char **);
295  PCRE_DATA_SCOPE int  pcre_get_substring_list(const char *, int *, int,  PCRE_EXP_DECL int  pcre_get_substring_list(const char *, int *, int,
296                    const char ***);                    const char ***);
297  PCRE_DATA_SCOPE int  pcre_info(const pcre *, int *, int *);  PCRE_EXP_DECL int  pcre_info(const pcre *, int *, int *);
298  PCRE_DATA_SCOPE const unsigned char *pcre_maketables(void);  PCRE_EXP_DECL const unsigned char *pcre_maketables(void);
299  PCRE_DATA_SCOPE int  pcre_refcount(pcre *, int);  PCRE_EXP_DECL int  pcre_refcount(pcre *, int);
300  PCRE_DATA_SCOPE pcre_extra *pcre_study(const pcre *, int, const char **);  PCRE_EXP_DECL pcre_extra *pcre_study(const pcre *, int, const char **);
301  PCRE_DATA_SCOPE const char *pcre_version(void);  PCRE_EXP_DECL const char *pcre_version(void);
302    
303  #ifdef __cplusplus  #ifdef __cplusplus
304  }  /* extern "C" */  }  /* extern "C" */

Legend:
Removed from v.97  
changed lines
  Added in v.389

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12