| 
									
										
										
										
											1991-02-19 12:39:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-07-08 17:25:55 +00:00
										 |  |  | #ifndef Py_MODSUPPORT_H
 | 
					
						
							|  |  |  | #define Py_MODSUPPORT_H
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1990-10-14 12:07:46 +00:00
										 |  |  | /* Module support interface */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1993-03-16 12:15:04 +00:00
										 |  |  | #include <stdarg.h>
 | 
					
						
							| 
									
										
										
										
											1994-08-01 11:34:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_Parse(PyObject *, char *, ...); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, char *, ...); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, | 
					
						
							| 
									
										
										
										
											2000-07-08 17:25:55 +00:00
										 |  |  |                                                   char *, char **, ...); | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, char *, int, int, ...); | 
					
						
							|  |  |  | PyAPI_FUNC(PyObject *) Py_BuildValue(char *, ...); | 
					
						
							| 
									
										
										
										
											2005-08-26 06:42:30 +00:00
										 |  |  | PyAPI_FUNC(int) _PyArg_NoKeywords(char *funcname, PyObject *kw); | 
					
						
							| 
									
										
										
										
											1994-08-01 11:34:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_VaParse(PyObject *, char *, va_list); | 
					
						
							| 
									
										
										
										
											2004-07-10 22:20:32 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, | 
					
						
							|  |  |  |                                                   char *, char **, va_list); | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) Py_VaBuildValue(char *, va_list); | 
					
						
							| 
									
										
										
										
											1992-01-27 16:50:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(int) PyModule_AddObject(PyObject *, char *, PyObject *); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, char *, long); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, char *, char *); | 
					
						
							| 
									
										
										
										
											2000-09-23 03:24:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-19 21:43:18 +00:00
										 |  |  | #define PYTHON_API_VERSION 1012
 | 
					
						
							|  |  |  | #define PYTHON_API_STRING "1012"
 | 
					
						
							| 
									
										
										
										
											1995-01-09 17:47:20 +00:00
										 |  |  | /* The API version is maintained (independently from the Python version)
 | 
					
						
							|  |  |  |    so we can detect mismatches between the interpreter and dynamically | 
					
						
							| 
									
										
										
										
											2000-07-16 12:04:32 +00:00
										 |  |  |    loaded modules.  These are diagnosed by an error message but | 
					
						
							| 
									
										
										
										
											1996-07-30 16:41:02 +00:00
										 |  |  |    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. | 
					
						
							| 
									
										
										
										
											1995-01-09 17:47:20 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-08-22 22:55:47 +00:00
										 |  |  |    The symbol PYTHON_API_STRING defines the same value as a string | 
					
						
							|  |  |  |    literal.  *** PLEASE MAKE SURE THE DEFINITIONS MATCH. *** | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-01-09 17:47:20 +00:00
										 |  |  |    Please add a line or two to the top of this log for each API | 
					
						
							|  |  |  |    version change: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-19 21:43:18 +00:00
										 |  |  |    19-Aug-2002  GvR	1012	Changes to string object struct for | 
					
						
							|  |  |  |    				interning changes, saving 3 bytes. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-02 04:15:00 +00:00
										 |  |  |    17-Jul-2001	GvR	1011	Descr-branch, just to be on the safe side | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-01-25 22:13:34 +00:00
										 |  |  |    25-Jan-2001  FLD     1010    Parameters added to PyCode_New() and | 
					
						
							|  |  |  |                                 PyFrame_New(); Python 2.1a2 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-03-29 01:46:45 +00:00
										 |  |  |    14-Mar-2000  GvR     1009    Unicode API added | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-01-03 12:40:24 +00:00
										 |  |  |    3-Jan-1999	GvR	1007	Decided to change back!  (Don't reuse 1008!) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    3-Dec-1998	GvR	1008	Python 1.5.2b1 | 
					
						
							| 
									
										
										
										
											1998-12-03 18:18:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    18-Jan-1997	GvR	1007	string interning and other speedups | 
					
						
							| 
									
										
										
										
											1997-01-18 07:54:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-10-11 16:25:41 +00:00
										 |  |  |    11-Oct-1996	GvR	renamed Py_Ellipses to Py_Ellipsis :-( | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-07-30 16:41:02 +00:00
										 |  |  |    30-Jul-1996	GvR	Slice and ellipses syntax added | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    23-Jul-1996	GvR	For 1.4 -- better safe than sorry this time :-) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-01-12 00:49:39 +00:00
										 |  |  |    7-Nov-1995	GvR	Keyword arguments (should've been done at 1.3 :-( ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-01-12 11:45:45 +00:00
										 |  |  |    10-Jan-1995	GvR	Renamed globals to new naming scheme | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-01-09 17:47:20 +00:00
										 |  |  |    9-Jan-1995	GvR	Initial version (incompatible with older API) | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-08-22 22:55:47 +00:00
										 |  |  | #ifdef MS_WINDOWS
 | 
					
						
							| 
									
										
										
										
											1997-09-29 23:29:08 +00:00
										 |  |  | /* 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.  */ | 
					
						
							| 
									
										
										
										
											1996-08-22 22:55:47 +00:00
										 |  |  | #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
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods, | 
					
						
							| 
									
										
										
										
											2000-07-08 17:25:55 +00:00
										 |  |  |                                             char *doc, PyObject *self, | 
					
						
							|  |  |  |                                             int apiver); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1995-01-12 11:45:45 +00:00
										 |  |  | #define Py_InitModule(name, methods) \
 | 
					
						
							|  |  |  | 	Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \ | 
					
						
							|  |  |  | 		       PYTHON_API_VERSION) | 
					
						
							| 
									
										
										
										
											1993-07-28 09:05:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-06-27 18:21:59 +00:00
										 |  |  | #define Py_InitModule3(name, methods, doc) \
 | 
					
						
							|  |  |  | 	Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ | 
					
						
							|  |  |  | 		       PYTHON_API_VERSION) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_DATA(char *) _Py_PackageContext; | 
					
						
							| 
									
										
										
										
											1997-11-19 18:51:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1993-07-28 09:05:47 +00:00
										 |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* !Py_MODSUPPORT_H */
 |