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

Diff of /code/trunk/pcreposix.h

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

revision 96 by nigel, Fri Mar 2 13:10:43 2007 UTC revision 388 by ph10, Wed Mar 11 17:03:17 2009 UTC
# Line 9  Line 9 
9  Compatible Regular Expression library. It defines the things POSIX says should  Compatible Regular Expression library. It defines the things POSIX says should
10  be there. I hope.  be there. I hope.
11    
12              Copyright (c) 1997-2006 University of Cambridge              Copyright (c) 1997-2009 University of Cambridge
13    
14  -----------------------------------------------------------------------------  -----------------------------------------------------------------------------
15  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
# Line 59  extern "C" { Line 59  extern "C" {
59  #define REG_DOTALL    0x0010   /* NOT defined by POSIX. */  #define REG_DOTALL    0x0010   /* NOT defined by POSIX. */
60  #define REG_NOSUB     0x0020  #define REG_NOSUB     0x0020
61  #define REG_UTF8      0x0040   /* NOT defined by POSIX. */  #define REG_UTF8      0x0040   /* NOT defined by POSIX. */
62    #define REG_STARTEND  0x0080   /* BSD feature: pass subject string by so,eo */
63    #define REG_NOTEMPTY  0x0100   /* NOT defined by POSIX. */
64    
65  /* This is not used by PCRE, but by defining it we make it easier  /* This is not used by PCRE, but by defining it we make it easier
66  to slot PCRE into existing programs that make POSIX calls. */  to slot PCRE into existing programs that make POSIX calls. */
# Line 105  typedef struct { Line 107  typedef struct {
107    regoff_t rm_eo;    regoff_t rm_eo;
108  } regmatch_t;  } regmatch_t;
109    
110  /* 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
111  when building PCRE. */  imported have to be identified as such. When building PCRE, the appropriate
112    export settings are needed, and are set in pcreposix.c before including this
113  #ifndef PCRE_DATA_SCOPE  file. */
114  #ifdef _WIN32  
115  #  ifdef PCRE_DEFINITION  #if defined(_WIN32) && !defined(PCRE_STATIC) && !defined(PCREPOSIX_EXP_DECL)
116  #    ifdef DLL_EXPORT  #  define PCREPOSIX_EXP_DECL  extern __declspec(dllimport)
117  #      define PCRE_DATA_SCOPE __declspec(dllexport)  #  define PCREPOSIX_EXP_DEFN  __declspec(dllimport)
 #    endif  
 #  else  
 #    ifndef PCRE_STATIC  
 #      define PCRE_DATA_SCOPE extern __declspec(dllimport)  
 #    endif  
 #  endif  
 #endif  
118  #endif  #endif
119    
120  /* Otherwise, we use the standard "extern". */  /* By default, we use the standard "extern" declarations. */
121    
122  #ifndef PCRE_DATA_SCOPE  #ifndef PCREPOSIX_EXP_DECL
123  #  ifdef __cplusplus  #  ifdef __cplusplus
124  #    define PCRE_DATA_SCOPE     extern "C"  #    define PCREPOSIX_EXP_DECL  extern "C"
125    #    define PCREPOSIX_EXP_DEFN  extern "C"
126  #  else  #  else
127  #    define PCRE_DATA_SCOPE     extern  #    define PCREPOSIX_EXP_DECL  extern
128    #    define PCREPOSIX_EXP_DEFN  extern
129  #  endif  #  endif
130  #endif  #endif
131    
132  /* The functions */  /* The functions */
133    
134  PCRE_DATA_SCOPE int regcomp(regex_t *, const char *, int);  PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int);
135  PCRE_DATA_SCOPE int regexec(const regex_t *, const char *, size_t,  PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t,
136                    regmatch_t *, int);                       regmatch_t *, int);
137  PCRE_DATA_SCOPE size_t regerror(int, const regex_t *, char *, size_t);  PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t);
138  PCRE_DATA_SCOPE void regfree(regex_t *);  PCREPOSIX_EXP_DECL void regfree(regex_t *);
139    
140  #ifdef __cplusplus  #ifdef __cplusplus
141  }   /* extern "C" */  }   /* extern "C" */

Legend:
Removed from v.96  
changed lines
  Added in v.388

  ViewVC Help
Powered by ViewVC 1.1.5