| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-02-15 17:27:45 +00:00
										 |  |  | /* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier
 | 
					
						
							|  |  |  |    to mean Py_ssize_t */ | 
					
						
							|  |  |  | #ifdef PY_SSIZE_T_CLEAN
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  | #define PyArg_Parse                     _PyArg_Parse_SizeT
 | 
					
						
							|  |  |  | #define PyArg_ParseTuple                _PyArg_ParseTuple_SizeT
 | 
					
						
							|  |  |  | #define PyArg_ParseTupleAndKeywords     _PyArg_ParseTupleAndKeywords_SizeT
 | 
					
						
							|  |  |  | #define PyArg_VaParse                   _PyArg_VaParse_SizeT
 | 
					
						
							|  |  |  | #define PyArg_VaParseTupleAndKeywords   _PyArg_VaParseTupleAndKeywords_SizeT
 | 
					
						
							|  |  |  | #define Py_BuildValue                   _Py_BuildValue_SizeT
 | 
					
						
							|  |  |  | #define Py_VaBuildValue                 _Py_VaBuildValue_SizeT
 | 
					
						
							| 
									
										
										
										
											2016-12-27 17:59:04 +02:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2016-12-09 00:29:49 +01:00
										 |  |  | #define _Py_VaBuildStack                _Py_VaBuildStack_SizeT
 | 
					
						
							| 
									
										
										
										
											2016-12-27 17:59:04 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2006-04-21 10:40:58 +00:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2016-09-11 11:03:14 +03:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2006-04-21 10:40:58 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list); | 
					
						
							| 
									
										
										
										
											2016-12-09 00:29:49 +01:00
										 |  |  | PyAPI_FUNC(PyObject **) _Py_VaBuildStack_SizeT( | 
					
						
							|  |  |  |     PyObject **small_stack, | 
					
						
							|  |  |  |     Py_ssize_t small_stack_len, | 
					
						
							|  |  |  |     const char *format, | 
					
						
							|  |  |  |     va_list va, | 
					
						
							|  |  |  |     Py_ssize_t *p_nargs); | 
					
						
							| 
									
										
										
										
											2016-09-11 11:03:14 +03:00
										 |  |  | #endif /* !Py_LIMITED_API */
 | 
					
						
							| 
									
										
										
										
											2006-02-15 17:27:45 +00:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-24 00:00:30 +02:00
										 |  |  | /* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */ | 
					
						
							|  |  |  | #if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
 | 
					
						
							| 
									
										
										
										
											2005-12-10 18:50:16 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...); | 
					
						
							| 
									
										
										
										
											2013-05-12 23:08:28 -05:00
										 |  |  | PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...); | 
					
						
							| 
									
										
										
										
											2002-08-12 07:21:58 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, | 
					
						
							| 
									
										
										
										
											2006-02-27 16:46:16 +00:00
										 |  |  |                                                   const char *, char **, ...); | 
					
						
							| 
									
										
										
										
											2017-01-24 21:27:12 +02:00
										 |  |  | PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, | 
					
						
							|  |  |  |                                                   const char *, char **, va_list); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-04-24 18:21:17 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *); | 
					
						
							| 
									
										
										
										
											2006-03-01 04:06:10 +00:00
										 |  |  | PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); | 
					
						
							| 
									
										
										
										
											2005-12-10 18:50:16 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...); | 
					
						
							| 
									
										
										
										
											2006-04-21 10:40:58 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); | 
					
						
							| 
									
										
										
										
											2017-01-24 21:27:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-17 02:33:55 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2017-01-17 02:33:55 +01:00
										 |  |  | PyAPI_FUNC(int) _PyArg_UnpackStack( | 
					
						
							| 
									
										
										
										
											2017-12-15 13:11:11 +02:00
										 |  |  |     PyObject *const *args, | 
					
						
							| 
									
										
										
										
											2017-01-17 02:33:55 +01:00
										 |  |  |     Py_ssize_t nargs, | 
					
						
							|  |  |  |     const char *name, | 
					
						
							|  |  |  |     Py_ssize_t min, | 
					
						
							|  |  |  |     Py_ssize_t max, | 
					
						
							|  |  |  |     ...); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-17 01:40:01 +01:00
										 |  |  | PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kwargs); | 
					
						
							| 
									
										
										
										
											2014-01-18 23:50:21 -08:00
										 |  |  | PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args); | 
					
						
							| 
									
										
										
										
											2017-02-06 10:41:46 +02:00
										 |  |  | #define _PyArg_NoKeywords(funcname, kwargs) \
 | 
					
						
							|  |  |  |     ((kwargs) == NULL || _PyArg_NoKeywords((funcname), (kwargs))) | 
					
						
							|  |  |  | #define _PyArg_NoPositional(funcname, args) \
 | 
					
						
							|  |  |  |     ((args) == NULL || _PyArg_NoPositional((funcname), (args))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-29 16:49:08 +02:00
										 |  |  | PyAPI_FUNC(void) _PyArg_BadArgument(const char *, const char *, const char *, PyObject *); | 
					
						
							| 
									
										
										
										
											2019-01-11 16:01:14 +02:00
										 |  |  | PyAPI_FUNC(int) _PyArg_CheckPositional(const char *, Py_ssize_t, | 
					
						
							|  |  |  |                                        Py_ssize_t, Py_ssize_t); | 
					
						
							|  |  |  | #define _PyArg_CheckPositional(funcname, nargs, min, max) \
 | 
					
						
							|  |  |  |     (((min) <= (nargs) && (nargs) <= (max)) \ | 
					
						
							|  |  |  |      || _PyArg_CheckPositional((funcname), (nargs), (min), (max))) | 
					
						
							| 
									
										
										
										
											2018-12-25 13:23:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-24 00:00:30 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2017-01-17 02:33:55 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-12-10 18:50:16 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); | 
					
						
							| 
									
										
										
										
											2016-12-27 17:59:04 +02:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2016-12-09 00:29:49 +01:00
										 |  |  | PyAPI_FUNC(PyObject **) _Py_VaBuildStack( | 
					
						
							|  |  |  |     PyObject **small_stack, | 
					
						
							|  |  |  |     Py_ssize_t small_stack_len, | 
					
						
							|  |  |  |     const char *format, | 
					
						
							|  |  |  |     va_list va, | 
					
						
							|  |  |  |     Py_ssize_t *p_nargs); | 
					
						
							| 
									
										
										
										
											2016-12-27 17:59:04 +02:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											1992-01-27 16:50:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-14 10:52:18 +03:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							|  |  |  | typedef struct _PyArg_Parser { | 
					
						
							|  |  |  |     const char *format; | 
					
						
							|  |  |  |     const char * const *keywords; | 
					
						
							|  |  |  |     const char *fname; | 
					
						
							|  |  |  |     const char *custom_msg; | 
					
						
							|  |  |  |     int pos;            /* number of positional-only arguments */ | 
					
						
							|  |  |  |     int min;            /* minimal number of arguments */ | 
					
						
							|  |  |  |     int max;            /* maximal number of positional arguments */ | 
					
						
							|  |  |  |     PyObject *kwtuple;  /* tuple of keyword parameter names */ | 
					
						
							|  |  |  |     struct _PyArg_Parser *next; | 
					
						
							|  |  |  | } _PyArg_Parser; | 
					
						
							|  |  |  | #ifdef PY_SSIZE_T_CLEAN
 | 
					
						
							|  |  |  | #define _PyArg_ParseTupleAndKeywordsFast  _PyArg_ParseTupleAndKeywordsFast_SizeT
 | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:49 +01:00
										 |  |  | #define _PyArg_ParseStack  _PyArg_ParseStack_SizeT
 | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:01 +01:00
										 |  |  | #define _PyArg_ParseStackAndKeywords  _PyArg_ParseStackAndKeywords_SizeT
 | 
					
						
							| 
									
										
										
										
											2016-08-14 10:52:18 +03:00
										 |  |  | #define _PyArg_VaParseTupleAndKeywordsFast  _PyArg_VaParseTupleAndKeywordsFast_SizeT
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | PyAPI_FUNC(int) _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *, | 
					
						
							|  |  |  |                                                  struct _PyArg_Parser *, ...); | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:49 +01:00
										 |  |  | PyAPI_FUNC(int) _PyArg_ParseStack( | 
					
						
							| 
									
										
										
										
											2017-12-15 13:11:11 +02:00
										 |  |  |     PyObject *const *args, | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:49 +01:00
										 |  |  |     Py_ssize_t nargs, | 
					
						
							|  |  |  |     const char *format, | 
					
						
							|  |  |  |     ...); | 
					
						
							|  |  |  | PyAPI_FUNC(int) _PyArg_ParseStackAndKeywords( | 
					
						
							| 
									
										
										
										
											2017-12-15 13:11:11 +02:00
										 |  |  |     PyObject *const *args, | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:49 +01:00
										 |  |  |     Py_ssize_t nargs, | 
					
						
							|  |  |  |     PyObject *kwnames, | 
					
						
							|  |  |  |     struct _PyArg_Parser *, | 
					
						
							|  |  |  |     ...); | 
					
						
							| 
									
										
										
										
											2016-08-14 10:52:18 +03:00
										 |  |  | PyAPI_FUNC(int) _PyArg_VaParseTupleAndKeywordsFast(PyObject *, PyObject *, | 
					
						
							|  |  |  |                                                    struct _PyArg_Parser *, va_list); | 
					
						
							| 
									
										
										
										
											2019-03-14 10:32:22 +02:00
										 |  |  | PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywords( | 
					
						
							|  |  |  |         PyObject *const *args, Py_ssize_t nargs, | 
					
						
							|  |  |  |         PyObject *kwargs, PyObject *kwnames, | 
					
						
							|  |  |  |         struct _PyArg_Parser *parser, | 
					
						
							|  |  |  |         int minpos, int maxpos, int minkw, | 
					
						
							|  |  |  |         PyObject **buf); | 
					
						
							|  |  |  | #define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \
 | 
					
						
							|  |  |  |     (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ | 
					
						
							|  |  |  |       (minpos) <= (nargs) && (nargs) <= (maxpos) && args != NULL) ? (args) : \ | 
					
						
							|  |  |  |      _PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \ | 
					
						
							|  |  |  |                            (minpos), (maxpos), (minkw), (buf))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-14 10:52:18 +03:00
										 |  |  | void _PyArg_Fini(void); | 
					
						
							| 
									
										
										
										
											2017-01-17 01:29:49 +01:00
										 |  |  | #endif   /* Py_LIMITED_API */
 | 
					
						
							| 
									
										
										
										
											2016-08-14 10:52:18 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-12-10 18:50:16 +00:00
										 |  |  | PyAPI_FUNC(int) PyModule_AddObject(PyObject *, const char *, PyObject *); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *); | 
					
						
							| 
									
										
											  
											
												Merged revisions 60176-60209 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
  r60178 | georg.brandl | 2008-01-21 22:05:49 +0100 (Mon, 21 Jan 2008) | 2 lines
  #1715: include sub-extension modules in pydoc text output.
........
  r60179 | georg.brandl | 2008-01-21 22:14:21 +0100 (Mon, 21 Jan 2008) | 2 lines
  Add a "const" to make gcc happy.
........
  r60180 | georg.brandl | 2008-01-21 22:19:07 +0100 (Mon, 21 Jan 2008) | 2 lines
  Add the correct build dir when building with pydebug.
........
  r60181 | georg.brandl | 2008-01-21 22:23:15 +0100 (Mon, 21 Jan 2008) | 3 lines
  Patch #1720595: add T_BOOL to the range of structmember types.
  Patch by Angelo Mottola, reviewed by MvL, tests by me.
........
  r60182 | georg.brandl | 2008-01-21 22:28:32 +0100 (Mon, 21 Jan 2008) | 2 lines
  Reformat some ugly code.
........
  r60187 | brett.cannon | 2008-01-22 00:50:16 +0100 (Tue, 22 Jan 2008) | 4 lines
  Make's MAKEFLAGS variable is set to a string containing the single-letter
  arguments to Make. This means there are no hyphens. Fix the '-s' check to
  silence distutils to now work.
........
  r60188 | gregory.p.smith | 2008-01-22 01:19:41 +0100 (Tue, 22 Jan 2008) | 3 lines
  accepts and closes issue #1221598: adds an optional callback to ftplib.FTP
  storbinary() and storlines() methods.
........
  r60189 | gregory.p.smith | 2008-01-22 02:12:02 +0100 (Tue, 22 Jan 2008) | 2 lines
  Replace spam.acquire() try: ... finally: spam.release() with "with spam:"
........
  r60190 | gregory.p.smith | 2008-01-22 02:20:42 +0100 (Tue, 22 Jan 2008) | 4 lines
  - Fix Issue #1703448: A joined thread could show up in the
    threading.enumerate() list after the join() for a brief period until
    it actually exited.
........
  r60193 | georg.brandl | 2008-01-22 08:53:31 +0100 (Tue, 22 Jan 2008) | 2 lines
  Fix \xhh specs, #1889.
........
  r60198 | christian.heimes | 2008-01-22 16:01:25 +0100 (Tue, 22 Jan 2008) | 1 line
  Fixed a missing (X) in define
........
  r60199 | christian.heimes | 2008-01-22 16:25:18 +0100 (Tue, 22 Jan 2008) | 2 lines
  Don't repeat yourself
  Added the macros PyModule_AddIntMacro and PyModule_AddStringMacro. They shorten PyModule_AddIntConstant(m, "AF_INET", AF_INET) to PyModule_AddIntMacro(m, AF_INET)
........
  r60201 | raymond.hettinger | 2008-01-22 20:51:41 +0100 (Tue, 22 Jan 2008) | 1 line
  Document when to use izip_longest().
........
  r60202 | georg.brandl | 2008-01-22 20:56:03 +0100 (Tue, 22 Jan 2008) | 2 lines
  Fix for #1087741 patch.
........
  r60203 | raymond.hettinger | 2008-01-22 21:18:53 +0100 (Tue, 22 Jan 2008) | 1 line
  Give zip() the same guarantee as izip() for left-to-right evaluation.
........
  r60204 | raymond.hettinger | 2008-01-22 23:09:26 +0100 (Tue, 22 Jan 2008) | 1 line
  Improve variable name in sample code
........
  r60205 | gregory.p.smith | 2008-01-23 00:15:34 +0100 (Wed, 23 Jan 2008) | 2 lines
  docstring and comment updates suggested by Giampaolo Rodola'
........
  r60207 | raymond.hettinger | 2008-01-23 01:04:40 +0100 (Wed, 23 Jan 2008) | 1 line
  Let pprint() support sets and frozensets (suggested by David Mertz).
........
  r60208 | guido.van.rossum | 2008-01-23 02:18:27 +0100 (Wed, 23 Jan 2008) | 4 lines
  I'm tired of these tests breaking at Google due to our large number of
  users and groups in LDAP/NIS.  So I'm limiting the extra-heavy part of
  the tests to passwd/group files with at most 1000 entries.
........
											
										 
											2008-01-23 08:24:23 +00:00
										 |  |  | #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
 | 
					
						
							|  |  |  | #define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c)
 | 
					
						
							| 
									
										
										
										
											2015-06-02 19:06:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
 | 
					
						
							|  |  |  | /* New in 3.5 */ | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  | PyAPI_FUNC(int) PyModule_SetDocString(PyObject *, const char *); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_AddFunctions(PyObject *, PyMethodDef *); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyModule_ExecDef(PyObject *module, PyModuleDef *def); | 
					
						
							| 
									
										
										
										
											2015-06-02 19:06:47 -04:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2006-02-15 17:27:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-29 14:47:46 +00:00
										 |  |  | #define Py_CLEANUP_SUPPORTED 0x20000
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-02-28 19:02:24 +00:00
										 |  |  | #define PYTHON_API_VERSION 1013
 | 
					
						
							|  |  |  | #define PYTHON_API_STRING "1013"
 | 
					
						
							| 
									
										
										
										
											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: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    22-Feb-2006  MvL     1013    PEP 353 - long indices for sequence lengths | 
					
						
							| 
									
										
										
										
											2006-02-28 19:02:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    19-Aug-2002  GvR     1012    Changes to string object struct for | 
					
						
							|  |  |  |                                 interning changes, saving 3 bytes. | 
					
						
							| 
									
										
										
										
											2002-08-19 21:43:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    17-Jul-2001  GvR     1011    Descr-branch, just to be on the safe side | 
					
						
							| 
									
										
										
										
											2001-08-02 04:15:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    3-Jan-1999   GvR     1007    Decided to change back!  (Don't reuse 1008!) | 
					
						
							| 
									
										
										
										
											1999-01-03 12:40:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    3-Dec-1998   GvR     1008    Python 1.5.2b1 | 
					
						
							| 
									
										
										
										
											1998-12-03 18:18:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    18-Jan-1997  GvR     1007    string interning and other speedups | 
					
						
							| 
									
										
										
										
											1997-01-18 07:54:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    11-Oct-1996  GvR     renamed Py_Ellipses to Py_Ellipsis :-( | 
					
						
							| 
									
										
										
										
											1996-10-11 16:25:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    30-Jul-1996  GvR     Slice and ellipses syntax added | 
					
						
							| 
									
										
										
										
											1996-07-30 16:41:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    23-Jul-1996  GvR     For 1.4 -- better safe than sorry this time :-) | 
					
						
							| 
									
										
										
										
											1996-07-30 16:41:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    7-Nov-1995   GvR     Keyword arguments (should've been done at 1.3 :-( ) | 
					
						
							| 
									
										
										
										
											1996-01-12 00:49:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    10-Jan-1995  GvR     Renamed globals to new naming scheme | 
					
						
							| 
									
										
										
										
											1995-01-12 11:45:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |    9-Jan-1995   GvR     Initial version (incompatible with older API) | 
					
						
							| 
									
										
										
										
											1995-01-09 17:47:20 +00:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | /* The PYTHON_ABI_VERSION is introduced in PEP 384. For the lifetime of
 | 
					
						
							|  |  |  |    Python 3, it will stay at the value of 3; changes to the limited API | 
					
						
							|  |  |  |    must be performed in a strictly backwards-compatible manner. */ | 
					
						
							|  |  |  | #define PYTHON_ABI_VERSION 3
 | 
					
						
							|  |  |  | #define PYTHON_ABI_STRING "3"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-08-22 22:55:47 +00:00
										 |  |  | #ifdef Py_TRACE_REFS
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |  /* When we are tracing reference counts, rename module creation functions so
 | 
					
						
							| 
									
										
										
										
											2006-02-15 17:27:45 +00:00
										 |  |  |     modules compiled with incompatible settings will generate a | 
					
						
							|  |  |  |     link-time error. */ | 
					
						
							| 
									
										
										
										
											2009-06-01 21:16:17 +00:00
										 |  |  |  #define PyModule_Create2 PyModule_Create2TraceRefs
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |  #define PyModule_FromDefAndSpec2 PyModule_FromDefAndSpec2TraceRefs
 | 
					
						
							| 
									
										
										
										
											1996-08-22 22:55:47 +00:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-11 05:26:20 +00:00
										 |  |  | PyAPI_FUNC(PyObject *) PyModule_Create2(struct PyModuleDef*, | 
					
						
							|  |  |  |                                      int apiver); | 
					
						
							| 
									
										
										
										
											2017-09-14 12:18:12 -06:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							|  |  |  | PyAPI_FUNC(PyObject *) _PyModule_CreateInitialized(struct PyModuleDef*, | 
					
						
							|  |  |  |                                                    int apiver); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											1993-07-28 09:05:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | #ifdef Py_LIMITED_API
 | 
					
						
							|  |  |  | #define PyModule_Create(module) \
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |         PyModule_Create2(module, PYTHON_ABI_VERSION) | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2008-06-11 05:26:20 +00:00
										 |  |  | #define PyModule_Create(module) \
 | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  |         PyModule_Create2(module, PYTHON_API_VERSION) | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-02 19:06:47 -04:00
										 |  |  | #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
 | 
					
						
							|  |  |  | /* New in 3.5 */ | 
					
						
							| 
									
										
										
										
											2015-05-23 22:24:10 +10:00
										 |  |  | PyAPI_FUNC(PyObject *) PyModule_FromDefAndSpec2(PyModuleDef *def, | 
					
						
							|  |  |  |                                                 PyObject *spec, | 
					
						
							|  |  |  |                                                 int module_api_version); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef Py_LIMITED_API
 | 
					
						
							|  |  |  | #define PyModule_FromDefAndSpec(module, spec) \
 | 
					
						
							|  |  |  |     PyModule_FromDefAndSpec2(module, spec, PYTHON_ABI_VERSION) | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #define PyModule_FromDefAndSpec(module, spec) \
 | 
					
						
							|  |  |  |     PyModule_FromDefAndSpec2(module, spec, PYTHON_API_VERSION) | 
					
						
							| 
									
										
										
										
											2015-06-02 19:06:47 -04:00
										 |  |  | #endif /* Py_LIMITED_API */
 | 
					
						
							|  |  |  | #endif /* New in 3.5 */
 | 
					
						
							| 
									
										
										
										
											1998-06-27 18:21:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							| 
									
										
										
										
											2016-11-21 10:25:54 +02:00
										 |  |  | PyAPI_DATA(const char *) _Py_PackageContext; | 
					
						
							| 
									
										
										
										
											2010-12-03 20:14:31 +00:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											1997-11-19 18:51:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1993-07-28 09:05:47 +00:00
										 |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* !Py_MODSUPPORT_H */
 |