2b0401990ac8e7f4e0aeebf2a198dacb7ebfdee4
[platform/upstream/coreclr.git] / src / vm / ecalllist.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 // ECallList.H
5 //
6 // This file contains definitions of FCall entrypoints
7 //
8
9
10
11
12 #ifndef FCFuncElement
13 #define FCFuncElement(name, impl)
14 #endif
15
16 #ifndef FCFuncElementSig
17 #define FCFuncElementSig(name,sig,impl)
18 #endif
19
20 #ifndef FCIntrinsic
21 #define FCIntrinsic(name,impl,intrinsicID)
22 #endif
23
24 #ifndef FCIntrinsicSig
25 #define FCIntrinsicSig(name,sig,impl,intrinsicID)
26 #endif
27
28 #ifndef QCFuncElement
29 #define QCFuncElement(name,impl)
30 #endif
31
32 #ifndef FCDynamic
33 #define FCDynamic(name,intrinsicID,dynamicID)
34 #endif
35
36 #ifndef FCDynamicSig
37 #define FCDynamicSig(name,sig,intrinsicID,dynamicID)
38 #endif
39
40 #ifndef FCUnreferenced
41 #define FCUnreferenced
42 #endif
43
44 #ifndef FCFuncStart
45 #define FCFuncStart(name)
46 #endif
47
48 #ifndef FCFuncEnd
49 #define FCFuncEnd()
50 #endif
51
52 #ifndef FCClassElement
53 #define FCClassElement(name,namespace,funcs)
54 #endif
55
56 //
57 //
58 // Entrypoint definitions
59 //
60 //
61
62 #ifdef FEATURE_REMOTING
63 FCFuncStart(gMarshalByRefFuncs)
64     FCFuncElement("GetComIUnknown", RemotingNative::GetComIUnknown)
65 FCFuncEnd()
66
67 FCFuncStart(gRemotingFuncs)
68     FCFuncElement("IsTransparentProxy", RemotingNative::FCIsTransparentProxy)
69     FCFuncElement("GetRealProxy", RemotingNative::FCGetRealProxy)
70     FCFuncElement("Unwrap", RemotingNative::FCUnwrap)
71     FCFuncElement("AlwaysUnwrap", RemotingNative::FCAlwaysUnwrap)
72     FCFuncElement("CheckCast", RemotingNative::NativeCheckCast)
73     FCFuncElement("nSetRemoteActivationConfigured", RemotingNative::SetRemotingConfiguredFlag)
74
75     FCFuncElement("CORProfilerTrackRemoting", ProfilingFCallHelper::FC_TrackRemoting)
76     FCFuncElement("CORProfilerTrackRemotingCookie", ProfilingFCallHelper::FC_TrackRemotingCookie)
77     FCFuncElement("CORProfilerTrackRemotingAsync", ProfilingFCallHelper::FC_TrackRemotingAsync)
78     FCFuncElement("CORProfilerRemotingClientSendingMessage", ProfilingFCallHelper::FC_RemotingClientSendingMessage)
79     FCFuncElement("CORProfilerRemotingClientReceivingReply", ProfilingFCallHelper::FC_RemotingClientReceivingReply)
80     FCFuncElement("CORProfilerRemotingServerReceivingMessage", ProfilingFCallHelper::FC_RemotingServerReceivingMessage)
81     FCFuncElement("CORProfilerRemotingServerSendingReply", ProfilingFCallHelper::FC_RemotingServerSendingReply)
82
83     FCFuncElement("CreateTransparentProxy", RemotingNative::CreateTransparentProxy)
84     FCFuncElement("AllocateUninitializedObject", RemotingNative::AllocateUninitializedObject)
85     FCFuncElement("CallDefaultCtor", RemotingNative::CallDefaultCtor)
86     FCFuncElement("AllocateInitializedObject", RemotingNative::AllocateInitializedObject)
87     FCFuncElement("ResetInterfaceCache", RemotingNative::ResetInterfaceCache)
88 FCFuncEnd()
89
90 FCFuncStart(gRealProxyFuncs)
91     FCFuncElement("SetStubData", CRealProxy::SetStubData)
92     FCFuncElement("GetStubData", CRealProxy::GetStubData)
93     FCFuncElement("GetStub", CRealProxy::GetStub)
94     FCFuncElement("GetDefaultStub", CRealProxy::GetDefaultStub)
95     FCFuncElement("GetProxiedType", CRealProxy::GetProxiedType)
96 FCFuncEnd()
97
98 FCFuncStart(gContextFuncs)
99     FCFuncElement("SetupInternalContext", Context::SetupInternalContext)
100     FCFuncElement("CleanupInternalContext", Context::CleanupInternalContext)
101     FCFuncElement("ExecuteCallBackInEE", Context::ExecuteCallBack)
102 FCFuncEnd()
103 #endif
104
105
106 FCFuncStart(gDependentHandleFuncs)
107     FCFuncElement("nInitialize",             DependentHandle::nInitialize)
108     FCFuncElement("nGetPrimary",             DependentHandle::nGetPrimary)
109     FCFuncElement("nGetPrimaryAndSecondary", DependentHandle::nGetPrimaryAndSecondary)
110     FCFuncElement("nFree",                   DependentHandle::nFree)
111 FCFuncEnd()
112
113 #ifndef FEATURE_CORECLR
114 FCFuncStart(gSizedRefHandleFuncs)
115     FCFuncElement("CreateSizedRef",                 SizedRefHandle::Initialize)
116     FCFuncElement("FreeSizedRef",                   SizedRefHandle::Free)
117     FCFuncElement("GetTargetOfSizedRef",            SizedRefHandle::GetTarget)
118     FCFuncElement("GetApproximateSizeOfSizedRef",   SizedRefHandle::GetApproximateSize)
119 FCFuncEnd()
120 #endif // !FEATURE_CORECLR
121
122 #ifdef FEATURE_RWLOCK
123 FCFuncStart(gRWLockFuncs)
124     FCFuncElement("AcquireReaderLockInternal",  CRWLock::StaticAcquireReaderLockPublic)
125     FCFuncElement("AcquireWriterLockInternal",  CRWLock::StaticAcquireWriterLockPublic)
126     FCFuncElement("ReleaseReaderLockInternal",  CRWLock::StaticReleaseReaderLockPublic)
127     FCFuncElement("ReleaseWriterLockInternal",  CRWLock::StaticReleaseWriterLockPublic)
128     FCFuncElement("FCallUpgradeToWriterLock",  CRWLock::StaticDoUpgradeToWriterLockPublic)
129     FCFuncElement("DowngradeFromWriterLockInternal",  CRWLock::StaticDowngradeFromWriterLock)
130     FCFuncElement("FCallReleaseLock",  CRWLock::StaticDoReleaseLock)
131     FCFuncElement("RestoreLockInternal",  CRWLock::StaticRestoreLockPublic)
132     FCFuncElement("PrivateGetIsReaderLockHeld",  CRWLock::StaticIsReaderLockHeld)
133     FCFuncElement("PrivateGetIsWriterLockHeld",  CRWLock::StaticIsWriterLockHeld)
134     FCFuncElement("PrivateGetWriterSeqNum",  CRWLock::StaticGetWriterSeqNum)
135     FCFuncElement("AnyWritersSince",  CRWLock::StaticAnyWritersSince)
136     FCFuncElement("PrivateInitialize",  CRWLock::StaticPrivateInitialize)
137     FCFuncElement("PrivateDestruct",  CRWLock::StaticPrivateDestruct)
138 FCFuncEnd()
139 #endif // FEATURE_RWLOCK
140
141 #ifdef FEATURE_REMOTING
142 FCFuncStart(gMessageFuncs)
143     FCFuncElement("InternalGetArgCount", CMessage::GetArgCount)
144     FCFuncElement("InternalHasVarArgs", CMessage::HasVarArgs)
145     FCFuncElement("InternalGetArg", CMessage::GetArg)
146     FCFuncElement("InternalGetArgs", CMessage::GetArgs)
147     FCFuncElement("PropagateOutParameters", CMessage::PropagateOutParameters)
148     FCFuncElement("GetReturnValue", CMessage::GetReturnValue)
149     FCFuncElement("GetAsyncBeginInfo", CMessage::GetAsyncBeginInfo)
150     FCFuncElement("GetAsyncResult", CMessage::GetAsyncResult)
151     FCFuncElement("GetThisPtr", CMessage::GetAsyncObject)
152     FCFuncElement("OutToUnmanagedDebugger", CMessage::DebugOut)
153     FCFuncElement("Dispatch", CMessage::Dispatch)
154 FCFuncEnd()
155 #endif //FEATURE_REMOTING
156
157 #ifdef FEATURE_REMOTING
158 FCFuncStart(gChannelServicesFuncs)
159     FCFuncElement("GetPrivateContextsPerfCounters", GetPrivateContextsPerfCountersEx)
160 FCFuncEnd()
161 #endif // FEATURE_REMOTING
162
163 FCFuncStart(gEnumFuncs)
164     FCFuncElement("InternalGetUnderlyingType",  ReflectionEnum::InternalGetEnumUnderlyingType)
165     FCFuncElement("InternalGetCorElementType",  ReflectionEnum::InternalGetCorElementType)
166     QCFuncElement("GetEnumValuesAndNames",  ReflectionEnum::GetEnumValuesAndNames)
167     FCFuncElement("InternalBoxEnum", ReflectionEnum::InternalBoxEnum)
168     FCFuncElement("Equals", ReflectionEnum::InternalEquals)
169     FCFuncElement("InternalCompareTo", ReflectionEnum::InternalCompareTo)    
170     FCFuncElement("InternalHasFlag", ReflectionEnum::InternalHasFlag)
171 FCFuncEnd()
172
173 #ifdef FEATURE_REMOTING
174 FCFuncStart(gStackBuilderSinkFuncs)
175     FCFuncElement("_PrivateProcessMessage", CStackBuilderSink::PrivateProcessMessage)
176 FCFuncEnd()
177 #endif
178
179 #ifdef FEATURE_CORECLR
180 FCFuncStart(gSymWrapperCodePunkSafeHandleFuncs)
181     FCFuncElement("nGetDReleaseTarget", COMPunkSafeHandle::nGetDReleaseTarget)
182 FCFuncEnd()
183 #endif //FEATURE_CORECLR
184
185 FCFuncStart(gParseNumbersFuncs)
186     FCFuncElement("IntToString", ParseNumbers::IntToString)
187     FCFuncElement("LongToString", ParseNumbers::LongToString)
188     FCFuncElement("StringToInt", ParseNumbers::StringToInt)
189     FCFuncElement("StringToLong", ParseNumbers::StringToLong)
190 FCFuncEnd()
191
192 #ifndef FEATURE_CORECLR  // FCalls used by System.TimeSpan
193 FCFuncStart(gTimeSpanFuncs)
194     FCFuncElement("LegacyFormatMode", SystemNative::LegacyFormatMode)
195 FCFuncEnd()
196 #endif // !FEATURE_CORECLR
197
198 #ifndef FEATURE_CORECLR  // FCalls used by System.TimeZone
199 FCFuncStart(gTimeZoneFuncs)
200     FCFuncElement("nativeGetTimeZoneMinuteOffset", COMNlsInfo::nativeGetTimeZoneMinuteOffset)
201     FCFuncElement("nativeGetStandardName", COMNlsInfo::nativeGetStandardName)
202     FCFuncElement("nativeGetDaylightName", COMNlsInfo::nativeGetDaylightName)
203     FCFuncElement("nativeGetDaylightChanges", COMNlsInfo::nativeGetDaylightChanges)
204 FCFuncEnd()
205 #endif // FEATURE_CORECLR
206
207 FCFuncStart(gObjectFuncs)
208     FCIntrinsic("GetType", ObjectNative::GetClass, CORINFO_INTRINSIC_Object_GetType)
209     FCFuncElement("MemberwiseClone", ObjectNative::Clone)
210 FCFuncEnd()
211
212 FCFuncStart(gStringFuncs)
213     FCDynamic("FastAllocateString", CORINFO_INTRINSIC_Illegal, ECall::FastAllocateString)
214     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayManaged)
215     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_ArrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharArrayStartLengthManaged)
216     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrManaged)
217     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrChar_Int_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharPtrStartLengthManaged)
218     FCDynamicSig(COR_CTOR_METHOD_NAME, &gsig_IM_Char_Int_RetVoid, CORINFO_INTRINSIC_Illegal, ECall::CtorCharCountManaged)
219     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_RetVoid, COMString::StringInitCharPtr)
220     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_RetVoid, COMString::StringInitCharPtrPartial)
221     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_PtrSByt_Int_Int_Encoding_RetVoid, COMString::StringInitSBytPtrPartialEx)
222     FCFuncElement("IsFastSort", COMString::IsFastSort)
223     FCFuncElement("nativeCompareOrdinalIgnoreCaseWC", COMString::FCCompareOrdinalIgnoreCaseWC)
224     FCIntrinsic("get_Length", COMString::Length, CORINFO_INTRINSIC_StringLength)
225     FCIntrinsic("get_Chars", COMString::GetCharAt, CORINFO_INTRINSIC_StringGetChar)
226     FCFuncElement("IsAscii", COMString::IsAscii)
227     FCFuncElement("CompareOrdinalHelper", COMString::CompareOrdinalEx)
228     FCFuncElement("IndexOfAny", COMString::IndexOfCharArray)
229     FCFuncElement("LastIndexOfAny", COMString::LastIndexOfCharArray)
230     FCFuncElementSig("ReplaceInternal", &gsig_IM_Str_Str_RetStr, COMString::ReplaceString)
231 #ifdef FEATURE_COMINTEROP
232     FCFuncElement("SetTrailByte", COMString::FCSetTrailByte)
233     FCFuncElement("TryGetTrailByte", COMString::FCTryGetTrailByte)
234 #endif // FEATURE_COMINTEROP
235 #ifdef FEATURE_RANDOMIZED_STRING_HASHING
236     FCFuncElement("InternalMarvin32HashString", COMString::Marvin32HashString)
237     QCFuncElement("InternalUseRandomizedHashing", COMString::UseRandomizedHashing) 
238 #endif // FEATURE_RANDOMIZED_STRING_HASHING
239 FCFuncEnd()
240
241 FCFuncStart(gStringBufferFuncs)
242     FCFuncElement("ReplaceBufferInternal", COMStringBuffer::ReplaceBufferInternal)
243     FCFuncElement("ReplaceBufferAnsiInternal", COMStringBuffer::ReplaceBufferAnsiInternal)
244 FCFuncEnd()
245
246 FCFuncStart(gValueTypeFuncs)
247     FCFuncElement("CanCompareBits", ValueTypeHelper::CanCompareBits)
248     FCFuncElement("FastEqualsCheck", ValueTypeHelper::FastEqualsCheck)
249     FCFuncElement("GetHashCode", ValueTypeHelper::GetHashCode)
250     FCFuncElement("GetHashCodeOfPtr", ValueTypeHelper::GetHashCodeOfPtr)
251 FCFuncEnd()
252
253 FCFuncStart(gDiagnosticsDebugger)
254     FCFuncElement("BreakInternal", DebugDebugger::Break)
255     FCFuncElement("LaunchInternal", DebugDebugger::Launch)
256     FCFuncElement("get_IsAttached", DebugDebugger::IsDebuggerAttached)
257     FCFuncElement("Log", DebugDebugger::Log)
258     FCFuncElement("IsLogging", DebugDebugger::IsLogging)
259     FCFuncElement("CustomNotification", DebugDebugger::CustomNotification)
260 FCFuncEnd()
261
262 FCFuncStart(gDiagnosticsStackTrace)
263     FCFuncElement("GetStackFramesInternal", DebugStackTrace::GetStackFramesInternal)
264 FCFuncEnd()
265
266 FCFuncStart(gDiagnosticsLog)
267     FCFuncElement("AddLogSwitch", Log::AddLogSwitch)
268     FCFuncElement("ModifyLogSwitch", Log::ModifyLogSwitch)
269 FCFuncEnd()
270
271 FCFuncStart(gDiagnosticsAssert)
272     FCFuncElement("ShowDefaultAssertDialog", DebuggerAssert::ShowDefaultAssertDialog)
273 FCFuncEnd()
274
275 FCFuncStart(gDateTimeFuncs)
276     FCFuncElement("GetSystemTimeAsFileTime", SystemNative::__GetSystemTimeAsFileTime)
277 #ifndef FEATURE_CORECLR
278     QCFuncElement("LegacyParseMode", SystemNative::LegacyDateTimeParseMode)
279     QCFuncElement("EnableAmPmParseAdjustment", SystemNative::EnableAmPmParseAdjustment)
280 #endif
281 FCFuncEnd()
282
283 FCFuncStart(gEnvironmentFuncs)
284     FCFuncElement("GetVersion", SystemNative::GetOSVersion)
285     FCFuncElement("GetVersionEx", SystemNative::GetOSVersionEx)
286     FCFuncElement("get_TickCount", SystemNative::GetTickCount)
287     QCFuncElement("_Exit", SystemNative::Exit)
288     FCFuncElement("set_ExitCode", SystemNative::SetExitCode)
289     FCFuncElement("get_ExitCode", SystemNative::GetExitCode)
290     FCFuncElement("get_HasShutdownStarted", SystemNative::HasShutdownStarted)
291     QCFuncElement("GetProcessorCount", SystemNative::GetProcessorCount)
292 #ifndef FEATURE_CORECLR
293     QCFuncElement("GetWorkingSet", SystemNative::GetWorkingSet)
294     FCFuncElement("nativeGetEnvironmentVariable", SystemNative::_GetEnvironmentVariable)
295     FCFuncElement("GetCompatibilityFlag", SystemNative::_GetCompatibilityFlag)
296     QCFuncElement("GetCommandLine", SystemNative::_GetCommandLine)
297     FCFuncElement("GetResourceFromDefault", GetResourceFromDefault)
298 #endif // !FEATURE_CORECLR
299     FCFuncElement("GetCommandLineArgsNative", SystemNative::GetCommandLineArgs)
300
301 #if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORESYSTEM)
302     QCFuncElement("WinRTSupported", SystemNative::WinRTSupported)
303 #endif // FEATURE_COMINTEROP
304     FCFuncElementSig("FailFast", &gsig_SM_Str_RetVoid, SystemNative::FailFast)
305 #ifndef FEATURE_CORECLR
306     FCFuncElementSig("FailFast", &gsig_SM_Str_Uint_RetVoid, SystemNative::FailFastWithExitCode)
307 #endif
308     FCFuncElementSig("FailFast", &gsig_SM_Str_Exception_RetVoid, SystemNative::FailFastWithException)
309 #ifndef FEATURE_CORECLR
310     QCFuncElement("GetIsCLRHosted", SystemNative::IsCLRHosted)
311     QCFuncElement("TriggerCodeContractFailure", SystemNative::TriggerCodeContractFailure)
312 #endif // !FEATURE_CORECLR
313 FCFuncEnd()
314
315 FCFuncStart(gRuntimeEnvironmentFuncs)
316     FCFuncElement("GetModuleFileName", SystemNative::_GetModuleFileName)
317     FCFuncElement("GetRuntimeDirectoryImpl", SystemNative::GetRuntimeDirectory)
318 #ifdef FEATURE_FUSION
319     FCFuncElement("GetDeveloperPath", SystemNative::GetDeveloperPath)
320     FCFuncElement("GetHostBindingFile", SystemNative::GetHostBindingFile)
321 #endif // FEATURE_FUSION
322 #ifndef FEATURE_CORECLR
323     QCFuncElement("_GetSystemVersion", SystemNative::_GetSystemVersion)
324 #endif
325 #if defined(FEATURE_CLASSIC_COMINTEROP) && !defined(FEATURE_CORECLR)
326     QCFuncElement("GetRuntimeInterfaceImpl", SystemNative::GetRuntimeInterfaceImpl)
327 #endif
328 FCFuncEnd()
329
330 FCFuncStart(gSerializationFuncs)
331 #ifndef FEATURE_CORECLR
332     FCFuncElement("GetEnableUnsafeTypeForwarders", ReflectionSerialization::GetEnableUnsafeTypeForwarders)
333     FCFuncElement("nativeGetSafeUninitializedObject", ReflectionSerialization::GetSafeUninitializedObject)
334 #endif
335     FCFuncElement("nativeGetUninitializedObject", ReflectionSerialization::GetUninitializedObject)
336 FCFuncEnd()
337
338 FCFuncStart(gExceptionFuncs)
339     FCFuncElement("IsImmutableAgileException", ExceptionNative::IsImmutableAgileException)
340     FCFuncElement("nIsTransient", ExceptionNative::IsTransient)
341     FCFuncElement("GetMethodFromStackTrace", SystemNative::GetMethodFromStackTrace)
342 #ifndef FEATURE_CORECLR
343     FCFuncElement("StripFileInfo", ExceptionNative::StripFileInfo)
344 #endif
345     QCFuncElement("GetMessageFromNativeResources", ExceptionNative::GetMessageFromNativeResources)
346 #if defined(FEATURE_EXCEPTIONDISPATCHINFO)
347     FCFuncElement("PrepareForForeignExceptionRaise", ExceptionNative::PrepareForForeignExceptionRaise)
348     FCFuncElement("CopyStackTrace", ExceptionNative::CopyStackTrace)
349     FCFuncElement("CopyDynamicMethods", ExceptionNative::CopyDynamicMethods)
350     FCFuncElement("GetStackTracesDeepCopy", ExceptionNative::GetStackTracesDeepCopy)
351     FCFuncElement("SaveStackTracesFromDeepCopy", ExceptionNative::SaveStackTracesFromDeepCopy)
352 #endif // defined(FEATURE_EXCEPTIONDISPATCHINFO)
353 FCFuncEnd()
354
355 FCFuncStart(gSafeHandleFuncs)
356     FCFuncElement("InternalDispose", SafeHandle::DisposeNative)
357     FCFuncElement("InternalFinalize", SafeHandle::Finalize)
358     FCFuncElement("SetHandleAsInvalid", SafeHandle::SetHandleAsInvalid)
359     FCFuncElement("DangerousAddRef", SafeHandle::DangerousAddRef)
360     FCFuncElement("DangerousRelease", SafeHandle::DangerousRelease)
361 FCFuncEnd()
362
363 FCFuncStart(gCriticalHandleFuncs)
364     FCFuncElement("FireCustomerDebugProbe", CriticalHandle::FireCustomerDebugProbe)
365 FCFuncEnd()
366
367 FCFuncStart(gSafeBufferFuncs)
368     FCFuncElement("PtrToStructureNative", SafeBuffer::PtrToStructure)
369     FCFuncElement("StructureToPtrNative", SafeBuffer::StructureToPtr)
370 FCFuncEnd()
371
372 #ifndef FEATURE_CORECLR
373 FCFuncStart(gNormalizationFuncs)
374     FCFuncElement("nativeNormalizationIsNormalizedString", COMNlsInfo::nativeNormalizationIsNormalizedString)
375     FCFuncElement("nativeNormalizationNormalizeString", COMNlsInfo::nativeNormalizationNormalizeString)
376     QCFuncElement("nativeNormalizationInitNormalization", COMNlsInfo::nativeNormalizationInitNormalization)
377 FCFuncEnd()
378 #endif // FEATURE_CORECLR
379
380 FCFuncStart(gTypedReferenceFuncs)
381     FCFuncElement("InternalToObject", ReflectionInvocation::TypedReferenceToObject)
382 #ifndef FEATURE_CORECLR
383     FCFuncElement("InternalSetTypedReference", ReflectionInvocation::SetTypedReference)
384     FCFuncElement("InternalMakeTypedReference", ReflectionInvocation::MakeTypedReference)
385 #endif
386 FCFuncEnd()
387
388 FCFuncStart(gSystem_Type)
389     FCIntrinsic("GetTypeFromHandle", RuntimeTypeHandle::GetTypeFromHandle, CORINFO_INTRINSIC_GetTypeFromHandle)
390     FCFuncElement("GetTypeFromHandleUnsafe", RuntimeTypeHandle::GetRuntimeType)
391     FCIntrinsic("op_Equality", RuntimeTypeHandle::TypeEQ, CORINFO_INTRINSIC_TypeEQ)
392     FCIntrinsic("op_Inequality", RuntimeTypeHandle::TypeNEQ, CORINFO_INTRINSIC_TypeNEQ)
393 FCFuncEnd()
394
395 FCFuncStart(gSystem_RuntimeType)
396     FCFuncElement("GetGUID", ReflectionInvocation::GetGUID)
397     FCFuncElement("_CreateEnum", ReflectionInvocation::CreateEnum)
398     FCFuncElement("CanValueSpecialCast", ReflectionInvocation::CanValueSpecialCast)
399     FCFuncElement("AllocateValueType", ReflectionInvocation::AllocateValueType)
400 #if defined(FEATURE_COMINTEROP)
401     FCFuncElement("GetTypeFromCLSIDImpl", ReflectionInvocation::GetClassFromCLSID)
402     FCFuncElement("GetTypeFromProgIDImpl", ReflectionInvocation::GetClassFromProgID)
403     FCFuncElement("InvokeDispMethod", ReflectionInvocation::InvokeDispMethod)
404 #ifdef FEATURE_COMINTEROP_WINRT_MANAGED_ACTIVATION
405     FCFuncElement("IsTypeExportedToWindowsRuntime", RuntimeTypeHandle::IsTypeExportedToWindowsRuntime)
406 #endif
407     FCFuncElement("IsWindowsRuntimeObjectType", RuntimeTypeHandle::IsWindowsRuntimeObjectType)
408 #endif // defined(FEATURE_COMINTEROP) 
409 FCFuncEnd()
410
411 FCFuncStart(gJitHelpers)
412     FCFuncElement("UnsafeSetArrayElement", JitHelpers::UnsafeSetArrayElement)
413 #ifdef _DEBUG
414     FCFuncElement("IsAddressInStack", ReflectionInvocation::IsAddressInStack)
415 #endif
416 FCFuncEnd()
417
418 FCFuncStart(gCOMTypeHandleFuncs)
419     FCFuncElement("CreateInstance", RuntimeTypeHandle::CreateInstance)
420     FCFuncElement("CreateCaInstance", RuntimeTypeHandle::CreateCaInstance)
421     FCFuncElement("CreateInstanceForAnotherGenericParameter", RuntimeTypeHandle::CreateInstanceForGenericType)
422     QCFuncElement("GetGCHandle", RuntimeTypeHandle::GetGCHandle)
423
424     FCFuncElement("IsInstanceOfType", RuntimeTypeHandle::IsInstanceOfType)
425     FCFuncElement("GetDeclaringMethod", RuntimeTypeHandle::GetDeclaringMethod)
426     FCFuncElement("GetDeclaringType", RuntimeTypeHandle::GetDeclaringType)
427     QCFuncElement("GetDefaultConstructor", RuntimeTypeHandle::GetDefaultConstructor)
428     QCFuncElement("MakePointer", RuntimeTypeHandle::MakePointer)
429     QCFuncElement("MakeByRef", RuntimeTypeHandle::MakeByRef)
430     QCFuncElement("MakeSZArray", RuntimeTypeHandle::MakeSZArray)
431     QCFuncElement("MakeArray", RuntimeTypeHandle::MakeArray)
432     QCFuncElement("IsCollectible", RuntimeTypeHandle::IsCollectible)
433     FCFuncElement("GetFirstIntroducedMethod", RuntimeTypeHandle::GetFirstIntroducedMethod)
434     FCFuncElement("GetNextIntroducedMethod", RuntimeTypeHandle::GetNextIntroducedMethod)
435     FCFuncElement("GetCorElementType", RuntimeTypeHandle::GetCorElementType)
436     FCFuncElement("GetAssembly", RuntimeTypeHandle::GetAssembly)
437     FCFuncElement("GetModule", RuntimeTypeHandle::GetModule)
438     FCFuncElement("GetBaseType", RuntimeTypeHandle::GetBaseType)
439     FCFuncElement("GetElementType", RuntimeTypeHandle::GetElementType)
440     FCFuncElement("GetArrayRank", RuntimeTypeHandle::GetArrayRank)
441     FCFuncElement("GetToken", RuntimeTypeHandle::GetToken)
442     FCFuncElement("_GetUtf8Name", RuntimeTypeHandle::GetUtf8Name)
443     FCFuncElement("GetMethodAt", RuntimeTypeHandle::GetMethodAt)
444     FCFuncElement("GetFields", RuntimeTypeHandle::GetFields)
445     FCFuncElement("GetInterfaces", RuntimeTypeHandle::GetInterfaces)
446     QCFuncElement("GetConstraints", RuntimeTypeHandle::GetConstraints)
447     FCFuncElement("GetAttributes", RuntimeTypeHandle::GetAttributes)
448     FCFuncElement("_GetMetadataImport", RuntimeTypeHandle::GetMetadataImport)
449     FCFuncElement("GetNumVirtuals", RuntimeTypeHandle::GetNumVirtuals)
450     QCFuncElement("VerifyInterfaceIsImplemented", RuntimeTypeHandle::VerifyInterfaceIsImplemented)
451     QCFuncElement("GetInterfaceMethodImplementationSlot", RuntimeTypeHandle::GetInterfaceMethodImplementationSlot)
452     FCFuncElement("IsComObject", RuntimeTypeHandle::IsComObject)
453 #ifdef FEATURE_REMOTING        
454     FCFuncElement("HasProxyAttribute", RuntimeTypeHandle::HasProxyAttribute)
455     FCFuncElement("IsContextful", RuntimeTypeHandle::IsContextful)
456 #endif    
457     FCFuncElement("IsValueType", RuntimeTypeHandle::IsValueType)
458     FCFuncElement("IsInterface", RuntimeTypeHandle::IsInterface)
459     QCFuncElement("IsSecurityCritical", RuntimeTypeHandle::IsSecurityCritical)
460     QCFuncElement("IsSecuritySafeCritical", RuntimeTypeHandle::IsSecuritySafeCritical)
461     QCFuncElement("IsSecurityTransparent", RuntimeTypeHandle::IsSecurityTransparent)
462     QCFuncElement("_IsVisible", RuntimeTypeHandle::IsVisible)
463     QCFuncElement("ConstructName", RuntimeTypeHandle::ConstructName)
464     FCFuncElement("CanCastTo", RuntimeTypeHandle::CanCastTo)
465     QCFuncElement("GetTypeByName", RuntimeTypeHandle::GetTypeByName)
466     QCFuncElement("GetTypeByNameUsingCARules", RuntimeTypeHandle::GetTypeByNameUsingCARules)
467     QCFuncElement("GetInstantiation", RuntimeTypeHandle::GetInstantiation)
468     QCFuncElement("Instantiate", RuntimeTypeHandle::Instantiate)
469     QCFuncElement("GetGenericTypeDefinition", RuntimeTypeHandle::GetGenericTypeDefinition)
470     FCFuncElement("HasInstantiation", RuntimeTypeHandle::HasInstantiation)
471     FCFuncElement("GetGenericVariableIndex", RuntimeTypeHandle::GetGenericVariableIndex)
472     FCFuncElement("IsGenericVariable", RuntimeTypeHandle::IsGenericVariable)
473     FCFuncElement("IsGenericTypeDefinition", RuntimeTypeHandle::IsGenericTypeDefinition)
474     FCFuncElement("ContainsGenericVariables", RuntimeTypeHandle::ContainsGenericVariables)
475     FCFuncElement("SatisfiesConstraints", RuntimeTypeHandle::SatisfiesConstraints)
476     FCFuncElement("Allocate", RuntimeTypeHandle::Allocate) //for A.CI
477     FCFuncElement("CompareCanonicalHandles", RuntimeTypeHandle::CompareCanonicalHandles)
478     FCIntrinsic("GetValueInternal", RuntimeTypeHandle::GetValueInternal, CORINFO_INTRINSIC_RTH_GetValueInternal)
479 #ifndef FEATURE_CORECLR
480     FCFuncElement("IsEquivalentTo", RuntimeTypeHandle::IsEquivalentTo)
481     FCFuncElement("IsEquivalentType", RuntimeTypeHandle::IsEquivalentType)
482 #endif // FEATURE_CORECLR
483 FCFuncEnd()
484
485 FCFuncStart(gMetaDataImport)
486     FCFuncElement("_GetDefaultValue", MetaDataImport::GetDefaultValue) 
487     FCFuncElement("_GetName", MetaDataImport::GetName) 
488     FCFuncElement("_GetUserString", MetaDataImport::GetUserString) 
489     FCFuncElement("_GetScopeProps", MetaDataImport::GetScopeProps)  
490     FCFuncElement("_GetClassLayout", MetaDataImport::GetClassLayout) 
491     FCFuncElement("_GetSignatureFromToken", MetaDataImport::GetSignatureFromToken) 
492     FCFuncElement("_GetNamespace", MetaDataImport::GetNamespace) 
493     FCFuncElement("_GetEventProps", MetaDataImport::GetEventProps)
494     FCFuncElement("_GetFieldDefProps", MetaDataImport::GetFieldDefProps)
495     FCFuncElement("_GetPropertyProps", MetaDataImport::GetPropertyProps)  
496     FCFuncElement("_GetParentToken", MetaDataImport::GetParentToken)  
497     FCFuncElement("_GetParamDefProps", MetaDataImport::GetParamDefProps) 
498     FCFuncElement("_GetGenericParamProps", MetaDataImport::GetGenericParamProps) 
499     
500     FCFuncElement("_Enum", MetaDataImport::Enum) 
501     FCFuncElement("_GetMemberRefProps", MetaDataImport::GetMemberRefProps) 
502     FCFuncElement("_GetCustomAttributeProps", MetaDataImport::GetCustomAttributeProps) 
503     FCFuncElement("_GetFieldOffset", MetaDataImport::GetFieldOffset) 
504
505     FCFuncElement("_GetSigOfFieldDef", MetaDataImport::GetSigOfFieldDef) 
506     FCFuncElement("_GetSigOfMethodDef", MetaDataImport::GetSigOfMethodDef) 
507     FCFuncElement("_GetFieldMarshal", MetaDataImport::GetFieldMarshal) 
508     FCFuncElement("_GetPInvokeMap", MetaDataImport::GetPinvokeMap) 
509     FCFuncElement("_IsValidToken", MetaDataImport::IsValidToken) 
510     FCFuncElement("_GetMarshalAs", MetaDataImport::GetMarshalAs)  
511 FCFuncEnd()
512
513 FCFuncStart(gRuntimeFieldInfoFuncs)
514     FCFuncElement("PerformVisibilityCheckOnField",  ReflectionInvocation::PerformVisibilityCheckOnField)
515 FCFuncEnd()
516
517 FCFuncStart(gSignatureNative)
518     FCFuncElement("GetSignature", SignatureNative::GetSignature)
519     FCFuncElement("GetCustomModifiers", SignatureNative::GetCustomModifiers)
520     FCFuncElement("CompareSig", SignatureNative::CompareSig)
521 FCFuncEnd()
522
523 FCFuncStart(gRuntimeMethodHandle)
524     QCFuncElement("ConstructInstantiation", RuntimeMethodHandle::ConstructInstantiation)
525     FCFuncElement("_GetCurrentMethod", RuntimeMethodHandle::GetCurrentMethod)
526 #ifdef FEATURE_SERIALIZATION
527     FCFuncElement("SerializationInvoke", RuntimeMethodHandle::SerializationInvoke)
528 #endif // FEATURE_SERIALIZATION
529     FCFuncElement("InvokeMethod", RuntimeMethodHandle::InvokeMethod)
530     QCFuncElement("GetFunctionPointer", RuntimeMethodHandle::GetFunctionPointer)
531     FCFuncElement("GetImplAttributes", RuntimeMethodHandle::GetImplAttributes)
532     FCFuncElement("GetAttributes", RuntimeMethodHandle::GetAttributes)
533     FCFuncElement("GetDeclaringType", RuntimeMethodHandle::GetDeclaringType)
534     FCFuncElement("GetSlot", RuntimeMethodHandle::GetSlot)
535     FCFuncElement("GetMethodDef", RuntimeMethodHandle::GetMethodDef)
536     FCFuncElement("GetName", RuntimeMethodHandle::GetName)
537     FCFuncElement("_GetUtf8Name", RuntimeMethodHandle::GetUtf8Name)
538     FCFuncElement("MatchesNameHash", RuntimeMethodHandle::MatchesNameHash)
539     QCFuncElement("GetMethodInstantiation", RuntimeMethodHandle::GetMethodInstantiation)
540     FCFuncElement("HasMethodInstantiation", RuntimeMethodHandle::HasMethodInstantiation)
541     FCFuncElement("IsGenericMethodDefinition", RuntimeMethodHandle::IsGenericMethodDefinition)
542     FCFuncElement("IsTypicalMethodDefinition", RuntimeMethodHandle::IsTypicalMethodDefinition)
543     QCFuncElement("GetTypicalMethodDefinition", RuntimeMethodHandle::GetTypicalMethodDefinition)
544     QCFuncElement("StripMethodInstantiation", RuntimeMethodHandle::StripMethodInstantiation)
545     FCFuncElement("GetStubIfNeeded", RuntimeMethodHandle::GetStubIfNeeded)
546     FCFuncElement("GetMethodFromCanonical", RuntimeMethodHandle::GetMethodFromCanonical)
547     FCFuncElement("IsDynamicMethod", RuntimeMethodHandle::IsDynamicMethod)
548     FCFuncElement("GetMethodBody", RuntimeMethodHandle::GetMethodBody)    
549 #ifndef FEATURE_CORECLR
550     FCFuncElement("_IsTokenSecurityTransparent", RuntimeMethodHandle::IsTokenSecurityTransparent)
551     QCFuncElement("_IsSecurityCritical", RuntimeMethodHandle::IsSecurityCritical)
552     QCFuncElement("_IsSecuritySafeCritical", RuntimeMethodHandle::IsSecuritySafeCritical)
553 #endif // FEATURE_CORECLR
554     QCFuncElement("_IsSecurityTransparent", RuntimeMethodHandle::IsSecurityTransparent)
555     FCFuncElement("CheckLinktimeDemands", RuntimeMethodHandle::CheckLinktimeDemands)    
556     QCFuncElement("IsCAVisibleFromDecoratedType", RuntimeMethodHandle::IsCAVisibleFromDecoratedType)
557     FCFuncElement("IsConstructor", RuntimeMethodHandle::IsConstructor)    
558     QCFuncElement("Destroy", RuntimeMethodHandle::Destroy)
559     FCFuncElement("GetResolver", RuntimeMethodHandle::GetResolver)
560     FCFuncElement("GetLoaderAllocator", RuntimeMethodHandle::GetLoaderAllocator)
561     FCFuncElement("GetSpecialSecurityFlags", ReflectionInvocation::GetSpecialSecurityFlags)
562 #ifndef FEATURE_CORECLR
563     QCFuncElement("GetCallerType", RuntimeMethodHandle::GetCallerType)
564     FCFuncElement("PerformSecurityCheck", ReflectionInvocation::PerformSecurityCheck)
565 #endif // FEATURE_CORECLR
566 FCFuncEnd()
567
568 FCFuncStart(gCOMDefaultBinderFuncs)
569     FCFuncElement("CanConvertPrimitive", ReflectionBinder::DBCanConvertPrimitive)
570     FCFuncElement("CanConvertPrimitiveObjectToType",  ReflectionBinder::DBCanConvertObjectPrimitive)
571 FCFuncEnd()
572
573
574 FCFuncStart(gCOMFieldHandleNewFuncs)
575     FCFuncElement("GetValue", RuntimeFieldHandle::GetValue)
576     FCFuncElement("SetValue", RuntimeFieldHandle::SetValue)
577 #ifndef FEATURE_CORECLR
578     FCFuncElement("GetValueDirect", RuntimeFieldHandle::GetValueDirect)
579 #endif
580 #ifdef FEATURE_SERIALIZATION
581     FCFuncElement("SetValueDirect", RuntimeFieldHandle::SetValueDirect)
582 #endif
583     FCFuncElement("GetName", RuntimeFieldHandle::GetName)
584     FCFuncElement("_GetUtf8Name", RuntimeFieldHandle::GetUtf8Name)
585     FCFuncElement("MatchesNameHash", RuntimeFieldHandle::MatchesNameHash)
586     FCFuncElement("GetAttributes", RuntimeFieldHandle::GetAttributes)
587     FCFuncElement("GetApproxDeclaringType", RuntimeFieldHandle::GetApproxDeclaringType)
588     FCFuncElement("GetToken", RuntimeFieldHandle::GetToken)
589     FCFuncElement("GetStaticFieldForGenericType", RuntimeFieldHandle::GetStaticFieldForGenericType)
590     QCFuncElement("IsSecurityCritical", RuntimeFieldHandle::IsSecurityCritical)
591     QCFuncElement("IsSecuritySafeCritical", RuntimeFieldHandle::IsSecuritySafeCritical)
592     QCFuncElement("IsSecurityTransparent", RuntimeFieldHandle::IsSecurityTransparent)
593     FCFuncElement("AcquiresContextFromThis", RuntimeFieldHandle::AcquiresContextFromThis)
594     QCFuncElement("CheckAttributeAccess", RuntimeFieldHandle::CheckAttributeAccess)
595 FCFuncEnd()
596
597
598 FCFuncStart(gCOMModuleFuncs)
599     QCFuncElement("GetType", COMModule::GetType)
600     QCFuncElement("GetScopeName", COMModule::GetScopeName)
601     FCFuncElement("GetTypes", COMModule::GetTypes)
602     QCFuncElement("GetFullyQualifiedName", COMModule::GetFullyQualifiedName)
603     QCFuncElement("nIsTransientInternal", COMModule::IsTransient)
604     FCFuncElement("IsResource", COMModule::IsResource)    
605 #if defined(FEATURE_X509) && defined(FEATURE_CAS_POLICY)
606     QCFuncElement("GetSignerCertificate", COMModule::GetSignerCertificate)
607 #endif // defined(FEATURE_X509) && defined(FEATURE_CAS_POLICY)
608 FCFuncEnd()
609
610 FCFuncStart(gCOMModuleBuilderFuncs)
611     FCFuncElement("nCreateISymWriterForDynamicModule", COMModule::nCreateISymWriterForDynamicModule)
612     QCFuncElement("GetStringConstant", COMModule::GetStringConstant)
613     QCFuncElement("GetTypeRef", COMModule::GetTypeRef)
614     QCFuncElement("GetTokenFromTypeSpec", COMModule::GetTokenFromTypeSpec)
615     QCFuncElement("GetMemberRef", COMModule::GetMemberRef)
616     QCFuncElement("GetMemberRefOfMethodInfo", COMModule::GetMemberRefOfMethodInfo)
617     QCFuncElement("GetMemberRefOfFieldInfo", COMModule::GetMemberRefOfFieldInfo)
618     QCFuncElement("GetMemberRefFromSignature", COMModule::GetMemberRefFromSignature)
619 #ifndef FEATURE_CORECLR
620     QCFuncElement("SetModuleName", COMModule::SetModuleName)
621     QCFuncElement("PreSavePEFile", COMDynamicWrite::PreSavePEFile)
622     QCFuncElement("SavePEFile", COMDynamicWrite::SavePEFile)
623     QCFuncElement("AddResource", COMDynamicWrite::AddResource)
624 #endif
625     QCFuncElement("GetArrayMethodToken", COMModule::GetArrayMethodToken)
626     QCFuncElement("SetFieldRVAContent", COMModule::SetFieldRVAContent)
627 #ifndef FEATURE_CORECLR
628     QCFuncElement("DefineNativeResourceFile", COMDynamicWrite::DefineNativeResourceFile)
629     QCFuncElement("DefineNativeResourceBytes", COMDynamicWrite::DefineNativeResourceBytes)
630 #endif // FEATURE_CORECLR
631 FCFuncEnd()
632
633 FCFuncStart(gCOMModuleHandleFuncs)
634     FCFuncElement("GetToken", ModuleHandle::GetToken)
635     QCFuncElement("GetModuleType", ModuleHandle::GetModuleType)
636     FCFuncElement("GetDynamicMethod", ModuleHandle::GetDynamicMethod)
637     FCFuncElement("_GetMetadataImport", ModuleHandle::GetMetadataImport)
638     QCFuncElement("ResolveType", ModuleHandle::ResolveType)
639     QCFuncElement("ResolveMethod", ModuleHandle::ResolveMethod)
640     QCFuncElement("_ContainsPropertyMatchingHash", ModuleHandle::ContainsPropertyMatchingHash)
641     QCFuncElement("ResolveField", ModuleHandle::ResolveField)
642 #ifndef FEATURE_CORECLR    
643     QCFuncElement("GetAssembly", ModuleHandle::GetAssembly)
644 #endif // FEATURE_CORECLR
645     QCFuncElement("GetPEKind", ModuleHandle::GetPEKind)
646     FCFuncElement("GetMDStreamVersion", ModuleHandle::GetMDStreamVersion)
647 FCFuncEnd()
648
649 FCFuncStart(gCustomAttributeEncodedArgument)
650     FCFuncElement("ParseAttributeArguments", Attribute::ParseAttributeArguments)
651 FCFuncEnd()
652
653 FCFuncStart(gPseudoCustomAttribute)
654     FCFuncElement("_GetSecurityAttributes", COMCustomAttribute::GetSecurityAttributes)
655 FCFuncEnd()
656
657 FCFuncStart(gCOMCustomAttributeFuncs)
658     FCFuncElement("_ParseAttributeUsageAttribute", COMCustomAttribute::ParseAttributeUsageAttribute)
659     FCFuncElement("_CreateCaObject", COMCustomAttribute::CreateCaObject)
660     FCFuncElement("_GetPropertyOrFieldData",  COMCustomAttribute::GetPropertyOrFieldData)
661 FCFuncEnd()
662
663 FCFuncStart(gSecurityContextFrameFuncs)
664     FCFuncElement("Push", COMCustomAttribute::PushSecurityContextFrame)
665     FCFuncElement("Pop", COMCustomAttribute::PopSecurityContextFrame)
666 FCFuncEnd()
667
668 FCFuncStart(gCOMClassWriter)
669     QCFuncElement("DefineGenericParam", COMDynamicWrite::DefineGenericParam)
670     QCFuncElement("DefineType", COMDynamicWrite::DefineType)
671     QCFuncElement("SetParentType", COMDynamicWrite::SetParentType)
672     QCFuncElement("AddInterfaceImpl", COMDynamicWrite::AddInterfaceImpl)
673     QCFuncElement("DefineMethod", COMDynamicWrite::DefineMethod)
674     QCFuncElement("DefineMethodSpec", COMDynamicWrite::DefineMethodSpec)
675     QCFuncElement("SetMethodIL", COMDynamicWrite::SetMethodIL)
676     QCFuncElement("TermCreateClass", COMDynamicWrite::TermCreateClass)
677     QCFuncElement("DefineField", COMDynamicWrite::DefineField)
678     QCFuncElement("DefineProperty", COMDynamicWrite::DefineProperty)
679     QCFuncElement("DefineEvent", COMDynamicWrite::DefineEvent)
680     QCFuncElement("DefineMethodSemantics", COMDynamicWrite::DefineMethodSemantics)
681     QCFuncElement("SetMethodImpl", COMDynamicWrite::SetMethodImpl)
682     QCFuncElement("DefineMethodImpl", COMDynamicWrite::DefineMethodImpl)
683     QCFuncElement("GetTokenFromSig",  COMDynamicWrite::GetTokenFromSig)
684     QCFuncElement("SetFieldLayoutOffset", COMDynamicWrite::SetFieldLayoutOffset)
685     QCFuncElement("SetClassLayout", COMDynamicWrite::SetClassLayout)
686     QCFuncElement("SetParamInfo", COMDynamicWrite::SetParamInfo)
687 #ifndef FEATURE_CORECLR
688     QCFuncElement("SetPInvokeData", COMDynamicWrite::SetPInvokeData)
689     QCFuncElement("SetFieldMarshal", COMDynamicWrite::SetFieldMarshal)
690 #endif // FEATURE_CORECLR
691     QCFuncElement("SetConstantValue", COMDynamicWrite::SetConstantValue)
692     QCFuncElement("DefineCustomAttribute", COMDynamicWrite::DefineCustomAttribute)
693 #ifndef FEATURE_CORECLR
694     QCFuncElement("AddDeclarativeSecurity", COMDynamicWrite::AddDeclarativeSecurity)
695 #endif // FEATURE_CORECLR
696 FCFuncEnd()
697
698 #ifdef FEATURE_METHOD_RENTAL
699 FCFuncStart(gCOMMethodRental)
700     QCFuncElement("SwapMethodBody", COMMethodRental::SwapMethodBody)
701 FCFuncEnd()
702 #endif // FEATURE_METHOD_RENTAL
703
704 #ifdef FEATURE_CAS_POLICY
705 FCFuncStart(gFrameSecurityDescriptorFuncs)
706     FCFuncElement("IncrementOverridesCount", SecurityPolicy::IncrementOverridesCount)
707     FCFuncElement("DecrementOverridesCount", SecurityPolicy::DecrementOverridesCount)
708     FCFuncElement("IncrementAssertCount", SecurityPolicy::IncrementAssertCount)
709     FCFuncElement("DecrementAssertCount", SecurityPolicy::DecrementAssertCount)
710 FCFuncEnd()
711 #endif // FEATURE_CAS_POLICY
712
713 #ifdef FEATURE_CAS_POLICY
714 FCFuncStart(gCodeAccessSecurityEngineFuncs)
715     FCFuncElement("SpecialDemand", SecurityStackWalk::FcallSpecialDemand)
716     FCFuncElement("Check", SecurityStackWalk::Check)
717     FCFuncElement("CheckNReturnSO", SecurityStackWalk::CheckNReturnSO)
718     FCFuncElement("GetZoneAndOriginInternal", SecurityStackWalk::GetZoneAndOrigin)
719 #ifdef FEATURE_COMPRESSEDSTACK    
720     FCFuncElement("QuickCheckForAllDemands", SecurityStackWalk::FCallQuickCheckForAllDemands)
721     FCFuncElement("AllDomainsHomogeneousWithNoStackModifiers", SecurityStackWalk::FCallAllDomainsHomogeneousWithNoStackModifiers)    
722 #endif
723 FCFuncEnd()
724 #endif // FEATURE_CAS_POLICY
725
726 FCFuncStart(gCompatibilitySwitchFuncs)
727     FCFuncElement("GetValueInternalCall", CompatibilitySwitch::GetValue)
728 #ifndef FEATURE_CORECLR
729     FCFuncElement("IsEnabledInternalCall", CompatibilitySwitch::IsEnabled)
730     FCFuncElement("GetAppContextOverridesInternalCall", CompatibilitySwitch::GetAppContextOverrides)
731 #endif
732 FCFuncEnd()
733
734
735 #ifdef FEATURE_COMPRESSEDSTACK    
736 FCFuncStart(gCompressedStackFuncs)
737     FCFuncElement("DestroyDelayedCompressedStack", SecurityStackWalk::FcallDestroyDelayedCompressedStack)
738     FCFuncElement("DestroyDCSList", NewCompressedStack::DestroyDCSList)
739     FCFuncElement("GetDelayedCompressedStack", SecurityStackWalk::EcallGetDelayedCompressedStack)
740     FCFuncElement("GetDCSCount", NewCompressedStack::FCallGetDCSCount)
741     FCFuncElement("GetDomainCompressedStack", NewCompressedStack::GetDomainCompressedStack)
742     FCFuncElement("GetHomogeneousPLS", NewCompressedStack::FCallGetHomogeneousPLS)
743     FCFuncElement("IsImmediateCompletionCandidate", NewCompressedStack::FCallIsImmediateCompletionCandidate)    
744 FCFuncEnd()
745
746 FCFuncStart(gDomainCompressedStackFuncs)
747     FCFuncElement("GetDescCount", DomainCompressedStack::GetDescCount)
748     FCFuncElement("GetDomainPermissionSets", DomainCompressedStack::GetDomainPermissionSets)
749     FCFuncElement("GetDescriptorInfo", DomainCompressedStack::GetDescriptorInfo)
750     FCFuncElement("IgnoreDomain", DomainCompressedStack::IgnoreDomain)
751 FCFuncEnd()
752 #endif // #ifdef FEATURE_COMPRESSEDSTACK
753
754 FCFuncStart(gCOMSecurityManagerFuncs)
755     QCFuncElement("IsSameType", SecurityPolicy::IsSameType)
756     FCFuncElement("_SetThreadSecurity", SecurityPolicy::SetThreadSecurity)
757 #ifdef FEATURE_CAS_POLICY
758     QCFuncElement("GetGrantedPermissions", SecurityPolicy::GetGrantedPermissions)
759 #endif
760 FCFuncEnd()
761
762 FCFuncStart(gCOMSecurityContextFuncs)
763 #ifdef FEATURE_IMPERSONATION
764     FCFuncElement("GetImpersonationFlowMode", SecurityPolicy::GetImpersonationFlowMode)
765 #endif
766 #ifdef FEATURE_COMPRESSEDSTACK    
767     FCFuncElement("IsDefaultThreadSecurityInfo", SecurityPolicy::IsDefaultThreadSecurityInfo)
768 #endif // #ifdef FEATURE_COMPRESSEDSTACK    
769 FCFuncEnd()
770
771 #ifdef FEATURE_CAS_POLICY
772 FCFuncStart(gCOMSecurityZone)
773     QCFuncElement("_CreateFromUrl", SecurityPolicy::CreateFromUrl)
774 FCFuncEnd()
775 #endif // FEATURE_CAS_POLICY
776
777 FCFuncStart(gCOMFileIOAccessFuncs)
778     QCFuncElement("IsLocalDrive", SecurityPolicy::IsLocalDrive)
779 FCFuncEnd()
780
781 FCFuncStart(gCOMStringExpressionSetFuncs)
782     QCFuncElement("GetLongPathName", SecurityPolicy::_GetLongPathName)
783 FCFuncEnd()
784
785
786 FCFuncStart(gCOMUrlStringFuncs)
787     QCFuncElement("GetDeviceName", SecurityPolicy::GetDeviceName)
788 FCFuncEnd()
789
790 #ifdef FEATURE_CAS_POLICY
791 FCFuncStart(gCOMSecurityRuntimeFuncs)
792     FCFuncElement("GetSecurityObjectForFrame", SecurityRuntime::GetSecurityObjectForFrame)
793 FCFuncEnd()
794 #endif // FEATURE_CAS_POLICY
795
796 #ifdef FEATURE_X509
797
798 FCFuncStart(gX509CertificateFuncs)
799 #ifndef FEATURE_CORECLR
800 FCFuncElement("_AddCertificateToStore", COMX509Store::AddCertificate)
801 #endif // !FEATURE_CORECLR
802     FCFuncElement("_DuplicateCertContext", COMX509Certificate::DuplicateCertContext)
803 #ifndef FEATURE_CORECLR
804     FCFuncElement("_ExportCertificatesToBlob", COMX509Store::ExportCertificatesToBlob)
805 #endif // !FEATURE_CORECLR
806     FCFuncElement("_GetCertRawData", COMX509Certificate::GetCertRawData)
807     FCFuncElement("_GetDateNotAfter", COMX509Certificate::GetDateNotAfter)
808     FCFuncElement("_GetDateNotBefore", COMX509Certificate::GetDateNotBefore)
809     FCFuncElement("_GetIssuerName", COMX509Certificate::GetIssuerName)
810     FCFuncElement("_GetPublicKeyOid", COMX509Certificate::GetPublicKeyOid)
811     FCFuncElement("_GetPublicKeyParameters", COMX509Certificate::GetPublicKeyParameters)
812     FCFuncElement("_GetPublicKeyValue", COMX509Certificate::GetPublicKeyValue)
813     FCFuncElement("_GetSerialNumber", COMX509Certificate::GetSerialNumber)
814     FCFuncElement("_GetSubjectInfo", COMX509Certificate::GetSubjectInfo)
815     FCFuncElement("_GetThumbprint", COMX509Certificate::GetThumbprint)
816     FCFuncElement("_LoadCertFromBlob", COMX509Certificate::LoadCertFromBlob)
817     FCFuncElement("_LoadCertFromFile", COMX509Certificate::LoadCertFromFile)
818 #ifndef FEATURE_CORECLR
819     FCFuncElement("_OpenX509Store", COMX509Store::OpenX509Store)
820 #endif // !FEATURE_CORECLR
821     FCFuncElement("_QueryCertBlobType", COMX509Certificate::QueryCertBlobType)
822     FCFuncElement("_QueryCertFileType", COMX509Certificate::QueryCertFileType)
823 FCFuncEnd()
824
825 FCFuncStart(gX509SafeCertContextHandleFuncs)
826     FCFuncElement("_FreePCertContext", COMX509Certificate::FreePCertContext)
827 FCFuncEnd()
828
829 #ifndef FEATURE_CORECLR
830 FCFuncStart(gX509SafeCertStoreHandleFuncs)
831     FCFuncElement("_FreeCertStoreContext", COMX509Store::FreeCertStoreContext)
832 FCFuncEnd()
833 #endif
834
835 #endif // FEATURE_X509
836
837 FCFuncStart(gBCLDebugFuncs)
838     FCFuncElement("GetRegistryLoggingValues", ManagedLoggingHelper::GetRegistryLoggingValues)
839 FCFuncEnd()
840
841 #ifdef FEATURE_CRYPTO
842 FCFuncStart(gCryptographyUtilsFuncs)
843     FCFuncElement("_AcquireCSP", COMCryptography::_AcquireCSP)
844     FCFuncElement("_CreateCSP", COMCryptography::_CreateCSP)
845     FCFuncElement("_ExportKey", COMCryptography::_ExportKey)
846     FCFuncElement("_GenerateKey", COMCryptography::_GenerateKey)
847     FCFuncElement("_GetKeyParameter", COMCryptography::_GetKeyParameter)
848     FCFuncElement("_GetUserKey", COMCryptography::_GetUserKey)
849     FCFuncElement("_ImportKey", COMCryptography::_ImportKey)
850     FCFuncElement("_ImportCspBlob", COMCryptography::_ImportCspBlob)
851     FCFuncElement("_OpenCSP", COMCryptography::_OpenCSP)
852     QCFuncElement("ExportCspBlob", COMCryptography::ExportCspBlob)
853     QCFuncElement("GetPersistKeyInCsp", COMCryptography::GetPersistKeyInCsp)
854     QCFuncElement("SetPersistKeyInCsp", COMCryptography::SetPersistKeyInCsp)
855     QCFuncElement("SignValue", COMCryptography::SignValue)
856     QCFuncElement("VerifySign", COMCryptography::VerifySign)
857     FCFuncElement("_GetProviderParameter", COMCryptography::_GetProviderParameter)
858     FCFuncElement("_ProduceLegacyHmacValues", COMCryptography::_ProduceLegacyHMACValues)
859     QCFuncElement("CreateHash", COMCryptography::CreateHash)
860     QCFuncElement("EndHash", COMCryptography::EndHash)
861     QCFuncElement("HashData", COMCryptography::HashData)
862     QCFuncElement("SetProviderParameter", COMCryptography::SetProviderParameter)
863 #ifndef FEATURE_CORECLR
864     FCFuncElement("_DecryptData", COMCryptography::_DecryptData)
865     FCFuncElement("_EncryptData", COMCryptography::_EncryptData)
866     FCFuncElement("_GetEnforceFipsPolicySetting", COMCryptography::_GetEnforceFipsPolicySetting)
867     FCFuncElement("_ImportBulkKey", COMCryptography::_ImportBulkKey)
868     FCFuncElement("_GetKeySetSecurityInfo", COMCryptography::_GetKeySetSecurityInfo)
869     QCFuncElement("SearchForAlgorithm", COMCryptography::SearchForAlgorithm)
870     QCFuncElement("SetKeyParamDw", COMCryptography::SetKeyParamDw)
871     QCFuncElement("SetKeyParamRgb", COMCryptography::SetKeyParamRgb)
872     QCFuncElement("SetKeySetSecurityInfo", COMCryptography::SetKeySetSecurityInfo)
873 #endif //FEATURE_CORECLR
874 FCFuncEnd()
875
876 FCFuncStart(gSafeHashHandleFuncs)
877     QCFuncElement("FreeHash", COMCryptography::FreeHash)
878 FCFuncEnd()
879
880 FCFuncStart(gSafeKeyHandleFuncs)
881     QCFuncElement("FreeKey", COMCryptography::FreeKey)
882 FCFuncEnd()
883
884 FCFuncStart(gSafeProvHandleFuncs)
885     QCFuncElement("FreeCsp", COMCryptography::FreeCsp)
886 FCFuncEnd()
887
888 #ifndef FEATURE_CORECLR
889 FCFuncStart(gPasswordDeriveBytesFuncs)
890     QCFuncElement("DeriveKey", COMCryptography::DeriveKey)
891 FCFuncEnd()
892 #endif
893
894 #if defined(FEATURE_CRYPTO)
895 FCFuncStart(gRfc2898DeriveBytesFuncs)
896     QCFuncElement("DeriveKey", COMCryptography::DeriveKey)
897 FCFuncEnd()
898 #endif
899
900 #ifndef FEATURE_CORECLR
901 FCFuncStart(gRNGCryptoServiceProviderFuncs)
902     QCFuncElement("GetBytes", COMCryptography::GetBytes)
903     QCFuncElement("GetNonZeroBytes", COMCryptography::GetNonZeroBytes)
904 FCFuncEnd()
905 #endif //FEATURE_CORECLR
906
907 FCFuncStart(gRSACryptoServiceProviderFuncs)
908     QCFuncElement("DecryptKey", COMCryptography::DecryptKey)
909     QCFuncElement("EncryptKey", COMCryptography::EncryptKey)
910 FCFuncEnd()
911 #endif // FEATURE_CRYPTO
912
913 FCFuncStart(gAppDomainManagerFuncs)
914     QCFuncElement("GetEntryAssembly", AssemblyNative::GetEntryAssembly)
915 #ifdef FEATURE_APPDOMAINMANAGER_INITOPTIONS
916     FCFuncElement("HasHost", AppDomainNative::HasHost)
917     QCFuncElement("RegisterWithHost", AppDomainNative::RegisterWithHost)
918 #endif    
919 FCFuncEnd()
920
921 #ifdef FEATURE_FUSION
922 FCFuncStart(gAppDomainSetupFuncs)
923     FCFuncElement("UpdateContextProperty", AppDomainNative::UpdateContextProperty)
924 FCFuncEnd()
925 #endif // FEATURE_FUSION
926
927 #ifndef FEATURE_CORECLR
928 FCFuncStart(gWindowsRuntimeContextFuncs)
929     QCFuncElement("CreateDesignerContext", AppDomainNative::CreateDesignerContext)
930     QCFuncElement("SetCurrentContext", AppDomainNative::SetCurrentDesignerContext)
931 FCFuncEnd()
932 #endif // FEATURE_CORECLR
933
934 FCFuncStart(gAppDomainFuncs)
935 #ifdef FEATURE_REMOTING 
936     FCFuncElement("GetDefaultDomain", AppDomainNative::GetDefaultDomain)
937 #endif    
938 #ifdef FEATURE_FUSION
939     FCFuncElement("GetFusionContext", AppDomainNative::GetFusionContext)
940 #endif // FEATURE_FUSION
941     FCFuncElement("IsStringInterned", AppDomainNative::IsStringInterned)
942     FCFuncElement("IsUnloadingForcedFinalize", AppDomainNative::IsUnloadingForcedFinalize)
943 #ifdef FEATURE_REMOTING    
944     FCFuncElement("nCreateDomain", AppDomainNative::CreateDomain)
945     FCFuncElement("nCreateInstance", AppDomainNative::CreateInstance)
946 #endif    
947 #ifdef FEATURE_LOADER_OPTIMIZATION
948     FCFuncElement("UpdateLoaderOptimization", AppDomainNative::UpdateLoaderOptimization)
949 #endif // FEATURE_LOADER_OPTIMIZATION
950     QCFuncElement("DisableFusionUpdatesFromADManager", AppDomainNative::DisableFusionUpdatesFromADManager)
951
952 #ifdef FEATURE_APPX
953     QCFuncElement("nGetAppXFlags", AppDomainNative::GetAppXFlags)
954 #endif
955     QCFuncElement("GetAppDomainManagerType", AppDomainNative::GetAppDomainManagerType)
956     QCFuncElement("SetAppDomainManagerType", AppDomainNative::SetAppDomainManagerType)
957     FCFuncElement("nGetFriendlyName", AppDomainNative::GetFriendlyName)
958 #ifndef FEATURE_CORECLR
959     FCFuncElement("GetSecurityDescriptor", AppDomainNative::GetSecurityDescriptor)
960     FCFuncElement("nIsDefaultAppDomainForEvidence", AppDomainNative::IsDefaultAppDomainForEvidence)
961     FCFuncElement("nGetAssemblies", AppDomainNative::GetAssemblies)
962 #endif
963 #ifdef FEATURE_CAS_POLICY
964     FCFuncElement("nSetHostSecurityManagerFlags", AppDomainNative::SetHostSecurityManagerFlags)
965     QCFuncElement("SetLegacyCasPolicyEnabled", AppDomainNative::SetLegacyCasPolicyEnabled)
966 #endif // FEATURE_CAS_POLICY
967 #ifdef FEATURE_APTCA
968     QCFuncElement("SetCanonicalConditionalAptcaList", AppDomainNative::SetCanonicalConditionalAptcaList)
969 #endif // FEATURE_ATPCA
970     QCFuncElement("SetSecurityHomogeneousFlag", AppDomainNative::SetSecurityHomogeneousFlag)
971     QCFuncElement("SetupDomainSecurity", AppDomainNative::SetupDomainSecurity)
972     FCFuncElement("nSetupFriendlyName", AppDomainNative::SetupFriendlyName)
973 #if FEATURE_COMINTEROP
974     FCFuncElement("nSetDisableInterfaceCache", AppDomainNative::SetDisableInterfaceCache)
975 #endif // FEATURE_COMINTEROP
976 #ifndef FEATURE_CORECLR
977     FCFuncElement("_nExecuteAssembly", AppDomainNative::ExecuteAssembly)
978 #endif
979 #ifdef FEATURE_VERSIONING
980     FCFuncElement("nCreateContext", AppDomainNative::CreateContext)
981 #endif // FEATURE_VERSIONING
982 #ifdef FEATURE_REMOTING
983     FCFuncElement("nUnload", AppDomainNative::Unload)
984 #endif // FEATURE_REMOTING
985     FCFuncElement("GetId", AppDomainNative::GetId)
986     FCFuncElement("GetOrInternString", AppDomainNative::GetOrInternString)
987     QCFuncElement("GetGrantSet", AppDomainNative::GetGrantSet)
988 #ifdef FEATURE_REMOTING
989     FCFuncElement("GetDynamicDir", AppDomainNative::GetDynamicDir)
990 #ifdef FEATURE_CAS_POLICY
991     QCFuncElement("GetIsLegacyCasPolicyEnabled", AppDomainNative::IsLegacyCasPolicyEnabled)
992 #endif // FEATURE_CAS_POLICY
993     FCFuncElement("nChangeSecurityPolicy", AppDomainNative::ChangeSecurityPolicy)
994     FCFuncElement("IsDomainIdValid", AppDomainNative::IsDomainIdValid)
995     FCFuncElement("nApplyPolicy", AppDomainNative::nApplyPolicy)
996 #endif // FEATURE_REMOTING
997 #ifdef FEATURE_CORECLR    
998     QCFuncElement("nSetupBindingPaths", AppDomainNative::SetupBindingPaths)
999     QCFuncElement("nSetNativeDllSearchDirectories", AppDomainNative::SetNativeDllSearchDirectories)
1000 #endif    
1001     FCFuncElement("IsFinalizingForUnload", AppDomainNative::IsFinalizingForUnload)
1002     FCFuncElement("PublishAnonymouslyHostedDynamicMethodsAssembly", AppDomainNative::PublishAnonymouslyHostedDynamicMethodsAssembly)
1003 #ifdef FEATURE_APPDOMAIN_RESOURCE_MONITORING
1004     FCFuncElement("nEnableMonitoring", AppDomainNative::EnableMonitoring)
1005     FCFuncElement("nMonitoringIsEnabled", AppDomainNative::MonitoringIsEnabled)
1006     FCFuncElement("nGetTotalProcessorTime", AppDomainNative::GetTotalProcessorTime)
1007     FCFuncElement("nGetTotalAllocatedMemorySize", AppDomainNative::GetTotalAllocatedMemorySize)
1008     FCFuncElement("nGetLastSurvivedMemorySize", AppDomainNative::GetLastSurvivedMemorySize)
1009     FCFuncElement("nGetLastSurvivedProcessMemorySize", AppDomainNative::GetLastSurvivedProcessMemorySize)
1010
1011 #endif //FEATURE_APPDOMAIN_RESOURCE_MONITORING
1012 FCFuncEnd()
1013
1014 #if defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR)
1015 FCFuncStart(gProfileOptimizationFuncs)
1016     QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot)
1017     QCFuncElement("InternalStartProfile",   MultiCoreJITNative::InternalStartProfile)
1018 FCFuncEnd()
1019 #endif  // defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR)
1020
1021 FCFuncStart(gUtf8String)
1022     FCFuncElement("EqualsCaseSensitive", Utf8String::EqualsCaseSensitive)
1023     QCFuncElement("EqualsCaseInsensitive", Utf8String::EqualsCaseInsensitive)
1024     QCFuncElement("HashCaseInsensitive", Utf8String::HashCaseInsensitive)
1025 FCFuncEnd()
1026
1027 FCFuncStart(gTypeNameBuilder)
1028     QCFuncElement("CreateTypeNameBuilder", TypeNameBuilder::_CreateTypeNameBuilder)
1029     QCFuncElement("ReleaseTypeNameBuilder", TypeNameBuilder::_ReleaseTypeNameBuilder)
1030     QCFuncElement("OpenGenericArguments", TypeNameBuilder::_OpenGenericArguments)
1031     QCFuncElement("CloseGenericArguments", TypeNameBuilder::_CloseGenericArguments)
1032     QCFuncElement("OpenGenericArgument", TypeNameBuilder::_OpenGenericArgument)
1033     QCFuncElement("CloseGenericArgument", TypeNameBuilder::_CloseGenericArgument)
1034     QCFuncElement("AddName", TypeNameBuilder::_AddName)
1035     QCFuncElement("AddPointer", TypeNameBuilder::_AddPointer)
1036     QCFuncElement("AddByRef", TypeNameBuilder::_AddByRef)
1037     QCFuncElement("AddSzArray", TypeNameBuilder::_AddSzArray)
1038     QCFuncElement("AddArray", TypeNameBuilder::_AddArray)
1039     QCFuncElement("AddAssemblySpec", TypeNameBuilder::_AddAssemblySpec)
1040     QCFuncElement("ToString", TypeNameBuilder::_ToString)
1041     QCFuncElement("Clear", TypeNameBuilder::_Clear)
1042 FCFuncEnd()
1043
1044 #ifndef FEATURE_CORECLR
1045 FCFuncStart(gSafeTypeNameParserHandle)
1046     QCFuncElement("_ReleaseTypeNameParser", TypeName::QReleaseTypeNameParser)
1047 FCFuncEnd()
1048
1049 FCFuncStart(gTypeNameParser)
1050     QCFuncElement("_CreateTypeNameParser",  TypeName::QCreateTypeNameParser)
1051     QCFuncElement("_GetNames",              TypeName::QGetNames)
1052     QCFuncElement("_GetTypeArguments",      TypeName::QGetTypeArguments)
1053     QCFuncElement("_GetModifiers",          TypeName::QGetModifiers)
1054     QCFuncElement("_GetAssemblyName",       TypeName::QGetAssemblyName)
1055 FCFuncEnd()
1056 #endif //!FEATURE_CORECLR
1057
1058 #ifdef FEATURE_CAS_POLICY
1059 FCFuncStart(gPEFileFuncs)
1060     QCFuncElement("ReleaseSafePEFileHandle", AssemblyNative::ReleaseSafePEFileHandle)
1061 FCFuncEnd()
1062 #endif // FEATURE_CAS_POLICY
1063
1064 FCFuncStart(gManifestBasedResourceGrovelerFuncs)
1065     QCFuncElement("GetNeutralResourcesLanguageAttribute", AssemblyNative::GetNeutralResourcesLanguageAttribute)
1066 FCFuncEnd()
1067
1068 FCFuncStart(gAssemblyFuncs)
1069     QCFuncElement("GetFullName", AssemblyNative::GetFullName)
1070     QCFuncElement("GetLocation", AssemblyNative::GetLocation)
1071     QCFuncElement("GetResource", AssemblyNative::GetResource)
1072     QCFuncElement("GetCodeBase", AssemblyNative::GetCodeBase)
1073     QCFuncElement("GetExecutingAssembly", AssemblyNative::GetExecutingAssembly)
1074     QCFuncElement("GetFlags", AssemblyNative::GetFlags)
1075     QCFuncElement("GetHashAlgorithm", AssemblyNative::GetHashAlgorithm)
1076     QCFuncElement("GetLocale", AssemblyNative::GetLocale)
1077     QCFuncElement("GetPublicKey", AssemblyNative::GetPublicKey)
1078 #ifndef FEATURE_CORECLR
1079     QCFuncElement("GetSecurityRuleSet", AssemblyNative::GetSecurityRuleSet)
1080 #endif // !FEATURE_CORECLR
1081     QCFuncElement("GetSimpleName", AssemblyNative::GetSimpleName)
1082     QCFuncElement("GetVersion", AssemblyNative::GetVersion)
1083     FCFuncElement("FCallIsDynamic", AssemblyNative::IsDynamic)
1084     FCFuncElement("_nLoad", AssemblyNative::Load)
1085 #ifndef FEATURE_CORECLR
1086     FCFuncElement("IsFrameworkAssembly", AssemblyNative::IsFrameworkAssembly)
1087     FCFuncElement("IsNewPortableAssembly", AssemblyNative::IsNewPortableAssembly)
1088 #endif
1089     FCFuncElement("nLoadImage", AssemblyNative::LoadImage)
1090 #ifndef FEATURE_CORECLR
1091     FCFuncElement("nLoadFile", AssemblyNative::LoadFile)
1092     QCFuncElement("LoadModule", AssemblyNative::LoadModule)
1093 #endif  // FEATURE_CORECLR
1094     QCFuncElement("GetType", AssemblyNative::GetType)
1095     QCFuncElement("GetManifestResourceInfo", AssemblyNative::GetManifestResourceInfo)
1096 #ifndef FEATURE_CORECLR
1097     QCFuncElement("UseRelativeBindForSatellites", AssemblyNative::UseRelativeBindForSatellites)
1098 #endif
1099     QCFuncElement("GetModules", AssemblyNative::GetModules)
1100     QCFuncElement("GetModule", AssemblyNative::GetModule)
1101     FCFuncElement("GetReferencedAssemblies", AssemblyNative::GetReferencedAssemblies)
1102 #ifndef FEATURE_CORECLR
1103     QCFuncElement("GetForwardedTypes", AssemblyNative::GetForwardedTypes)
1104 #endif  // FEATURE_CORECLR
1105     QCFuncElement("GetExportedTypes", AssemblyNative::GetExportedTypes)
1106     FCFuncElement("GetManifestResourceNames", AssemblyNative::GetManifestResourceNames)
1107     QCFuncElement("GetEntryPoint", AssemblyNative::GetEntryPoint)
1108     QCFuncElement("IsAllSecurityTransparent", AssemblyNative::IsAllSecurityTransparent)
1109     QCFuncElement("IsAllSecurityCritical", AssemblyNative::IsAllSecurityCritical)
1110 #ifndef FEATURE_CORECLR
1111     QCFuncElement("IsAllSecuritySafeCritical", AssemblyNative::IsAllSecuritySafeCritical)
1112     QCFuncElement("IsAllPublicAreaSecuritySafeCritical", AssemblyNative::IsAllPublicAreaSecuritySafeCritical)
1113     QCFuncElement("GetGrantSet", AssemblyNative::GetGrantSet)
1114     FCFuncElement("IsGlobalAssemblyCache", AssemblyNative::IsGlobalAssemblyCache)
1115 #endif // !FEATURE_CORECLR
1116 #ifdef FEATURE_CAS_POLICY
1117     QCFuncElement("GetEvidence", SecurityPolicy::GetEvidence)
1118 #endif // FEATURE_CAS_POLICY
1119     QCFuncElement("GetImageRuntimeVersion", AssemblyNative::GetImageRuntimeVersion)
1120     FCFuncElement("IsReflectionOnly", AssemblyNative::IsReflectionOnly)
1121 #ifndef FEATURE_CORECLR
1122     QCFuncElement("GetHostContext", AssemblyNative::GetHostContext)
1123 #endif
1124 #ifdef FEATURE_CAS_POLICY
1125     QCFuncElement("GetIsStrongNameVerified", AssemblyNative::IsStrongNameVerified)
1126     QCFuncElement("GetRawBytes", AssemblyNative::GetRawBytes)
1127 #endif // FEATURE_CAS_POLICY
1128     FCFuncElement("GetManifestModule", AssemblyHandle::GetManifestModule)
1129     FCFuncElement("GetToken", AssemblyHandle::GetToken)
1130 #ifdef FEATURE_APTCA
1131     FCFuncElement("AptcaCheck", AssemblyHandle::AptcaCheck)
1132 #endif // FEATURE_APTCA
1133 #ifdef FEATURE_APPX
1134     QCFuncElement("nIsDesignerBindingContext", AssemblyNative::IsDesignerBindingContext)
1135 #endif
1136
1137 FCFuncEnd()
1138
1139 #ifdef FEATURE_CORECLR
1140 FCFuncStart(gAssemblyExtensionsFuncs)
1141     QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata)
1142 FCFuncEnd()
1143 #endif
1144
1145 #if defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
1146 FCFuncStart(gAssemblyLoadContextFuncs)
1147     QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext)
1148     QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath)
1149     QCFuncElement("InternalLoadUnmanagedDllFromPath", AssemblyNative::InternalLoadUnmanagedDllFromPath)
1150     QCFuncElement("OverrideDefaultAssemblyLoadContextForCurrentDomain", AssemblyNative::OverrideDefaultAssemblyLoadContextForCurrentDomain)
1151     QCFuncElement("CanUseAppPathAssemblyLoadContextInCurrentDomain", AssemblyNative::CanUseAppPathAssemblyLoadContextInCurrentDomain)
1152     QCFuncElement("LoadFromStream", AssemblyNative::LoadFromStream)
1153     FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
1154     QCFuncElement("GetLoadContextForAssembly", AssemblyNative::GetLoadContextForAssembly)
1155 #if defined(FEATURE_MULTICOREJIT)
1156     QCFuncElement("InternalSetProfileRoot", MultiCoreJITNative::InternalSetProfileRoot)
1157     QCFuncElement("InternalStartProfile",   MultiCoreJITNative::InternalStartProfile)
1158 #endif // defined(FEATURE_MULTICOREJIT)
1159 FCFuncEnd()
1160 #endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
1161
1162 FCFuncStart(gAssemblyNameFuncs)
1163     FCFuncElement("nInit", AssemblyNameNative::Init)
1164     FCFuncElement("nToString", AssemblyNameNative::ToString)
1165     FCFuncElement("nGetPublicKeyToken", AssemblyNameNative::GetPublicKeyToken)
1166 #ifndef FEATURE_CORECLR
1167     FCFuncElement("EscapeCodeBase", AssemblyNameNative::EscapeCodeBase)
1168     FCFuncElement("ReferenceMatchesDefinitionInternal", AssemblyNameNative::ReferenceMatchesDefinition)
1169     FCFuncElement("nGetFileInformation", AssemblyNameNative::GetFileInformation)
1170 #endif // !FEATURE_CORECLR 
1171 FCFuncEnd()
1172
1173 FCFuncStart(gLoaderAllocatorFuncs)
1174     QCFuncElement("Destroy", LoaderAllocator::Destroy)
1175 FCFuncEnd()
1176
1177 FCFuncStart(gAssemblyBuilderFuncs)
1178     FCFuncElement("nCreateDynamicAssembly", AppDomainNative::CreateDynamicAssembly)
1179     FCFuncElement("GetInMemoryAssemblyModule", AssemblyNative::GetInMemoryAssemblyModule)
1180 #ifndef FEATURE_CORECLR
1181     FCFuncElement("GetOnDiskAssemblyModule", AssemblyNative::GetOnDiskAssemblyModule)
1182 #ifdef FEATURE_MULTIMODULE_ASSEMBLIES    
1183     QCFuncElement("DefineDynamicModule", COMModule::DefineDynamicModule)
1184 #endif // FEATURE_MULTIMODULE_ASSEMBLIES
1185     QCFuncElement("PrepareForSavingManifestToDisk", AssemblyNative::PrepareForSavingManifestToDisk)
1186     QCFuncElement("SaveManifestToDisk", AssemblyNative::SaveManifestToDisk)
1187     QCFuncElement("AddFile", AssemblyNative::AddFile)
1188     QCFuncElement("SetFileHashValue", AssemblyNative::SetFileHashValue)
1189     QCFuncElement("AddStandAloneResource", AssemblyNative::AddStandAloneResource)
1190     QCFuncElement("AddExportedTypeOnDisk", AssemblyNative::AddExportedTypeOnDisk)
1191     QCFuncElement("AddExportedTypeInMemory", AssemblyNative::AddExportedTypeInMemory)
1192     QCFuncElement("AddDeclarativeSecurity", AssemblyNative::AddDeclarativeSecurity)
1193     QCFuncElement("CreateVersionInfoResource", AssemblyNative::CreateVersionInfoResource)
1194 #endif // !FEATURE_CORECLR
1195 FCFuncEnd()
1196
1197 #ifdef MDA_SUPPORTED 
1198 FCFuncStart(gMda)
1199     FCFuncElement("MemberInfoCacheCreation", MdaManagedSupport::MemberInfoCacheCreation)
1200     FCFuncElement("DateTimeInvalidLocalFormat", MdaManagedSupport::DateTimeInvalidLocalFormat)
1201     FCFuncElement("IsStreamWriterBufferedDataLostEnabled", MdaManagedSupport::IsStreamWriterBufferedDataLostEnabled)
1202     FCFuncElement("IsStreamWriterBufferedDataLostCaptureAllocatedCallStack", MdaManagedSupport::IsStreamWriterBufferedDataLostCaptureAllocatedCallStack)
1203     FCFuncElement("ReportStreamWriterBufferedDataLost", MdaManagedSupport::ReportStreamWriterBufferedDataLost)
1204     FCFuncElement("IsInvalidGCHandleCookieProbeEnabled", MdaManagedSupport::IsInvalidGCHandleCookieProbeEnabled)
1205     FCFuncElement("FireInvalidGCHandleCookieProbe", MdaManagedSupport::FireInvalidGCHandleCookieProbe)
1206     FCFuncElement("ReportErrorSafeHandleRelease", MdaManagedSupport::ReportErrorSafeHandleRelease)
1207 FCFuncEnd()
1208 #endif // MDA_SUPPORTED
1209
1210 FCFuncStart(gDelegateFuncs)
1211     FCFuncElement("BindToMethodName", COMDelegate::BindToMethodName)
1212     FCFuncElement("BindToMethodInfo", COMDelegate::BindToMethodInfo)
1213     FCFuncElement("GetMulticastInvoke", COMDelegate::GetMulticastInvoke)
1214     FCFuncElement("GetInvokeMethod", COMDelegate::GetInvokeMethod)
1215     FCFuncElement("InternalAlloc", COMDelegate::InternalAlloc)
1216     FCFuncElement("InternalAllocLike", COMDelegate::InternalAllocLike)
1217     FCFuncElement("InternalEqualTypes", COMDelegate::InternalEqualTypes)
1218     FCFuncElement("InternalEqualMethodHandles", COMDelegate::InternalEqualMethodHandles)
1219     FCFuncElement("FindMethodHandle", COMDelegate::FindMethodHandle)
1220     FCFuncElement("AdjustTarget", COMDelegate::AdjustTarget)
1221     FCFuncElement("GetCallStub", COMDelegate::GetCallStub)
1222     FCFuncElement("CompareUnmanagedFunctionPtrs", COMDelegate::CompareUnmanagedFunctionPtrs)
1223
1224     // The FCall mechanism knows how to wire multiple different constructor calls into a
1225     // single entrypoint, without the following entry.  But we need this entry to satisfy
1226     // frame creation within the body:
1227     FCFuncElement("DelegateConstruct", COMDelegate::DelegateConstruct)
1228 FCFuncEnd()
1229
1230 FCFuncStart(gMathFuncs)
1231     FCIntrinsicSig("Abs", &gsig_SM_Dbl_RetDbl, COMDouble::Abs, CORINFO_INTRINSIC_Abs)
1232     FCIntrinsicSig("Abs", &gsig_SM_Flt_RetFlt, COMSingle::Abs, CORINFO_INTRINSIC_Abs)
1233     FCIntrinsic("Acos", COMDouble::Acos, CORINFO_INTRINSIC_Acos)
1234     FCIntrinsic("Asin", COMDouble::Asin, CORINFO_INTRINSIC_Asin)
1235     FCIntrinsic("Atan", COMDouble::Atan, CORINFO_INTRINSIC_Atan)
1236     FCIntrinsic("Atan2", COMDouble::Atan2, CORINFO_INTRINSIC_Atan2)
1237     FCIntrinsic("Ceiling", COMDouble::Ceil, CORINFO_INTRINSIC_Ceiling)
1238     FCIntrinsic("Cos", COMDouble::Cos, CORINFO_INTRINSIC_Cos)
1239     FCIntrinsic("Cosh", COMDouble::Cosh, CORINFO_INTRINSIC_Cosh)
1240     FCIntrinsic("Exp", COMDouble::Exp, CORINFO_INTRINSIC_Exp)
1241     FCIntrinsic("Floor", COMDouble::Floor, CORINFO_INTRINSIC_Floor)
1242     FCFuncElement("Log", COMDouble::Log)
1243     FCIntrinsic("Log10", COMDouble::Log10, CORINFO_INTRINSIC_Log10)
1244     FCIntrinsic("Pow", COMDouble::Pow, CORINFO_INTRINSIC_Pow)
1245     FCIntrinsic("Round", COMDouble::Round, CORINFO_INTRINSIC_Round)
1246     FCIntrinsic("Sin", COMDouble::Sin, CORINFO_INTRINSIC_Sin)
1247     FCIntrinsic("Sinh", COMDouble::Sinh, CORINFO_INTRINSIC_Sinh)
1248     FCFuncElement("SplitFractionDouble", COMDouble::ModF)
1249     FCIntrinsic("Sqrt", COMDouble::Sqrt, CORINFO_INTRINSIC_Sqrt)
1250     FCIntrinsic("Tan", COMDouble::Tan, CORINFO_INTRINSIC_Tan)
1251     FCIntrinsic("Tanh", COMDouble::Tanh, CORINFO_INTRINSIC_Tanh)
1252 FCFuncEnd()
1253
1254 FCFuncStart(gThreadFuncs)
1255     FCDynamic("InternalGetCurrentThread", CORINFO_INTRINSIC_Illegal, ECall::InternalGetCurrentThread)
1256     FCFuncElement("StartInternal", ThreadNative::Start)
1257 #ifndef FEATURE_CORECLR
1258     FCFuncElement("SuspendInternal", ThreadNative::Suspend)
1259     FCFuncElement("ResumeInternal", ThreadNative::Resume)
1260     FCFuncElement("InterruptInternal", ThreadNative::Interrupt)
1261 #endif
1262     FCFuncElement("get_IsAlive", ThreadNative::IsAlive)
1263     FCFuncElement("GetThreadStateNative", ThreadNative::GetThreadState)
1264 #ifndef FEATURE_CORECLR
1265     FCFuncElement("GetPriorityNative", ThreadNative::GetPriority)
1266     FCFuncElement("SetPriorityNative", ThreadNative::SetPriority)
1267 #endif
1268 #ifdef FEATURE_LEAK_CULTURE_INFO
1269     FCFuncElement("nativeGetSafeCulture", ThreadNative::nativeGetSafeCulture)
1270 #else
1271     QCFuncElement("nativeInitCultureAccessors", ThreadNative::nativeInitCultureAccessors)
1272 #endif
1273     FCFuncElement("JoinInternal", ThreadNative::Join)
1274 #undef Sleep
1275     FCFuncElement("SleepInternal", ThreadNative::Sleep)
1276 #define Sleep(a) Dont_Use_Sleep(a)
1277     FCFuncElement("SetStart", ThreadNative::SetStart)
1278     FCFuncElement("SetBackgroundNative", ThreadNative::SetBackground)
1279     FCFuncElement("IsBackgroundNative", ThreadNative::IsBackground)
1280 #ifdef FEATURE_REMOTING         
1281     FCFuncElement("GetContextInternal", ThreadNative::GetContextFromContextID)
1282 #endif    
1283     FCFuncElement("GetDomainInternal", ThreadNative::GetDomain)
1284     FCFuncElement("GetFastDomainInternal", ThreadNative::FastGetDomain)
1285 #ifdef FEATURE_COMPRESSEDSTACK    
1286     FCFuncElement("SetAppDomainStack", ThreadNative::SetAppDomainStack)
1287     FCFuncElement("RestoreAppDomainStack", ThreadNative::RestoreAppDomainStack)    
1288 #endif // #ifdef FEATURE_COMPRESSEDSTACK    
1289 #ifdef FEATURE_REMOTING         
1290     FCFuncElement("InternalCrossContextCallback", ThreadNative::InternalCrossContextCallback)
1291 #endif    
1292     QCFuncElement("InformThreadNameChange", ThreadNative::InformThreadNameChange)
1293 #ifndef FEATURE_CORECLR
1294     QCFuncElement("GetProcessDefaultStackSize", ThreadNative::GetProcessDefaultStackSize)
1295     FCFuncElement("BeginCriticalRegion", ThreadNative::BeginCriticalRegion)
1296     FCFuncElement("EndCriticalRegion", ThreadNative::EndCriticalRegion)
1297     FCFuncElement("BeginThreadAffinity", ThreadNative::BeginThreadAffinity)
1298     FCFuncElement("EndThreadAffinity", ThreadNative::EndThreadAffinity)
1299 #endif // FEATURE_CORECLR
1300 #ifdef FEATURE_LEGACYSURFACE
1301     FCFuncElement("AbortInternal", ThreadNative::Abort)
1302 #endif // FEATURE_LEGACYSURFACE
1303 #ifndef FEATURE_CORECLR
1304     FCFuncElement("ResetAbortNative", ThreadNative::ResetAbort)
1305 #endif // FEATURE_CORECLR
1306     FCFuncElement("get_IsThreadPoolThread", ThreadNative::IsThreadpoolThread)
1307     FCFuncElement("SpinWaitInternal", ThreadNative::SpinWait)
1308     QCFuncElement("YieldInternal", ThreadNative::YieldThread)
1309     FCIntrinsic("GetCurrentThreadNative", ThreadNative::GetCurrentThread, CORINFO_INTRINSIC_GetCurrentManagedThread)
1310     FCIntrinsic("get_ManagedThreadId", ThreadNative::GetManagedThreadId, CORINFO_INTRINSIC_GetManagedThreadId)
1311     FCFuncElement("InternalFinalize", ThreadNative::Finalize)
1312 #if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR)
1313     FCFuncElement("DisableComObjectEagerCleanup", ThreadNative::DisableComObjectEagerCleanup)
1314 #endif // defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR)
1315 #ifdef FEATURE_LEAK_CULTURE_INFO
1316     FCFuncElement("nativeSetThreadUILocale", ThreadNative::SetThreadUILocale)
1317 #endif
1318 #ifdef FEATURE_COMINTEROP_APARTMENT_SUPPORT
1319 #ifndef FEATURE_CORECLR
1320     FCFuncElement("SetApartmentStateNative", ThreadNative::SetApartmentState)
1321     FCFuncElement("GetApartmentStateNative", ThreadNative::GetApartmentState)
1322 #endif // FEATURE_CORECLR
1323     FCFuncElement("StartupSetApartmentStateInternal", ThreadNative::StartupSetApartmentState)
1324 #endif // FEATURE_COMINTEROP_APARTMENT_SUPPORT
1325     FCIntrinsic("MemoryBarrier", ThreadNative::FCMemoryBarrier, CORINFO_INTRINSIC_MemoryBarrier)
1326 #ifndef FEATURE_CORECLR    // coreclr does not support abort reason 
1327     FCFuncElement("SetAbortReason", ThreadNative::SetAbortReason)
1328     FCFuncElement("GetAbortReason", ThreadNative::GetAbortReason)
1329     FCFuncElement("ClearAbortReason", ThreadNative::ClearAbortReason)
1330 #endif    
1331 FCFuncEnd()
1332
1333 FCFuncStart(gThreadPoolFuncs)
1334 #ifndef FEATURE_CORECLR
1335     FCFuncElement("PostQueuedCompletionStatus", ThreadPoolNative::CorPostQueuedCompletionStatus)
1336     FCFuncElement("GetAvailableThreadsNative", ThreadPoolNative::CorGetAvailableThreads)
1337 #endif // FEATURE_CORECLR
1338     FCFuncElement("SetMinThreadsNative", ThreadPoolNative::CorSetMinThreads)
1339     FCFuncElement("GetMinThreadsNative", ThreadPoolNative::CorGetMinThreads)
1340     FCFuncElement("RegisterWaitForSingleObjectNative", ThreadPoolNative::CorRegisterWaitForSingleObject)
1341     FCFuncElement("BindIOCompletionCallbackNative", ThreadPoolNative::CorBindIoCompletionCallback)
1342     FCFuncElement("SetMaxThreadsNative", ThreadPoolNative::CorSetMaxThreads)
1343     FCFuncElement("GetMaxThreadsNative", ThreadPoolNative::CorGetMaxThreads)
1344     FCFuncElement("NotifyWorkItemComplete", ThreadPoolNative::NotifyRequestComplete)
1345     FCFuncElement("NotifyWorkItemProgressNative", ThreadPoolNative::NotifyRequestProgress)
1346     FCFuncElement("IsThreadPoolHosted", ThreadPoolNative::IsThreadPoolHosted)   
1347     QCFuncElement("InitializeVMTp", ThreadPoolNative::InitializeVMTp)
1348     FCFuncElement("ReportThreadStatus", ThreadPoolNative::ReportThreadStatus)   
1349     QCFuncElement("RequestWorkerThread", ThreadPoolNative::RequestWorkerThread)
1350 FCFuncEnd()
1351
1352 FCFuncStart(gTimerFuncs)
1353     QCFuncElement("CreateAppDomainTimer", AppDomainTimerNative::CreateAppDomainTimer)
1354     QCFuncElement("ChangeAppDomainTimer", AppDomainTimerNative::ChangeAppDomainTimer)
1355     QCFuncElement("DeleteAppDomainTimer", AppDomainTimerNative::DeleteAppDomainTimer)
1356 FCFuncEnd()
1357
1358
1359 FCFuncStart(gRegisteredWaitHandleFuncs)
1360     FCFuncElement("UnregisterWaitNative", ThreadPoolNative::CorUnregisterWait)
1361     FCFuncElement("WaitHandleCleanupNative", ThreadPoolNative::CorWaitHandleCleanupNative)
1362 FCFuncEnd()
1363
1364 FCFuncStart(gWaitHandleFuncs)
1365     FCFuncElement("WaitOneNative", WaitHandleNative::CorWaitOneNative)
1366     FCFuncElement("WaitMultiple", WaitHandleNative::CorWaitMultipleNative)
1367 #ifndef FEATURE_PAL
1368     FCFuncElement("SignalAndWaitOne", WaitHandleNative::CorSignalAndWaitOneNative)
1369 #endif // !FEATURE_PAL
1370 FCFuncEnd()
1371
1372 FCFuncStart(gNumberFuncs)
1373     FCFuncElement("FormatDecimal", COMNumber::FormatDecimal)
1374     FCFuncElement("FormatDouble", COMNumber::FormatDouble)
1375     FCFuncElement("FormatInt32", COMNumber::FormatInt32)
1376     FCFuncElement("FormatUInt32", COMNumber::FormatUInt32)
1377     FCFuncElement("FormatInt64", COMNumber::FormatInt64)
1378     FCFuncElement("FormatUInt64", COMNumber::FormatUInt64)
1379     FCFuncElement("FormatSingle", COMNumber::FormatSingle)
1380 #if !defined(FEATURE_CORECLR)
1381     FCFuncElement("FormatNumberBuffer", COMNumber::FormatNumberBuffer)
1382 #endif // !FEATURE_CORECLR
1383     FCFuncElement("NumberBufferToDecimal", COMNumber::NumberBufferToDecimal)
1384     FCFuncElement("NumberBufferToDouble", COMNumber::NumberBufferToDouble)
1385 FCFuncEnd()
1386
1387 #ifdef FEATURE_COMINTEROP
1388 FCFuncStart(gVariantFuncs)
1389     FCFuncElement("SetFieldsObject", COMVariant::SetFieldsObject)
1390     FCFuncElement("SetFieldsR4", COMVariant::SetFieldsR4)
1391     FCFuncElement("SetFieldsR8", COMVariant::SetFieldsR8)
1392     FCFuncElement("GetR4FromVar", COMVariant::GetR4FromVar)
1393     FCFuncElement("GetR8FromVar", COMVariant::GetR8FromVar)
1394     FCFuncElement("BoxEnum", COMVariant::BoxEnum)
1395 FCFuncEnd()
1396 #endif // FEATURE_COMINTEROP
1397
1398 #ifdef FEATURE_COMINTEROP
1399 FCFuncStart(gOAVariantFuncs)
1400     FCFuncElement("ChangeTypeEx", COMOAVariant::ChangeTypeEx)
1401 FCFuncEnd()
1402 #endif // FEATURE_COMINTEROP
1403
1404 FCFuncStart(gDecimalFuncs)
1405     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Flt_RetVoid, COMDecimal::InitSingle)
1406     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_Dbl_RetVoid, COMDecimal::InitDouble)
1407     FCFuncElement("FCallAddSub", COMDecimal::DoAddSubThrow)
1408     FCFuncElement("FCallMultiply", COMDecimal::DoMultiplyThrow)
1409     FCFuncElement("FCallDivide", COMDecimal::DoDivideThrow)
1410 #ifndef FEATURE_CORECLR
1411     FCFuncElement("FCallAddSubOverflowed", COMDecimal::DoAddSub)
1412     FCFuncElement("FCallMultiplyOverflowed", COMDecimal::DoMultiply)
1413     FCFuncElement("FCallDivideOverflowed", COMDecimal::DoDivide)
1414 #endif // FEATURE_CORECLR
1415     FCFuncElement("FCallCompare", COMDecimal::DoCompare)
1416     FCFuncElement("FCallFloor", COMDecimal::DoFloor)
1417     FCFuncElement("GetHashCode", COMDecimal::GetHashCode)
1418     FCFuncElement("FCallRound", COMDecimal::DoRound)
1419     FCFuncElement("FCallToCurrency", COMDecimal::DoToCurrency)
1420     FCFuncElement("FCallToInt32", COMDecimal::ToInt32)    
1421     FCFuncElement("ToDouble", COMDecimal::ToDouble)
1422     FCFuncElement("ToSingle", COMDecimal::ToSingle)
1423     FCFuncElement("FCallTruncate", COMDecimal::DoTruncate)
1424 FCFuncEnd()
1425
1426 FCFuncStart(gCurrencyFuncs)
1427     FCFuncElement("FCallToDecimal", COMCurrency::DoToDecimal)
1428 FCFuncEnd()
1429
1430 #ifndef FEATURE_CORECLR
1431 FCFuncStart(gCLRConfigFuncs)
1432     FCFuncElement("CheckLegacyManagedDeflateStream", SystemNative::CheckLegacyManagedDeflateStream) 
1433     FCFuncElement("CheckThrowUnobservedTaskExceptions", SystemNative::CheckThrowUnobservedTaskExceptions) 
1434 FCFuncEnd()
1435 #endif // ifndef FEATURE_CORECLR
1436
1437 #if !defined(FEATURE_COREFX_GLOBALIZATION)
1438 FCFuncStart(gCompareInfoFuncs)
1439     QCFuncElement("InternalGetGlobalizedHashCode", COMNlsInfo::InternalGetGlobalizedHashCode)
1440     QCFuncElement("InternalCompareString", COMNlsInfo::InternalCompareString)
1441     QCFuncElement("InternalFindNLSStringEx", COMNlsInfo::InternalFindNLSStringEx)
1442     QCFuncElement("NativeInternalInitSortHandle", COMNlsInfo::InternalInitSortHandle)
1443     QCFuncElement("InternalIsSortable", COMNlsInfo::InternalIsSortable)
1444     QCFuncElement("InternalGetSortKey", COMNlsInfo::InternalGetSortKey)
1445 #ifndef FEATURE_CORECLR
1446     QCFuncElement("InternalGetSortVersion", COMNlsInfo::InternalGetSortVersion)
1447     QCFuncElement("InternalGetNlsVersionEx", COMNlsInfo::InternalGetNlsVersionEx)
1448 #endif
1449 FCFuncEnd()
1450
1451 FCFuncStart(gEncodingTableFuncs)
1452     FCFuncElement("GetNumEncodingItems", COMNlsInfo::nativeGetNumEncodingItems)
1453     FCFuncElement("GetEncodingData", COMNlsInfo::nativeGetEncodingTableDataPointer)
1454     FCFuncElement("GetCodePageData", COMNlsInfo::nativeGetCodePageTableDataPointer)
1455 #if FEATURE_CODEPAGES_FILE
1456     FCFuncElement("nativeCreateOpenFileMapping", COMNlsInfo::nativeCreateOpenFileMapping)
1457 #endif
1458 FCFuncEnd()
1459
1460 FCFuncStart(gCalendarDataFuncs)
1461     FCFuncElement("nativeGetTwoDigitYearMax", CalendarData::nativeGetTwoDigitYearMax)
1462     FCFuncElement("nativeGetCalendarData", CalendarData::nativeGetCalendarData)
1463     FCFuncElement("nativeGetCalendars", CalendarData::nativeGetCalendars)
1464 FCFuncEnd()
1465
1466 FCFuncStart(gCultureDataFuncs)
1467     FCFuncElement("nativeInitCultureData", COMNlsInfo::nativeInitCultureData)
1468     FCFuncElement("nativeGetNumberFormatInfoValues", COMNlsInfo::nativeGetNumberFormatInfoValues)
1469     FCFuncElement("nativeEnumTimeFormats", CalendarData::nativeEnumTimeFormats)
1470     FCFuncElement("LCIDToLocaleName", COMNlsInfo::LCIDToLocaleName)
1471     FCFuncElement("LocaleNameToLCID", COMNlsInfo::LocaleNameToLCID)    
1472
1473     QCFuncElement("nativeEnumCultureNames", COMNlsInfo::nativeEnumCultureNames)
1474
1475 FCFuncEnd()
1476
1477 FCFuncStart(gCultureInfoFuncs)
1478     QCFuncElement("InternalGetDefaultLocaleName", COMNlsInfo::InternalGetDefaultLocaleName)
1479     FCFuncElement("nativeGetLocaleInfoEx", COMNlsInfo::nativeGetLocaleInfoEx)
1480     FCFuncElement("nativeGetLocaleInfoExInt", COMNlsInfo::nativeGetLocaleInfoExInt)
1481     
1482 #ifndef FEATURE_CORECLR
1483     FCFuncElement("nativeSetThreadLocale", COMNlsInfo::nativeSetThreadLocale)
1484 #endif
1485     QCFuncElement("InternalGetUserDefaultUILanguage", COMNlsInfo::InternalGetUserDefaultUILanguage)
1486     QCFuncElement("InternalGetSystemDefaultUILanguage", COMNlsInfo::InternalGetSystemDefaultUILanguage)
1487 // Added but disabled from desktop in .NET 4.0, stayed disabled in .NET 4.5
1488 #ifdef FEATURE_CORECLR
1489     FCFuncElement("nativeGetResourceFallbackArray", COMNlsInfo::nativeGetResourceFallbackArray)
1490 #endif
1491 FCFuncEnd()
1492
1493 FCFuncStart(gTextInfoFuncs)
1494     FCFuncElement("InternalChangeCaseChar", COMNlsInfo::InternalChangeCaseChar)
1495     FCFuncElement("InternalChangeCaseString", COMNlsInfo::InternalChangeCaseString)
1496     FCFuncElement("InternalGetCaseInsHash", COMNlsInfo::InternalGetCaseInsHash)
1497     QCFuncElement("InternalCompareStringOrdinalIgnoreCase", COMNlsInfo::InternalCompareStringOrdinalIgnoreCase)
1498     QCFuncElement("InternalTryFindStringOrdinalIgnoreCase", COMNlsInfo::InternalTryFindStringOrdinalIgnoreCase)
1499 FCFuncEnd()
1500 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
1501
1502 #ifdef FEATURE_COREFX_GLOBALIZATION
1503 FCFuncStart(gCompareInfoFuncs)
1504     QCFuncElement("InternalHashSortKey", CoreFxGlobalization::HashSortKey)
1505 FCFuncEnd()
1506 #endif
1507
1508 FCFuncStart(gArrayFuncs)
1509     FCFuncElement("get_Rank", ArrayNative::GetRank)
1510     FCFuncElement("GetLowerBound", ArrayNative::GetLowerBound)
1511     FCFuncElement("GetUpperBound", ArrayNative::GetUpperBound)
1512     FCIntrinsicSig("GetLength", &gsig_IM_Int_RetInt, ArrayNative::GetLength, CORINFO_INTRINSIC_Array_GetDimLength)
1513     FCFuncElement("get_Length", ArrayNative::GetLengthNoRank)
1514     FCFuncElement("get_LongLength", ArrayNative::GetLongLengthNoRank)
1515     FCFuncElement("GetDataPtrOffsetInternal", ArrayNative::GetDataPtrOffsetInternal)
1516     FCFuncElement("Initialize", ArrayNative::Initialize)
1517     FCFuncElement("Copy", ArrayNative::ArrayCopy)
1518     FCFuncElement("Clear", ArrayNative::ArrayClear)
1519     FCFuncElement("InternalCreate", ArrayNative::CreateInstance)
1520     FCFuncElement("InternalGetReference", ArrayNative::GetReference)
1521     FCFuncElement("InternalSetValue", ArrayNative::SetValue)
1522     FCFuncElement("TrySZIndexOf", ArrayHelper::TrySZIndexOf)
1523     FCFuncElement("TrySZLastIndexOf", ArrayHelper::TrySZLastIndexOf)
1524     FCFuncElement("TrySZBinarySearch", ArrayHelper::TrySZBinarySearch)
1525     FCFuncElement("TrySZSort", ArrayHelper::TrySZSort)
1526     FCFuncElement("TrySZReverse", ArrayHelper::TrySZReverse)
1527 FCFuncEnd()
1528
1529 FCFuncStart(gBufferFuncs)
1530     FCFuncElement("BlockCopy", Buffer::BlockCopy)
1531     FCFuncElement("InternalBlockCopy", Buffer::InternalBlockCopy)
1532     FCFuncElement("_GetByte", Buffer::GetByte)
1533     FCFuncElement("_SetByte", Buffer::SetByte)
1534     FCFuncElement("IsPrimitiveTypeArray", Buffer::IsPrimitiveTypeArray)
1535     FCFuncElement("_ByteLength", Buffer::ByteLength)
1536 #ifdef _TARGET_ARM_
1537     FCFuncElement("Memcpy", FCallMemcpy)
1538 #endif
1539     QCFuncElement("__Memmove", Buffer::MemMove)
1540 FCFuncEnd()
1541
1542 FCFuncStart(gGCInterfaceFuncs)
1543     FCFuncElement("GetGenerationWR", GCInterface::GetGenerationWR)
1544     FCFuncElement("_RegisterForFullGCNotification", GCInterface::RegisterForFullGCNotification)
1545     FCFuncElement("_CancelFullGCNotification", GCInterface::CancelFullGCNotification)
1546     FCFuncElement("_WaitForFullGCApproach", GCInterface::WaitForFullGCApproach)
1547     FCFuncElement("_WaitForFullGCComplete", GCInterface::WaitForFullGCComplete)
1548     FCFuncElement("_CollectionCount", GCInterface::CollectionCount)
1549     FCFuncElement("GetGCLatencyMode", GCInterface::GetGcLatencyMode)
1550     FCFuncElement("SetGCLatencyMode", GCInterface::SetGcLatencyMode)
1551     FCFuncElement("GetLOHCompactionMode", GCInterface::GetLOHCompactionMode)
1552     FCFuncElement("SetLOHCompactionMode", GCInterface::SetLOHCompactionMode)
1553     QCFuncElement("_StartNoGCRegion", GCInterface::StartNoGCRegion)
1554     QCFuncElement("_EndNoGCRegion", GCInterface::EndNoGCRegion)
1555     FCFuncElement("IsServerGC", SystemNative::IsServerGC)
1556     QCFuncElement("_AddMemoryPressure", GCInterface::_AddMemoryPressure)
1557     QCFuncElement("_RemoveMemoryPressure", GCInterface::_RemoveMemoryPressure)
1558     FCFuncElement("GetGeneration", GCInterface::GetGeneration)
1559     QCFuncElement("GetTotalMemory", GCInterface::GetTotalMemory)
1560     QCFuncElement("_Collect", GCInterface::Collect)
1561     FCFuncElement("GetMaxGeneration", GCInterface::GetMaxGeneration)
1562     QCFuncElement("_WaitForPendingFinalizers", GCInterface::WaitForPendingFinalizers)
1563
1564     FCFuncElement("_SuppressFinalize", GCInterface::SuppressFinalize)
1565     FCFuncElement("_ReRegisterForFinalize", GCInterface::ReRegisterForFinalize)
1566     
1567     FCFuncElement("_GetAllocatedBytesForCurrentThread", GCInterface::GetAllocatedBytesForCurrentThread)
1568 FCFuncEnd()
1569
1570 #ifndef FEATURE_CORECLR
1571 FCFuncStart(gMemoryFailPointFuncs)
1572     FCFuncElement("GetMemorySettings", COMMemoryFailPoint::GetMemorySettings)
1573 FCFuncEnd()
1574 #endif // FEATURE_CORECLR
1575
1576 FCFuncStart(gInteropMarshalFuncs)
1577     FCFuncElement("GetLastWin32Error", MarshalNative::GetLastWin32Error)
1578     FCFuncElement("SetLastWin32Error", MarshalNative::SetLastWin32Error)
1579     FCFuncElement("SizeOfHelper", MarshalNative::SizeOfClass)
1580     FCFuncElement("GetSystemMaxDBCSCharSize", MarshalNative::GetSystemMaxDBCSCharSize)
1581     FCFuncElement("PtrToStructureHelper", MarshalNative::PtrToStructureHelper)
1582     FCFuncElement("DestroyStructure", MarshalNative::DestroyStructure)
1583     FCFuncElement("UnsafeAddrOfPinnedArrayElement", MarshalNative::FCUnsafeAddrOfPinnedArrayElement)
1584     FCFuncElement("GetExceptionCode", ExceptionNative::GetExceptionCode)
1585 #ifndef FEATURE_CORECLR
1586     QCFuncElement("InternalNumParamBytes", MarshalNative::NumParamBytes)
1587     FCFuncElement("GetExceptionPointers", ExceptionNative::GetExceptionPointers)
1588     QCFuncElement("GetHINSTANCE", COMModule::GetHINSTANCE)
1589     FCFuncElement("GetUnmanagedThunkForManagedMethodPtr", MarshalNative::GetUnmanagedThunkForManagedMethodPtr)
1590     FCFuncElement("GetManagedThunkForUnmanagedMethodPtr", MarshalNative::GetManagedThunkForUnmanagedMethodPtr)
1591     FCFuncElement("InternalGetThreadFromFiberCookie", MarshalNative::GetThreadFromFiberCookie)
1592 #endif
1593
1594     FCFuncElement("OffsetOfHelper", MarshalNative::OffsetOfHelper)
1595     FCFuncElement("SizeOfType", SafeBuffer::SizeOfType)
1596     FCFuncElement("AlignedSizeOfType", SafeBuffer::AlignedSizeOfType)
1597
1598     QCFuncElement("InternalPrelink", MarshalNative::Prelink)
1599     FCFuncElement("CopyToNative", MarshalNative::CopyToNative)
1600     FCFuncElement("CopyToManaged", MarshalNative::CopyToManaged)
1601     FCFuncElement("StructureToPtr", MarshalNative::StructureToPtr)
1602     FCFuncElement("ThrowExceptionForHRInternal", MarshalNative::ThrowExceptionForHR)
1603     FCFuncElement("GetExceptionForHRInternal", MarshalNative::GetExceptionForHR)
1604     FCFuncElement("GetDelegateForFunctionPointerInternal", MarshalNative::GetDelegateForFunctionPointerInternal)
1605     FCFuncElement("GetFunctionPointerForDelegateInternal", MarshalNative::GetFunctionPointerForDelegateInternal)
1606 #ifdef FEATURE_COMINTEROP
1607     FCFuncElement("GetHRForException", MarshalNative::GetHRForException)
1608     FCFuncElement("GetHRForException_WinRT", MarshalNative::GetHRForException_WinRT)
1609     FCFuncElement("GetRawIUnknownForComObjectNoAddRef", MarshalNative::GetRawIUnknownForComObjectNoAddRef)
1610     FCFuncElement("IsComObject", MarshalNative::IsComObject)
1611     FCFuncElement("GetObjectForIUnknown", MarshalNative::GetObjectForIUnknown)
1612     FCFuncElement("GetUniqueObjectForIUnknown", MarshalNative::GetUniqueObjectForIUnknown)
1613     FCFuncElement("AddRef", MarshalNative::AddRef)
1614     FCFuncElement("GetNativeVariantForObject", MarshalNative::GetNativeVariantForObject)
1615     FCFuncElement("GetObjectForNativeVariant", MarshalNative::GetObjectForNativeVariant)
1616     FCFuncElement("InternalFinalReleaseComObject", MarshalNative::FinalReleaseComObject)
1617     FCFuncElement("QueryInterface", MarshalNative::QueryInterface)
1618     FCFuncElement("CreateAggregatedObject", MarshalNative::CreateAggregatedObject)
1619     FCFuncElement("AreComObjectsAvailableForCleanup", MarshalNative::AreComObjectsAvailableForCleanup)
1620     FCFuncElement("InternalCreateWrapperOfType", MarshalNative::InternalCreateWrapperOfType)
1621     FCFuncElement("GetObjectsForNativeVariants", MarshalNative::GetObjectsForNativeVariants)
1622     FCFuncElement("GetStartComSlot", MarshalNative::GetStartComSlot)
1623
1624     FCFuncElement("InitializeManagedWinRTFactoryObject", MarshalNative::InitializeManagedWinRTFactoryObject)
1625
1626     FCFuncElement("GetNativeActivationFactory", MarshalNative::GetNativeActivationFactory)
1627     FCFuncElement("GetIUnknownForObjectNative", MarshalNative::GetIUnknownForObjectNative)
1628     FCFuncElement("GetIDispatchForObjectNative", MarshalNative::GetIDispatchForObjectNative)
1629     FCFuncElement("GetComInterfaceForObjectNative", MarshalNative::GetComInterfaceForObjectNative)
1630     FCFuncElement("InternalReleaseComObject", MarshalNative::ReleaseComObject)
1631     FCFuncElement("Release", MarshalNative::Release)
1632     FCFuncElement("InitializeWrapperForWinRT", MarshalNative::InitializeWrapperForWinRT)
1633 #ifndef FEATURE_CORECLR
1634     FCFuncElement("GetLoadedTypeForGUID", MarshalNative::GetLoadedTypeForGUID)
1635     FCFuncElement("GetITypeInfoForType", MarshalNative::GetITypeInfoForType)
1636     FCFuncElement("GetTypedObjectForIUnknown", MarshalNative::GetTypedObjectForIUnknown)
1637     FCFuncElement("CleanupUnusedObjectsInCurrentContext", MarshalNative::CleanupUnusedObjectsInCurrentContext)
1638     FCFuncElement("IsTypeVisibleFromCom", MarshalNative::IsTypeVisibleFromCom)
1639     FCFuncElement("FCallGenerateGuidForType", MarshalNative::DoGenerateGuidForType)
1640     FCFuncElement("FCallGetTypeLibGuid", MarshalNative::DoGetTypeLibGuid)
1641     FCFuncElement("GetTypeLibLcid", MarshalNative::GetTypeLibLcid)
1642     FCFuncElement("GetTypeLibVersion", MarshalNative::GetTypeLibVersion)
1643     FCFuncElement("FCallGetTypeInfoGuid", MarshalNative::DoGetTypeInfoGuid)
1644     FCFuncElement("FCallGetTypeLibGuidForAssembly", MarshalNative::DoGetTypeLibGuidForAssembly)
1645     FCFuncElement("_GetTypeLibVersionForAssembly", MarshalNative::GetTypeLibVersionForAssembly)
1646     FCFuncElement("GetEndComSlot", MarshalNative::GetEndComSlot)
1647     FCFuncElement("GetMethodInfoForComSlot", MarshalNative::GetMethodInfoForComSlot)
1648     FCFuncElement("InternalGetComSlotForMethodInfo", MarshalNative::GetComSlotForMethodInfo)
1649     FCFuncElement("InternalSwitchCCW", MarshalNative::SwitchCCW)
1650     FCFuncElement("InternalWrapIUnknownWithComObject", MarshalNative::WrapIUnknownWithComObject)
1651     FCFuncElement("ChangeWrapperHandleStrength", MarshalNative::ChangeWrapperHandleStrength)
1652     QCFuncElement("_GetInspectableIids", MarshalNative::GetInspectableIIDs)
1653     QCFuncElement("_GetCachedWinRTTypes", MarshalNative::GetCachedWinRTTypes)
1654     QCFuncElement("_GetCachedWinRTTypeByIid", MarshalNative::GetCachedWinRTTypeByIID)
1655 #endif // FEATURE_CORECLR
1656 #endif // FEATURE_COMINTEROP
1657 FCFuncEnd()
1658
1659 FCFuncStart(gArrayWithOffsetFuncs)
1660     FCFuncElement("CalculateCount", MarshalNative::CalculateCount)
1661 FCFuncEnd()
1662
1663 #ifdef FEATURE_COMINTEROP
1664
1665 #ifndef FEATURE_CORECLR
1666 FCFuncStart(gExtensibleClassFactoryFuncs)
1667     FCFuncElement("RegisterObjectCreationCallback", RegisterObjectCreationCallback)
1668 FCFuncEnd()
1669 #endif
1670
1671
1672 #ifdef FEATURE_COMINTEROP_TLB_SUPPORT
1673 FCFuncStart(gTypeLibConverterFuncs)
1674     FCFuncElement("nConvertAssemblyToTypeLib", COMTypeLibConverter::ConvertAssemblyToTypeLib)
1675     FCFuncElement("nConvertTypeLibToMetadata", COMTypeLibConverter::ConvertTypeLibToMetadata)
1676     QCFuncElement("LoadInMemoryTypeByName", COMModule::LoadInMemoryTypeByName)
1677 FCFuncEnd()
1678 #endif // FEATURE_COMINTEROP_TLB_SUPPORT
1679
1680 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
1681 FCFuncStart(gRegistrationFuncs)
1682     FCFuncElement("RegisterTypeForComClientsNative", RegisterTypeForComClientsNative)
1683     FCFuncElement("RegisterTypeForComClientsExNative", RegisterTypeForComClientsExNative)
1684 FCFuncEnd()
1685 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
1686
1687 #endif // FEATURE_COMINTEROP
1688
1689 #ifdef FEATURE_CAS_POLICY
1690 FCFuncStart(gPolicyManagerFuncs)
1691 #ifdef _DEBUG
1692     QCFuncElement("DebugOut", SecurityConfig::DebugOut)
1693 #endif
1694 FCFuncEnd()
1695
1696 FCFuncStart(gPolicyConfigFuncs)
1697     QCFuncElement("ResetCacheData", SecurityConfig::ResetCacheData)
1698     QCFuncElement("SaveDataByte", SecurityConfig::SaveDataByte)
1699     QCFuncElement("RecoverData", SecurityConfig::RecoverData)
1700     QCFuncElement("SetQuickCache", SecurityConfig::SetQuickCache)
1701     QCFuncElement("GetCacheEntry", SecurityConfig::GetCacheEntry)
1702     QCFuncElement("AddCacheEntry", SecurityConfig::AddCacheEntry)
1703     QCFuncElement("GetMachineDirectory", SecurityConfig::_GetMachineDirectory)
1704     QCFuncElement("GetUserDirectory", SecurityConfig::_GetUserDirectory)
1705     QCFuncElement("WriteToEventLog", SecurityConfig::WriteToEventLog)
1706 FCFuncEnd()
1707 #endif // FEATURE_CAS_POLICY
1708
1709 #ifndef FEATURE_CORECLR
1710 FCFuncStart(gPrincipalFuncs)
1711     FCFuncElement("OpenThreadToken", COMPrincipal::OpenThreadToken)
1712     QCFuncElement("ImpersonateLoggedOnUser", COMPrincipal::ImpersonateLoggedOnUser)
1713     QCFuncElement("RevertToSelf", COMPrincipal::RevertToSelf)
1714     QCFuncElement("SetThreadToken", COMPrincipal::SetThreadToken)
1715 FCFuncEnd()
1716 #endif // !FEATURE_CORECLR
1717
1718 #ifdef FEATURE_CAS_POLICY
1719 FCFuncStart(gEvidenceFuncs)
1720 FCFuncEnd()
1721
1722 FCFuncStart(gAssemblyEvidenceFactoryFuncs)
1723     QCFuncElement("GetAssemblyPermissionRequests", SecurityPolicy::GetAssemblyPermissionRequests)
1724     QCFuncElement("GetStrongNameInformation", SecurityPolicy::GetStrongNameInformation)
1725 FCFuncEnd()
1726
1727 FCFuncStart(gPEFileEvidenceFactoryFuncs)
1728     QCFuncElement("GetAssemblySuppliedEvidence", SecurityPolicy::GetAssemblySuppliedEvidence)
1729     QCFuncElement("GetLocationEvidence", SecurityPolicy::GetLocationEvidence)
1730     QCFuncElement("GetPublisherCertificate", SecurityPolicy::GetPublisherCertificate)
1731     QCFuncElement("FireEvidenceGeneratedEvent", SecurityPolicy::FireEvidenceGeneratedEvent)
1732 FCFuncEnd()
1733
1734 FCFuncStart(gHostExecutionContextManagerFuncs)
1735     FCFuncElement("ReleaseHostSecurityContext", HostExecutionContextManager::ReleaseSecurityContext)
1736     FCFuncElement("CloneHostSecurityContext", HostExecutionContextManager::CloneSecurityContext)
1737     FCFuncElement("CaptureHostSecurityContext", HostExecutionContextManager::CaptureSecurityContext)
1738     FCFuncElement("SetHostSecurityContext", HostExecutionContextManager::SetSecurityContext)
1739     FCFuncElement("HostSecurityManagerPresent", HostExecutionContextManager::HostPresent)
1740 FCFuncEnd()
1741 #endif // FEATURE_CAS_POLICY
1742
1743 #if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT)
1744 FCFuncStart(gIsolatedStorage)
1745     QCFuncElement("GetCaller", COMIsolatedStorage::GetCaller)
1746 FCFuncEnd()
1747
1748 FCFuncStart(gIsolatedStorageFile)
1749     QCFuncElement("GetRootDir", COMIsolatedStorageFile::GetRootDir)
1750     QCFuncElement("GetQuota", COMIsolatedStorageFile::GetQuota)
1751     QCFuncElement("SetQuota", COMIsolatedStorageFile::SetQuota)
1752     QCFuncElement("Reserve", COMIsolatedStorageFile::Reserve)
1753     QCFuncElement("GetUsage", COMIsolatedStorageFile::GetUsage)
1754     QCFuncElement("Open", COMIsolatedStorageFile::Open)
1755     QCFuncElement("Lock", COMIsolatedStorageFile::Lock)
1756     QCFuncElement("CreateDirectoryWithDacl", COMIsolatedStorageFile::CreateDirectoryWithDacl)
1757 FCFuncEnd()
1758
1759 FCFuncStart(gIsolatedStorageFileHandle)
1760     QCFuncElement("Close", COMIsolatedStorageFile::Close)
1761 FCFuncEnd()
1762 #endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT
1763
1764 FCFuncStart(gTypeLoadExceptionFuncs)
1765     QCFuncElement("GetTypeLoadExceptionMessage", GetTypeLoadExceptionMessage)
1766 FCFuncEnd()
1767
1768 FCFuncStart(gFileLoadExceptionFuncs)
1769     QCFuncElement("GetFileLoadExceptionMessage", GetFileLoadExceptionMessage)
1770     QCFuncElement("GetMessageForHR", FileLoadException_GetMessageForHR)
1771 FCFuncEnd()
1772
1773 FCFuncStart(gMissingMemberExceptionFuncs)
1774     FCFuncElement("FormatSignature", MissingMemberException_FormatSignature)
1775 FCFuncEnd()
1776
1777 FCFuncStart(gInterlockedFuncs)
1778     FCIntrinsicSig("Exchange", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::Exchange, CORINFO_INTRINSIC_InterlockedXchg32)
1779     FCIntrinsicSig("Exchange", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::Exchange64, CORINFO_INTRINSIC_InterlockedXchg64)    
1780     FCFuncElementSig("Exchange", &gsig_SM_RefDbl_Dbl_RetDbl, COMInterlocked::ExchangeDouble)
1781     FCFuncElementSig("Exchange", &gsig_SM_RefFlt_Flt_RetFlt, COMInterlocked::ExchangeFloat)
1782     FCFuncElementSig("Exchange", &gsig_SM_RefObj_Obj_RetObj, COMInterlocked::ExchangeObject)
1783     FCFuncElementSig("Exchange", &gsig_SM_RefIntPtr_IntPtr_RetIntPtr, COMInterlocked::ExchangePointer)
1784     FCIntrinsicSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RetInt, COMInterlocked::CompareExchange, CORINFO_INTRINSIC_InterlockedCmpXchg32)
1785     FCIntrinsicSig("CompareExchange", &gsig_SM_RefLong_Long_Long_RetLong, COMInterlocked::CompareExchange64, CORINFO_INTRINSIC_InterlockedCmpXchg64)
1786     FCFuncElementSig("CompareExchange", &gsig_SM_RefDbl_Dbl_Dbl_RetDbl, COMInterlocked::CompareExchangeDouble)
1787     FCFuncElementSig("CompareExchange", &gsig_SM_RefFlt_Flt_Flt_RetFlt, COMInterlocked::CompareExchangeFloat)
1788     FCFuncElementSig("CompareExchange", &gsig_SM_RefObj_Obj_Obj_RetObj, COMInterlocked::CompareExchangeObject)
1789     FCFuncElementSig("CompareExchange", &gsig_SM_RefInt_Int_Int_RefBool_RetInt, COMInterlocked::CompareExchangeReliableResult)
1790     FCFuncElementSig("CompareExchange", &gsig_SM_RefIntPtr_IntPtr_IntPtr_RetIntPtr, COMInterlocked::CompareExchangePointer)
1791     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefInt_Int_RetInt, COMInterlocked::ExchangeAdd32, CORINFO_INTRINSIC_InterlockedXAdd32)
1792     FCIntrinsicSig("ExchangeAdd", &gsig_SM_RefLong_Long_RetLong, COMInterlocked::ExchangeAdd64, CORINFO_INTRINSIC_InterlockedXAdd64)
1793
1794     FCFuncElement("_Exchange", COMInterlocked::ExchangeGeneric)
1795     FCFuncElement("_CompareExchange", COMInterlocked::CompareExchangeGeneric)
1796     
1797 FCFuncEnd()
1798
1799 FCFuncStart(gVarArgFuncs)
1800     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_PtrVoid_RetVoid, VarArgsNative::Init2)
1801 #ifndef FEATURE_CORECLR
1802     FCFuncElementSig(COR_CTOR_METHOD_NAME, &gsig_IM_IntPtr_RetVoid, VarArgsNative::Init)
1803     FCFuncElement("GetRemainingCount", VarArgsNative::GetRemainingCount)
1804     FCFuncElement("_GetNextArgType", VarArgsNative::GetNextArgType)
1805     FCFuncElement("FCallGetNextArg", VarArgsNative::DoGetNextArg)
1806     FCFuncElement("InternalGetNextArg", VarArgsNative::GetNextArg2)
1807 #endif // FEATURE_CORECLR
1808 FCFuncEnd()
1809
1810 FCFuncStart(gMonitorFuncs)
1811     FCFuncElement("Enter", JIT_MonEnter)
1812     FCFuncElement("ReliableEnter", JIT_MonReliableEnter)
1813     FCFuncElement("ReliableEnterTimeout", JIT_MonTryEnter)
1814     FCFuncElement("Exit", JIT_MonExit)
1815     FCFuncElement("ObjWait", ObjectNative::WaitTimeout)
1816     FCFuncElement("ObjPulse", ObjectNative::Pulse)
1817     FCFuncElement("ObjPulseAll", ObjectNative::PulseAll)
1818     FCFuncElement("IsEnteredNative", ObjectNative::IsLockHeld)
1819 FCFuncEnd()
1820
1821 FCFuncStart(gOverlappedFuncs)
1822     FCFuncElement("AllocateNativeOverlapped", AllocateNativeOverlapped)
1823     FCFuncElement("FreeNativeOverlapped", FreeNativeOverlapped)
1824     FCFuncElement("CheckVMForIOPacket", CheckVMForIOPacket)
1825     FCFuncElement("GetOverlappedFromNative", GetOverlappedFromNative)
1826 FCFuncEnd()
1827
1828 FCFuncStart(gCompilerFuncs)
1829     FCFuncElement("GetObjectValue", ObjectNative::GetObjectValue)
1830     FCIntrinsic("InitializeArray", ArrayNative::InitializeArray, CORINFO_INTRINSIC_InitializeArray)
1831     FCFuncElement("_RunClassConstructor", ReflectionInvocation::RunClassConstructor)
1832 #ifndef FEATURE_CORECLR
1833     FCFuncElement("_RunModuleConstructor", ReflectionInvocation::RunModuleConstructor)
1834     FCFuncElement("_PrepareMethod", ReflectionInvocation::PrepareMethod)
1835 #endif // !FEATURE_CORECLR
1836     QCFuncElement("_CompileMethod", ReflectionInvocation::CompileMethod)
1837 #ifndef FEATURE_CORECLR
1838     FCFuncElement("PrepareDelegate", ReflectionInvocation::PrepareDelegate)
1839 #endif // !FEATURE_CORECLR
1840     FCFuncElement("PrepareContractedDelegate", ReflectionInvocation::PrepareContractedDelegate)
1841     FCFuncElement("ProbeForSufficientStack", ReflectionInvocation::ProbeForSufficientStack)
1842     FCFuncElement("ExecuteCodeWithGuaranteedCleanup", ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup)
1843     FCFuncElement("GetHashCode", ObjectNative::GetHashCode)
1844     FCFuncElement("Equals", ObjectNative::Equals)
1845     FCFuncElement("EnsureSufficientExecutionStack", ReflectionInvocation::EnsureSufficientExecutionStack)
1846 #ifdef FEATURE_CORECLR
1847     FCFuncElement("TryEnsureSufficientExecutionStack", ReflectionInvocation::TryEnsureSufficientExecutionStack)
1848 #endif // FEATURE_CORECLR
1849 FCFuncEnd()
1850
1851 FCFuncStart(gContextSynchronizationFuncs)
1852 #ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT
1853     FCFuncElement("WaitHelper", SynchronizationContextNative::WaitHelper)
1854 #endif // #ifdef FEATURE_SYNCHRONIZATIONCONTEXT_WAIT
1855 #ifdef FEATURE_APPX
1856     QCFuncElement("GetWinRTDispatcherForCurrentThread", SynchronizationContextNative::GetWinRTDispatcherForCurrentThread)
1857 #endif
1858 FCFuncEnd()
1859
1860 FCFuncStart(gDateMarshalerFuncs)
1861     FCFuncElement("ConvertToNative", StubHelpers::DateMarshaler__ConvertToNative)
1862     FCFuncElement("ConvertToManaged", StubHelpers::DateMarshaler__ConvertToManaged)
1863 FCFuncEnd()
1864
1865 FCFuncStart(gValueClassMarshalerFuncs)
1866     FCFuncElement("ConvertToNative", StubHelpers::ValueClassMarshaler__ConvertToNative)
1867     FCFuncElement("ConvertToManaged", StubHelpers::ValueClassMarshaler__ConvertToManaged)
1868     FCFuncElement("ClearNative", StubHelpers::ValueClassMarshaler__ClearNative)
1869 FCFuncEnd()
1870
1871 FCFuncStart(gMngdNativeArrayMarshalerFuncs)
1872     FCFuncElement("CreateMarshaler", MngdNativeArrayMarshaler::CreateMarshaler)
1873     FCFuncElement("ConvertSpaceToNative", MngdNativeArrayMarshaler::ConvertSpaceToNative)
1874     FCFuncElement("ConvertContentsToNative", MngdNativeArrayMarshaler::ConvertContentsToNative)
1875     FCFuncElement("ConvertSpaceToManaged", MngdNativeArrayMarshaler::ConvertSpaceToManaged)
1876     FCFuncElement("ConvertContentsToManaged", MngdNativeArrayMarshaler::ConvertContentsToManaged)
1877     FCFuncElement("ClearNative", MngdNativeArrayMarshaler::ClearNative)
1878     FCFuncElement("ClearNativeContents", MngdNativeArrayMarshaler::ClearNativeContents)
1879 FCFuncEnd()
1880
1881 #ifdef FEATURE_COMINTEROP
1882 FCFuncStart(gObjectMarshalerFuncs)
1883     FCFuncElement("ConvertToNative", StubHelpers::ObjectMarshaler__ConvertToNative)
1884     FCFuncElement("ConvertToManaged", StubHelpers::ObjectMarshaler__ConvertToManaged)
1885     FCFuncElement("ClearNative", StubHelpers::ObjectMarshaler__ClearNative)
1886 FCFuncEnd()
1887
1888 FCFuncStart(gInterfaceMarshalerFuncs)
1889     FCFuncElement("ConvertToNative", StubHelpers::InterfaceMarshaler__ConvertToNative)
1890     FCFuncElement("ConvertToManaged", StubHelpers::InterfaceMarshaler__ConvertToManaged)
1891     QCFuncElement("ClearNative", StubHelpers::InterfaceMarshaler__ClearNative)
1892     FCFuncElement("ConvertToManagedWithoutUnboxing", StubHelpers::InterfaceMarshaler__ConvertToManagedWithoutUnboxing)
1893 FCFuncEnd()
1894
1895 FCFuncStart(gUriMarshalerFuncs)
1896     FCFuncElement("GetRawUriFromNative", StubHelpers::UriMarshaler__GetRawUriFromNative)
1897     FCFuncElement("CreateNativeUriInstanceHelper", StubHelpers::UriMarshaler__CreateNativeUriInstance)
1898 FCFuncEnd()
1899
1900 FCFuncStart(gEventArgsMarshalerFuncs)
1901     QCFuncElement("CreateNativeNCCEventArgsInstanceHelper", StubHelpers::EventArgsMarshaler__CreateNativeNCCEventArgsInstance)
1902     QCFuncElement("CreateNativePCEventArgsInstance", StubHelpers::EventArgsMarshaler__CreateNativePCEventArgsInstance)
1903 FCFuncEnd()
1904
1905 FCFuncStart(gMngdSafeArrayMarshalerFuncs)
1906     FCFuncElement("CreateMarshaler", MngdSafeArrayMarshaler::CreateMarshaler)
1907     FCFuncElement("ConvertSpaceToNative", MngdSafeArrayMarshaler::ConvertSpaceToNative)
1908     FCFuncElement("ConvertContentsToNative", MngdSafeArrayMarshaler::ConvertContentsToNative)
1909     FCFuncElement("ConvertSpaceToManaged", MngdSafeArrayMarshaler::ConvertSpaceToManaged)
1910     FCFuncElement("ConvertContentsToManaged", MngdSafeArrayMarshaler::ConvertContentsToManaged)
1911     FCFuncElement("ClearNative", MngdSafeArrayMarshaler::ClearNative)
1912 FCFuncEnd()
1913
1914 FCFuncStart(gMngdHiddenLengthArrayMarshalerFuncs)
1915     FCFuncElement("CreateMarshaler", MngdHiddenLengthArrayMarshaler::CreateMarshaler)
1916     FCFuncElement("ConvertSpaceToNative", MngdHiddenLengthArrayMarshaler::ConvertSpaceToNative)
1917     FCFuncElement("ConvertContentsToNative", MngdHiddenLengthArrayMarshaler::ConvertContentsToNative)
1918     FCFuncElement("ConvertSpaceToManaged", MngdHiddenLengthArrayMarshaler::ConvertSpaceToManaged)
1919     FCFuncElement("ConvertContentsToManaged", MngdHiddenLengthArrayMarshaler::ConvertContentsToManaged)
1920     FCFuncElement("ClearNativeContents", MngdHiddenLengthArrayMarshaler::ClearNativeContents)
1921 FCFuncEnd()
1922     
1923 FCFuncStart(gWinRTTypeNameConverterFuncs)
1924     FCFuncElement("ConvertToWinRTTypeName", StubHelpers::WinRTTypeNameConverter__ConvertToWinRTTypeName)
1925     FCFuncElement("GetTypeFromWinRTTypeName", StubHelpers::WinRTTypeNameConverter__GetTypeFromWinRTTypeName)
1926 FCFuncEnd()
1927
1928 #endif // FEATURE_COMINTEROP
1929
1930 FCFuncStart(gMngdRefCustomMarshalerFuncs)
1931     FCFuncElement("CreateMarshaler", MngdRefCustomMarshaler::CreateMarshaler)
1932     FCFuncElement("ConvertContentsToNative", MngdRefCustomMarshaler::ConvertContentsToNative)
1933     FCFuncElement("ConvertContentsToManaged", MngdRefCustomMarshaler::ConvertContentsToManaged)
1934     FCFuncElement("ClearNative", MngdRefCustomMarshaler::ClearNative)
1935     FCFuncElement("ClearManaged", MngdRefCustomMarshaler::ClearManaged)
1936 FCFuncEnd()
1937
1938 FCFuncStart(gStubHelperFuncs)
1939 #ifndef FEATURE_CORECLR
1940 #ifndef _WIN64
1941     FCFuncElement("GetFinalStubTarget", StubHelpers::GetFinalStubTarget)
1942 #endif // !_WIN64
1943     FCFuncElement("DemandPermission", StubHelpers::DemandPermission)
1944 #endif // !FEATURE_CORECLR
1945     FCFuncElement("IsQCall", StubHelpers::IsQCall)
1946     FCFuncElement("InitDeclaringType", StubHelpers::InitDeclaringType)
1947     FCIntrinsic("GetNDirectTarget", StubHelpers::GetNDirectTarget, CORINFO_INTRINSIC_StubHelpers_GetNDirectTarget)
1948     FCFuncElement("GetDelegateTarget", StubHelpers::GetDelegateTarget)
1949     FCFuncElement("SetLastError", StubHelpers::SetLastError)
1950 #ifdef FEATURE_CORECLR
1951     FCFuncElement("ClearLastError", StubHelpers::ClearLastError)
1952 #endif
1953     FCFuncElement("ThrowInteropParamException", StubHelpers::ThrowInteropParamException)
1954     FCFuncElement("InternalGetHRExceptionObject", StubHelpers::GetHRExceptionObject)
1955 #ifdef FEATURE_COMINTEROP
1956     FCFuncElement("InternalGetCOMHRExceptionObject", StubHelpers::GetCOMHRExceptionObject)
1957     FCFuncElement("GetCOMIPFromRCW", StubHelpers::GetCOMIPFromRCW)
1958     FCFuncElement("GetCOMIPFromRCW_WinRT", StubHelpers::GetCOMIPFromRCW_WinRT)
1959     FCFuncElement("GetCOMIPFromRCW_WinRTSharedGeneric", StubHelpers::GetCOMIPFromRCW_WinRTSharedGeneric)
1960     FCFuncElement("GetCOMIPFromRCW_WinRTDelegate", StubHelpers::GetCOMIPFromRCW_WinRTDelegate)
1961     FCFuncElement("ShouldCallWinRTInterface", StubHelpers::ShouldCallWinRTInterface)
1962     FCFuncElement("GetTargetForAmbiguousVariantCall", StubHelpers::GetTargetForAmbiguousVariantCall)
1963     FCFuncElement("StubRegisterRCW", StubHelpers::StubRegisterRCW)
1964     FCFuncElement("StubUnregisterRCW", StubHelpers::StubUnregisterRCW)
1965     FCFuncElement("GetDelegateInvokeMethod", StubHelpers::GetDelegateInvokeMethod)
1966     FCFuncElement("GetWinRTFactoryObject", StubHelpers::GetWinRTFactoryObject)
1967     FCFuncElement("GetWinRTFactoryReturnValue", StubHelpers::GetWinRTFactoryReturnValue)
1968     FCFuncElement("GetOuterInspectable", StubHelpers::GetOuterInspectable)
1969 #ifdef MDA_SUPPORTED
1970     FCFuncElement("TriggerExceptionSwallowedMDA", StubHelpers::TriggerExceptionSwallowedMDA)
1971 #endif
1972 #endif // FEATURE_COMINTEROP
1973 #ifdef MDA_SUPPORTED
1974     FCFuncElement("CheckCollectedDelegateMDA", StubHelpers::CheckCollectedDelegateMDA)
1975 #endif // MDA_SUPPORTED
1976 #ifdef PROFILING_SUPPORTED    
1977     FCFuncElement("ProfilerBeginTransitionCallback", StubHelpers::ProfilerBeginTransitionCallback)
1978     FCFuncElement("ProfilerEndTransitionCallback", StubHelpers::ProfilerEndTransitionCallback)
1979 #endif    
1980     FCFuncElement("CreateCustomMarshalerHelper", StubHelpers::CreateCustomMarshalerHelper)
1981     FCFuncElement("DecimalCanonicalizeInternal", StubHelpers::DecimalCanonicalizeInternal)
1982     FCFuncElement("FmtClassUpdateNativeInternal", StubHelpers::FmtClassUpdateNativeInternal)
1983     FCFuncElement("FmtClassUpdateCLRInternal", StubHelpers::FmtClassUpdateCLRInternal)
1984     FCFuncElement("LayoutDestroyNativeInternal", StubHelpers::LayoutDestroyNativeInternal)
1985     FCFuncElement("AllocateInternal", StubHelpers::AllocateInternal)
1986     FCFuncElement("strlen", StubHelpers::AnsiStrlen)    
1987     FCFuncElement("MarshalToUnmanagedVaListInternal", StubHelpers::MarshalToUnmanagedVaListInternal)
1988     FCFuncElement("MarshalToManagedVaListInternal", StubHelpers::MarshalToManagedVaListInternal)
1989     FCFuncElement("CalcVaListSize", StubHelpers::CalcVaListSize)
1990     FCFuncElement("ValidateObject", StubHelpers::ValidateObject)
1991     FCFuncElement("ValidateByref", StubHelpers::ValidateByref)
1992     FCFuncElement("LogPinnedArgument", StubHelpers::LogPinnedArgument)
1993     FCIntrinsic("GetStubContext", StubHelpers::GetStubContext, CORINFO_INTRINSIC_StubHelpers_GetStubContext)
1994 #ifdef _WIN64
1995     FCIntrinsic("GetStubContextAddr", StubHelpers::GetStubContextAddr, CORINFO_INTRINSIC_StubHelpers_GetStubContextAddr)
1996 #endif // _WIN64
1997 #ifdef MDA_SUPPORTED
1998     FCFuncElement("TriggerGCForMDA", StubHelpers::TriggerGCForMDA)
1999 #endif // MDA_SUPPORTED
2000 #ifdef FEATURE_ARRAYSTUB_AS_IL
2001     FCFuncElement("ArrayTypeCheck", StubHelpers::ArrayTypeCheck)
2002 #endif //FEATURE_ARRAYSTUB_AS_IL
2003 #ifdef FEATURE_STUBS_AS_IL
2004     FCFuncElement("MulticastDebuggerTraceHelper", StubHelpers::MulticastDebuggerTraceHelper)
2005 #endif //FEATURE_STUBS_AS_IL
2006 FCFuncEnd()
2007
2008 FCFuncStart(gCoverageFuncs)
2009     FCUnreferenced FCFuncElement("nativeCoverBlock", COMCoverage::nativeCoverBlock)
2010 FCFuncEnd()
2011
2012 FCFuncStart(gGCHandleFuncs)
2013     FCFuncElement("InternalAlloc", MarshalNative::GCHandleInternalAlloc)
2014     FCFuncElement("InternalFree", MarshalNative::GCHandleInternalFree)
2015     FCFuncElement("InternalGet", MarshalNative::GCHandleInternalGet)
2016     FCFuncElement("InternalSet", MarshalNative::GCHandleInternalSet)
2017     FCFuncElement("InternalCompareExchange", MarshalNative::GCHandleInternalCompareExchange)
2018     FCFuncElement("InternalAddrOfPinnedObject", MarshalNative::GCHandleInternalAddrOfPinnedObject)
2019     FCFuncElement("InternalCheckDomain", MarshalNative::GCHandleInternalCheckDomain)
2020 #ifndef FEATURE_CORECLR
2021     FCFuncElement("InternalGetHandleType", MarshalNative::GCHandleInternalGetHandleType)
2022 #endif
2023 FCFuncEnd()
2024
2025 #ifndef FEATURE_CORECLR
2026 FCFuncStart(gConfigHelper)
2027     FCFuncElement("RunParser", ConfigNative::RunParser)
2028 FCFuncEnd()
2029 #endif // FEATURE_CORECLR
2030
2031 #ifndef FEATURE_CORECLR
2032 FCFuncStart(gConsoleFuncs)    
2033     QCFuncElement("GetTitleNative", ConsoleNative::GetTitle) 
2034 FCFuncEnd()
2035 #endif // ifndef FEATURE_CORECLR
2036
2037 FCFuncStart(gVersioningHelperFuncs)
2038     FCFuncElement("GetRuntimeId", GetRuntimeId_Wrapper)
2039 FCFuncEnd()
2040
2041 FCFuncStart(gStreamFuncs)
2042     FCFuncElement("HasOverriddenBeginEndRead", StreamNative::HasOverriddenBeginEndRead)
2043     FCFuncElement("HasOverriddenBeginEndWrite", StreamNative::HasOverriddenBeginEndWrite)
2044 FCFuncEnd()
2045
2046 #ifndef FEATURE_CORECLR
2047 FCFuncStart(gConsoleStreamFuncs)
2048     FCFuncElement("WaitForAvailableConsoleInput", ConsoleStreamHelper::WaitForAvailableConsoleInput)
2049 FCFuncEnd()
2050 #endif
2051
2052 #if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD)
2053 FCFuncStart(gWindowsRuntimeMetadata)
2054     QCFuncElement("nResolveNamespace", CLRPrivTypeCacheReflectionOnlyWinRT::ResolveNamespace)
2055 FCFuncEnd()
2056 #endif //FEATURE_COMINTEROP && FEATURE_REFLECTION_ONLY_LOAD
2057
2058 #ifdef FEATURE_COMINTEROP
2059 FCFuncStart(gWindowsRuntimeBufferHelperFuncs)
2060     QCFuncElement("StoreOverlappedPtrInCCW", WindowsRuntimeBufferHelper::StoreOverlappedPtrInCCW) 
2061     //QCFuncElement("ReleaseOverlapped", WindowsRuntimeBufferHelper::ReleaseOverlapped) 
2062 FCFuncEnd()
2063 #endif // ifdef FEATURE_COMINTEROP
2064
2065 #if defined(FEATURE_EVENTSOURCE_XPLAT)
2066 FCFuncStart(gEventLogger)
2067     QCFuncElement("IsEventSourceLoggingEnabled", XplatEventSourceLogger::IsEventSourceLoggingEnabled)
2068     QCFuncElement("LogEventSource", XplatEventSourceLogger::LogEventSource)
2069 FCFuncEnd()
2070 #endif // defined(FEATURE_EVENTSOURCE_XPLAT)
2071
2072 #ifdef FEATURE_COMINTEROP
2073 FCFuncStart(gRuntimeClassFuncs)
2074     FCFuncElement("GetRedirectedGetHashCodeMD", ComObject::GetRedirectedGetHashCodeMD)
2075     FCFuncElement("RedirectGetHashCode", ComObject::RedirectGetHashCode)
2076     FCFuncElement("GetRedirectedToStringMD", ComObject::GetRedirectedToStringMD)
2077     FCFuncElement("RedirectToString", ComObject::RedirectToString)
2078     FCFuncElement("GetRedirectedEqualsMD", ComObject::GetRedirectedEqualsMD)
2079     FCFuncElement("RedirectEquals", ComObject::RedirectEquals)
2080 FCFuncEnd()
2081 #endif // ifdef FEATURE_COMINTEROP
2082 FCFuncStart(gWeakReferenceFuncs)
2083     FCFuncElement("Create", WeakReferenceNative::Create)
2084     FCFuncElement("Finalize", WeakReferenceNative::Finalize)
2085     FCFuncElement("get_Target", WeakReferenceNative::GetTarget)
2086     FCFuncElement("set_Target", WeakReferenceNative::SetTarget)
2087     FCFuncElement("get_IsAlive", WeakReferenceNative::IsAlive)
2088     FCFuncElement("IsTrackResurrection", WeakReferenceNative::IsTrackResurrection)
2089 FCFuncEnd()
2090
2091 FCFuncStart(gWeakReferenceOfTFuncs)
2092     FCFuncElement("Create", WeakReferenceOfTNative::Create)
2093     FCFuncElement("Finalize", WeakReferenceOfTNative::Finalize)
2094     FCFuncElement("get_Target", WeakReferenceOfTNative::GetTarget)
2095     FCFuncElement("set_Target", WeakReferenceOfTNative::SetTarget)
2096     FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection)
2097 FCFuncEnd()
2098
2099 #ifdef FEATURE_COMINTEROP
2100
2101 //
2102 // ECall helpers for the standard managed interfaces.
2103 //
2104
2105 #define MNGSTDITF_BEGIN_INTERFACE(FriendlyName, strMngItfName, strUCOMMngItfName, strCustomMarshalerName, strCustomMarshalerCookie, strManagedViewName, NativeItfIID, bCanCastOnNativeItfQI) \
2106 FCFuncStart(g##FriendlyName##Funcs)
2107
2108 #define MNGSTDITF_DEFINE_METH_IMPL(FriendlyName, FCallMethName, MethName, MethSig, FcallDecl) \
2109     FCUnreferenced FCFuncElementSig(#MethName, MethSig, FriendlyName::FCallMethName)
2110
2111 #define MNGSTDITF_END_INTERFACE(FriendlyName) \
2112 FCFuncEnd()
2113
2114 #include "mngstditflist.h"
2115
2116 #undef MNGSTDITF_BEGIN_INTERFACE
2117 #undef MNGSTDITF_DEFINE_METH_IMPL
2118 #undef MNGSTDITF_END_INTERFACE
2119
2120 #endif // FEATURE_COMINTEROP
2121
2122
2123 //
2124 //
2125 // Class definitions
2126 //
2127 //
2128
2129 // Note these have to remain sorted by name:namespace pair (Assert will wack you if you don't)
2130 // The sorting is case-sensitive
2131
2132 FCClassElement("AppDomain", "System", gAppDomainFuncs)
2133 FCClassElement("AppDomainManager", "System", gAppDomainManagerFuncs)
2134 #ifdef FEATURE_FUSION
2135 FCClassElement("AppDomainSetup", "System", gAppDomainSetupFuncs)
2136 #endif // FEATURE_FUSION
2137 FCClassElement("ArgIterator", "System", gVarArgFuncs)
2138 FCClassElement("Array", "System", gArrayFuncs)
2139 FCClassElement("ArrayWithOffset", "System.Runtime.InteropServices", gArrayWithOffsetFuncs)
2140 FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFuncs)
2141 #ifdef FEATURE_CAS_POLICY
2142 FCClassElement("AssemblyEvidenceFactory", "System.Security.Policy", gAssemblyEvidenceFactoryFuncs)
2143 #endif // FEATURE_CAS_POLICY
2144
2145 #ifdef FEATURE_CORECLR
2146 FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs)
2147 #endif
2148
2149 #if defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
2150 FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs)
2151 #endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER)
2152
2153 FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs)
2154 FCClassElement("Assert", "System.Diagnostics", gDiagnosticsAssert)
2155 FCClassElement("BCLDebug", "System", gBCLDebugFuncs)
2156 #ifndef FEATURE_CORECLR
2157 FCClassElement("BaseConfigHandler", "System", gConfigHelper)
2158 #endif // FEATURE_CORECLR
2159 FCClassElement("Buffer", "System", gBufferFuncs)
2160 #ifndef FEATURE_CORECLR
2161 // Since the 2nd letter of the classname is capital, we need to sort this before all class names
2162 // that start with Cx where x is any small letter (strcmp is used for verification).
2163 FCClassElement("CLRConfig", "System", gCLRConfigFuncs)
2164 #endif // FEATURE_CORECLR
2165 #if !defined(FEATURE_COREFX_GLOBALIZATION)
2166 FCClassElement("CalendarData", "System.Globalization", gCalendarDataFuncs)
2167 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
2168 #ifndef FEATURE_CORECLR
2169 FCClassElement("ChannelServices", "System.Runtime.Remoting.Channels", gChannelServicesFuncs)
2170 #endif // FEATURE_CORECLR
2171 #ifdef FEATURE_CAS_POLICY
2172 FCClassElement("CodeAccessSecurityEngine", "System.Security", gCodeAccessSecurityEngineFuncs)
2173 #endif
2174 FCClassElement("CompareInfo", "System.Globalization", gCompareInfoFuncs)
2175 FCClassElement("CompatibilitySwitch", "System.Runtime.Versioning", gCompatibilitySwitchFuncs)
2176 #ifdef FEATURE_COMPRESSEDSTACK    
2177 FCClassElement("CompressedStack", "System.Threading", gCompressedStackFuncs)
2178 #endif // FEATURE_COMPRESSEDSTACK    
2179 #ifdef FEATURE_CAS_POLICY
2180 FCClassElement("Config", "System.Security.Util", gPolicyConfigFuncs)
2181 #endif // FEATURE_CAS_POLICY
2182 #ifndef FEATURE_CORECLR
2183 FCClassElement("Console", "System", gConsoleFuncs)
2184 #endif // ifndef FEATURE_CORECLR
2185 #ifdef FEATURE_REMOTING    
2186 FCClassElement("Context", "System.Runtime.Remoting.Contexts", gContextFuncs)
2187 #endif
2188 FCClassElement("CriticalHandle", "System.Runtime.InteropServices", gCriticalHandleFuncs)
2189 #if !defined(FEATURE_COREFX_GLOBALIZATION)
2190 FCClassElement("CultureData", "System.Globalization", gCultureDataFuncs)
2191 FCClassElement("CultureInfo", "System.Globalization", gCultureInfoFuncs)
2192 #endif
2193 FCClassElement("Currency", "System", gCurrencyFuncs)
2194 #ifndef FEATURE_CORECLR
2195 FCClassElement("CurrentSystemTimeZone", "System", gTimeZoneFuncs)
2196 #endif // FEATURE_CORECLR
2197 FCClassElement("CustomAttribute", "System.Reflection", gCOMCustomAttributeFuncs)
2198 FCClassElement("CustomAttributeEncodedArgument", "System.Reflection", gCustomAttributeEncodedArgument)
2199 FCClassElement("DateMarshaler", "System.StubHelpers", gDateMarshalerFuncs)
2200 FCClassElement("DateTime", "System", gDateTimeFuncs)
2201 FCClassElement("Debugger", "System.Diagnostics", gDiagnosticsDebugger)
2202 FCClassElement("Decimal", "System", gDecimalFuncs)
2203 FCClassElement("DefaultBinder", "System", gCOMDefaultBinderFuncs)
2204 FCClassElement("Delegate", "System", gDelegateFuncs)
2205 FCClassElement("DependentHandle", "System.Runtime.CompilerServices", gDependentHandleFuncs)
2206 #ifdef FEATURE_COMPRESSEDSTACK
2207 FCClassElement("DomainCompressedStack", "System.Threading", gDomainCompressedStackFuncs)    
2208 #endif // FEATURE_COMPRESSEDSTACK    
2209 #if !defined(FEATURE_COREFX_GLOBALIZATION)
2210 FCClassElement("EncodingTable", "System.Globalization", gEncodingTableFuncs)
2211 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
2212 FCClassElement("Enum", "System", gEnumFuncs)
2213 FCClassElement("Environment", "System", gEnvironmentFuncs)
2214 #ifdef FEATURE_COMINTEROP
2215 FCClassElement("EventArgsMarshaler", "System.StubHelpers", gEventArgsMarshalerFuncs)
2216 #endif // FEATURE_COMINTEROP
2217 FCClassElement("Exception", "System", gExceptionFuncs)
2218 #if defined(FEATURE_COMINTEROP) && !defined(FEATURE_CORECLR)
2219 FCClassElement("ExtensibleClassFactory", "System.Runtime.InteropServices", gExtensibleClassFactoryFuncs)
2220 #endif
2221 FCClassElement("FileIOAccess", "System.Security.Permissions", gCOMFileIOAccessFuncs)
2222 FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs)
2223 FCClassElement("FormatterServices", "System.Runtime.Serialization", gSerializationFuncs)
2224 #ifdef FEATURE_CAS_POLICY
2225 FCClassElement("FrameSecurityDescriptor", "System.Security", gFrameSecurityDescriptorFuncs)
2226 #endif
2227 FCClassElement("GC", "System", gGCInterfaceFuncs)
2228 FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs)
2229 #ifdef FEATURE_CAS_POLICY
2230 FCClassElement("HostExecutionContextManager", "System.Threading", gHostExecutionContextManagerFuncs)
2231 #endif // FEATURE_CAS_POLICY
2232 #ifdef FEATURE_COMINTEROP
2233 FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs)
2234 FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs)
2235 FCClassElement("IExpando", "System.Runtime.InteropServices.Expando", gStdMngIExpandoFuncs)
2236 #endif // FEATURE_COMINTEROP
2237 FCClassElement("ILCover", "System.Coverage", gCoverageFuncs)
2238 #ifdef FEATURE_COMINTEROP
2239 FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs)
2240 #endif
2241 #ifdef FEATURE_COMINTEROP
2242 FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs)
2243 #endif
2244 FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs)
2245 #if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT)
2246 FCClassElement("IsolatedStorage", "System.IO.IsolatedStorage", gIsolatedStorage)
2247 FCClassElement("IsolatedStorageFile", "System.IO.IsolatedStorage", gIsolatedStorageFile)
2248 #endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT
2249 FCClassElement("JitHelpers", "System.Runtime.CompilerServices", gJitHelpers)
2250 FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs)
2251 FCClassElement("Log", "System.Diagnostics", gDiagnosticsLog)
2252 FCClassElement("ManifestBasedResourceGroveler", "System.Resources",  gManifestBasedResourceGrovelerFuncs)
2253 FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs)
2254 #ifdef FEATURE_REMOTING
2255 FCClassElement("MarshalByRefObject", "System", gMarshalByRefFuncs)
2256 #endif
2257 FCClassElement("Math", "System", gMathFuncs)
2258 #ifdef MDA_SUPPORTED 
2259 FCClassElement("Mda", "System", gMda)
2260 #endif
2261 #ifndef FEATURE_CORECLR
2262 FCClassElement("MemoryFailPoint", "System.Runtime", gMemoryFailPointFuncs)
2263 #endif // FEATURE_CORECLR
2264 #ifdef FEATURE_REMOTING    
2265 FCClassElement("Message", "System.Runtime.Remoting.Messaging", gMessageFuncs)
2266 #endif    
2267 FCClassElement("MetadataImport", "System.Reflection", gMetaDataImport)
2268 #ifdef FEATURE_METHOD_RENTAL
2269 FCClassElement("MethodRental", "System.Reflection.Emit", gCOMMethodRental)
2270 #endif // FEATURE_METHOD_RENTAL
2271 FCClassElement("MissingMemberException", "System",  gMissingMemberExceptionFuncs)
2272 #ifdef FEATURE_COMINTEROP
2273 FCClassElement("MngdHiddenLengthArrayMarshaler", "System.StubHelpers", gMngdHiddenLengthArrayMarshalerFuncs)
2274 #endif // FEATURE_COMINTEROP
2275 FCClassElement("MngdNativeArrayMarshaler", "System.StubHelpers", gMngdNativeArrayMarshalerFuncs)    
2276 FCClassElement("MngdRefCustomMarshaler", "System.StubHelpers", gMngdRefCustomMarshalerFuncs)    
2277 #ifdef FEATURE_COMINTEROP
2278 FCClassElement("MngdSafeArrayMarshaler", "System.StubHelpers", gMngdSafeArrayMarshalerFuncs)  
2279 #endif // FEATURE_COMINTEROP
2280 FCClassElement("ModuleBuilder", "System.Reflection.Emit", gCOMModuleBuilderFuncs)
2281 FCClassElement("ModuleHandle", "System", gCOMModuleHandleFuncs)
2282 FCClassElement("Monitor", "System.Threading", gMonitorFuncs)
2283 #ifndef FEATURE_CORECLR
2284 FCClassElement("Normalization", "System.Text", gNormalizationFuncs)
2285 #endif // FEATURE_CORECLR
2286 FCClassElement("Number", "System", gNumberFuncs)
2287 #ifdef FEATURE_COMINTEROP
2288 FCClassElement("OAVariantLib", "Microsoft.Win32", gOAVariantFuncs)
2289 #endif
2290 FCClassElement("Object", "System", gObjectFuncs)
2291 #ifdef FEATURE_COMINTEROP
2292 FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs)
2293 #endif
2294 FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs)
2295 #ifdef FEATURE_CAS_POLICY
2296 FCClassElement("PEFileEvidenceFactory", "System.Security.Policy", gPEFileEvidenceFactoryFuncs)
2297 #endif // FEATURE_CAS_POLICY
2298 FCClassElement("ParseNumbers", "System", gParseNumbersFuncs)
2299 #ifndef FEATURE_CORECLR
2300 FCClassElement("PasswordDeriveBytes", "System.Security.Cryptography", gPasswordDeriveBytesFuncs)
2301 #endif
2302 #ifdef FEATURE_CAS_POLICY
2303 FCClassElement("PolicyManager", "System.Security", gPolicyManagerFuncs)
2304 #endif    
2305
2306 #if defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR)
2307 FCClassElement("ProfileOptimization", "System.Runtime", gProfileOptimizationFuncs)
2308 #endif  // defined(FEATURE_MULTICOREJIT) && !defined(FEATURE_CORECLR)
2309
2310 FCClassElement("PseudoCustomAttribute", "System.Reflection", gPseudoCustomAttribute)
2311 #ifdef FEATURE_CORECLR
2312 FCClassElement("PunkSafeHandle", "System.Reflection.Emit", gSymWrapperCodePunkSafeHandleFuncs)
2313 #endif
2314 #ifndef FEATURE_CORECLR
2315 FCClassElement("RNGCryptoServiceProvider", "System.Security.Cryptography", gRNGCryptoServiceProviderFuncs)
2316 #endif
2317 #ifdef FEATURE_CRYPTO
2318 FCClassElement("RSACryptoServiceProvider", "System.Security.Cryptography", gRSACryptoServiceProviderFuncs)
2319 #endif
2320 #ifdef FEATURE_RWLOCK
2321 FCClassElement("ReaderWriterLock", "System.Threading", gRWLockFuncs)
2322 #endif  // FEATURE_RWLOCK
2323 #ifdef FEATURE_REMOTING    
2324 FCClassElement("RealProxy", "System.Runtime.Remoting.Proxies", gRealProxyFuncs)
2325 #endif    
2326 FCClassElement("RegisteredWaitHandleSafe", "System.Threading", gRegisteredWaitHandleFuncs)
2327 #ifdef FEATURE_COMINTEROP
2328 #ifdef FEATURE_COMINTEROP_MANAGED_ACTIVATION
2329 FCClassElement("RegistrationServices", "System.Runtime.InteropServices", gRegistrationFuncs)
2330 #endif // FEATURE_COMINTEROP_MANAGED_ACTIVATION
2331 #endif // FEATURE_COMINTEROP
2332
2333 #ifdef FEATURE_REMOTING
2334 FCClassElement("RemotingServices", "System.Runtime.Remoting", gRemotingFuncs)
2335 #endif
2336 #if defined(FEATURE_CRYPTO)
2337 FCClassElement("Rfc2898DeriveBytes", "System.Security.Cryptography", gRfc2898DeriveBytesFuncs)
2338 #endif
2339 FCClassElement("RtFieldInfo", "System.Reflection", gRuntimeFieldInfoFuncs)
2340 FCClassElement("RuntimeAssembly", "System.Reflection", gAssemblyFuncs)
2341 #ifdef FEATURE_COMINTEROP    
2342 FCClassElement("RuntimeClass", "System.Runtime.InteropServices.WindowsRuntime", gRuntimeClassFuncs)
2343 #endif // FEATURE_COMINTEROP    
2344 FCClassElement("RuntimeEnvironment", "System.Runtime.InteropServices", gRuntimeEnvironmentFuncs)
2345 FCClassElement("RuntimeFieldHandle", "System", gCOMFieldHandleNewFuncs)
2346 FCClassElement("RuntimeHelpers", "System.Runtime.CompilerServices", gCompilerFuncs)
2347 FCClassElement("RuntimeMethodHandle", "System", gRuntimeMethodHandle)
2348 FCClassElement("RuntimeModule", "System.Reflection", gCOMModuleFuncs)
2349 FCClassElement("RuntimeType", "System", gSystem_RuntimeType)
2350 FCClassElement("RuntimeTypeHandle", "System", gCOMTypeHandleFuncs)
2351 FCClassElement("SafeBuffer", "System.Runtime.InteropServices", gSafeBufferFuncs)
2352 #ifdef FEATURE_X509
2353 FCClassElement("SafeCertContextHandle", "System.Security.Cryptography.X509Certificates", gX509SafeCertContextHandleFuncs)
2354 #ifndef FEATURE_CORECLR
2355 FCClassElement("SafeCertStoreHandle", "System.Security.Cryptography.X509Certificates", gX509SafeCertStoreHandleFuncs)
2356 #endif // FEATURE_CORECLR
2357 #endif // FEATURE_X509
2358 FCClassElement("SafeHandle", "System.Runtime.InteropServices", gSafeHandleFuncs)
2359 #ifdef FEATURE_CRYPTO
2360 FCClassElement("SafeHashHandle", "System.Security.Cryptography", gSafeHashHandleFuncs)
2361 #endif // FEATURE_CRYPTO
2362 #if defined(FEATURE_ISOSTORE) && !defined(FEATURE_ISOSTORE_LIGHT)
2363 FCClassElement("SafeIsolatedStorageFileHandle", "System.IO.IsolatedStorage", gIsolatedStorageFileHandle)
2364 #endif // FEATURE_ISOSTORE && !FEATURE_ISOSTORE_LIGHT
2365 #ifdef FEATURE_CRYPTO
2366 FCClassElement("SafeKeyHandle", "System.Security.Cryptography", gSafeKeyHandleFuncs)
2367 #endif
2368 #ifdef FEATURE_CAS_POLICY
2369 FCClassElement("SafePEFileHandle", "Microsoft.Win32.SafeHandles", gPEFileFuncs)
2370 #endif // FEATURE_CAS_POLICY
2371 #ifdef FEATURE_CRYPTO
2372 FCClassElement("SafeProvHandle", "System.Security.Cryptography", gSafeProvHandleFuncs)
2373 #endif
2374 #ifndef FEATURE_CORECLR
2375 FCClassElement("SafeTypeNameParserHandle", "System", gSafeTypeNameParserHandle)
2376 #endif //!FEATURE_CORECLR
2377 #if defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK)
2378 FCClassElement("SecurityContext", "System.Security", gCOMSecurityContextFuncs)
2379 #endif // defined(FEATURE_IMPERSONATION) || defined(FEATURE_COMPRESSEDSTACK)
2380 FCClassElement("SecurityContextFrame", "System.Reflection", gSecurityContextFrameFuncs)
2381 FCClassElement("SecurityManager", "System.Security", gCOMSecurityManagerFuncs)
2382 #ifdef FEATURE_CAS_POLICY
2383 FCClassElement("SecurityRuntime", "System.Security", gCOMSecurityRuntimeFuncs)
2384 #endif
2385 FCClassElement("Signature", "System", gSignatureNative)
2386 #ifndef FEATURE_CORECLR
2387 FCClassElement("SizedReference", "System", gSizedRefHandleFuncs)
2388 #endif // !FEATURE_CORECLR
2389 #ifdef FEATURE_REMOTING    
2390 FCClassElement("StackBuilderSink", "System.Runtime.Remoting.Messaging", gStackBuilderSinkFuncs)
2391 #endif    
2392 FCClassElement("StackTrace", "System.Diagnostics", gDiagnosticsStackTrace)
2393 FCClassElement("Stream", "System.IO", gStreamFuncs)
2394 FCClassElement("String", "System", gStringFuncs)
2395 FCClassElement("StringBuilder", "System.Text", gStringBufferFuncs)
2396 FCClassElement("StringExpressionSet", "System.Security.Util", gCOMStringExpressionSetFuncs)
2397 FCClassElement("StubHelpers", "System.StubHelpers", gStubHelperFuncs)
2398 #if defined(FEATURE_SYNCHRONIZATIONCONTEXT_WAIT) || defined(FEATURE_APPX)
2399 FCClassElement("SynchronizationContext", "System.Threading", gContextSynchronizationFuncs)
2400 #endif // FEATURE_SYNCHRONIZATIONCONTEXT_WAIT || FEATURE_APPX
2401 #if !defined(FEATURE_COREFX_GLOBALIZATION)
2402 FCClassElement("TextInfo", "System.Globalization", gTextInfoFuncs)
2403 #endif // !defined(FEATURE_COREFX_GLOBALIZATION)
2404 FCClassElement("Thread", "System.Threading", gThreadFuncs)
2405 FCClassElement("ThreadPool", "System.Threading", gThreadPoolFuncs)
2406 #ifndef FEATURE_CORECLR
2407 FCClassElement("TimeSpan", "System", gTimeSpanFuncs)
2408 #endif // !FEATURE_CORECLR
2409 FCClassElement("TimerQueue", "System.Threading", gTimerFuncs)
2410 FCClassElement("Type", "System", gSystem_Type)
2411 FCClassElement("TypeBuilder", "System.Reflection.Emit", gCOMClassWriter)
2412 #ifdef FEATURE_COMINTEROP_TLB_SUPPORT
2413 FCClassElement("TypeLibConverter", "System.Runtime.InteropServices", gTypeLibConverterFuncs)
2414 #endif
2415 FCClassElement("TypeLoadException", "System", gTypeLoadExceptionFuncs)
2416 FCClassElement("TypeNameBuilder", "System.Reflection.Emit", gTypeNameBuilder)
2417 #ifndef FEATURE_CORECLR
2418 FCClassElement("TypeNameParser", "System", gTypeNameParser)
2419 #endif //!FEATURE_CORECLR
2420 FCClassElement("TypedReference", "System", gTypedReferenceFuncs)
2421 FCClassElement("URLString", "System.Security.Util", gCOMUrlStringFuncs)
2422 #ifdef FEATURE_COMINTEROP
2423 FCClassElement("UriMarshaler", "System.StubHelpers", gUriMarshalerFuncs)
2424 #endif
2425 FCClassElement("Utf8String", "System", gUtf8String)
2426 #ifdef FEATURE_CRYPTO
2427 FCClassElement("Utils", "System.Security.Cryptography", gCryptographyUtilsFuncs)
2428 #endif
2429 FCClassElement("ValueClassMarshaler", "System.StubHelpers", gValueClassMarshalerFuncs)
2430 FCClassElement("ValueType", "System", gValueTypeFuncs)
2431 #ifdef FEATURE_COMINTEROP
2432 FCClassElement("Variant", "System", gVariantFuncs)
2433 #endif
2434 FCClassElement("VersioningHelper", "System.Runtime.Versioning", gVersioningHelperFuncs)
2435 FCClassElement("WaitHandle", "System.Threading", gWaitHandleFuncs)
2436 FCClassElement("WeakReference", "System", gWeakReferenceFuncs)
2437 FCClassElement("WeakReference`1", "System", gWeakReferenceOfTFuncs)
2438
2439 #ifndef FEATURE_CORECLR
2440 FCClassElement("Win32", "System.Security.Principal", gPrincipalFuncs)
2441 #endif
2442
2443 #ifdef FEATURE_COMINTEROP
2444 FCClassElement("WinRTTypeNameConverter", "System.StubHelpers", gWinRTTypeNameConverterFuncs)
2445 #endif // FEATURE_COMINTEROP
2446
2447 #ifdef FEATURE_COMINTEROP
2448 FCClassElement("WindowsRuntimeBufferHelper", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeBufferHelperFuncs)                    
2449 #endif
2450
2451 #ifndef FEATURE_CORECLR
2452 FCClassElement("WindowsRuntimeDesignerContext", "System.Runtime.DesignerServices", gWindowsRuntimeContextFuncs)
2453 #endif
2454
2455 #if defined(FEATURE_COMINTEROP) && defined(FEATURE_REFLECTION_ONLY_LOAD)
2456 FCClassElement("WindowsRuntimeMetadata", "System.Runtime.InteropServices.WindowsRuntime", gWindowsRuntimeMetadata)
2457 #endif
2458
2459 #ifdef FEATURE_X509
2460 FCClassElement("X509Utils", "System.Security.Cryptography.X509Certificates", gX509CertificateFuncs)
2461 #endif // FEATURE_X509
2462 #if defined(FEATURE_EVENTSOURCE_XPLAT)
2463 FCClassElement("XplatEventLogger", "System.Diagnostics.Tracing", gEventLogger)
2464 #endif //defined(FEATURE_EVENTSOURCE_XPLAT)
2465 #ifdef FEATURE_CAS_POLICY
2466 FCClassElement("Zone", "System.Security.Policy", gCOMSecurityZone)
2467 #endif // FEATURE_CAS_POLICY
2468 #ifndef FEATURE_CORECLR
2469 FCClassElement("__ConsoleStream", "System.IO", gConsoleStreamFuncs)
2470 #endif
2471
2472
2473 #undef FCFuncElement
2474 #undef FCFuncElementSig
2475 #undef FCIntrinsic
2476 #undef FCIntrinsicSig
2477 #undef QCFuncElement
2478 #undef FCDynamic
2479 #undef FCDynamicSig
2480 #undef FCUnreferenced
2481 #undef FCFuncStart
2482 #undef FCFuncEnd
2483 #undef FCClassElement