mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*************************************************
 | |
| *       Perl-Compatible Regular Expressions      *
 | |
| *************************************************/
 | |
| 
 | |
| /* Copyright (c) 1998 University of Cambridge */
 | |
| 
 | |
| #ifndef _PCRE_H
 | |
| #define _PCRE_H
 | |
| 
 | |
| #ifdef FOR_PYTHON
 | |
| #include "Python.h"
 | |
| #endif
 | |
| 
 | |
| /* Have to include stdlib.h in order to ensure that size_t is defined;
 | |
| it is needed here for malloc. */
 | |
| 
 | |
| #ifndef DONT_HAVE_SYS_TYPES_H
 | |
| #include <sys/types.h>
 | |
| #endif
 | |
| #include <stdlib.h>
 | |
| 
 | |
| /* Allow for C++ users */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /* Options */
 | |
| 
 | |
| #define PCRE_CASELESS        0x0001
 | |
| #define PCRE_EXTENDED        0x0002
 | |
| #define PCRE_ANCHORED        0x0004
 | |
| #define PCRE_MULTILINE       0x0008
 | |
| #define PCRE_DOTALL          0x0010
 | |
| #define PCRE_DOLLAR_ENDONLY  0x0020
 | |
| #define PCRE_EXTRA           0x0040
 | |
| #define PCRE_NOTBOL          0x0080
 | |
| #define PCRE_NOTEOL          0x0100
 | |
| #define PCRE_UNGREEDY        0x0400
 | |
| #ifdef FOR_PYTHON
 | |
| #define PCRE_LOCALE          0x0200
 | |
| #endif
 | |
| 
 | |
| /* Exec-time error codes */
 | |
| 
 | |
| #define PCRE_ERROR_NOMATCH        (-1)
 | |
| #define PCRE_ERROR_BADREF         (-2)
 | |
| #define PCRE_ERROR_NULL           (-3)
 | |
| #define PCRE_ERROR_BADOPTION      (-4)
 | |
| #define PCRE_ERROR_BADMAGIC       (-5)
 | |
| #define PCRE_ERROR_UNKNOWN_NODE   (-6)
 | |
| #define PCRE_ERROR_NOMEMORY       (-7)
 | |
| 
 | |
| /* Types */
 | |
| 
 | |
| typedef void pcre;
 | |
| typedef void pcre_extra;
 | |
| 
 | |
| /* Store get and free functions. These can be set to alternative malloc/free
 | |
| functions if required. */
 | |
| 
 | |
| extern void *(*pcre_malloc)(size_t);
 | |
| extern void  (*pcre_free)(void *);
 | |
| 
 | |
| /* Functions */
 | |
| 
 | |
| #ifdef FOR_PYTHON
 | |
| extern pcre *pcre_compile(const char *, int, const char **, int *, PyObject *);
 | |
| extern int pcre_exec(const pcre *, const pcre_extra *, const char *,
 | |
|   int, int, int, int *, int);
 | |
| #else
 | |
| extern pcre *pcre_compile(const char *, int, const char **, int *);
 | |
| extern int pcre_exec(const pcre *, const pcre_extra *, const char *,
 | |
|   int, int, int *, int);
 | |
| #endif
 | |
| extern int pcre_info(const pcre *, int *, int *);
 | |
| extern pcre_extra *pcre_study(const pcre *, int, const char **);
 | |
| extern const char *pcre_version(void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }  /* extern "C" */
 | |
| #endif
 | |
| 
 | |
| #endif /* End of pcre.h */
 | 
