summaryrefslogtreecommitdiffstats
path: root/PC
diff options
context:
space:
mode:
Diffstat (limited to 'PC')
-rw-r--r--PC/getpathp.c35
-rw-r--r--PC/pyconfig.h4
-rw-r--r--PC/python3.def698
-rw-r--r--PC/python3dll.c9
4 files changed, 745 insertions, 1 deletions
diff --git a/PC/getpathp.c b/PC/getpathp.c
index 3a87411..cd3a4b2 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -707,3 +707,38 @@ Py_GetProgramFullPath(void)
calculate_path();
return progpath;
}
+
+/* Load python3.dll before loading any extension module that might refer
+ to it. That way, we can be sure that always the python3.dll corresponding
+ to this python DLL is loaded, not a python3.dll that might be on the path
+ by chance.
+ Return whether the DLL was found.
+*/
+static int python3_checked = 0;
+static HANDLE hPython3;
+int
+_Py_CheckPython3()
+{
+ wchar_t py3path[MAXPATHLEN+1];
+ wchar_t *s;
+ if (python3_checked)
+ return hPython3 != NULL;
+ python3_checked = 1;
+
+ /* If there is a python3.dll next to the python3y.dll,
+ assume this is a build tree; use that DLL */
+ wcscpy(py3path, dllpath);
+ s = wcsrchr(py3path, L'\\');
+ if (!s)
+ s = py3path;
+ wcscpy(s, L"\\python3.dll");
+ hPython3 = LoadLibraryExW(py3path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ if (hPython3 != NULL)
+ return 1;
+
+ /* Check sys.prefix\DLLs\python3.dll */
+ wcscpy(py3path, Py_GetPrefix());
+ wcscat(py3path, L"\\DLLs\\python3.dll");
+ hPython3 = LoadLibraryExW(py3path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ return hPython3 != NULL;
+}
diff --git a/PC/pyconfig.h b/PC/pyconfig.h
index 913b2dc..cbddbd8 100644
--- a/PC/pyconfig.h
+++ b/PC/pyconfig.h
@@ -318,8 +318,10 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* So MSVC users need not specify the .lib file in
their Makefile (other compilers are generally
taken care of by distutils.) */
-# ifdef _DEBUG
+# if defined(_DEBUG)
# pragma comment(lib,"python32_d.lib")
+# elif defined(Py_LIMITED_API)
+# pragma comment(lib,"python3.lib")
# else
# pragma comment(lib,"python32.lib")
# endif /* _DEBUG */
diff --git a/PC/python3.def b/PC/python3.def
new file mode 100644
index 0000000..082d428
--- /dev/null
+++ b/PC/python3.def
@@ -0,0 +1,698 @@
+LIBRARY "python3"
+EXPORTS
+ PyArg_Parse=python32.PyArg_Parse
+ PyArg_ParseTuple=python32.PyArg_ParseTuple
+ PyArg_ParseTupleAndKeywords=python32.PyArg_ParseTupleAndKeywords
+ PyArg_UnpackTuple=python32.PyArg_UnpackTuple
+ PyArg_VaParse=python32.PyArg_VaParse
+ PyArg_VaParseTupleAndKeywords=python32.PyArg_VaParseTupleAndKeywords
+ PyArg_ValidateKeywordArguments=python32.PyArg_ValidateKeywordArguments
+ PyBaseObject_Type=python32.PyBaseObject_Type DATA
+ PyBool_FromLong=python32.PyBool_FromLong
+ PyBool_Type=python32.PyBool_Type DATA
+ PyBuffer_FillContiguousStrides=python32.PyBuffer_FillContiguousStrides
+ PyBuffer_FillInfo=python32.PyBuffer_FillInfo
+ PyBuffer_FromContiguous=python32.PyBuffer_FromContiguous
+ PyBuffer_GetPointer=python32.PyBuffer_GetPointer
+ PyBuffer_IsContiguous=python32.PyBuffer_IsContiguous
+ PyBuffer_Release=python32.PyBuffer_Release
+ PyBuffer_ToContiguous=python32.PyBuffer_ToContiguous
+ PyByteArrayIter_Type=python32.PyByteArrayIter_Type DATA
+ PyByteArray_AsString=python32.PyByteArray_AsString
+ PyByteArray_Concat=python32.PyByteArray_Concat
+ PyByteArray_FromObject=python32.PyByteArray_FromObject
+ PyByteArray_FromStringAndSize=python32.PyByteArray_FromStringAndSize
+ PyByteArray_Resize=python32.PyByteArray_Resize
+ PyByteArray_Size=python32.PyByteArray_Size
+ PyByteArray_Type=python32.PyByteArray_Type DATA
+ PyBytesIter_Type=python32.PyBytesIter_Type DATA
+ PyBytes_AsString=python32.PyBytes_AsString
+ PyBytes_AsStringAndSize=python32.PyBytes_AsStringAndSize
+ PyBytes_Concat=python32.PyBytes_Concat
+ PyBytes_ConcatAndDel=python32.PyBytes_ConcatAndDel
+ PyBytes_DecodeEscape=python32.PyBytes_DecodeEscape
+ PyBytes_FromFormat=python32.PyBytes_FromFormat
+ PyBytes_FromFormatV=python32.PyBytes_FromFormatV
+ PyBytes_FromObject=python32.PyBytes_FromObject
+ PyBytes_FromString=python32.PyBytes_FromString
+ PyBytes_FromStringAndSize=python32.PyBytes_FromStringAndSize
+ PyBytes_Repr=python32.PyBytes_Repr
+ PyBytes_Size=python32.PyBytes_Size
+ PyBytes_Type=python32.PyBytes_Type DATA
+ PyCFunction_Call=python32.PyCFunction_Call
+ PyCFunction_ClearFreeList=python32.PyCFunction_ClearFreeList
+ PyCFunction_GetFlags=python32.PyCFunction_GetFlags
+ PyCFunction_GetFunction=python32.PyCFunction_GetFunction
+ PyCFunction_GetSelf=python32.PyCFunction_GetSelf
+ PyCFunction_NewEx=python32.PyCFunction_NewEx
+ PyCFunction_Type=python32.PyCFunction_Type DATA
+ PyCallIter_New=python32.PyCallIter_New
+ PyCallIter_Type=python32.PyCallIter_Type DATA
+ PyCallable_Check=python32.PyCallable_Check
+ PyCapsule_GetContext=python32.PyCapsule_GetContext
+ PyCapsule_GetDestructor=python32.PyCapsule_GetDestructor
+ PyCapsule_GetName=python32.PyCapsule_GetName
+ PyCapsule_GetPointer=python32.PyCapsule_GetPointer
+ PyCapsule_Import=python32.PyCapsule_Import
+ PyCapsule_IsValid=python32.PyCapsule_IsValid
+ PyCapsule_New=python32.PyCapsule_New
+ PyCapsule_SetContext=python32.PyCapsule_SetContext
+ PyCapsule_SetDestructor=python32.PyCapsule_SetDestructor
+ PyCapsule_SetName=python32.PyCapsule_SetName
+ PyCapsule_SetPointer=python32.PyCapsule_SetPointer
+ PyCapsule_Type=python32.PyCapsule_Type DATA
+ PyClassMethodDescr_Type=python32.PyClassMethodDescr_Type DATA
+ PyCodec_BackslashReplaceErrors=python32.PyCodec_BackslashReplaceErrors
+ PyCodec_Decode=python32.PyCodec_Decode
+ PyCodec_Decoder=python32.PyCodec_Decoder
+ PyCodec_Encode=python32.PyCodec_Encode
+ PyCodec_Encoder=python32.PyCodec_Encoder
+ PyCodec_IgnoreErrors=python32.PyCodec_IgnoreErrors
+ PyCodec_IncrementalDecoder=python32.PyCodec_IncrementalDecoder
+ PyCodec_IncrementalEncoder=python32.PyCodec_IncrementalEncoder
+ PyCodec_KnownEncoding=python32.PyCodec_KnownEncoding
+ PyCodec_LookupError=python32.PyCodec_LookupError
+ PyCodec_Register=python32.PyCodec_Register
+ PyCodec_RegisterError=python32.PyCodec_RegisterError
+ PyCodec_ReplaceErrors=python32.PyCodec_ReplaceErrors
+ PyCodec_StreamReader=python32.PyCodec_StreamReader
+ PyCodec_StreamWriter=python32.PyCodec_StreamWriter
+ PyCodec_StrictErrors=python32.PyCodec_StrictErrors
+ PyCodec_XMLCharRefReplaceErrors=python32.PyCodec_XMLCharRefReplaceErrors
+ PyComplex_FromDoubles=python32.PyComplex_FromDoubles
+ PyComplex_ImagAsDouble=python32.PyComplex_ImagAsDouble
+ PyComplex_RealAsDouble=python32.PyComplex_RealAsDouble
+ PyComplex_Type=python32.PyComplex_Type DATA
+ PyDescr_NewClassMethod=python32.PyDescr_NewClassMethod
+ PyDescr_NewGetSet=python32.PyDescr_NewGetSet
+ PyDescr_NewMember=python32.PyDescr_NewMember
+ PyDescr_NewMethod=python32.PyDescr_NewMethod
+ PyDictItems_Type=python32.PyDictItems_Type DATA
+ PyDictIterItem_Type=python32.PyDictIterItem_Type DATA
+ PyDictIterKey_Type=python32.PyDictIterKey_Type DATA
+ PyDictIterValue_Type=python32.PyDictIterValue_Type DATA
+ PyDictKeys_Type=python32.PyDictKeys_Type DATA
+ PyDictProxy_New=python32.PyDictProxy_New
+ PyDictProxy_Type=python32.PyDictProxy_Type DATA
+ PyDictValues_Type=python32.PyDictValues_Type DATA
+ PyDict_Clear=python32.PyDict_Clear
+ PyDict_Contains=python32.PyDict_Contains
+ PyDict_Copy=python32.PyDict_Copy
+ PyDict_DelItem=python32.PyDict_DelItem
+ PyDict_DelItemString=python32.PyDict_DelItemString
+ PyDict_GetItem=python32.PyDict_GetItem
+ PyDict_GetItemString=python32.PyDict_GetItemString
+ PyDict_GetItemWithError=python32.PyDict_GetItemWithError
+ PyDict_Items=python32.PyDict_Items
+ PyDict_Keys=python32.PyDict_Keys
+ PyDict_Merge=python32.PyDict_Merge
+ PyDict_MergeFromSeq2=python32.PyDict_MergeFromSeq2
+ PyDict_New=python32.PyDict_New
+ PyDict_Next=python32.PyDict_Next
+ PyDict_SetItem=python32.PyDict_SetItem
+ PyDict_SetItemString=python32.PyDict_SetItemString
+ PyDict_Size=python32.PyDict_Size
+ PyDict_Type=python32.PyDict_Type DATA
+ PyDict_Update=python32.PyDict_Update
+ PyDict_Values=python32.PyDict_Values
+ PyEllipsis_Type=python32.PyEllipsis_Type DATA
+ PyEnum_Type=python32.PyEnum_Type DATA
+ PyErr_BadArgument=python32.PyErr_BadArgument
+ PyErr_BadInternalCall=python32.PyErr_BadInternalCall
+ PyErr_CheckSignals=python32.PyErr_CheckSignals
+ PyErr_Clear=python32.PyErr_Clear
+ PyErr_Display=python32.PyErr_Display
+ PyErr_ExceptionMatches=python32.PyErr_ExceptionMatches
+ PyErr_Fetch=python32.PyErr_Fetch
+ PyErr_Format=python32.PyErr_Format
+ PyErr_GivenExceptionMatches=python32.PyErr_GivenExceptionMatches
+ PyErr_NewException=python32.PyErr_NewException
+ PyErr_NewExceptionWithDoc=python32.PyErr_NewExceptionWithDoc
+ PyErr_NoMemory=python32.PyErr_NoMemory
+ PyErr_NormalizeException=python32.PyErr_NormalizeException
+ PyErr_Occurred=python32.PyErr_Occurred
+ PyErr_Print=python32.PyErr_Print
+ PyErr_PrintEx=python32.PyErr_PrintEx
+ PyErr_ProgramText=python32.PyErr_ProgramText
+ PyErr_Restore=python32.PyErr_Restore
+ PyErr_SetFromErrno=python32.PyErr_SetFromErrno
+ PyErr_SetFromErrnoWithFilename=python32.PyErr_SetFromErrnoWithFilename
+ PyErr_SetFromErrnoWithFilenameObject=python32.PyErr_SetFromErrnoWithFilenameObject
+ PyErr_SetInterrupt=python32.PyErr_SetInterrupt
+ PyErr_SetNone=python32.PyErr_SetNone
+ PyErr_SetObject=python32.PyErr_SetObject
+ PyErr_SetString=python32.PyErr_SetString
+ PyErr_SyntaxLocation=python32.PyErr_SyntaxLocation
+ PyErr_WarnEx=python32.PyErr_WarnEx
+ PyErr_WarnExplicit=python32.PyErr_WarnExplicit
+ PyErr_WarnFormat=python32.PyErr_WarnFormat
+ PyErr_WriteUnraisable=python32.PyErr_WriteUnraisable
+ PyEval_AcquireLock=python32.PyEval_AcquireLock
+ PyEval_AcquireThread=python32.PyEval_AcquireThread
+ PyEval_CallFunction=python32.PyEval_CallFunction
+ PyEval_CallMethod=python32.PyEval_CallMethod
+ PyEval_CallObjectWithKeywords=python32.PyEval_CallObjectWithKeywords
+ PyEval_EvalCode=python32.PyEval_EvalCode
+ PyEval_EvalCodeEx=python32.PyEval_EvalCodeEx
+ PyEval_EvalFrame=python32.PyEval_EvalFrame
+ PyEval_EvalFrameEx=python32.PyEval_EvalFrameEx
+ PyEval_GetBuiltins=python32.PyEval_GetBuiltins
+ PyEval_GetCallStats=python32.PyEval_GetCallStats
+ PyEval_GetFrame=python32.PyEval_GetFrame
+ PyEval_GetFuncDesc=python32.PyEval_GetFuncDesc
+ PyEval_GetFuncName=python32.PyEval_GetFuncName
+ PyEval_GetGlobals=python32.PyEval_GetGlobals
+ PyEval_GetLocals=python32.PyEval_GetLocals
+ PyEval_InitThreads=python32.PyEval_InitThreads
+ PyEval_ReInitThreads=python32.PyEval_ReInitThreads
+ PyEval_ReleaseLock=python32.PyEval_ReleaseLock
+ PyEval_ReleaseThread=python32.PyEval_ReleaseThread
+ PyEval_RestoreThread=python32.PyEval_RestoreThread
+ PyEval_SaveThread=python32.PyEval_SaveThread
+ PyEval_ThreadsInitialized=python32.PyEval_ThreadsInitialized
+ PyExc_ArithmeticError=python32.PyExc_ArithmeticError DATA
+ PyExc_AssertionError=python32.PyExc_AssertionError DATA
+ PyExc_AttributeError=python32.PyExc_AttributeError DATA
+ PyExc_BaseException=python32.PyExc_BaseException DATA
+ PyExc_BufferError=python32.PyExc_BufferError DATA
+ PyExc_BytesWarning=python32.PyExc_BytesWarning DATA
+ PyExc_DeprecationWarning=python32.PyExc_DeprecationWarning DATA
+ PyExc_EOFError=python32.PyExc_EOFError DATA
+ PyExc_EnvironmentError=python32.PyExc_EnvironmentError DATA
+ PyExc_Exception=python32.PyExc_Exception DATA
+ PyExc_FloatingPointError=python32.PyExc_FloatingPointError DATA
+ PyExc_FutureWarning=python32.PyExc_FutureWarning DATA
+ PyExc_GeneratorExit=python32.PyExc_GeneratorExit DATA
+ PyExc_IOError=python32.PyExc_IOError DATA
+ PyExc_ImportError=python32.PyExc_ImportError DATA
+ PyExc_ImportWarning=python32.PyExc_ImportWarning DATA
+ PyExc_IndentationError=python32.PyExc_IndentationError DATA
+ PyExc_IndexError=python32.PyExc_IndexError DATA
+ PyExc_KeyError=python32.PyExc_KeyError DATA
+ PyExc_KeyboardInterrupt=python32.PyExc_KeyboardInterrupt DATA
+ PyExc_LookupError=python32.PyExc_LookupError DATA
+ PyExc_MemoryError=python32.PyExc_MemoryError DATA
+ PyExc_MemoryErrorInst=python32.PyExc_MemoryErrorInst DATA
+ PyExc_NameError=python32.PyExc_NameError DATA
+ PyExc_NotImplementedError=python32.PyExc_NotImplementedError DATA
+ PyExc_OSError=python32.PyExc_OSError DATA
+ PyExc_OverflowError=python32.PyExc_OverflowError DATA
+ PyExc_PendingDeprecationWarning=python32.PyExc_PendingDeprecationWarning DATA
+ PyExc_RecursionErrorInst=python32.PyExc_RecursionErrorInst DATA
+ PyExc_ReferenceError=python32.PyExc_ReferenceError DATA
+ PyExc_RuntimeError=python32.PyExc_RuntimeError DATA
+ PyExc_RuntimeWarning=python32.PyExc_RuntimeWarning DATA
+ PyExc_StopIteration=python32.PyExc_StopIteration DATA
+ PyExc_SyntaxError=python32.PyExc_SyntaxError DATA
+ PyExc_SyntaxWarning=python32.PyExc_SyntaxWarning DATA
+ PyExc_SystemError=python32.PyExc_SystemError DATA
+ PyExc_SystemExit=python32.PyExc_SystemExit DATA
+ PyExc_TabError=python32.PyExc_TabError DATA
+ PyExc_TypeError=python32.PyExc_TypeError DATA
+ PyExc_UnboundLocalError=python32.PyExc_UnboundLocalError DATA
+ PyExc_UnicodeDecodeError=python32.PyExc_UnicodeDecodeError DATA
+ PyExc_UnicodeEncodeError=python32.PyExc_UnicodeEncodeError DATA
+ PyExc_UnicodeError=python32.PyExc_UnicodeError DATA
+ PyExc_UnicodeTranslateError=python32.PyExc_UnicodeTranslateError DATA
+ PyExc_UnicodeWarning=python32.PyExc_UnicodeWarning DATA
+ PyExc_UserWarning=python32.PyExc_UserWarning DATA
+ PyExc_ValueError=python32.PyExc_ValueError DATA
+ PyExc_Warning=python32.PyExc_Warning DATA
+ PyExc_ZeroDivisionError=python32.PyExc_ZeroDivisionError DATA
+ PyException_GetCause=python32.PyException_GetCause
+ PyException_GetContext=python32.PyException_GetContext
+ PyException_GetTraceback=python32.PyException_GetTraceback
+ PyException_SetCause=python32.PyException_SetCause
+ PyException_SetContext=python32.PyException_SetContext
+ PyException_SetTraceback=python32.PyException_SetTraceback
+ PyFile_FromFd=python32.PyFile_FromFd
+ PyFile_GetLine=python32.PyFile_GetLine
+ PyFile_WriteObject=python32.PyFile_WriteObject
+ PyFile_WriteString=python32.PyFile_WriteString
+ PyFilter_Type=python32.PyFilter_Type DATA
+ PyFloat_AsDouble=python32.PyFloat_AsDouble
+ PyFloat_FromDouble=python32.PyFloat_FromDouble
+ PyFloat_FromString=python32.PyFloat_FromString
+ PyFloat_GetInfo=python32.PyFloat_GetInfo
+ PyFloat_GetMax=python32.PyFloat_GetMax
+ PyFloat_GetMin=python32.PyFloat_GetMin
+ PyFloat_Type=python32.PyFloat_Type DATA
+ PyFrozenSet_New=python32.PyFrozenSet_New
+ PyFrozenSet_Type=python32.PyFrozenSet_Type DATA
+ PyGC_Collect=python32.PyGC_Collect
+ PyGILState_Ensure=python32.PyGILState_Ensure
+ PyGILState_GetThisThreadState=python32.PyGILState_GetThisThreadState
+ PyGILState_Release=python32.PyGILState_Release
+ PyGetSetDescr_Type=python32.PyGetSetDescr_Type DATA
+ PyImport_AddModule=python32.PyImport_AddModule
+ PyImport_AppendInittab=python32.PyImport_AppendInittab
+ PyImport_Cleanup=python32.PyImport_Cleanup
+ PyImport_ExecCodeModule=python32.PyImport_ExecCodeModule
+ PyImport_ExecCodeModuleEx=python32.PyImport_ExecCodeModuleEx
+ PyImport_ExecCodeModuleWithPathnames=python32.PyImport_ExecCodeModuleWithPathnames
+ PyImport_GetImporter=python32.PyImport_GetImporter
+ PyImport_GetMagicNumber=python32.PyImport_GetMagicNumber
+ PyImport_GetMagicTag=python32.PyImport_GetMagicTag
+ PyImport_GetModuleDict=python32.PyImport_GetModuleDict
+ PyImport_Import=python32.PyImport_Import
+ PyImport_ImportFrozenModule=python32.PyImport_ImportFrozenModule
+ PyImport_ImportModule=python32.PyImport_ImportModule
+ PyImport_ImportModuleLevel=python32.PyImport_ImportModuleLevel
+ PyImport_ImportModuleNoBlock=python32.PyImport_ImportModuleNoBlock
+ PyImport_ReloadModule=python32.PyImport_ReloadModule
+ PyInterpreterState_Clear=python32.PyInterpreterState_Clear
+ PyInterpreterState_Delete=python32.PyInterpreterState_Delete
+ PyInterpreterState_New=python32.PyInterpreterState_New
+ PyIter_Next=python32.PyIter_Next
+ PyListIter_Type=python32.PyListIter_Type DATA
+ PyListRevIter_Type=python32.PyListRevIter_Type DATA
+ PyList_Append=python32.PyList_Append
+ PyList_AsTuple=python32.PyList_AsTuple
+ PyList_GetItem=python32.PyList_GetItem
+ PyList_GetSlice=python32.PyList_GetSlice
+ PyList_Insert=python32.PyList_Insert
+ PyList_New=python32.PyList_New
+ PyList_Reverse=python32.PyList_Reverse
+ PyList_SetItem=python32.PyList_SetItem
+ PyList_SetSlice=python32.PyList_SetSlice
+ PyList_Size=python32.PyList_Size
+ PyList_Sort=python32.PyList_Sort
+ PyList_Type=python32.PyList_Type DATA
+ PyLongRangeIter_Type=python32.PyLongRangeIter_Type DATA
+ PyLong_AsDouble=python32.PyLong_AsDouble
+ PyLong_AsLong=python32.PyLong_AsLong
+ PyLong_AsLongAndOverflow=python32.PyLong_AsLongAndOverflow
+ PyLong_AsLongLong=python32.PyLong_AsLongLong
+ PyLong_AsLongLongAndOverflow=python32.PyLong_AsLongLongAndOverflow
+ PyLong_AsSize_t=python32.PyLong_AsSize_t
+ PyLong_AsSsize_t=python32.PyLong_AsSsize_t
+ PyLong_AsUnsignedLong=python32.PyLong_AsUnsignedLong
+ PyLong_AsUnsignedLongLong=python32.PyLong_AsUnsignedLongLong
+ PyLong_AsUnsignedLongLongMask=python32.PyLong_AsUnsignedLongLongMask
+ PyLong_AsUnsignedLongMask=python32.PyLong_AsUnsignedLongMask
+ PyLong_AsVoidPtr=python32.PyLong_AsVoidPtr
+ PyLong_FromDouble=python32.PyLong_FromDouble
+ PyLong_FromLong=python32.PyLong_FromLong
+ PyLong_FromLongLong=python32.PyLong_FromLongLong
+ PyLong_FromSize_t=python32.PyLong_FromSize_t
+ PyLong_FromSsize_t=python32.PyLong_FromSsize_t
+ PyLong_FromString=python32.PyLong_FromString
+ PyLong_FromUnsignedLong=python32.PyLong_FromUnsignedLong
+ PyLong_FromUnsignedLongLong=python32.PyLong_FromUnsignedLongLong
+ PyLong_FromVoidPtr=python32.PyLong_FromVoidPtr
+ PyLong_GetInfo=python32.PyLong_GetInfo
+ PyLong_Type=python32.PyLong_Type DATA
+ PyMap_Type=python32.PyMap_Type DATA
+ PyMapping_Check=python32.PyMapping_Check
+ PyMapping_GetItemString=python32.PyMapping_GetItemString
+ PyMapping_HasKey=python32.PyMapping_HasKey
+ PyMapping_HasKeyString=python32.PyMapping_HasKeyString
+ PyMapping_Items=python32.PyMapping_Items
+ PyMapping_Keys=python32.PyMapping_Keys
+ PyMapping_Length=python32.PyMapping_Length
+ PyMapping_SetItemString=python32.PyMapping_SetItemString
+ PyMapping_Size=python32.PyMapping_Size
+ PyMapping_Values=python32.PyMapping_Values
+ PyMem_Free=python32.PyMem_Free
+ PyMem_Malloc=python32.PyMem_Malloc
+ PyMem_Realloc=python32.PyMem_Realloc
+ PyMemberDescr_Type=python32.PyMemberDescr_Type DATA
+ PyMemoryView_FromBuffer=python32.PyMemoryView_FromBuffer
+ PyMemoryView_FromObject=python32.PyMemoryView_FromObject
+ PyMemoryView_GetContiguous=python32.PyMemoryView_GetContiguous
+ PyMemoryView_Type=python32.PyMemoryView_Type DATA
+ PyMethodDescr_Type=python32.PyMethodDescr_Type DATA
+ PyModule_AddIntConstant=python32.PyModule_AddIntConstant
+ PyModule_AddObject=python32.PyModule_AddObject
+ PyModule_AddStringConstant=python32.PyModule_AddStringConstant
+ PyModule_Create2=python32.PyModule_Create2
+ PyModule_GetDef=python32.PyModule_GetDef
+ PyModule_GetDict=python32.PyModule_GetDict
+ PyModule_GetFilename=python32.PyModule_GetFilename
+ PyModule_GetFilenameObject=python32.PyModule_GetFilenameObject
+ PyModule_GetName=python32.PyModule_GetName
+ PyModule_GetState=python32.PyModule_GetState
+ PyModule_New=python32.PyModule_New
+ PyModule_Type=python32.PyModule_Type DATA
+ PyNullImporter_Type=python32.PyNullImporter_Type DATA
+ PyNumber_Absolute=python32.PyNumber_Absolute
+ PyNumber_Add=python32.PyNumber_Add
+ PyNumber_And=python32.PyNumber_And
+ PyNumber_AsSsize_t=python32.PyNumber_AsSsize_t
+ PyNumber_Check=python32.PyNumber_Check
+ PyNumber_Divmod=python32.PyNumber_Divmod
+ PyNumber_Float=python32.PyNumber_Float
+ PyNumber_FloorDivide=python32.PyNumber_FloorDivide
+ PyNumber_InPlaceAdd=python32.PyNumber_InPlaceAdd
+ PyNumber_InPlaceAnd=python32.PyNumber_InPlaceAnd
+ PyNumber_InPlaceFloorDivide=python32.PyNumber_InPlaceFloorDivide
+ PyNumber_InPlaceLshift=python32.PyNumber_InPlaceLshift
+ PyNumber_InPlaceMultiply=python32.PyNumber_InPlaceMultiply
+ PyNumber_InPlaceOr=python32.PyNumber_InPlaceOr
+ PyNumber_InPlacePower=python32.PyNumber_InPlacePower
+ PyNumber_InPlaceRemainder=python32.PyNumber_InPlaceRemainder
+ PyNumber_InPlaceRshift=python32.PyNumber_InPlaceRshift
+ PyNumber_InPlaceSubtract=python32.PyNumber_InPlaceSubtract
+ PyNumber_InPlaceTrueDivide=python32.PyNumber_InPlaceTrueDivide
+ PyNumber_InPlaceXor=python32.PyNumber_InPlaceXor
+ PyNumber_Index=python32.PyNumber_Index
+ PyNumber_Invert=python32.PyNumber_Invert
+ PyNumber_Long=python32.PyNumber_Long
+ PyNumber_Lshift=python32.PyNumber_Lshift
+ PyNumber_Multiply=python32.PyNumber_Multiply
+ PyNumber_Negative=python32.PyNumber_Negative
+ PyNumber_Or=python32.PyNumber_Or
+ PyNumber_Positive=python32.PyNumber_Positive
+ PyNumber_Power=python32.PyNumber_Power
+ PyNumber_Remainder=python32.PyNumber_Remainder
+ PyNumber_Rshift=python32.PyNumber_Rshift
+ PyNumber_Subtract=python32.PyNumber_Subtract
+ PyNumber_ToBase=python32.PyNumber_ToBase
+ PyNumber_TrueDivide=python32.PyNumber_TrueDivide
+ PyNumber_Xor=python32.PyNumber_Xor
+ PyOS_AfterFork=python32.PyOS_AfterFork
+ PyOS_InitInterrupts=python32.PyOS_InitInterrupts
+ PyOS_InputHook=python32.PyOS_InputHook DATA
+ PyOS_InterruptOccurred=python32.PyOS_InterruptOccurred
+ PyOS_ReadlineFunctionPointer=python32.PyOS_ReadlineFunctionPointer DATA
+ PyOS_double_to_string=python32.PyOS_double_to_string
+ PyOS_getsig=python32.PyOS_getsig
+ PyOS_mystricmp=python32.PyOS_mystricmp
+ PyOS_mystrnicmp=python32.PyOS_mystrnicmp
+ PyOS_setsig=python32.PyOS_setsig
+ PyOS_snprintf=python32.PyOS_snprintf
+ PyOS_string_to_double=python32.PyOS_string_to_double
+ PyOS_strtol=python32.PyOS_strtol
+ PyOS_strtoul=python32.PyOS_strtoul
+ PyOS_vsnprintf=python32.PyOS_vsnprintf
+ PyObject_ASCII=python32.PyObject_ASCII
+ PyObject_AsCharBuffer=python32.PyObject_AsCharBuffer
+ PyObject_AsFileDescriptor=python32.PyObject_AsFileDescriptor
+ PyObject_AsReadBuffer=python32.PyObject_AsReadBuffer
+ PyObject_AsWriteBuffer=python32.PyObject_AsWriteBuffer
+ PyObject_Bytes=python32.PyObject_Bytes
+ PyObject_Call=python32.PyObject_Call
+ PyObject_CallFunction=python32.PyObject_CallFunction
+ PyObject_CallFunctionObjArgs=python32.PyObject_CallFunctionObjArgs
+ PyObject_CallMethod=python32.PyObject_CallMethod
+ PyObject_CallMethodObjArgs=python32.PyObject_CallMethodObjArgs
+ PyObject_CallObject=python32.PyObject_CallObject
+ PyObject_CheckReadBuffer=python32.PyObject_CheckReadBuffer
+ PyObject_ClearWeakRefs=python32.PyObject_ClearWeakRefs
+ PyObject_CopyData=python32.PyObject_CopyData
+ PyObject_DelItem=python32.PyObject_DelItem
+ PyObject_DelItemString=python32.PyObject_DelItemString
+ PyObject_Dir=python32.PyObject_Dir
+ PyObject_Format=python32.PyObject_Format
+ PyObject_Free=python32.PyObject_Free
+ PyObject_GC_Del=python32.PyObject_GC_Del
+ PyObject_GC_Track=python32.PyObject_GC_Track
+ PyObject_GC_UnTrack=python32.PyObject_GC_UnTrack
+ PyObject_GenericGetAttr=python32.PyObject_GenericGetAttr
+ PyObject_GenericSetAttr=python32.PyObject_GenericSetAttr
+ PyObject_GetAttr=python32.PyObject_GetAttr
+ PyObject_GetAttrString=python32.PyObject_GetAttrString
+ PyObject_GetBuffer=python32.PyObject_GetBuffer
+ PyObject_GetItem=python32.PyObject_GetItem
+ PyObject_GetIter=python32.PyObject_GetIter
+ PyObject_HasAttr=python32.PyObject_HasAttr
+ PyObject_HasAttrString=python32.PyObject_HasAttrString
+ PyObject_Hash=python32.PyObject_Hash
+ PyObject_HashNotImplemented=python32.PyObject_HashNotImplemented
+ PyObject_Init=python32.PyObject_Init
+ PyObject_InitVar=python32.PyObject_InitVar
+ PyObject_IsInstance=python32.PyObject_IsInstance
+ PyObject_IsSubclass=python32.PyObject_IsSubclass
+ PyObject_IsTrue=python32.PyObject_IsTrue
+ PyObject_Length=python32.PyObject_Length
+ PyObject_Malloc=python32.PyObject_Malloc
+ PyObject_Not=python32.PyObject_Not
+ PyObject_Realloc=python32.PyObject_Realloc
+ PyObject_Repr=python32.PyObject_Repr
+ PyObject_RichCompare=python32.PyObject_RichCompare
+ PyObject_RichCompareBool=python32.PyObject_RichCompareBool
+ PyObject_SelfIter=python32.PyObject_SelfIter
+ PyObject_SetAttr=python32.PyObject_SetAttr
+ PyObject_SetAttrString=python32.PyObject_SetAttrString
+ PyObject_SetItem=python32.PyObject_SetItem
+ PyObject_Size=python32.PyObject_Size
+ PyObject_Str=python32.PyObject_Str
+ PyObject_Type=python32.PyObject_Type DATA
+ PyParser_SimpleParseFileFlags=python32.PyParser_SimpleParseFileFlags
+ PyParser_SimpleParseStringFlags=python32.PyParser_SimpleParseStringFlags
+ PyProperty_Type=python32.PyProperty_Type DATA
+ PyRangeIter_Type=python32.PyRangeIter_Type DATA
+ PyRange_Type=python32.PyRange_Type DATA
+ PyReversed_Type=python32.PyReversed_Type DATA
+ PySeqIter_New=python32.PySeqIter_New
+ PySeqIter_Type=python32.PySeqIter_Type DATA
+ PySequence_Check=python32.PySequence_Check
+ PySequence_Concat=python32.PySequence_Concat
+ PySequence_Contains=python32.PySequence_Contains
+ PySequence_Count=python32.PySequence_Count
+ PySequence_DelItem=python32.PySequence_DelItem
+ PySequence_DelSlice=python32.PySequence_DelSlice
+ PySequence_Fast=python32.PySequence_Fast
+ PySequence_GetItem=python32.PySequence_GetItem
+ PySequence_GetSlice=python32.PySequence_GetSlice
+ PySequence_In=python32.PySequence_In
+ PySequence_InPlaceConcat=python32.PySequence_InPlaceConcat
+ PySequence_InPlaceRepeat=python32.PySequence_InPlaceRepeat
+ PySequence_Index=python32.PySequence_Index
+ PySequence_Length=python32.PySequence_Length
+ PySequence_List=python32.PySequence_List
+ PySequence_Repeat=python32.PySequence_Repeat
+ PySequence_SetItem=python32.PySequence_SetItem
+ PySequence_SetSlice=python32.PySequence_SetSlice
+ PySequence_Size=python32.PySequence_Size
+ PySequence_Tuple=python32.PySequence_Tuple
+ PySetIter_Type=python32.PySetIter_Type DATA
+ PySet_Add=python32.PySet_Add
+ PySet_Clear=python32.PySet_Clear
+ PySet_Contains=python32.PySet_Contains
+ PySet_Discard=python32.PySet_Discard
+ PySet_New=python32.PySet_New
+ PySet_Pop=python32.PySet_Pop
+ PySet_Size=python32.PySet_Size
+ PySet_Type=python32.PySet_Type DATA
+ PySlice_GetIndices=python32.PySlice_GetIndices
+ PySlice_GetIndicesEx=python32.PySlice_GetIndicesEx
+ PySlice_New=python32.PySlice_New
+ PySlice_Type=python32.PySlice_Type DATA
+ PySortWrapper_Type=python32.PySortWrapper_Type DATA
+ PyState_FindModule=python32.PyState_FindModule
+ PyStructSequence_GetItem=python32.PyStructSequence_GetItem
+ PyStructSequence_New=python32.PyStructSequence_New
+ PyStructSequence_NewType=python32.PyStructSequence_NewType
+ PyStructSequence_SetItem=python32.PyStructSequence_SetItem
+ PySuper_Type=python32.PySuper_Type DATA
+ PySys_AddWarnOption=python32.PySys_AddWarnOption
+ PySys_AddWarnOptionUnicode=python32.PySys_AddWarnOptionUnicode
+ PySys_FormatStderr=python32.PySys_FormatStderr
+ PySys_FormatStdout=python32.PySys_FormatStdout
+ PySys_GetObject=python32.PySys_GetObject
+ PySys_HasWarnOptions=python32.PySys_HasWarnOptions
+ PySys_ResetWarnOptions=python32.PySys_ResetWarnOptions
+ PySys_SetArgv=python32.PySys_SetArgv
+ PySys_SetArgvEx=python32.PySys_SetArgvEx
+ PySys_SetObject=python32.PySys_SetObject
+ PySys_SetPath=python32.PySys_SetPath
+ PySys_WriteStderr=python32.PySys_WriteStderr
+ PySys_WriteStdout=python32.PySys_WriteStdout
+ PyThreadState_Clear=python32.PyThreadState_Clear
+ PyThreadState_Delete=python32.PyThreadState_Delete
+ PyThreadState_DeleteCurrent=python32.PyThreadState_DeleteCurrent
+ PyThreadState_Get=python32.PyThreadState_Get
+ PyThreadState_GetDict=python32.PyThreadState_GetDict
+ PyThreadState_New=python32.PyThreadState_New
+ PyThreadState_SetAsyncExc=python32.PyThreadState_SetAsyncExc
+ PyThreadState_Swap=python32.PyThreadState_Swap
+ PyTraceBack_Here=python32.PyTraceBack_Here
+ PyTraceBack_Print=python32.PyTraceBack_Print
+ PyTraceBack_Type=python32.PyTraceBack_Type DATA
+ PyTupleIter_Type=python32.PyTupleIter_Type DATA
+ PyTuple_ClearFreeList=python32.PyTuple_ClearFreeList
+ PyTuple_GetItem=python32.PyTuple_GetItem
+ PyTuple_GetSlice=python32.PyTuple_GetSlice
+ PyTuple_New=python32.PyTuple_New
+ PyTuple_Pack=python32.PyTuple_Pack
+ PyTuple_SetItem=python32.PyTuple_SetItem
+ PyTuple_Size=python32.PyTuple_Size
+ PyTuple_Type=python32.PyTuple_Type DATA
+ PyType_ClearCache=python32.PyType_ClearCache
+ PyType_FromSpec=python32.PyType_FromSpec
+ PyType_GenericAlloc=python32.PyType_GenericAlloc
+ PyType_GenericNew=python32.PyType_GenericNew
+ PyType_IsSubtype=python32.PyType_IsSubtype
+ PyType_Modified=python32.PyType_Modified
+ PyType_Ready=python32.PyType_Ready
+ PyType_Type=python32.PyType_Type DATA
+ PyUnicodeDecodeError_Create=python32.PyUnicodeDecodeError_Create
+ PyUnicodeDecodeError_GetEncoding=python32.PyUnicodeDecodeError_GetEncoding
+ PyUnicodeDecodeError_GetEnd=python32.PyUnicodeDecodeError_GetEnd
+ PyUnicodeDecodeError_GetObject=python32.PyUnicodeDecodeError_GetObject
+ PyUnicodeDecodeError_GetReason=python32.PyUnicodeDecodeError_GetReason
+ PyUnicodeDecodeError_GetStart=python32.PyUnicodeDecodeError_GetStart
+ PyUnicodeDecodeError_SetEnd=python32.PyUnicodeDecodeError_SetEnd
+ PyUnicodeDecodeError_SetReason=python32.PyUnicodeDecodeError_SetReason
+ PyUnicodeDecodeError_SetStart=python32.PyUnicodeDecodeError_SetStart
+ PyUnicodeEncodeError_GetEncoding=python32.PyUnicodeEncodeError_GetEncoding
+ PyUnicodeEncodeError_GetEnd=python32.PyUnicodeEncodeError_GetEnd
+ PyUnicodeEncodeError_GetObject=python32.PyUnicodeEncodeError_GetObject
+ PyUnicodeEncodeError_GetReason=python32.PyUnicodeEncodeError_GetReason
+ PyUnicodeEncodeError_GetStart=python32.PyUnicodeEncodeError_GetStart
+ PyUnicodeEncodeError_SetEnd=python32.PyUnicodeEncodeError_SetEnd
+ PyUnicodeEncodeError_SetReason=python32.PyUnicodeEncodeError_SetReason
+ PyUnicodeEncodeError_SetStart=python32.PyUnicodeEncodeError_SetStart
+ PyUnicodeIter_Type=python32.PyUnicodeIter_Type DATA
+ PyUnicodeTranslateError_GetEnd=python32.PyUnicodeTranslateError_GetEnd
+ PyUnicodeTranslateError_GetObject=python32.PyUnicodeTranslateError_GetObject
+ PyUnicodeTranslateError_GetReason=python32.PyUnicodeTranslateError_GetReason
+ PyUnicodeTranslateError_GetStart=python32.PyUnicodeTranslateError_GetStart
+ PyUnicodeTranslateError_SetEnd=python32.PyUnicodeTranslateError_SetEnd
+ PyUnicodeTranslateError_SetReason=python32.PyUnicodeTranslateError_SetReason
+ PyUnicodeTranslateError_SetStart=python32.PyUnicodeTranslateError_SetStart
+ PyUnicode_Append=python32.PyUnicodeUCS2_Append
+ PyUnicode_AppendAndDel=python32.PyUnicodeUCS2_AppendAndDel
+ PyUnicode_AsASCIIString=python32.PyUnicodeUCS2_AsASCIIString
+ PyUnicode_AsCharmapString=python32.PyUnicodeUCS2_AsCharmapString
+ PyUnicode_AsDecodedObject=python32.PyUnicodeUCS2_AsDecodedObject
+ PyUnicode_AsDecodedUnicode=python32.PyUnicodeUCS2_AsDecodedUnicode
+ PyUnicode_AsEncodedObject=python32.PyUnicodeUCS2_AsEncodedObject
+ PyUnicode_AsEncodedString=python32.PyUnicodeUCS2_AsEncodedString
+ PyUnicode_AsEncodedUnicode=python32.PyUnicodeUCS2_AsEncodedUnicode
+ PyUnicode_AsLatin1String=python32.PyUnicodeUCS2_AsLatin1String
+ PyUnicode_AsRawUnicodeEscapeString=python32.PyUnicodeUCS2_AsRawUnicodeEscapeString
+ PyUnicode_AsUTF16String=python32.PyUnicodeUCS2_AsUTF16String
+ PyUnicode_AsUTF32String=python32.PyUnicodeUCS2_AsUTF32String
+ PyUnicode_AsUTF8String=python32.PyUnicodeUCS2_AsUTF8String
+ PyUnicode_AsUnicodeEscapeString=python32.PyUnicodeUCS2_AsUnicodeEscapeString
+ PyUnicode_AsWideChar=python32.PyUnicodeUCS2_AsWideChar
+ PyUnicode_ClearFreelist=python32.PyUnicodeUCS2_ClearFreelist
+ PyUnicode_Compare=python32.PyUnicodeUCS2_Compare
+ PyUnicode_Concat=python32.PyUnicodeUCS2_Concat
+ PyUnicode_Contains=python32.PyUnicodeUCS2_Contains
+ PyUnicode_Count=python32.PyUnicodeUCS2_Count
+ PyUnicode_Decode=python32.PyUnicodeUCS2_Decode
+ PyUnicode_DecodeASCII=python32.PyUnicodeUCS2_DecodeASCII
+ PyUnicode_DecodeCharmap=python32.PyUnicodeUCS2_DecodeCharmap
+ PyUnicode_DecodeFSDefault=python32.PyUnicodeUCS2_DecodeFSDefault
+ PyUnicode_DecodeFSDefaultAndSize=python32.PyUnicodeUCS2_DecodeFSDefaultAndSize
+ PyUnicode_DecodeLatin1=python32.PyUnicodeUCS2_DecodeLatin1
+ PyUnicode_DecodeRawUnicodeEscape=python32.PyUnicodeUCS2_DecodeRawUnicodeEscape
+ PyUnicode_DecodeUTF16=python32.PyUnicodeUCS2_DecodeUTF16
+ PyUnicode_DecodeUTF16Stateful=python32.PyUnicodeUCS2_DecodeUTF16Stateful
+ PyUnicode_DecodeUTF32=python32.PyUnicodeUCS2_DecodeUTF32
+ PyUnicode_DecodeUTF32Stateful=python32.PyUnicodeUCS2_DecodeUTF32Stateful
+ PyUnicode_DecodeUTF8=python32.PyUnicodeUCS2_DecodeUTF8
+ PyUnicode_DecodeUTF8Stateful=python32.PyUnicodeUCS2_DecodeUTF8Stateful
+ PyUnicode_DecodeUnicodeEscape=python32.PyUnicodeUCS2_DecodeUnicodeEscape
+ PyUnicode_FSConverter=python32.PyUnicodeUCS2_FSConverter
+ PyUnicode_FSDecoder=python32.PyUnicodeUCS2_FSDecoder
+ PyUnicode_Find=python32.PyUnicodeUCS2_Find
+ PyUnicode_Format=python32.PyUnicodeUCS2_Format
+ PyUnicode_FromEncodedObject=python32.PyUnicodeUCS2_FromEncodedObject
+ PyUnicode_FromFormat=python32.PyUnicodeUCS2_FromFormat
+ PyUnicode_FromFormatV=python32.PyUnicodeUCS2_FromFormatV
+ PyUnicode_FromObject=python32.PyUnicodeUCS2_FromObject
+ PyUnicode_FromOrdinal=python32.PyUnicodeUCS2_FromOrdinal
+ PyUnicode_FromString=python32.PyUnicodeUCS2_FromString
+ PyUnicode_FromStringAndSize=python32.PyUnicodeUCS2_FromStringAndSize
+ PyUnicode_FromWideChar=python32.PyUnicodeUCS2_FromWideChar
+ PyUnicode_GetDefaultEncoding=python32.PyUnicodeUCS2_GetDefaultEncoding
+ PyUnicode_GetSize=python32.PyUnicodeUCS2_GetSize
+ PyUnicode_IsIdentifier=python32.PyUnicodeUCS2_IsIdentifier
+ PyUnicode_Join=python32.PyUnicodeUCS2_Join
+ PyUnicode_Partition=python32.PyUnicodeUCS2_Partition
+ PyUnicode_RPartition=python32.PyUnicodeUCS2_RPartition
+ PyUnicode_RSplit=python32.PyUnicodeUCS2_RSplit
+ PyUnicode_Replace=python32.PyUnicodeUCS2_Replace
+ PyUnicode_Resize=python32.PyUnicodeUCS2_Resize
+ PyUnicode_RichCompare=python32.PyUnicodeUCS2_RichCompare
+ PyUnicode_SetDefaultEncoding=python32.PyUnicodeUCS2_SetDefaultEncoding
+ PyUnicode_Split=python32.PyUnicodeUCS2_Split
+ PyUnicode_Splitlines=python32.PyUnicodeUCS2_Splitlines
+ PyUnicode_Tailmatch=python32.PyUnicodeUCS2_Tailmatch
+ PyUnicode_Translate=python32.PyUnicodeUCS2_Translate
+ PyUnicode_BuildEncodingMap=python32.PyUnicode_BuildEncodingMap
+ PyUnicode_CompareWithASCIIString=python32.PyUnicode_CompareWithASCIIString
+ PyUnicode_DecodeUTF7=python32.PyUnicode_DecodeUTF7
+ PyUnicode_DecodeUTF7Stateful=python32.PyUnicode_DecodeUTF7Stateful
+ PyUnicode_EncodeFSDefault=python32.PyUnicode_EncodeFSDefault
+ PyUnicode_InternFromString=python32.PyUnicode_InternFromString
+ PyUnicode_InternImmortal=python32.PyUnicode_InternImmortal
+ PyUnicode_InternInPlace=python32.PyUnicode_InternInPlace
+ PyUnicode_Type=python32.PyUnicode_Type DATA
+ PyWeakref_GetObject=python32.PyWeakref_GetObject DATA
+ PyWeakref_NewProxy=python32.PyWeakref_NewProxy
+ PyWeakref_NewRef=python32.PyWeakref_NewRef
+ PyWrapperDescr_Type=python32.PyWrapperDescr_Type DATA
+ PyWrapper_New=python32.PyWrapper_New
+ PyZip_Type=python32.PyZip_Type DATA
+ Py_AddPendingCall=python32.Py_AddPendingCall
+ Py_AtExit=python32.Py_AtExit
+ Py_BuildValue=python32.Py_BuildValue
+ Py_CompileStringFlags=python32.Py_CompileStringFlags
+ Py_DecRef=python32.Py_DecRef
+ Py_EndInterpreter=python32.Py_EndInterpreter
+ Py_Exit=python32.Py_Exit
+ Py_FatalError=python32.Py_FatalError
+ Py_FileSystemDefaultEncoding=python32.Py_FileSystemDefaultEncoding DATA
+ Py_Finalize=python32.Py_Finalize
+ Py_GetBuildInfo=python32.Py_GetBuildInfo
+ Py_GetCompiler=python32.Py_GetCompiler
+ Py_GetCopyright=python32.Py_GetCopyright
+ Py_GetExecPrefix=python32.Py_GetExecPrefix
+ Py_GetPath=python32.Py_GetPath
+ Py_GetPlatform=python32.Py_GetPlatform
+ Py_GetPrefix=python32.Py_GetPrefix
+ Py_GetProgramFullPath=python32.Py_GetProgramFullPath
+ Py_GetProgramName=python32.Py_GetProgramName
+ Py_GetPythonHome=python32.Py_GetPythonHome
+ Py_GetRecursionLimit=python32.Py_GetRecursionLimit
+ Py_GetVersion=python32.Py_GetVersion
+ Py_HasFileSystemDefaultEncoding=python32.Py_HasFileSystemDefaultEncoding DATA
+ Py_IncRef=python32.Py_IncRef
+ Py_Initialize=python32.Py_Initialize
+ Py_InitializeEx=python32.Py_InitializeEx
+ Py_IsInitialized=python32.Py_IsInitialized
+ Py_Main=python32.Py_Main
+ Py_MakePendingCalls=python32.Py_MakePendingCalls
+ Py_NewInterpreter=python32.Py_NewInterpreter
+ Py_ReprEnter=python32.Py_ReprEnter
+ Py_ReprLeave=python32.Py_ReprLeave
+ Py_SetProgramName=python32.Py_SetProgramName
+ Py_SetPythonHome=python32.Py_SetPythonHome
+ Py_SetRecursionLimit=python32.Py_SetRecursionLimit
+ Py_SymtableString=python32.Py_SymtableString
+ Py_VaBuildValue=python32.Py_VaBuildValue
+ _PyErr_BadInternalCall=python32._PyErr_BadInternalCall
+ _PyObject_CallFunction_SizeT=python32._PyObject_CallFunction_SizeT
+ _PyObject_CallMethod_SizeT=python32._PyObject_CallMethod_SizeT
+ _PyObject_GC_Malloc=python32._PyObject_GC_Malloc
+ _PyObject_GC_New=python32._PyObject_GC_New
+ _PyObject_GC_NewVar=python32._PyObject_GC_NewVar
+ _PyObject_GC_Resize=python32._PyObject_GC_Resize
+ _PyObject_New=python32._PyObject_New
+ _PyObject_NewVar=python32._PyObject_NewVar
+ _PyState_AddModule=python32._PyState_AddModule
+ _PyThreadState_Init=python32._PyThreadState_Init
+ _PyThreadState_Prealloc=python32._PyThreadState_Prealloc
+ _PyTrash_delete_later=python32._PyTrash_delete_later DATA
+ _PyTrash_delete_nesting=python32._PyTrash_delete_nesting DATA
+ _PyTrash_deposit_object=python32._PyTrash_deposit_object
+ _PyTrash_destroy_chain=python32._PyTrash_destroy_chain
+ _PyWeakref_CallableProxyType=python32._PyWeakref_CallableProxyType DATA
+ _PyWeakref_ProxyType=python32._PyWeakref_ProxyType DATA
+ _PyWeakref_RefType=python32._PyWeakref_RefType DATA
+ _Py_BuildValue_SizeT=python32._Py_BuildValue_SizeT
+ _Py_CheckRecursionLimit=python32._Py_CheckRecursionLimit DATA
+ _Py_CheckRecursiveCall=python32._Py_CheckRecursiveCall
+ _Py_Dealloc=python32._Py_Dealloc
+ _Py_EllipsisObject=python32._Py_EllipsisObject DATA
+ _Py_FalseStruct=python32._Py_FalseStruct DATA
+ _Py_NoneStruct=python32.Py_GetCopyright
+ _Py_NotImplementedStruct=python32._Py_NotImplementedStruct DATA
+ _Py_SwappedOp=python32._Py_SwappedOp DATA
+ _Py_TrueStruct=python32._Py_TrueStruct DATA
+ _Py_VaBuildValue_SizeT=python32._Py_VaBuildValue_SizeT
diff --git a/PC/python3dll.c b/PC/python3dll.c
new file mode 100644
index 0000000..b171fca
--- /dev/null
+++ b/PC/python3dll.c
@@ -0,0 +1,9 @@
+#include <windows.h>
+
+BOOL WINAPI
+DllMain(HINSTANCE hInstDLL,
+ DWORD fdwReason,
+ LPVOID lpReserved)
+{
+ return TRUE;
+} \ No newline at end of file