include: Added activedbg.idl.
diff --git a/.gitignore b/.gitignore
index da8d139..7837b5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -479,6 +479,7 @@
 dlls/wsock32/libwsock32.def
 dlls/wtsapi32/libwtsapi32.def
 include/activaut.h
+include/activdbg.h
 include/activscp.h
 include/amstream.h
 include/amvideo.h
diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index 4608d72..ecac265 100644
--- a/dlls/uuid/uuid.c
+++ b/dlls/uuid/uuid.c
@@ -52,6 +52,7 @@
 #include "urlmon.h"
 #define _NO_AUTHOR_GUIDS
 #include "activaut.h"
+#include "activdbg.h"
 #define _NO_SCRIPT_GUIDS
 #include "activscp.h"
 #include "dispex.h"
diff --git a/include/Makefile.in b/include/Makefile.in
index 50af56b..efcd92c 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -6,6 +6,7 @@
 
 IDL_H_SRCS = \
 	activaut.idl \
+	activdbg.idl \
 	activscp.idl \
 	amstream.idl \
 	amvideo.idl \
diff --git a/include/activdbg.idl b/include/activdbg.idl
new file mode 100644
index 0000000..b41ae09
--- /dev/null
+++ b/include/activdbg.idl
@@ -0,0 +1,383 @@
+/*
+ * Copyright 2008 Jacek Caban for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "ocidl.idl";
+import "activscp.idl";
+/* import "dbgprop.idl"; */
+
+interface IDebugDocumentContext;
+interface IRemoteDebugApplication;
+
+/* FIXME: */
+interface IEnumDebugStackFrames;
+interface IDebugStackFrame;
+interface IApplicationDebugger;
+interface IEnumRemoteDebugApplicationThreads;
+interface IDebugApplicationNode;
+interface IEnumDebugExpressionContexts;
+interface IDebugApplicationThread;
+interface IDebugSyncOperation;
+interface IDebugAsyncOperation;
+interface IDebugStackFrameSniffer;
+interface IDebugThreadCall32;
+interface IActiveScriptErrorDebug;
+interface IProvideExpressionContexts;
+
+typedef enum tagBREAKPOINT_STATE {
+    BREAKPOINT_DELETED,
+    BREAKPOINT_DISABLED,
+    BREAKPOINT_ENABLED
+} BREAKPOINT_STATE;
+
+typedef DWORD APPBREAKFLAGS;
+
+typedef enum tagBREAKREASON {
+    BREAKREASON_STEP,
+    BREAKREASON_BREAKPOINT,
+    BREAKREASON_DEBUGGER_BLOCK,
+    BREAKREASON_HOST_INITIATED,
+    BREAKREASON_LANGUAGE_INITIATED,
+    BREAKREASON_DEBUGGER_HALT,
+    BREAKREASON_ERROR,
+    BREAKREASON_JIT
+} BREAKREASON;
+
+typedef enum tagBREAKRESUME_ACTION {
+    BREAKRESUMEACTION_ABORT,
+    BREAKRESUMEACTION_CONTINUE,
+    BREAKRESUMEACTION_STEP_INTO,
+    BREAKRESUMEACTION_STEP_OVER,
+    BREAKRESUMEACTION_STEP_OUT,
+    BREAKRESUMEACTION_IGNORE
+} BREAKRESUMEACTION;
+
+typedef enum tagDOCUMENTNAMETYPE {
+    DOCUMENTNAMETYPE_APPNODE,
+    DOCUMENTNAMETYPE_TITLE,
+    DOCUMENTNAMETYPE_FILE_TAIL,
+    DOCUMENTNAMETYPE_URL
+} DOCUMENTNAMETYPE;
+
+typedef enum tagERRORRESUMEACTION {
+    ERRORRESUMEACTION_ReexecuteErrorStatement,
+    ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller,
+    ERRORRESUMEACTION_SkipErrorStatement,
+} ERRORRESUMEACTION;
+
+/************************************************************
+ *      interface IDebugDocumentInfo
+ */
+[
+    object,
+    uuid(51973c1f-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IDebugDocumentInfo : IUnknown
+{
+    HRESULT GetName(
+            [in]  DOCUMENTNAMETYPE dnt,
+            [out] BSTR *pbstrName);
+
+    HRESULT GetDocumentClassId(
+            [out] CLSID *pclsidDocument);
+}
+
+/************************************************************
+ *      interface IDebugDocument
+ */
+[
+    object,
+    uuid(51973c21-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IDebugDocument : IDebugDocumentInfo
+{
+}
+
+/************************************************************
+ *      interface IDebugCodeContext
+ */
+[
+    object,
+    uuid(51973c13-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IDebugCodeContext : IUnknown
+{
+    HRESULT GetDocumentContext(
+            [out] IDebugDocumentContext **ppsc);
+
+    HRESULT SetBreakPoint(
+            [in]  BREAKPOINT_STATE bps);
+}
+
+/************************************************************
+ *      interface IEnumDebugCodeContexts
+ */
+[
+    object,
+    uuid(51973c1d-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IEnumDebugCodeContexts : IUnknown
+{
+    HRESULT Next(
+            [in]  ULONG celt,
+            [out] IDebugCodeContext **pscc,
+            [out] ULONG *pceltFetched);
+
+    HRESULT Skip(
+            [in]  ULONG celt);
+
+    HRESULT Reset();
+
+    HRESULT Clone(
+            [out] IEnumDebugCodeContexts **ppescc);
+}
+
+/************************************************************
+ *      interface IDebugDocumentContext
+ */
+[
+    object,
+    uuid(51973c28-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IDebugDocumentContext : IUnknown
+{
+    HRESULT GetDocument(
+            [out] IDebugDocument **ppsd);
+
+    HRESULT EnumCodeContexts(
+            [out] IEnumDebugCodeContexts **ppescc);
+}
+
+/************************************************************
+ *      interface IRemoteDebugApplicationThread
+ */
+[
+    object,
+    uuid(51973c37-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IRemoteDebugApplicationThread : IUnknown
+{
+    HRESULT GetSystemThreadId(
+            [out] DWORD *dwThreadId);
+
+    HRESULT GetApplication(
+            [out] IRemoteDebugApplication **pprda);
+
+    HRESULT EnumStackFrames(
+            [out] IEnumDebugStackFrames **ppedsf);
+
+    HRESULT GetDescription(
+            [out] BSTR *pbstrDescription,
+            [out] BSTR *pbstrState);
+
+    HRESULT SetNextStatement(
+            [in]  IDebugStackFrame *pStackFrame,
+            [in]  IDebugCodeContext *pCodeContext);
+
+    HRESULT GetState(
+            [out] DWORD *pState);
+
+    HRESULT Suspend(
+            [out] DWORD *pdwCount);
+
+    HRESULT Resume(
+            [out] DWORD *pdwCount);
+
+    HRESULT GetSuspendCount(
+            [out] DWORD *pdwCount);
+}
+
+/************************************************************
+ *      interface IRemoteDebugApplication
+ */
+[
+    object,
+    uuid(51973c30-cb0c-11d0-b5c9-00a0244Aae7a),
+    pointer_default(unique)
+]
+interface IRemoteDebugApplication : IUnknown
+{
+    HRESULT ResumeFromBreakPoint(
+            [in]  IRemoteDebugApplicationThread *prptFocus,
+            [in]  BREAKRESUMEACTION bra,
+            [in]  ERRORRESUMEACTION era);
+
+    HRESULT CauseBreak();
+
+    HRESULT ConnectDebugger(
+            [in]  IApplicationDebugger *pad);
+
+    HRESULT DisconnectDebugger();
+
+    HRESULT GetDebugger(
+            [out] IApplicationDebugger **pad);
+
+    HRESULT CreateInstanceAtApplication(
+            [in]  REFCLSID rclsid,
+            [in]  IUnknown *pUnkOuter,
+            [in]  DWORD dwClsContext,
+            [in]  REFIID riid,
+            [out, iid_is(riid)] IUnknown **ppvObject);
+
+    HRESULT QueryAlive();
+
+    HRESULT EnumThreads(
+            [out] IEnumRemoteDebugApplicationThreads **pperdat);
+
+    HRESULT GetName(
+            [out] BSTR *pbstrName);
+
+    HRESULT GetRootNode(
+            [out] IDebugApplicationNode **ppdanRoot);
+
+    HRESULT EnumGlobalExpressionContexts(
+            [out] IEnumDebugExpressionContexts **ppedec);
+}
+
+/************************************************************
+ *      interface IDebugApplication32
+ */
+[
+    object,
+    uuid(51973c32-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique),
+    local
+]
+interface IDebugApplication32 : IRemoteDebugApplication
+{
+    HRESULT SetName(
+            [in] LPCOLESTR pstrName);
+
+    HRESULT StepOutComplete();
+
+    HRESULT DebugOutput(
+            [in] LPCOLESTR pstr);
+
+    HRESULT StartDebugSession();
+
+    HRESULT HandleBreakPoint(
+            [in]  BREAKREASON br,
+            [out] BREAKRESUMEACTION *pbra);
+
+    HRESULT Close();
+
+    HRESULT GetBreakFlags(
+            [out] APPBREAKFLAGS *pabf,
+            [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
+
+    HRESULT GetCurrentThread(
+            [out] IDebugApplicationThread **pat);
+
+    HRESULT CreateAsyncDebugOperation(
+            [in]  IDebugSyncOperation *psdo,
+            [out] IDebugAsyncOperation **ppado);
+
+    HRESULT AddStackFrameSniffer(
+            [in]  IDebugStackFrameSniffer *pdsfs,
+            [out] DWORD *pdwCookie);
+
+    HRESULT RemoveStackFrameSniffer(
+            [in]  DWORD dwCookie);
+
+    HRESULT QueryCurrentThreadIsDebuggerThread();
+
+    HRESULT SynchronousCallInDebuggerThread(
+            [in]  IDebugThreadCall32 *pptc,
+            [in]  DWORD dwParam1,
+            [in]  DWORD dwParam2,
+            [in]  DWORD dwParam3);
+
+    HRESULT CreateApplicationNode(
+            [out] IDebugApplicationNode **ppdanNew);
+
+    HRESULT FireDebuggerEvent(
+            [in]  REFGUID riid,
+            [in]  IUnknown *punk);
+
+    HRESULT HandleRuntimeError(
+            [in]  IActiveScriptErrorDebug *pErrorDebug,
+            [in]  IActiveScriptSite *pScriptSite,
+            [out] BREAKRESUMEACTION *pbra,
+            [out] ERRORRESUMEACTION *perra,
+            [out] BOOL *pfCallOnScriptError);
+
+    BOOL FCanJitDebug();
+
+    BOOL FIsAutoJitDebugEnabled();
+
+    HRESULT AddGlobalExpressionContextProvider(
+            [in]  IProvideExpressionContexts *pdsfs,
+            [out] DWORD *pdwCookie);
+
+    HRESULT RemoveGlobalExpressionContextProvider(
+            [in]  DWORD dwCookie);
+}
+
+/************************************************************
+ *      interface IActiveScriptSiteDebug32
+ */
+[
+    object,
+    uuid(51973c11-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique),
+    local
+]
+interface IActiveScriptSiteDebug32 : IUnknown
+{
+    HRESULT GetDocumentContextFromPosition(
+            [in]  DWORD dwSourceContext,
+            [in]  ULONG uCharacterOffset,
+            [in]  ULONG uNumChars,
+            [out] IDebugDocumentContext **ppsc);
+
+    HRESULT GetApplication(
+            [out] IDebugApplication32 **ppda);
+
+    HRESULT GetRootApplicationNode(
+            [out] IDebugApplicationNode **ppdanRoot);
+
+    HRESULT OnScriptErrorDebug(
+            [in]  IActiveScriptErrorDebug *pErrorDebug,
+            [out] BOOL *pfEnterDebugger,
+            [out] BOOL *pfCallOnScriptErrorWhenContinuing);
+}
+
+cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
+cpp_quote("#ifdef _WIN64")
+
+cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
+cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
+
+cpp_quote("#define IDebugApplication IDebugApplication64")
+cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
+
+cpp_quote("#else")
+
+cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
+cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")
+
+cpp_quote("#define IDebugApplication IDebugApplication32")
+cpp_quote("#define IID_IDebugApplication IID_IDebugApplication32")
+
+cpp_quote("#endif")
+cpp_quote("#endif")