summaryrefslogtreecommitdiff
path: root/src/vm/ecalllist.h
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jekoritz@microsoft.com>2019-06-10 21:33:00 -0700
committerGitHub <noreply@github.com>2019-06-10 21:33:00 -0700
commita6292a6573e1f7d6e218293773e443280683cd83 (patch)
tree64041c42a5801cb4d10316380b4b368388dd18fb /src/vm/ecalllist.h
parent5cea50c794753b65a25c17b9b88a84eb7e432ba5 (diff)
downloadcoreclr-a6292a6573e1f7d6e218293773e443280683cd83.tar.gz
coreclr-a6292a6573e1f7d6e218293773e443280683cd83.tar.bz2
coreclr-a6292a6573e1f7d6e218293773e443280683cd83.zip
Switch P/Invokes into libcoreclr for the PAL to QCalls (#25055)
* Switch PInvokes into libcoreclr to QCalls * Register QCalls in runtime. Remove pal exports from libcoreclr * Alphabetize new ecalllist.h entries * Remove W suffixes from native side of QCall * Interop signatures are in nested classes (which doesn't show up here) in the root namespace. So we don't want to pass a namespace in here * Convert the interop test in R2R to use a local native library instead of calling into the CoreCLR PAL via DllImport.
Diffstat (limited to 'src/vm/ecalllist.h')
-rw-r--r--src/vm/ecalllist.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h
index b63d216050..3b9d6b1515 100644
--- a/src/vm/ecalllist.h
+++ b/src/vm/ecalllist.h
@@ -1140,6 +1140,54 @@ FCFuncStart(gWeakReferenceOfTFuncs)
FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection)
FCFuncEnd()
+#ifdef FEATURE_PAL
+FCFuncStart(gPalKernel32Funcs)
+ QCFuncElement("CloseHandle", CloseHandle)
+ QCFuncElement("CreateEvent", CreateEventW)
+ QCFuncElement("CreateEventEx", CreateEventExW)
+ QCFuncElement("CreateMutex", CreateMutexW)
+ QCFuncElement("CreateMutexEx", CreateMutexExW)
+ QCFuncElement("CreateSemaphore", CreateSemaphoreW)
+ QCFuncElement("CreateSemaphoreEx", CreateSemaphoreExW)
+ QCFuncElement("FormatMessage", FormatMessageW)
+ QCFuncElement("FreeEnvironmentStrings", FreeEnvironmentStringsW)
+ QCFuncElement("GetCurrentProcessId", GetCurrentProcessId)
+ QCFuncElement("GetCurrentThreadId", GetCurrentThreadId)
+ QCFuncElement("GetEnvironmentStrings", GetEnvironmentStringsW)
+ QCFuncElement("GetEnvironmentVariable", GetEnvironmentVariableW)
+ QCFuncElement("GetStdHandle", GetStdHandle)
+ QCFuncElement("GetSystemInfo", GetSystemInfo)
+ QCFuncElement("LocalAlloc", LocalAlloc)
+ QCFuncElement("LocalReAlloc", LocalReAlloc)
+ QCFuncElement("LocalFree", LocalFree)
+ QCFuncElement("OpenEvent", OpenEventW)
+ QCFuncElement("OpenMutex", OpenMutexW)
+ QCFuncElement("OpenSemaphore", OpenSemaphoreW)
+ QCFuncElement("OutputDebugString", OutputDebugStringW)
+ QCFuncElement("QueryPerformanceCounter", QueryPerformanceCounter)
+ QCFuncElement("QueryPerformanceFrequency", QueryPerformanceFrequency)
+ QCFuncElement("ReleaseMutex", ReleaseMutex)
+ QCFuncElement("ReleaseSemaphore", ReleaseSemaphore)
+ QCFuncElement("ResetEvent", ResetEvent)
+ QCFuncElement("SetEnvironmentVariable", SetEnvironmentVariableW)
+ QCFuncElement("SetEvent", SetEvent)
+ QCFuncElement("WriteFile", WriteFile)
+FCFuncEnd()
+
+FCFuncStart(gPalOle32Funcs)
+ QCFuncElement("CoTaskMemAlloc", CoTaskMemAlloc)
+ QCFuncElement("CoTaskMemRealloc", CoTaskMemRealloc)
+ QCFuncElement("CoTaskMemFree", CoTaskMemFree)
+FCFuncEnd()
+
+FCFuncStart(gPalOleAut32Funcs)
+ QCFuncElement("SysAllocStringByteLen", SysAllocStringByteLen)
+ QCFuncElement("SysAllocStringLen", SysAllocStringLen)
+ QCFuncElement("SysFreeString", SysFreeString)
+ QCFuncElement("SysStringLen", SysStringLen)
+FCFuncEnd()
+#endif
+
#ifdef FEATURE_COMINTEROP
//
@@ -1215,6 +1263,9 @@ FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs)
FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs)
#endif
FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs)
+#if FEATURE_PAL
+FCClassElement("Kernel32", "", gPalKernel32Funcs)
+#endif
FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs)
FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs)
FCClassElement("Math", "System", gMathFuncs)
@@ -1241,6 +1292,10 @@ FCClassElement("Object", "System", gObjectFuncs)
#ifdef FEATURE_COMINTEROP
FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs)
#endif
+#ifdef FEATURE_PAL
+FCClassElement("Ole32", "", gPalOle32Funcs)
+FCClassElement("OleAut32", "", gPalOleAut32Funcs)
+#endif
FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs)