summaryrefslogtreecommitdiff
path: root/src/debug/inc/ddshared.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/inc/ddshared.h')
-rw-r--r--src/debug/inc/ddshared.h155
1 files changed, 155 insertions, 0 deletions
diff --git a/src/debug/inc/ddshared.h b/src/debug/inc/ddshared.h
new file mode 100644
index 0000000000..36a034cd01
--- /dev/null
+++ b/src/debug/inc/ddshared.h
@@ -0,0 +1,155 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+
+// Common auto-generated header between Packer + Unpacker
+// Shared template
+
+// This would be the place to define structs taht get passed back and forth.
+
+#ifndef _DD_SHARED_H_
+#define _DD_SHARED_H_
+
+// Header?
+// Define unique message ID for each DD interface
+enum DD_MessageId {
+ DDID_CheckDbiVersion, // HRESULT CheckDbiVersion(const DbiVersion * pVersion)
+ DDID_GetLocalInterfaceHashAndTimestamp, // void GetLocalInterfaceHashAndTimestamp(DWORD & hash1, DWORD & hash2, DWORD & hash3, DWORD & hash4, DWORD & timestamp1, DWORD & timestamp2)
+ DDID_GetRemoteInterfaceHashAndTimestamp, // void GetRemoteInterfaceHashAndTimestamp(DWORD & hash1, DWORD & hash2, DWORD & hash3, DWORD & hash4, DWORD & timestamp1, DWORD & timestamp2)
+ DDID_FlushCache, // HRESULT FlushCache()
+ DDID_DacSetTargetConsistencyChecks, // void DacSetTargetConsistencyChecks(bool fEnableAsserts)
+ DDID_Destroy, // void Destroy()
+ DDID_IsLeftSideInitialized, // BOOL IsLeftSideInitialized()
+ DDID_GetAppDomainFromId, // VMPTR_AppDomain GetAppDomainFromId(ULONG appdomainId)
+ DDID_GetAppDomainId, // ULONG GetAppDomainId(VMPTR_AppDomain vmAppDomain)
+ DDID_GetAppDomainObject, // VMPTR_OBJECTHANDLE GetAppDomainObject(VMPTR_AppDomain vmAppDomain)
+ DDID_IsDefaultDomain, // BOOL IsDefaultDomain(VMPTR_AppDomain vmAppDomain)
+ DDID_GetAssemblyFromDomainAssembly, // void GetAssemblyFromDomainAssembly(VMPTR_DomainAssembly vmDomainAssembly, VMPTR_Assembly * vmAssembly)
+ DDID_IsAssemblyFullyTrusted, // BOOL IsAssemblyFullyTrusted(VMPTR_DomainAssembly vmDomainAssembly)
+ DDID_GetAppDomainFullName, // void GetAppDomainFullName(VMPTR_AppDomain vmAppDomain, IStringHolder * pStrName)
+ DDID_GetModuleSimpleName, // void GetModuleSimpleName(VMPTR_Module vmModule, IStringHolder * pStrFilename)
+ DDID_GetAssemblyPath, // BOOL GetAssemblyPath(VMPTR_Assembly vmAssembly, IStringHolder * pStrFilename)
+ DDID_ResolveTypeReference, // void ResolveTypeReference(const TypeRefData * pTypeRefInfo, TypeRefData * pTargetRefInfo)
+ DDID_GetModulePath, // BOOL GetModulePath(VMPTR_Module vmModule, IStringHolder * pStrFilename)
+ DDID_GetModuleNGenPath, // BOOL GetModuleNGenPath(VMPTR_Module vmModule, IStringHolder * pStrFilename)
+ DDID_GetMetadata, // void GetMetadata(VMPTR_Module vmModule, TargetBuffer * pTargetBuffer)
+ DDID_GetSymbolsBuffer, // void GetSymbolsBuffer(VMPTR_Module vmModule, TargetBuffer * pTargetBuffer, IDacDbiInterface::SymbolFormat * pSymbolFormat)
+ DDID_GetModuleData, // void GetModuleData(VMPTR_Module vmModule, ModuleInfo * pData)
+ DDID_GetDomainFileData, // void GetDomainFileData(VMPTR_DomainFile vmDomainFile, DomainFileInfo * pData)
+ DDID_GetModuleForDomainFile, // void GetModuleForDomainFile(VMPTR_DomainFile vmDomainFile, VMPTR_Module * pModule)
+ DDID_GetAddressType, // IDacDbiInterface::AddressType GetAddressType(CORDB_ADDRESS address)
+ DDID_IsTransitionStub, // BOOL IsTransitionStub(CORDB_ADDRESS address)
+ DDID_GetCompilerFlags, // void GetCompilerFlags(VMPTR_DomainFile vmDomainFile, BOOL * pfAllowJITOpts, BOOL * pfEnableEnC)
+ DDID_SetCompilerFlags, // HRESULT SetCompilerFlags(VMPTR_DomainFile vmDomainFile, BOOL fAllowJitOpts, BOOL fEnableEnC)
+ DDID_EnumerateAppDomains, // void EnumerateAppDomains(IDacDbiInterface::FP_APPDOMAIN_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_EnumerateAssembliesInAppDomain, // void EnumerateAssembliesInAppDomain(VMPTR_AppDomain vmAppDomain, IDacDbiInterface::FP_ASSEMBLY_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_EnumerateModulesInAssembly, // void EnumerateModulesInAssembly(VMPTR_DomainAssembly vmAssembly, IDacDbiInterface::FP_MODULE_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_RequestSyncAtEvent, // void RequestSyncAtEvent()
+ DDID_MarkDebuggerAttachPending, // void MarkDebuggerAttachPending()
+ DDID_MarkDebuggerAttached, // void MarkDebuggerAttached(BOOL fAttached)
+ DDID_Hijack, // void Hijack(VMPTR_Thread vmThread, ULONG32 dwThreadId, const EXCEPTION_RECORD * pRecord, T_CONTEXT * pOriginalContext, ULONG32 cbSizeContext, EHijackReason::EHijackReason reason, void * pUserData, CORDB_ADDRESS * pRemoteContextAddr)
+ DDID_EnumerateConnections, // void EnumerateConnections(IDacDbiInterface::FP_CONNECTION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_EnumerateThreads, // void EnumerateThreads(IDacDbiInterface::FP_THREAD_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_IsThreadMarkedDead, // bool IsThreadMarkedDead(VMPTR_Thread vmThread)
+ DDID_GetThreadHandle, // HANDLE GetThreadHandle(VMPTR_Thread vmThread)
+ DDID_GetThreadObject, // VMPTR_OBJECTHANDLE GetThreadObject(VMPTR_Thread vmThread)
+ DDID_SetDebugState, // void SetDebugState(VMPTR_Thread vmThread, CorDebugThreadState debugState)
+ DDID_HasUnhandledException, // BOOL HasUnhandledException(VMPTR_Thread vmThread)
+ DDID_GetUserState, // CorDebugUserState GetUserState(VMPTR_Thread vmThread)
+ DDID_GetConnectionID, // CONNID GetConnectionID(VMPTR_Thread vmThread)
+ DDID_GetTaskID, // TASKID GetTaskID(VMPTR_Thread vmThread)
+ DDID_TryGetVolatileOSThreadID, // DWORD TryGetVolatileOSThreadID(VMPTR_Thread vmThread)
+ DDID_GetUniqueThreadID, // DWORD GetUniqueThreadID(VMPTR_Thread vmThread)
+ DDID_GetCurrentException, // VMPTR_OBJECTHANDLE GetCurrentException(VMPTR_Thread vmThread)
+ DDID_GetCurrentCustomDebuggerNotification, // VMPTR_OBJECTHANDLE GetCurrentCustomDebuggerNotification(VMPTR_Thread vmThread)
+ DDID_GetCurrentAppDomain, // VMPTR_AppDomain GetCurrentAppDomain(VMPTR_Thread vmThread)
+ DDID_ResolveAssembly, // VMPTR_DomainAssembly ResolveAssembly(VMPTR_DomainFile vmScope, mdToken tkAssemblyRef)
+ DDID_GetNativeCodeSequencePointsAndVarInfo, // void GetNativeCodeSequencePointsAndVarInfo(VMPTR_MethodDesc vmMethodDesc, CORDB_ADDRESS startAddress, BOOL fCodeAvailabe, NativeVarData * pNativeVarData, SequencePoints * pSequencePoints)
+ DDID_GetManagedStoppedContext, // VMPTR_CONTEXT GetManagedStoppedContext(VMPTR_Thread vmThread)
+ DDID_CreateStackWalk, // void CreateStackWalk(VMPTR_Thread vmThread, DT_CONTEXT * pInternalContextBuffer, StackWalkHandle * ppSFIHandle)
+ DDID_DeleteStackWalk, // void DeleteStackWalk(StackWalkHandle ppSFIHandle)
+ DDID_GetStackWalkCurrentContext, // void GetStackWalkCurrentContext(StackWalkHandle pSFIHandle, DT_CONTEXT * pContext)
+ DDID_SetStackWalkCurrentContext, // void SetStackWalkCurrentContext(VMPTR_Thread vmThread, StackWalkHandle pSFIHandle, CorDebugSetContextFlag flag, DT_CONTEXT * pContext)
+ DDID_UnwindStackWalkFrame, // BOOL UnwindStackWalkFrame(StackWalkHandle pSFIHandle)
+ DDID_CheckContext, // HRESULT CheckContext(VMPTR_Thread vmThread, const DT_CONTEXT * pContext)
+ DDID_GetStackWalkCurrentFrameInfo, // IDacDbiInterface::FrameType GetStackWalkCurrentFrameInfo(StackWalkHandle pSFIHandle, DebuggerIPCE_STRData * pFrameData)
+ DDID_GetCountOfInternalFrames, // ULONG32 GetCountOfInternalFrames(VMPTR_Thread vmThread)
+ DDID_EnumerateInternalFrames, // void EnumerateInternalFrames(VMPTR_Thread vmThread, IDacDbiInterface::FP_INTERNAL_FRAME_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_IsMatchingParentFrame, // BOOL IsMatchingParentFrame(FramePointer fpToCheck, FramePointer fpParent)
+ DDID_GetStackParameterSize, // ULONG32 GetStackParameterSize(CORDB_ADDRESS controlPC)
+ DDID_GetFramePointer, // FramePointer GetFramePointer(StackWalkHandle pSFIHandle)
+ DDID_IsLeafFrame, // BOOL IsLeafFrame(VMPTR_Thread vmThread, const DT_CONTEXT * pContext)
+ DDID_GetContext, // void GetContext(VMPTR_Thread vmThread, DT_CONTEXT * pContextBuffer)
+ DDID_ConvertContextToDebuggerRegDisplay, // void ConvertContextToDebuggerRegDisplay(const DT_CONTEXT * pInContext, DebuggerREGDISPLAY * pOutDRD, BOOL fActive)
+ DDID_IsILStubOrLCGMethod, // IDacDbiInterface::DynamicMethodType IsILStubOrLCGMethod(VMPTR_MethodDesc vmMethodDesc)
+ DDID_GetVarArgSig, // TargetBuffer GetVarArgSig(CORDB_ADDRESS VASigCookieAddr, CORDB_ADDRESS * pArgBase)
+ DDID_RequiresAlign8, // BOOL RequiresAlign8(VMPTR_TypeHandle thExact)
+ DDID_ResolveExactGenericArgsToken, // GENERICS_TYPE_TOKEN ResolveExactGenericArgsToken(DWORD dwExactGenericArgsTokenIndex, GENERICS_TYPE_TOKEN rawToken)
+ DDID_GetILCodeAndSig, // void GetILCodeAndSig(VMPTR_DomainFile vmDomainFile, mdToken functionToken, TargetBuffer * pCodeInfo, mdToken * pLocalSigToken)
+ DDID_GetNativeCodeInfo, // void GetNativeCodeInfo(VMPTR_DomainFile vmDomainFile, mdToken functionToken, NativeCodeFunctionData * pCodeInfo)
+ DDID_GetNativeCodeInfoForAddr, // void GetNativeCodeInfoForAddr(VMPTR_MethodDesc vmMethodDesc, CORDB_ADDRESS hotCodeStartAddr, NativeCodeFunctionData * pCodeInfo)
+ DDID_GetClassInfo, // void GetClassInfo(VMPTR_AppDomain vmAppDomain, VMPTR_Module vmModule, mdTypeDef metadataToken, VMPTR_TypeHandle thExact, VMPTR_TypeHandle thApprox, ClassInfo * pData)
+ DDID_GetInstantiationFieldInfo, // void GetInstantiationFieldInfo(VMPTR_DomainFile vmDomainFile, mdTypeDef metadataToken, VMPTR_TypeHandle vmThExact, VMPTR_TypeHandle vmThApprox, DacDbiArrayList<FieldData> * pFieldList, SIZE_T * pObjectSize)
+ DDID_TypeHandleToExpandedTypeInfo, // void TypeHandleToExpandedTypeInfo(AreValueTypesBoxed boxed, VMPTR_AppDomain vmAppDomain, VMPTR_TypeHandle vmTypeHandle, DebuggerIPCE_ExpandedTypeData * pTypeInfo)
+ DDID_GetObjectExpandedTypeInfo, // void GetObjectExpandedTypeInfo(AreValueTypesBoxed boxed, VMPTR_AppDomain vmAppDomain, CORDB_ADDRESS addr, DebuggerIPCE_ExpandedTypeData * pTypeInfo)
+ DDID_GetObjectExpandedTypeInfoFromID, // void GetObjectExpandedTypeInfoFromID(AreValueTypesBoxed boxed, VMPTR_AppDomain vmAppDomain, COR_TYPEID id, DebuggerIPCE_ExpandedTypeData * pTypeInfo)
+ DDID_GetApproxTypeHandle, // VMPTR_TypeHandle GetApproxTypeHandle(TypeInfoList * pTypeData)
+ DDID_GetExactTypeHandle, // HRESULT GetExactTypeHandle(DebuggerIPCE_ExpandedTypeData * pTypeData, ArgInfoList * pArgInfo, VMPTR_TypeHandle & vmTypeHandle)
+ DDID_GetMethodDescParams, // void GetMethodDescParams(VMPTR_AppDomain vmAppDomain, VMPTR_MethodDesc vmMethodDesc, GENERICS_TYPE_TOKEN genericsToken, UINT32 * pcGenericClassTypeParams, TypeParamsList * pGenericTypeParams)
+ DDID_GetThreadOrContextStaticAddress, // CORDB_ADDRESS GetThreadOrContextStaticAddress(VMPTR_FieldDesc vmField, VMPTR_Thread vmRuntimeThread)
+ DDID_GetCollectibleTypeStaticAddress, // CORDB_ADDRESS GetCollectibleTypeStaticAddress(VMPTR_FieldDesc vmField, VMPTR_AppDomain vmAppDomain)
+ DDID_GetEnCHangingFieldInfo, // void GetEnCHangingFieldInfo(const EnCHangingFieldInfo * pEnCFieldInfo, FieldData * pFieldData, BOOL * pfStatic)
+ DDID_GetTypeHandleParams, // void GetTypeHandleParams(VMPTR_AppDomain vmAppDomain, VMPTR_TypeHandle vmTypeHandle, TypeParamsList * pParams)
+ DDID_GetSimpleType, // void GetSimpleType(VMPTR_AppDomain vmAppDomain, CorElementType simpleType, mdTypeDef * pMetadataToken, VMPTR_Module * pVmModule, VMPTR_DomainFile * pVmDomainFile)
+ DDID_IsExceptionObject, // BOOL IsExceptionObject(VMPTR_Object vmObject)
+ DDID_GetStackFramesFromException, // void GetStackFramesFromException(VMPTR_Object vmObject, DacDbiArrayList<DacExceptionCallStackData> & dacStackFrames)
+ DDID_IsRcw, // BOOL IsRcw(VMPTR_Object vmObject)
+ DDID_GetRcwCachedInterfaceTypes, // void GetRcwCachedInterfaceTypes(VMPTR_Object vmObject, VMPTR_AppDomain vmAppDomain, BOOL bIInspectableOnly, DacDbiArrayList<DebuggerIPCE_ExpandedTypeData> * pDacInterfaces)
+ DDID_GetRcwCachedInterfacePointers, // void GetRcwCachedInterfacePointers(VMPTR_Object vmObject, BOOL bIInspectableOnly, DacDbiArrayList<CORDB_ADDRESS> * pDacItfPtrs)
+ DDID_GetCachedWinRTTypesForIIDs, // void GetCachedWinRTTypesForIIDs(VMPTR_AppDomain vmAppDomain, DacDbiArrayList<GUID> & iids, DacDbiArrayList<DebuggerIPCE_ExpandedTypeData> * pTypes)
+ DDID_GetCachedWinRTTypes, // void GetCachedWinRTTypes(VMPTR_AppDomain vmAppDomain, DacDbiArrayList<GUID> * piids, DacDbiArrayList<DebuggerIPCE_ExpandedTypeData> * pTypes)
+ DDID_GetTypedByRefInfo, // void GetTypedByRefInfo(CORDB_ADDRESS pTypedByRef, VMPTR_AppDomain vmAppDomain, DebuggerIPCE_ObjectData * pObjectData)
+ DDID_GetStringData, // void GetStringData(CORDB_ADDRESS objectAddress, DebuggerIPCE_ObjectData * pObjectData)
+ DDID_GetArrayData, // void GetArrayData(CORDB_ADDRESS objectAddress, DebuggerIPCE_ObjectData * pObjectData)
+ DDID_GetBasicObjectInfo, // void GetBasicObjectInfo(CORDB_ADDRESS objectAddress, CorElementType type, VMPTR_AppDomain vmAppDomain, DebuggerIPCE_ObjectData * pObjectData)
+ DDID_TestCrst, // void TestCrst(VMPTR_Crst vmCrst)
+ DDID_TestRWLock, // void TestRWLock(VMPTR_SimpleRWLock vmRWLock)
+ DDID_GetDebuggerControlBlockAddress, // CORDB_ADDRESS GetDebuggerControlBlockAddress()
+ DDID_GetObjectFromRefPtr, // VMPTR_Object GetObjectFromRefPtr(CORDB_ADDRESS ptr)
+ DDID_GetObject, // VMPTR_Object GetObject(CORDB_ADDRESS ptr)
+ DDID_EnableNGENPolicy, // HRESULT EnableNGENPolicy(CorDebugNGENPolicy ePolicy)
+ DDID_GetVmObjectHandle, // VMPTR_OBJECTHANDLE GetVmObjectHandle(CORDB_ADDRESS handleAddress)
+ DDID_IsVmObjectHandleValid, // BOOL IsVmObjectHandleValid(VMPTR_OBJECTHANDLE vmHandle)
+ DDID_IsWinRTModule, // HRESULT IsWinRTModule(VMPTR_Module vmModule, BOOL & isWinRT)
+ DDID_GetAppDomainIdFromVmObjectHandle, // ULONG GetAppDomainIdFromVmObjectHandle(VMPTR_OBJECTHANDLE vmHandle)
+ DDID_GetHandleAddressFromVmHandle, // CORDB_ADDRESS GetHandleAddressFromVmHandle(VMPTR_OBJECTHANDLE vmHandle)
+ DDID_GetObjectContents, // TargetBuffer GetObjectContents(VMPTR_Object obj)
+ DDID_EnumerateBlockingObjects, // void EnumerateBlockingObjects(VMPTR_Thread vmThread, IDacDbiInterface::FP_BLOCKINGOBJECT_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_GetThreadOwningMonitorLock, // MonitorLockInfo GetThreadOwningMonitorLock(VMPTR_Object vmObject)
+ DDID_EnumerateMonitorEventWaitList, // void EnumerateMonitorEventWaitList(VMPTR_Object vmObject, IDacDbiInterface::FP_THREAD_ENUMERATION_CALLBACK fpCallback, CALLBACK_DATA pUserData)
+ DDID_GetAttachStateFlags, // CLR_DEBUGGING_PROCESS_FLAGS GetAttachStateFlags()
+ DDID_GetMetaDataFileInfoFromPEFile, // bool GetMetaDataFileInfoFromPEFile(VMPTR_PEFile vmPEFile, DWORD & dwTimeStamp, DWORD & dwImageSize, bool & isNGEN, IStringHolder * pStrFilename)
+ DDID_GetILImageInfoFromNgenPEFile, // bool GetILImageInfoFromNgenPEFile(VMPTR_PEFile vmPEFile, DWORD & dwTimeStamp, DWORD & dwSize, IStringHolder * pStrFilename)
+ DDID_IsThreadSuspendedOrHijacked, // bool IsThreadSuspendedOrHijacked(VMPTR_Thread vmThread)
+ DDID_AreGCStructuresValid, // bool AreGCStructuresValid()
+ DDID_CreateHeapWalk, // HRESULT CreateHeapWalk(HeapWalkHandle * pHandle)
+ DDID_DeleteHeapWalk, // void DeleteHeapWalk(HeapWalkHandle handle)
+ DDID_WalkHeap, // HRESULT WalkHeap(HeapWalkHandle handle, ULONG count, COR_HEAPOBJECT * objects, ULONG * pFetched)
+ DDID_GetHeapSegments, // HRESULT GetHeapSegments(DacDbiArrayList<COR_SEGMENT> * pSegments)
+ DDID_IsValidObject, // bool IsValidObject(CORDB_ADDRESS obj)
+ DDID_GetAppDomainForObject, // bool GetAppDomainForObject(CORDB_ADDRESS obj, VMPTR_AppDomain * pApp, VMPTR_Module * pModule, VMPTR_DomainFile * pDomainFile)
+ DDID_CreateRefWalk, // HRESULT CreateRefWalk(RefWalkHandle * pHandle, BOOL walkStacks, BOOL walkFQ, UINT32 handleWalkMask)
+ DDID_DeleteRefWalk, // void DeleteRefWalk(RefWalkHandle handle)
+ DDID_WalkRefs, // HRESULT WalkRefs(RefWalkHandle handle, ULONG count, DacGcReference * refs, ULONG * pFetched)
+ DDID_GetTypeID, // HRESULT GetTypeID(CORDB_ADDRESS obj, COR_TYPEID * pType)
+ DDID_GetObjectFields, // HRESULT GetObjectFields(COR_TYPEID id, ULONG32 celt, COR_FIELD * layout, ULONG32 * pceltFetched)
+ DDID_GetTypeLayout, // HRESULT GetTypeLayout(COR_TYPEID id, COR_TYPE_LAYOUT * pLayout)
+ DDID_GetArrayLayout, // HRESULT GetArrayLayout(COR_TYPEID id, COR_ARRAY_LAYOUT * pLayout)
+ DDID_GetGCHeapInformation, // void GetGCHeapInformation(COR_HEAPINFO * pHeapInfo)
+}; // end enum MessageIds
+
+
+#endif // _DD_SHARED_H_
+
+// End of file