/* EXPORTED DATA *************************************************************/
/* CONSTANTS *****************************************************************/
-
+#define DPFLTR_ERROR_LEVEL 0
+#define DPFLTR_WARNING_LEVEL 1
+#define DPFLTR_TRACE_LEVEL 2
+#define DPFLTR_INFO_LEVEL 3
+#define DPFLTR_MASK 0x80000000
+
+#define DBG_STATUS_CONTROL_C 1
+#define DBG_STATUS_SYSRQ 2
+#define DBG_STATUS_BUGCHECK_FIRST 3
+#define DBG_STATUS_BUGCHECK_SECOND 4
+#define DBG_STATUS_FATAL 5
+#define DBG_STATUS_DEBUG_CONTROL 6
+#define DBG_STATUS_WORKER 7
+
+#define BREAKPOINT_PRINT 1
+#define BREAKPOINT_PROMPT 2
/* ENUMERATIONS **************************************************************/
typedef enum _DEBUG_CONTROL_CODE
#define LDRP_PROCESS_ATTACH_CALLED 0x00080000
#define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
#define LDRP_IMAGE_NOT_AT_BASE 0x00200000
-#define LDRP_WX86_IGNORE_MACHINETYPE 0x00400000
+#define LDRP_COR_IMAGE 0x00400000
+#define LDR_COR_OWNS_UNMAP 0x00800000
+#define LDRP_REDIRECTED 0x10000000
/* ENUMERATIONS **************************************************************/
/*
* Ansi->Unicode String Functions
*/
+NTSYSAPI
+ULONG
+NTAPI
+RtlxAnsiStringToUnicodeSize(
+ PCANSI_STRING AnsiString
+);
+
NTSYSAPI
NTSTATUS
NTAPI
NTAPI
DbgBreakPoint(VOID);
-NTSTATUS
+NTSYSAPI
+VOID
NTAPI
-DbgSsInitialize(
- HANDLE ReplyPort,
- PVOID Callback,
- ULONG Unknown2,
- ULONG Unknown3
-);
+DbgBreakPointWithStatus(IN ULONG Status);
NTSTATUS
NTAPI
NTSTATUS
NTAPI
DbgUiWaitStateChange(
- ULONG Unknown1,
- ULONG Unknown2
+ PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange,
+ PLARGE_INTEGER TimeOut
);
VOID
#define NT_WARNING(x) ((ULONG)(x)>>30==2)
#define NT_ERROR(x) ((ULONG)(x)>>30==3)
+/* Limits */
+#define MINCHAR 0x80
+#define MAXCHAR 0x7f
+#define MINSHORT 0x8000
+#define MAXSHORT 0x7fff
+#define MINLONG 0x80000000
+#define MAXLONG 0x7fffffff
+#define MAXUCHAR 0xff
+#define MAXUSHORT 0xffff
+#define MAXULONG 0xffffffff
+
/* TYPES *********************************************************************/
/* Basic Types that aren't defined in User-Mode Headers */
IN HANDLE EventHandle
);
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtCreateDebugObject(
+ OUT PHANDLE DebugHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN BOOLEAN KillProcessOnExit
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+ZwCreateDebugObject(
+ OUT PHANDLE DebugHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN BOOLEAN KillProcessOnExit
+);
+
NTSTATUS
NTAPI
NtCreateJobObject(
ULONG NPMessageQueueSize OPTIONAL
);
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtQueryDebugFilterState(
+ ULONG ComponentId,
+ ULONG Level
+);
+
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtDebugContinue(
+ IN HANDLE DebugObject,
+ IN PCLIENT_ID AppClientId,
+ IN NTSTATUS ContinueStatus
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+ZwDebugContinue(
+ IN HANDLE DebugObject,
+ IN PCLIENT_ID AppClientId,
+ IN NTSTATUS ContinueStatus
+);
+
NTSTATUS
NTAPI
NtDelayExecution(
IN PCONTEXT Context
);
+NTSYSAPI
+NTSTATUS
+NTAPI
+NtSetDebugFilterState(
+ ULONG ComponentId,
+ ULONG Level,
+ BOOLEAN State
+);
+
NTSTATUS
NTAPI
NtSetDefaultLocale(
OUT PULONG ResultLength OPTIONAL
);
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtWaitForDebugEvent(
+ IN HANDLE DebugObject,
+ IN BOOLEAN Alertable,
+ IN PLARGE_INTEGER Timeout OPTIONAL,
+ OUT PDBGUI_WAIT_STATE_CHANGE StateChange
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+ZwWaitForDebugEvent(
+ IN HANDLE DebugObject,
+ IN BOOLEAN Alertable,
+ IN PLARGE_INTEGER Timeout OPTIONAL,
+ OUT PDBGUI_WAIT_STATE_CHANGE StateChange
+);
+
NTSTATUS
NTAPI
NtWaitForMultipleObjects(