mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			97 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/***********************************************************
 | 
						|
Copyright (c) 2000, BeOpen.com.
 | 
						|
Copyright (c) 1995-2000, Corporation for National Research Initiatives.
 | 
						|
Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
 | 
						|
All rights reserved.
 | 
						|
 | 
						|
See the file "Misc/COPYRIGHT" for information on usage and
 | 
						|
redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 | 
						|
******************************************************************/
 | 
						|
 | 
						|
#ifndef Py_MODSUPPORT_H
 | 
						|
#define Py_MODSUPPORT_H
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/* Module support interface */
 | 
						|
 | 
						|
#include <stdarg.h>
 | 
						|
 | 
						|
extern DL_IMPORT(int) PyArg_Parse(PyObject *, char *, ...);
 | 
						|
extern DL_IMPORT(int) PyArg_ParseTuple(PyObject *, char *, ...);
 | 
						|
extern DL_IMPORT(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
 | 
						|
                                                  char *, char **, ...);
 | 
						|
extern DL_IMPORT(PyObject *) Py_BuildValue(char *, ...);
 | 
						|
 | 
						|
extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list);
 | 
						|
extern DL_IMPORT(PyObject *) Py_VaBuildValue(char *, va_list);
 | 
						|
 | 
						|
#define PYTHON_API_VERSION 1009
 | 
						|
#define PYTHON_API_STRING "1009"
 | 
						|
/* The API version is maintained (independently from the Python version)
 | 
						|
   so we can detect mismatches between the interpreter and dynamically
 | 
						|
   loaded modules.  These are diagnosed by an error message but
 | 
						|
   the module is still loaded (because the mismatch can only be tested
 | 
						|
   after loading the module).  The error message is intended to
 | 
						|
   explain the core dump a few seconds later.
 | 
						|
 | 
						|
   The symbol PYTHON_API_STRING defines the same value as a string
 | 
						|
   literal.  *** PLEASE MAKE SURE THE DEFINITIONS MATCH. ***
 | 
						|
 | 
						|
   Please add a line or two to the top of this log for each API
 | 
						|
   version change:
 | 
						|
 | 
						|
   14-Mar-2000  GvR     1009    Unicode API added
 | 
						|
 | 
						|
   3-Jan-1999	GvR	1007	Decided to change back!  (Don't reuse 1008!)
 | 
						|
 | 
						|
   3-Dec-1998	GvR	1008	Python 1.5.2b1
 | 
						|
 | 
						|
   18-Jan-1997	GvR	1007	string interning and other speedups
 | 
						|
 | 
						|
   11-Oct-1996	GvR	renamed Py_Ellipses to Py_Ellipsis :-(
 | 
						|
 | 
						|
   30-Jul-1996	GvR	Slice and ellipses syntax added
 | 
						|
 | 
						|
   23-Jul-1996	GvR	For 1.4 -- better safe than sorry this time :-)
 | 
						|
 | 
						|
   7-Nov-1995	GvR	Keyword arguments (should've been done at 1.3 :-( )
 | 
						|
 | 
						|
   10-Jan-1995	GvR	Renamed globals to new naming scheme
 | 
						|
 | 
						|
   9-Jan-1995	GvR	Initial version (incompatible with older API)
 | 
						|
*/
 | 
						|
 | 
						|
#ifdef MS_WINDOWS
 | 
						|
/* Special defines for Windows versions used to live here.  Things
 | 
						|
   have changed, and the "Version" is now in a global string variable.
 | 
						|
   Reason for this is that this for easier branding of a "custom DLL"
 | 
						|
   without actually needing a recompile.  */
 | 
						|
#endif /* MS_WINDOWS */
 | 
						|
 | 
						|
#ifdef Py_TRACE_REFS
 | 
						|
/* When we are tracing reference counts, rename Py_InitModule4 so
 | 
						|
   modules compiled with incompatible settings will generate a
 | 
						|
   link-time error. */
 | 
						|
#define Py_InitModule4 Py_InitModule4TraceRefs
 | 
						|
#endif
 | 
						|
 | 
						|
extern DL_IMPORT(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods,
 | 
						|
                                            char *doc, PyObject *self,
 | 
						|
                                            int apiver);
 | 
						|
 | 
						|
#define Py_InitModule(name, methods) \
 | 
						|
	Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \
 | 
						|
		       PYTHON_API_VERSION)
 | 
						|
 | 
						|
#define Py_InitModule3(name, methods, doc) \
 | 
						|
	Py_InitModule4(name, methods, doc, (PyObject *)NULL, \
 | 
						|
		       PYTHON_API_VERSION)
 | 
						|
 | 
						|
extern DL_IMPORT(char *) _Py_PackageContext;
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
#endif /* !Py_MODSUPPORT_H */
 |