diff --git a/SWIG/swig_lib/python/pythoncom.i b/SWIG/swig_lib/python/pythoncom.i
index f37ae9f..609d227 100644
--- a/SWIG/swig_lib/python/pythoncom.i
+++ b/SWIG/swig_lib/python/pythoncom.i
@@ -8,6 +8,10 @@ typedef long HRESULT;	// This will raise COM Exception.
 %typedef long HRESULT_KEEP; // This will keep HRESULT, and return
 typedef long FLAGS;
 
+typedef WCHAR OLECHAR;
+typedef OLECHAR* BSTR;
+typedef MAPIERROR MAPIERROR;
+typedef ADRLIST ADRLIST;
 
 %typemap(python,out) HRESULT {
 	$target = Py_None;
diff --git a/SWIG/swig_lib/python/pywintypes.i b/SWIG/swig_lib/python/pywintypes.i
index 7ef58a4..cd61a0e 100644
--- a/SWIG/swig_lib/python/pywintypes.i
+++ b/SWIG/swig_lib/python/pywintypes.i
@@ -33,6 +33,8 @@ typedef long LONG;
 typedef unsigned long ULONG;
 %apply unsigned long {ULONG};
 
+typedef STARTUPINFO STARTUPINFO;
+%apply STARTUPINFO {STARTUPINFO};
 
 %{
 #define PyInt_FromLong PyLong_FromLong // py3k pain.
@@ -55,6 +57,7 @@ typedef unsigned long ULONG;
 }
 
 // Override the SWIG default for this.
+%typedef PyObject PyObject;
 %typemap(python,out) PyObject *{
 	if ($source==NULL) return NULL; // get out now!
 	$target = $source;
@@ -64,7 +67,7 @@ typedef unsigned long ULONG;
 // Map API functions that return BOOL to
 // functions that return None, but raise exceptions.
 // These functions must set the win32 LastError.
-%typedef BOOL BOOLAPI
+%typedef BOOL BOOLAPI;
 
 %typemap(python,out) BOOLAPI {
 	$target = Py_None;
@@ -81,7 +84,7 @@ typedef unsigned long ULONG;
       }
 }
 
-%typedef DWORD DWORDAPI
+%typedef DWORD DWORDAPI;
 
 %typemap(python,out) DWORDAPI {
 	$target = Py_None;
@@ -110,11 +113,13 @@ typedef unsigned long ULONG;
 	}
 }
 
+%typedef TCHAR TCHAR;
 %typemap(python,in) TCHAR * {
 	if (!PyWinObject_AsTCHAR($source, &$target, FALSE))
 		return NULL;
 }
 
+%typedef WCHAR WCHAR;
 %typemap(python,arginit) TCHAR *,OLECHAR *, WCHAR *
 {
 	$target = NULL;
@@ -200,6 +205,7 @@ typedef unsigned long ULONG;
 		return NULL;
 }
 
+%typedef OVERLAPPED OVERLAPPED;
 %typemap(python,in) OVERLAPPED *
 {
 	if (!PyWinObject_AsOVERLAPPED($source, &$target, TRUE))
@@ -254,6 +260,7 @@ typedef unsigned long ULONG;
 }
 
 
+%typedef SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES;
 
 %typemap(python,in) SECURITY_ATTRIBUTES *{
 	if (!PyWinObject_AsSECURITY_ATTRIBUTES($source, &$target))
@@ -412,6 +419,7 @@ typedef float HWND;
 // LARGE_INTEGER support
 //
 //---------------------------------------------------------------------------
+%typedef LARGE_INTEGER LARGE_INTEGER;
 %typemap(python,in) LARGE_INTEGER {
 	if (!PyWinObject_AsLARGE_INTEGER($source, &$target))
 		return NULL;
@@ -421,6 +429,7 @@ typedef float HWND;
 	if (!PyWinObject_AsLARGE_INTEGER($source, $target))
 		return NULL;
 }
+%typedef ULARGE_INTEGER ULARGE_INTEGER;
 %typemap(python,in) ULARGE_INTEGER {
 	if (!PyWinObject_AsULARGE_INTEGER($source, &$target))
 		return NULL;
@@ -535,6 +544,7 @@ typedef float HWND;
 // TIME
 //
 //---------------------------------------------------------------------------
+%typedef FILETIME FILETIME;
 %typemap(python,in) FILETIME * {
 	if (!PyWinObject_AsFILETIME($source, $target, FALSE))
 		return NULL;
@@ -573,6 +583,7 @@ typedef float HWND;
 // SOCKET support.
 //
 //---------------------------------------------------------------------------
+%typedef UINT_PTR SOCKET;
 %typemap(python,in) SOCKET *(SOCKET sockettemp)
 {
 	$target = &sockettemp;
@@ -596,5 +607,5 @@ typedef float HWND;
 #endif
   PyWinGlobals_Ensure();
   PyDict_SetItemString(d, "error", PyWinExc_ApiError);
-#endif SWIG_PYTHONCOM
+#endif // SWIG_PYTHONCOM
 %}
