diff --git a/include/Makefile.in b/include/Makefile.in
index 889cd9c..4d71204 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -28,6 +28,7 @@
 	mimeinfo.idl \
 	mlang.idl \
 	mmstream.idl \
+	mscoree.idl \
 	mshtmhst.idl \
 	mshtml.idl \
 	msinkaut.idl \
@@ -85,6 +86,7 @@
 	commctrl.h \
 	commdlg.h \
 	compobj.h \
+	cor.h \
 	cpl.h \
 	custcntl.h \
 	cvconst.h \
diff --git a/include/cor.h b/include/cor.h
new file mode 100644
index 0000000..cdf89dd
--- /dev/null
+++ b/include/cor.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2007 Francois Gouget
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_COR_H
+#define __WINE_COR_H
+
+#include "ole2.h"
+/* FIXME: #include "specstrings.h" */
+/* FIXME: #include "corerror.h" */
+/* FIXME: #include "corhdr.h" */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+BOOL        WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID);
+__int32     WINAPI _CorExeMain(void);
+__int32     WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR);
+VOID        WINAPI _CorImageUnloading(PVOID);
+HRESULT     WINAPI _CorValidateImage(PVOID*,LPCWSTR);
+HRESULT     WINAPI CoInitializeCor(DWORD);
+void        WINAPI CoUninitializeCor(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __WINE_COR_H */
diff --git a/include/mscoree.idl b/include/mscoree.idl
new file mode 100644
index 0000000..8dfaa1b
--- /dev/null
+++ b/include/mscoree.idl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2007 Francois Gouget
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+cpp_quote("/* FIXME: #include <gcghost.h> */")
+cpp_quote("/* FIXME: #include <ivalidator.h> */")
+
+cpp_quote("HRESULT     WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*);")
+cpp_quote("void        WINAPI CorExitProcess(int);")
+cpp_quote("HRESULT     WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);")
+cpp_quote("HRESULT     WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);")
+cpp_quote("HRESULT     WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);")
+cpp_quote("HRESULT     WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);")
