ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
June 2005
----- 2024 -----
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
649 discussions
Start a n
N
ew thread
[ion] 16109: Final NDK fixes for ntdll
by ion@svn.reactos.com
Final NDK fixes for ntdll Modified: trunk/reactos/include/ndk/rtltypes.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/include/ndk/zwtypes.h _____ Modified: trunk/reactos/include/ndk/rtltypes.h --- trunk/reactos/include/ndk/rtltypes.h 2005-06-19 20:09:32 UTC (rev 16108) +++ trunk/reactos/include/ndk/rtltypes.h 2005-06-19 20:18:30 UTC (rev 16109) @@ -37,6 +37,12 @@ #define EH_STACK_INVALID 0x08 #define EH_NESTED_CALL 0x10 +#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001 +#define RTL_RANGE_LIST_ADD_SHARED 0x00000002 + +#define RTL_RANGE_SHARED 0x01 +#define RTL_RANGE_CONFLICT 0x02 + /* ENUMERATIONS **************************************************************/ typedef enum @@ -106,6 +112,38 @@ ULONG Unknown[11]; } RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; +typedef struct _RTL_RANGE_LIST +{ + LIST_ENTRY ListHead; + ULONG Flags; /* RTL_RANGE_LIST_... flags */ + ULONG Count; + ULONG Stamp; +} RTL_RANGE_LIST, *PRTL_RANGE_LIST; + +typedef struct _RTL_RANGE +{ + ULONGLONG Start; + ULONGLONG End; + PVOID UserData; + PVOID Owner; + UCHAR Attributes; + UCHAR Flags; /* RTL_RANGE_... flags */ +} RTL_RANGE, *PRTL_RANGE; + +typedef BOOLEAN +(STDCALL *PRTL_CONFLICT_RANGE_CALLBACK) ( + PVOID Context, + PRTL_RANGE Range +); + +typedef struct _RANGE_LIST_ITERATOR +{ + PLIST_ENTRY RangeListHead; + PLIST_ENTRY MergedHead; + PVOID Current; + ULONG Stamp; +} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR; + typedef struct _RTL_MESSAGE_RESOURCE_ENTRY { USHORT Length; _____ Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-06-19 20:09:32 UTC (rev 16108) +++ trunk/reactos/include/ndk/umtypes.h 2005-06-19 20:18:30 UTC (rev 16109) @@ -165,6 +165,9 @@ #define RTL_QUERY_REGISTRY_DIRECT 0x00000020 #define RTL_QUERY_REGISTRY_DELETE 0x00000040 +/* Device Charactertics */ +#define FILE_REMOVABLE_MEDIA 0x00000001 + /* SID Constants */ #define SID_MAX_SUB_AUTHORITIES 15 @@ -764,6 +767,15 @@ } FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION; /* + * File System + */ +typedef struct _FILE_FS_DEVICE_INFORMATION +{ + DEVICE_TYPE DeviceType; + ULONG Characteristics; +} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION; + +/* * Registry Key Value */ @@ -1043,6 +1055,7 @@ PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry; } UNICODE_PREFIX_TABLE, *PUNICODE_PREFIX_TABLE; +typedef OSVERSIONINFOW RTL_OSVERSIONINFOW; typedef LPOSVERSIONINFOW PRTL_OSVERSIONINFOW; typedef OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; typedef LPOSVERSIONINFOEXW PRTL_OSVERSIONINFOEXW; _____ Modified: trunk/reactos/include/ndk/zwtypes.h --- trunk/reactos/include/ndk/zwtypes.h 2005-06-19 20:09:32 UTC (rev 16108) +++ trunk/reactos/include/ndk/zwtypes.h 2005-06-19 20:18:30 UTC (rev 16109) @@ -74,7 +74,19 @@ } SYSTEM_DOCK_STATE, *PSYSTEM_DOCK_STATE; /**** Information Classes ****/ + /* + * Process (extra ones not defined in DDK) + */ +typedef enum _PROCESS_INFORMATION_FLAGS +{ + ProcessUnknown33 = 33, + ProcessUnknown34, + ProcessUnknown35, + ProcessCookie +} PROCESS_INFORMATION_FLAGS; + +/* * System */ typedef enum _SYSTEM_INFORMATION_CLASS
19 years, 3 months
1
0
0
0
[navaraf] 16108: Remove PNP_VETO_TYPE from winddk.h.
by navaraf@svn.reactos.com
Remove PNP_VETO_TYPE from winddk.h. Modified: trunk/reactos/include/ntos.h Modified: trunk/reactos/ntoskrnl/include/internal/io.h Modified: trunk/reactos/w32api/include/ddk/winddk.h _____ Modified: trunk/reactos/include/ntos.h --- trunk/reactos/include/ntos.h 2005-06-19 20:01:07 UTC (rev 16107) +++ trunk/reactos/include/ntos.h 2005-06-19 20:09:32 UTC (rev 16108) @@ -11,6 +11,7 @@ #include <ddk/ntddk.h> #include <ddk/ntifs.h> #include <ddk/ntnls.h> +#include <ddk/cfg.h> #include <evntrace.h> #include "ntos/types.h" #include "ntos/cdrom.h" @@ -54,6 +55,7 @@ #include <ddk/ntddk.h> #include <ddk/ntifs.h> #include <ddk/ntnls.h> +#include <ddk/cfg.h> #include <evntrace.h> #include "ntos/types.h" #include "ntos/cdrom.h" _____ Modified: trunk/reactos/ntoskrnl/include/internal/io.h --- trunk/reactos/ntoskrnl/include/internal/io.h 2005-06-19 20:01:07 UTC (rev 16107) +++ trunk/reactos/ntoskrnl/include/internal/io.h 2005-06-19 20:09:32 UTC (rev 16108) @@ -201,17 +201,6 @@ #define DNUF_DONT_SHOW_IN_UI 0x0002 #define DNUF_NOT_DISABLEABLE 0x0008 -/* For Problem field */ -#define CM_PROB_NOT_CONFIGURED 1 -#define CM_PROB_FAILED_START 10 -#define CM_PROB_NORMAL_CONFLICT 12 -#define CM_PROB_NEED_RESTART 14 -#define CM_PROB_REINSTALL 18 -#define CM_PROB_WILL_BE_REMOVED 21 -#define CM_PROB_DISABLED 22 -#define CM_PROB_FAILED_INSTALL 28 -#define CM_PROB_FAILED_ADD 31 - /* * VOID * IopDeviceNodeSetFlag( _____ Modified: trunk/reactos/w32api/include/ddk/winddk.h --- trunk/reactos/w32api/include/ddk/winddk.h 2005-06-19 20:01:07 UTC (rev 16107) +++ trunk/reactos/w32api/include/ddk/winddk.h 2005-06-19 20:09:32 UTC (rev 16108) @@ -742,23 +742,6 @@ #define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010 #define PNP_DEVICE_NOT_DISABLEABLE 0x00000020 -typedef enum _PNP_VETO_TYPE -{ - PNP_VetoTypeUnknown, - PNP_VetoLegacyDevice, - PNP_VetoPendingClose, - PNP_VetoWindowsApp, - PNP_VetoWindowsService, - PNP_VetoOutstandingOpen, - PNP_VetoDevice, - PNP_VetoDriver, - PNP_VetoIllegalDeviceRequest, - PNP_VetoInsufficientPower, - PNP_VetoNonDisableable, - PNP_VetoLegacyDriver, - PNP_VetoInsufficientRights -} PNP_VETO_TYPE, *PPNP_VETO_TYPE; - typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION { USHORT Version; USHORT Size;
19 years, 3 months
1
0
0
0
[ion] 16107: More NDK fixes, remove duplicated debug functions from ntdll, use rosrtl header where neded in ntdll.
by ion@svn.reactos.com
More NDK fixes, remove duplicated debug functions from ntdll, use rosrtl header where neded in ntdll. Modified: trunk/reactos/include/ndk/pstypes.h Modified: trunk/reactos/include/ndk/rtlfuncs.h Modified: trunk/reactos/include/ndk/rtltypes.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/include/ntdll/ntdll.h Modified: trunk/reactos/lib/ntdll/dbg/debug.c Modified: trunk/reactos/lib/ntdll/inc/ntdll.h _____ Modified: trunk/reactos/include/ndk/pstypes.h --- trunk/reactos/include/ndk/pstypes.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/include/ndk/pstypes.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -72,7 +72,6 @@ /* ENUMERATIONS **************************************************************/ /* FUNCTION TYPES ************************************************************/ -typedef DWORD (STDCALL* PTHREAD_START_ROUTINE) (LPVOID); typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID); typedef NTSTATUS _____ Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -364,6 +364,15 @@ VOID STDCALL +RtlAssert ( + PVOID FailedAssertion, + PVOID FileName, + ULONG LineNumber, + PCHAR Message + ); + +VOID +STDCALL RtlCopyLuid( IN PLUID LuidDest, IN PLUID LuidSrc @@ -713,6 +722,14 @@ NTSTATUS STDCALL +RtlUnicodeStringToAnsiString ( + IN OUT PANSI_STRING DestinationString, + IN PUNICODE_STRING SourceString, + IN BOOLEAN AllocateDestinationString + ); + +NTSTATUS +STDCALL RtlUnicodeStringToInteger ( IN PUNICODE_STRING String, IN ULONG Base, _____ Modified: trunk/reactos/include/ndk/rtltypes.h --- trunk/reactos/include/ndk/rtltypes.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/include/ndk/rtltypes.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -49,15 +49,29 @@ /* FUNCTION TYPES ************************************************************/ typedef NTSTATUS -(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle, - IN PVOID UserParam); +(*PHEAP_ENUMERATION_ROUTINE)( + IN PVOID HeapHandle, + IN PVOID UserParam +); typedef EXCEPTION_DISPOSITION -(*PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD*, - PVOID, - struct _CONTEXT*, - PVOID); - +(*PEXCEPTION_HANDLER)( + struct _EXCEPTION_RECORD*, + PVOID, + struct _CONTEXT*, + PVOID +); + +typedef DWORD (STDCALL *PTHREAD_START_ROUTINE)( + LPVOID Parameter +); + +typedef VOID +(STDCALL *PRTL_BASE_PROCESS_START_ROUTINE)( + PTHREAD_START_ROUTINE StartAddress, + PVOID Parameter +); + /* TYPES *********************************************************************/ typedef unsigned short RTL_ATOM; _____ Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/include/ndk/umtypes.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -46,6 +46,17 @@ #define NT_WARNING(x) ((ULONG)(x)>>30==2) #define NT_ERROR(x) ((ULONG)(x)>>30==3) +/* Object Access Rights FIXME: Some are in w32api's psdk..,is that normal ?*/ +#define DIRECTORY_QUERY (0x0001) +#define DIRECTORY_TRAVERSE (0x0002) +#define DIRECTORY_CREATE_OBJECT (0x0004) +#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008) +#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF) +#define EVENT_QUERY_STATE (0x0001) +#define SEMAPHORE_QUERY_STATE (0x0001) +#define SYMBOLIC_LINK_QUERY 0x0001 +#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1) + /* I/O Control Codes for communicating with Mailslots */ #define FSCTL_MAILSLOT_PEEK \ CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA) @@ -709,6 +720,15 @@ } FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; /* Class 2 */ +typedef struct _FILE_STANDARD_INFORMATION +{ + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; +} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION; + typedef struct _FILE_NETWORK_OPEN_INFORMATION { LARGE_INTEGER CreationTime; _____ Modified: trunk/reactos/include/ntdll/ntdll.h --- trunk/reactos/include/ntdll/ntdll.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/include/ntdll/ntdll.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -3,46 +3,15 @@ #include <ntos/ntdef.h> #endif -#define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__); - -#ifndef __USE_W32API - -#ifndef NASSERT -#define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);} -#define ASSERT(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);} -#else -#define assert(x) -#define ASSERT(x) -#endif - -#endif - #ifdef NDEBUG #if defined(__GNUC__) #define TRACE_LDR(args...) if (RtlGetNtGlobalFlags() & FLG_SHOW_LDR_SNAPS) { DbgPrint("(LDR:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } -#define DPRINT(args...) #else -#define DPRINT #endif /* __GNUC__ */ -#define CHECKPOINT #else #define TRACE_LDR(args...) do { DbgPrint("(LDR:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0) -#define DPRINT(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0) -#define CHECKPOINT do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0) #endif -#ifdef DBG -#if defined(__GNUC__) -#define DPRINT1(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0) -#else -#define DPRINT1 DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint -#endif -#define CHECKPOINT1 do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0) -#else -#define DPRINT1(args...) -#define CHECKPOINT1(args...) -#endif - /* Macros expanding to the appropriate inline assembly to raise a breakpoint */ #if defined(_M_IX86) #define ASM_BREAKPOINT "\nint $3\n" _____ Modified: trunk/reactos/lib/ntdll/dbg/debug.c --- trunk/reactos/lib/ntdll/dbg/debug.c 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/lib/ntdll/dbg/debug.c 2005-06-19 20:01:07 UTC (rev 16107) @@ -13,6 +13,7 @@ #define NDEBUG #include <ntdll.h> +#include <rosrtl/thread.h> /* FUNCTIONS *****************************************************************/ _____ Modified: trunk/reactos/lib/ntdll/inc/ntdll.h --- trunk/reactos/lib/ntdll/inc/ntdll.h 2005-06-19 19:56:01 UTC (rev 16106) +++ trunk/reactos/lib/ntdll/inc/ntdll.h 2005-06-19 20:01:07 UTC (rev 16107) @@ -19,6 +19,7 @@ #include <ntdll/rtl.h> #include <ntdll/ldr.h> #include <ntdll/ntdll.h> +#include <debug.h> /* FIXME REMOVE THIS */ /* ROSRTL Headers */ #include <rosrtl/string.h> /* FIXME: KILL ROSRTL */
19 years, 3 months
1
0
0
0
[navaraf] 16106: Fix packing.
by navaraf@svn.reactos.com
Fix packing. Modified: trunk/reactos/w32api/include/ddk/ntapi.h _____ Modified: trunk/reactos/w32api/include/ddk/ntapi.h --- trunk/reactos/w32api/include/ddk/ntapi.h 2005-06-19 19:36:05 UTC (rev 16105) +++ trunk/reactos/w32api/include/ddk/ntapi.h 2005-06-19 19:56:01 UTC (rev 16106) @@ -39,8 +39,6 @@ #include "ntddk.h" #include "ntpoapi.h" -#pragma pack(push,4) - typedef struct _PEB *PPEB; /* FIXME: Unknown definitions */ @@ -2954,8 +2952,6 @@ IN ULONG ControlCode, IN PVOID ControlData); -#pragma pack(pop) - #ifdef __cplusplus } #endif
19 years, 3 months
1
0
0
0
[ion] 16105: More NDK fixes/additions
by ion@svn.reactos.com
More NDK fixes/additions Modified: trunk/reactos/include/ndk/pstypes.h Modified: trunk/reactos/include/ndk/rtlfuncs.h _____ Modified: trunk/reactos/include/ndk/pstypes.h --- trunk/reactos/include/ndk/pstypes.h 2005-06-19 19:15:46 UTC (rev 16104) +++ trunk/reactos/include/ndk/pstypes.h 2005-06-19 19:36:05 UTC (rev 16105) @@ -38,6 +38,37 @@ #define USER_SHARED_DATA (0x7FFE0000) +#define PROCESS_PRIORITY_CLASS_NORMAL (2) /* FIXME */ + +/* Global Flags */ +#define FLG_STOP_ON_EXCEPTION 0x00000001 +#define FLG_SHOW_LDR_SNAPS 0x00000002 +#define FLG_DEBUG_INITIAL_COMMAND 0x00000004 +#define FLG_STOP_ON_HUNG_GUI 0x00000008 +#define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010 +#define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020 +#define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040 +#define FLG_HEAP_VALIDATE_ALL 0x00000080 +#define FLG_POOL_ENABLE_TAIL_CHECK 0x00000100 +#define FLG_POOL_ENABLE_FREE_CHECK 0x00000200 +#define FLG_POOL_ENABLE_TAGGING 0x00000400 +#define FLG_HEAP_ENABLE_TAGGING 0x00000800 +#define FLG_USER_STACK_TRACE_DB 0x00001000 +#define FLG_KERNEL_STACK_TRACE_DB 0x00002000 +#define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000 +#define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000 +#define FLG_IGNORE_DEBUG_PRIV 0x00010000 +#define FLG_ENABLE_CSRDEBUG 0x00020000 +#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000 +#define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000 +#define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000 +#define FLG_HEAP_DISABLE_COALESCING 0x00200000 +#define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000 +#define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000 +#define FLG_ENABLE_HANDLE_TYPE_TAGGING 0x01000000 +#define FLG_HEAP_PAGE_ALLOCS 0x02000000 +#define FLG_DEBUG_INITIAL_COMMAND_EX 0x04000000 + /* ENUMERATIONS **************************************************************/ /* FUNCTION TYPES ************************************************************/ @@ -72,13 +103,13 @@ ULONG Size; } PEB_FREE_BLOCK, *PPEB_FREE_BLOCK; -typedef struct _PEB +typedef struct _PEB { UCHAR InheritedAddressSpace; /* 00h */ UCHAR ReadImageFileExecOptions; /* 01h */ UCHAR BeingDebugged; /* 02h */ - UCHAR Spare; /* 03h */ - PVOID Mutant; /* 04h */ + BOOLEAN SpareBool; /* 03h */ + HANDLE Mutant; /* 04h */ PVOID ImageBaseAddress; /* 08h */ PPEB_LDR_DATA Ldr; /* 0Ch */ PRTL_USER_PROCESS_PARAMETERS ProcessParameters; /* 10h */ @@ -103,7 +134,6 @@ PVOID UnicodeCaseTableData; /* 60h */ ULONG NumberOfProcessors; /* 64h */ ULONG NtGlobalFlag; /* 68h */ - UCHAR _Spare2[0x4]; /* 6Ch */ LARGE_INTEGER CriticalSectionTimeout; /* 70h */ ULONG HeapSegmentReserve; /* 78h */ ULONG HeapSegmentCommit; /* 7Ch */ @@ -111,7 +141,7 @@ ULONG HeapDeCommitFreeBlockThreshold; /* 84h */ ULONG NumberOfHeaps; /* 88h */ ULONG MaximumNumberOfHeaps; /* 8Ch */ - PVOID** ProcessHeaps; /* 90h */ + PVOID* ProcessHeaps; /* 90h */ PVOID GdiSharedHandleTable; /* 94h */ PVOID ProcessStarterHelper; /* 98h */ PVOID GdiDCAttributeList; /* 9Ch */ @@ -119,13 +149,19 @@ ULONG OSMajorVersion; /* A4h */ ULONG OSMinorVersion; /* A8h */ USHORT OSBuildNumber; /* ACh */ - UCHAR SPMajorVersion; /* AEh */ - UCHAR SPMinorVersion; /* AFh */ + USHORT OSCSDVersion; /* AEh */ ULONG OSPlatformId; /* B0h */ ULONG ImageSubSystem; /* B4h */ ULONG ImageSubSystemMajorVersion; /* B8h */ - ULONG ImageSubSystemMinorVersion; /* C0h */ + ULONG ImageSubSystemMinorVersion; /* BCh */ + ULONG ImageProcessAffinityMask; /* C0h */ ULONG GdiHandleBuffer[0x22]; /* C4h */ + PVOID PostProcessInitRoutine; /* 14Ch */ + PVOID *TlsExpansionBitmap; /* 150h */ + ULONG TlsExpansionBitmapBits[0x20]; /* 154h */ + ULONG SessionId; /* 1D4h */ + PVOID AppCompatInfo; /* 1D8h */ + UNICODE_STRING CSDVersion; /* 1DCh */ } PEB; typedef struct _GDI_TEB_BATCH _____ Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 19:15:46 UTC (rev 16104) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 19:36:05 UTC (rev 16105) @@ -15,6 +15,218 @@ /*FIXME: REORGANIZE THIS */ /* FIXME: SOME FUNCTIONS MUST BE PROTECTED AGAINST DDK/IFS. */ +/* + * VOID + * InitializeListHead ( + * PLIST_ENTRY ListHead + * ); + * + * FUNCTION: Initializes a double linked list + * ARGUMENTS: + * ListHead = Caller supplied storage for the head of the list + */ +static __inline VOID +InitializeListHead( + IN PLIST_ENTRY ListHead) +{ + ListHead->Flink = ListHead->Blink = ListHead; +} + + +/* + * VOID + * InsertHeadList ( + * PLIST_ENTRY ListHead, + * PLIST_ENTRY Entry + * ); + * + * FUNCTION: Inserts an entry in a double linked list + * ARGUMENTS: + * ListHead = Head of the list + * Entry = Entry to insert + */ +static __inline VOID +InsertHeadList( + IN PLIST_ENTRY ListHead, + IN PLIST_ENTRY Entry) +{ + PLIST_ENTRY OldFlink; + OldFlink = ListHead->Flink; + Entry->Flink = OldFlink; + Entry->Blink = ListHead; + OldFlink->Blink = Entry; + ListHead->Flink = Entry; +} + + +/* + * VOID + * InsertTailList ( + * PLIST_ENTRY ListHead, + * PLIST_ENTRY Entry + * ); + * + * FUNCTION: + * Inserts an entry in a double linked list + * + * ARGUMENTS: + * ListHead = Head of the list + * Entry = Entry to insert + */ +static __inline VOID +InsertTailList( + IN PLIST_ENTRY ListHead, + IN PLIST_ENTRY Entry) +{ + PLIST_ENTRY OldBlink; + OldBlink = ListHead->Blink; + Entry->Flink = ListHead; + Entry->Blink = OldBlink; + OldBlink->Flink = Entry; + ListHead->Blink = Entry; +} + +/* + * BOOLEAN + * IsListEmpty ( + * PLIST_ENTRY ListHead + * ); + * + * FUNCTION: + * Checks if a double linked list is empty + * + * ARGUMENTS: + * ListHead = Head of the list +*/ +#define IsListEmpty(ListHead) \ + ((ListHead)->Flink == (ListHead)) + + +/* + * PSINGLE_LIST_ENTRY + * PopEntryList ( + * PSINGLE_LIST_ENTRY ListHead + * ); + * + * FUNCTION: + * Removes an entry from the head of a single linked list + * + * ARGUMENTS: + * ListHead = Head of the list + * + * RETURNS: + * The removed entry + */ +#define PopEntryList(ListHead) \ + (ListHead)->Next; \ + { \ + PSINGLE_LIST_ENTRY _FirstEntry; \ + _FirstEntry = (ListHead)->Next; \ + if (_FirstEntry != NULL) \ + (ListHead)->Next = _FirstEntry->Next; \ + } + +#define PushEntryList(_ListHead, _Entry) \ + (_Entry)->Next = (_ListHead)->Next; \ + (_ListHead)->Next = (_Entry); \ + +/* + *BOOLEAN + *RemoveEntryList ( + * PLIST_ENTRY Entry + * ); + * + * FUNCTION: + * Removes an entry from a double linked list + * + * ARGUMENTS: + * ListEntry = Entry to remove + */ +static __inline BOOLEAN +RemoveEntryList( + IN PLIST_ENTRY Entry) +{ + PLIST_ENTRY OldFlink; + PLIST_ENTRY OldBlink; + + OldFlink = Entry->Flink; + OldBlink = Entry->Blink; + OldFlink->Blink = OldBlink; + OldBlink->Flink = OldFlink; + return (OldFlink == OldBlink); +} + + +/* + * PLIST_ENTRY + * RemoveHeadList ( + * PLIST_ENTRY ListHead + * ); + * + * FUNCTION: + * Removes the head entry from a double linked list + * + * ARGUMENTS: + * ListHead = Head of the list + * + * RETURNS: + * The removed entry + */ +static __inline PLIST_ENTRY +RemoveHeadList( + IN PLIST_ENTRY ListHead) +{ + PLIST_ENTRY Flink; + PLIST_ENTRY Entry; + + Entry = ListHead->Flink; + Flink = Entry->Flink; + ListHead->Flink = Flink; + Flink->Blink = ListHead; + return Entry; +} + + +/* + * PLIST_ENTRY + * RemoveTailList ( + * PLIST_ENTRY ListHead + * ); + * + * FUNCTION: + * Removes the tail entry from a double linked list + * + * ARGUMENTS: + * ListHead = Head of the list + * + * RETURNS: + * The removed entry + */ +static __inline PLIST_ENTRY +RemoveTailList( + IN PLIST_ENTRY ListHead) +{ + PLIST_ENTRY Blink; + PLIST_ENTRY Entry; + + Entry = ListHead->Blink; + Blink = Entry->Blink; + ListHead->Blink = Blink; + Blink->Flink = ListHead; + return Entry; +} + +/* + * BOOLEAN + * IsXstEntry ( + * PLIST_ENTRY ListHead, + * PLIST_ENTRY Entry + * ); +*/ +#define IsFirstEntry(ListHead, Entry) ((ListHead)->Flink == Entry) + +#define IsLastEntry(ListHead, Entry) ((ListHead)->Blink == Entry) + #define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap) @@ -247,6 +459,17 @@ ULONG AclSize, ULONG AclRevision ); + +PVOID +STDCALL +RtlCreateHeap( + IN ULONG Flags, + IN PVOID BaseAddress OPTIONAL, + IN ULONG SizeToReserve OPTIONAL, + IN ULONG SizeToCommit OPTIONAL, + IN PVOID Lock OPTIONAL, + IN PRTL_HEAP_DEFINITION Definition OPTIONAL +); NTSTATUS STDCALL @@ -418,6 +641,21 @@ POEM_STRING AnsiString ); +PVOID +STDCALL +RtlImageDirectoryEntryToData ( + PVOID BaseAddress, + BOOLEAN bFlag, + ULONG Directory, + PULONG Size + ); + +NTSTATUS +STDCALL +RtlOpenCurrentUser( + IN ACCESS_MASK DesiredAccess, + OUT PHANDLE KeyHandle); + WCHAR STDCALL RtlDowncaseUnicodeChar(IN WCHAR Source); @@ -473,6 +711,14 @@ IN PUNICODE_STRING UnicodeString ); +NTSTATUS +STDCALL +RtlUnicodeStringToInteger ( + IN PUNICODE_STRING String, + IN ULONG Base, + OUT PULONG Value + ); + #ifndef _NTIFS_ BOOLEAN STDCALL
19 years, 3 months
1
0
0
0
[ion] 16104: More NDK fixes (user-mode NDK now works) and guard some stuff in include/ntdll so that ntdll can be build with NDK, but so that other apps not yet using it, but using those headers, can also build
by ion@svn.reactos.com
More NDK fixes (user-mode NDK now works) and guard some stuff in include/ntdll so that ntdll can be build with NDK, but so that other apps not yet using it, but using those headers, can also build Modified: trunk/reactos/include/csrss/csrss.h Modified: trunk/reactos/include/ndk/extypes.h Modified: trunk/reactos/include/ndk/ldrtypes.h Modified: trunk/reactos/include/ndk/ntndk.h Modified: trunk/reactos/include/ndk/psfuncs.h Modified: trunk/reactos/include/ndk/pstypes.h Modified: trunk/reactos/include/ndk/rtlfuncs.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/include/ndk/zwtypes.h Modified: trunk/reactos/include/ntdll/ldr.h Modified: trunk/reactos/include/ntdll/ntdll.h Modified: trunk/reactos/include/ntdll/rtl.h Modified: trunk/reactos/lib/ntdll/inc/ntdll.h _____ Modified: trunk/reactos/include/csrss/csrss.h --- trunk/reactos/include/csrss/csrss.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/csrss/csrss.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -3,7 +3,9 @@ #include <windows.h> #include <ddk/ntddblue.h> +#ifndef _NTNDK_ #include <ntos.h> +#endif #define CSR_CSRSS_SECTION_SIZE (65536) _____ Modified: trunk/reactos/include/ndk/extypes.h --- trunk/reactos/include/ndk/extypes.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/extypes.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -22,30 +22,6 @@ /* ENUMERATIONS **************************************************************/ -typedef enum _HARDERROR_RESPONSE_OPTION -{ - OptionAbortRetryIgnore, - OptionOk, - OptionOkCancel, - OptionRetryCancel, - OptionYesNo, - OptionYesNoCancel, - OptionShutdownSystem -} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION; - -typedef enum _HARDERROR_RESPONSE -{ - ResponseReturnToCaller, - ResponseNotHandled, - ResponseAbort, - ResponseCancel, - ResponseIgnore, - ResponseNo, - ResponseOk, - ResponseRetry, - ResponseYes -} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE; - /* TYPES *********************************************************************/ typedef struct _EX_QUEUE_WORKER_INFO _____ Modified: trunk/reactos/include/ndk/ldrtypes.h --- trunk/reactos/include/ndk/ldrtypes.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/ldrtypes.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -35,23 +35,7 @@ } PEB_LDR_DATA, *PPEB_LDR_DATA; /* FIXME: Update with _LDR_DATA_TABLE_ENTRY and LDR_ flags */ -typedef struct _LDR_MODULE -{ - LIST_ENTRY InLoadOrderModuleList; - LIST_ENTRY InMemoryOrderModuleList; - LIST_ENTRY InInitializationOrderModuleList; - void* BaseAddress; - void* EntryPoint; - ULONG SizeOfImage; - UNICODE_STRING FullDllName; - UNICODE_STRING BaseDllName; - ULONG Flags; - SHORT LoadCount; - SHORT TlsIndex; - HANDLE SectionHandle; - ULONG CheckSum; - ULONG TimeDateStamp; -} LDR_MODULE, *PLDR_MODULE; +//typedef struct _LDR_MODULE typedef struct _LDR_RESOURCE_INFO { _____ Modified: trunk/reactos/include/ndk/ntndk.h --- trunk/reactos/include/ndk/ntndk.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/ntndk.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -6,8 +6,8 @@ * UPDATE HISTORY: * Created 06/10/04 */ -#ifndef _NT_NDK_ -#define _NT_NDK_ +#ifndef _NTNDK_ +#define _NTNDK_ #ifndef NTOS_MODE_USER /* Kernel-Mode NDK */ _____ Modified: trunk/reactos/include/ndk/psfuncs.h --- trunk/reactos/include/ndk/psfuncs.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/psfuncs.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -1,22 +1,3 @@ -/* $Id: pstypes.h,v 1.1.2.1 2004/10/25 01:24:07 ion Exp $ - * - * ReactOS Headers - * Copyright (C) 1998-2004 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ /* * PROJECT: ReactOS Native Headers * FILE: include/ndk/psfuncs.h @@ -30,22 +11,6 @@ /* DEPENDENCIES **************************************************************/ -/* FUNCTION TYPES ************************************************************/ -typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID); - -typedef NTSTATUS -(STDCALL *PW32_PROCESS_CALLBACK)( - struct _EPROCESS *Process, - BOOLEAN Create -); - -typedef NTSTATUS -(STDCALL *PW32_THREAD_CALLBACK)( - struct _ETHREAD *Thread, - BOOLEAN Create -); - - /* PROTOTYPES ****************************************************************/ VOID _____ Modified: trunk/reactos/include/ndk/pstypes.h --- trunk/reactos/include/ndk/pstypes.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/pstypes.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -40,9 +40,22 @@ /* ENUMERATIONS **************************************************************/ -/* FUNCTION TYPES **********************************************/ -typedef DWORD (*STDCALL PTHREAD_START_ROUTINE) (LPVOID); +/* FUNCTION TYPES ************************************************************/ +typedef DWORD (STDCALL* PTHREAD_START_ROUTINE) (LPVOID); +typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID); +typedef NTSTATUS +(STDCALL *PW32_PROCESS_CALLBACK)( + struct _EPROCESS *Process, + BOOLEAN Create +); + +typedef NTSTATUS +(STDCALL *PW32_THREAD_CALLBACK)( + struct _ETHREAD *Thread, + BOOLEAN Create +); + /* TYPES *********************************************************************/ struct _ETHREAD; @@ -90,7 +103,7 @@ PVOID UnicodeCaseTableData; /* 60h */ ULONG NumberOfProcessors; /* 64h */ ULONG NtGlobalFlag; /* 68h */ - UCHAR Spare2[0x4]; /* 6Ch */ + UCHAR _Spare2[0x4]; /* 6Ch */ LARGE_INTEGER CriticalSectionTimeout; /* 70h */ ULONG HeapSegmentReserve; /* 78h */ ULONG HeapSegmentCommit; /* 7Ch */ _____ Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -680,7 +680,7 @@ NTSTATUS STDCALL RtlQueryTimeZoneInformation ( - IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation + IN OUT LPTIME_ZONE_INFORMATION TimeZoneInformation ); VOID STDCALL RtlRaiseStatus(NTSTATUS Status); _____ Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/umtypes.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -20,8 +20,9 @@ /* CONSTANTS *****************************************************************/ -/* NTAPI Define */ +/* NTAPI/NTOSAPI Define */ #define NTAPI __stdcall +#define NTOSAPI /* Definitions for Object Creation -- winternl.h */ #define OBJ_INHERIT 2L @@ -249,6 +250,45 @@ SynchronizationTimer } TIMER_TYPE; +typedef enum _INTERFACE_TYPE +{ + InterfaceTypeUndefined = -1, + Internal, + Isa, + Eisa, + MicroChannel, + TurboChannel, + PCIBus, + VMEBus, + NuBus, + PCMCIABus, + CBus, + MPIBus, + MPSABus, + ProcessorInternal, + InternalPowerBus, + PNPISABus, + PNPBus, + MaximumInterfaceType +}INTERFACE_TYPE, *PINTERFACE_TYPE; + +typedef enum _PNP_VETO_TYPE +{ + PNP_VetoTypeUnknown, + PNP_VetoLegacyDevice, + PNP_VetoPendingClose, + PNP_VetoWindowsApp, + PNP_VetoWindowsService, + PNP_VetoOutstandingOpen, + PNP_VetoDevice, + PNP_VetoDriver, + PNP_VetoIllegalDeviceRequest, + PNP_VetoInsufficientPower, + PNP_VetoNonDisableable, + PNP_VetoLegacyDriver, + PNP_VetoInsufficientRights +} PNP_VETO_TYPE, *PPNP_VETO_TYPE; + typedef enum _MODE { KernelMode, @@ -512,8 +552,9 @@ typedef ULONG WAIT_TYPE; typedef struct _PEB *PPEB; typedef ULONG KPROCESSOR_MODE; -typedef PVOID PTHREAD_START_ROUTINE; typedef struct _OBJECT_TYPE *POBJECT_TYPE; +struct _ETHREAD; +struct _EVENT_TRACE_HEADER; /* <--- We might want to declare this one */ /* Basic NT Types */ typedef struct _UNICODE_STRING @@ -574,6 +615,11 @@ IN LONG TimerHighValue); /* Kernel Types which are returned or used by Native API */ +typedef struct _OBJECT_NAME_INFORMATION +{ + UNICODE_STRING Name; +} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION; + typedef struct _CLIENT_ID { HANDLE UniqueProcess; @@ -685,6 +731,17 @@ LARGE_INTEGER FileOffset; LARGE_INTEGER Length; } FILE_ALLOCATED_RANGE_BUFFER, *PFILE_ALLOCATED_RANGE_BUFFER; + +typedef struct _FILE_QUOTA_INFORMATION +{ + ULONG NextEntryOffset; + ULONG SidLength; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER QuotaUsed; + LARGE_INTEGER QuotaThreshold; + LARGE_INTEGER QuotaLimit; + SID Sid; +} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION; /* * Registry Key Value @@ -801,6 +858,18 @@ } KUSER_SHARED_DATA, *PKUSER_SHARED_DATA; /* Run-Time Library (RTL) Types */ +typedef struct _RTL_BITMAP +{ + ULONG SizeOfBitMap; + PULONG Buffer; +} RTL_BITMAP, *PRTL_BITMAP; + +typedef struct _RTL_BITMAP_RUN +{ + ULONG StartingIndex; + ULONG NumberOfBits; +} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN; + typedef struct _COMPRESSED_DATA_INFO { USHORT CompressionFormatAndEngine; _____ Modified: trunk/reactos/include/ndk/zwtypes.h --- trunk/reactos/include/ndk/zwtypes.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ndk/zwtypes.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -21,6 +21,31 @@ /* ENUMERATIONS **************************************************************/ + +typedef enum _HARDERROR_RESPONSE_OPTION +{ + OptionAbortRetryIgnore, + OptionOk, + OptionOkCancel, + OptionRetryCancel, + OptionYesNo, + OptionYesNoCancel, + OptionShutdownSystem +} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION; + +typedef enum _HARDERROR_RESPONSE +{ + ResponseReturnToCaller, + ResponseNotHandled, + ResponseAbort, + ResponseCancel, + ResponseIgnore, + ResponseNo, + ResponseOk, + ResponseRetry, + ResponseYes +} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE; + typedef enum SHUTDOWN_ACTION_TAG { ShutdownNoReboot, _____ Modified: trunk/reactos/include/ntdll/ldr.h --- trunk/reactos/include/ntdll/ldr.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ntdll/ldr.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -2,7 +2,9 @@ #define __NTOSKRNL_INCLUDE_INTERNAL_LDR_H #include <roscfg.h> +#ifndef _NTNDK_ #include <napi/teb.h> +#endif #include <reactos/rossym.h> typedef NTSTATUS (STDCALL *PEPFUNC)(PPEB); _____ Modified: trunk/reactos/include/ntdll/ntdll.h --- trunk/reactos/include/ntdll/ntdll.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ntdll/ntdll.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -1,5 +1,7 @@ +#ifndef _NTNDK_ #include <ntos/ntdef.h> +#endif #define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__); _____ Modified: trunk/reactos/include/ntdll/rtl.h --- trunk/reactos/include/ntdll/rtl.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/include/ntdll/rtl.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -5,10 +5,12 @@ #ifndef __INCLUDE_NTDLL_RTL_H #define __INCLUDE_NTDLL_RTL_H +#ifndef _NTNDK_ #include <ddk/ntifs.h> #include <ntos/types.h> #include <ntos/zwtypes.h> #include <napi/teb.h> +#endif #ifdef __cplusplus extern "C" { @@ -21,7 +23,7 @@ #define PAGED_CODE_RTL() #endif -#ifndef __USE_W32API +#if !defined(__USE_W32API) || defined(_NTNDK_) #define RTL_CONSTANT_STRING(__SOURCE_STRING__) \ { \ @@ -104,6 +106,9 @@ ULONG NumberOfExclusiveWaiters; } DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION; +#endif + +#ifndef __USE_W32API typedef struct _CRITICAL_SECTION_DEBUG { USHORT Type; @@ -136,6 +141,7 @@ #endif /* !__USE_W32API */ +#ifndef _NTNDK_ typedef struct _RTL_PROCESS_INFO { ULONG Size; @@ -144,6 +150,7 @@ CLIENT_ID ClientId; SECTION_IMAGE_INFORMATION ImageInfo; } RTL_PROCESS_INFO, *PRTL_PROCESS_INFO; +#endif typedef struct _RTL_RESOURCE { _____ Modified: trunk/reactos/lib/ntdll/inc/ntdll.h --- trunk/reactos/lib/ntdll/inc/ntdll.h 2005-06-19 18:54:02 UTC (rev 16103) +++ trunk/reactos/lib/ntdll/inc/ntdll.h 2005-06-19 19:15:46 UTC (rev 16104) @@ -14,7 +14,7 @@ #include <ddk/ntifs.h> /* FIXME: NDK */ #include <ntos/ldrtypes.h> /* FIXME: NDK */ -/* NTDLL Public Headers. FIXME: USE NDK */ +/* NTDLL Public Headers. FIXME: Combine/clean these after NDK */ #include <ntdll/csr.h> #include <ntdll/rtl.h> #include <ntdll/ldr.h>
19 years, 3 months
1
0
0
0
[jimtabor] 16103: Adding ps.exe to build process.
by jimtabor@svn.reactos.com
Adding ps.exe to build process. Added: trunk/reactos/apps/utils/ps/ps.xml _____ Added: trunk/reactos/apps/utils/ps/ps.xml --- trunk/reactos/apps/utils/ps/ps.xml 2005-06-19 18:53:19 UTC (rev 16102) +++ trunk/reactos/apps/utils/ps/ps.xml 2005-06-19 18:54:02 UTC (rev 16103) @@ -0,0 +1,8 @@ +<module name="ps" type="win32cui" installbase="bin" installname="ps.exe"> + <include base="ps">.</include> + <define name="__USE_W32API" /> + <library>user32</library> + <library>kernel32</library> + <library>ntdll</library> + <file>ps.c</file> +</module> \ No newline at end of file
19 years, 3 months
1
0
0
0
[jimtabor] 16102: Adding ps.exe to build process.
by jimtabor@svn.reactos.com
Adding ps.exe to build process. Modified: trunk/reactos/apps/utils/directory.xml Modified: trunk/reactos/apps/utils/nts2w32err/nts2w32err.c _____ Modified: trunk/reactos/apps/utils/directory.xml --- trunk/reactos/apps/utils/directory.xml 2005-06-19 18:34:35 UTC (rev 16101) +++ trunk/reactos/apps/utils/directory.xml 2005-06-19 18:53:19 UTC (rev 16102) @@ -4,4 +4,7 @@ <directory name="rosperf"> <xi:include href="rosperf/rosperf.xml" /> </directory> +<directory name="ps"> + <xi:include href="ps/ps.xml" /> +</directory> _____ Modified: trunk/reactos/apps/utils/nts2w32err/nts2w32err.c --- trunk/reactos/apps/utils/nts2w32err/nts2w32err.c 2005-06-19 18:34:35 UTC (rev 16101) +++ trunk/reactos/apps/utils/nts2w32err/nts2w32err.c 2005-06-19 18:53:19 UTC (rev 16102) @@ -12,8 +12,9 @@ * 2004-01-10 Emanuele Aliberti * */ +#include <windows.h> #include <ddk/ntddk.h> -#include <windows.h> + #include <stdio.h> int main (int argc, char * argv [])
19 years, 3 months
1
0
0
0
[navaraf] 16101: Forgot to commit this file in r16097.
by navaraf@svn.reactos.com
Forgot to commit this file in r16097. Modified: trunk/reactos/lib/ntdll/ldr/startup.c _____ Modified: trunk/reactos/lib/ntdll/ldr/startup.c --- trunk/reactos/lib/ntdll/ldr/startup.c 2005-06-19 18:21:58 UTC (rev 16100) +++ trunk/reactos/lib/ntdll/ldr/startup.c 2005-06-19 18:34:35 UTC (rev 16101) @@ -12,7 +12,7 @@ #define NDEBUG #include <ntdll.h> -#include <user32/callback.h> +#include <win32k/callback.h> VOID RtlInitializeHeapManager (VOID); VOID LdrpInitLoader(VOID);
19 years, 3 months
1
0
0
0
[ion] 16100: Major cleanup of User-Mode NDK
by ion@svn.reactos.com
Major cleanup of User-Mode NDK Modified: trunk/reactos/include/ndk/umtypes.h _____ Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-06-19 18:06:53 UTC (rev 16099) +++ trunk/reactos/include/ndk/umtypes.h 2005-06-19 18:21:58 UTC (rev 16100) @@ -10,9 +10,20 @@ #ifndef _UMTYPES_H #define _UMTYPES_H -/*FIXME: REORGANIZE!!!*/ +/* DEPENDENCIES **************************************************************/ +#include <winioctl.h> +#include <ntstatus.h> +#include <ddk/ntnls.h> +#define STATIC static +/* EXPORTED DATA *************************************************************/ + +/* CONSTANTS *****************************************************************/ + +/* NTAPI Define */ #define NTAPI __stdcall + +/* Definitions for Object Creation -- winternl.h */ #define OBJ_INHERIT 2L #define OBJ_PERMANENT 16L #define OBJ_EXCLUSIVE 32L @@ -28,685 +39,727 @@ (p)->SecurityDescriptor = (s); \ (p)->SecurityQualityOfService = NULL; \ } -#ifndef NT_SUCCESS + +/* Native API Return Value Macros */ #define NT_SUCCESS(x) ((x)>=0) -#define STATUS_SUCCESS ((NTSTATUS)0) -#endif #define NT_WARNING(x) ((ULONG)(x)>>30==2) #define NT_ERROR(x) ((ULONG)(x)>>30==3) -#define PAGE_SIZE 0x1000 -#define PAGE_SHIFT 12L -#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA) -#include <ddk/ntstatus.h> -typedef struct _OBJECT_TYPE *POBJECT_TYPE; -#ifdef DBG +/* I/O Control Codes for communicating with Mailslots */ +#define FSCTL_MAILSLOT_PEEK \ + CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA) -#define ASSERT(exp) \ - ((!(exp)) ? \ - (RtlAssert( #exp, __FILE__, __LINE__, NULL ), FALSE) : TRUE) +/* I/O Control Codes for communicating with Network Drivers */ +#define IOCTL_REDIR_QUERY_PATH \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_SET_CONFIGURATION_INFO \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 102, METHOD_IN_DIRECT, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_GET_CONFIGURATION_INFO \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 103, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_GET_CONNECTION_INFO \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 104, METHOD_NEITHER, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_ENUMERATE_CONNECTIONS \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 105, METHOD_NEITHER, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_DELETE_CONNECTION \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 107, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_GET_STATISTICS \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 116, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_SET_DOMAIN_NAME \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_NETWORK_REMOTE_BOOT_INIT_SCRT \ + CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define ASSERTMSG(msg, exp) \ - ((!(exp)) ? \ - (RtlAssert( #exp, __FILE__, __LINE__, msg ), FALSE) : TRUE) +/* I/O Control Codes for communicating with Pipes */ +#define FSCTL_PIPE_ASSIGN_EVENT \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_DISCONNECT \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_LISTEN \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_PEEK \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA) + +#define FSCTL_PIPE_QUERY_EVENT \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_TRANSCEIVE \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA) + +#define FSCTL_PIPE_WAIT \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_IMPERSONATE \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_SET_CLIENT_PROCESS \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_QUERY_CLIENT_PROCESS \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define FSCTL_PIPE_INTERNAL_READ \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA) + +#define FSCTL_PIPE_INTERNAL_WRITE \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA) + +#define FSCTL_PIPE_INTERNAL_TRANSCEIVE \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA) + +#define FSCTL_PIPE_INTERNAL_READ_OVFLOW \ + CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA) -#define RTL_SOFT_ASSERT(exp) \ - ((!(_exp)) ? \ - (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE) : TRUE) +/* Macros for getting the current Process or Thread */ +#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 ) +#define ZwCurrentProcess() NtCurrentProcess() +#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 ) +#define ZwCurrentThread() NtCurrentThread() -#define RTL_SOFT_ASSERTMSG(msg, exp) \ - ((!(exp)) ? \ - (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE) : TRUE) +/* Kernel Shared Data Constants */ +#define PROCESSOR_FEATURE_MAX 64 +#define KI_USER_SHARED_DATA 0xffdf0000 +#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA) -#define RTL_VERIFY(exp) ASSERT(exp) -#define RTL_VERIFYMSG(msg, exp) ASSERT(msg, exp) +/* Paging Values on x86 */ +#define PAGE_SIZE 0x1000 +#define PAGE_SHIFT 12L -#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp) -#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp) +/* Run-Time Library (RTL) Registry Constants */ +#define RTL_REGISTRY_ABSOLUTE 0 +#define RTL_REGISTRY_SERVICES 1 +#define RTL_REGISTRY_CONTROL 2 +#define RTL_REGISTRY_WINDOWS_NT 3 +#define RTL_REGISTRY_DEVICEMAP 4 +#define RTL_REGISTRY_USER 5 +#define RTL_REGISTRY_MAXIMUM 6 +#define RTL_REGISTRY_HANDLE 0x40000000 +#define RTL_REGISTRY_OPTIONAL 0x80000000 +#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001 +#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002 +#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004 +#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008 +#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010 +#define RTL_QUERY_REGISTRY_DIRECT 0x00000020 +#define RTL_QUERY_REGISTRY_DELETE 0x00000040 -#else /* !DBG */ +/* SID Constants */ +#define SID_MAX_SUB_AUTHORITIES 15 -#define ASSERT(exp) ((VOID) 0) -#define ASSERTMSG(msg, exp) ((VOID) 0) +/* Version Constants */ +#define VER_MINORVERSION 0x0000001 +#define VER_MAJORVERSION 0x0000002 +#define VER_BUILDNUMBER 0x0000004 +#define VER_PLATFORMID 0x0000008 +#define VER_SERVICEPACKMINOR 0x0000010 +#define VER_SERVICEPACKMAJOR 0x0000020 +#define VER_SUITENAME 0x0000040 +#define VER_PRODUCT_TYPE 0x0000080 +#define VER_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 +#define VER_EQUAL 1 +#define VER_GREATER 2 +#define VER_GREATER_EQUAL 3 +#define VER_LESS 4 +#define VER_LESS_EQUAL 5 +#define VER_AND 6 +#define VER_OR 7 +#define VER_CONDITION_MASK 7 +#define VER_NUM_BITS_PER_CONDITION_MASK 3 -#define RTL_SOFT_ASSERT(exp) ((VOID) 0) -#define RTL_SOFT_ASSERTMSG(msg, exp) ((VOID) 0) +/* ENUMERATIONS **************************************************************/ -#define RTL_VERIFY(exp) ((exp) ? TRUE : FALSE) -#define RTL_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE) +/* Kernel Shared Data Values */ +typedef enum _NT_PRODUCT_TYPE +{ + NtProductWinNt = 1, + NtProductLanManNt, + NtProductServer +} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE; -#define RTL_SOFT_VERIFY(exp) ((exp) ? TRUE : FALSE) -#define RTL_SOFT_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE) +typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE +{ + StandardDesign, + NEC98x86, + EndAlternatives +} ALTERNATIVE_ARCHITECTURE_TYPE; -#endif /* DBG */ +/* Run-Time Library (RTL) Enumerations */ +typedef enum _TABLE_SEARCH_RESULT +{ + TableEmptyTree, + TableFoundNode, + TableInsertAsLeft, + TableInsertAsRight +} TABLE_SEARCH_RESULT; -#define FILE_ANY_ACCESS 0 -#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS -#define FILE_READ_ACCESS 1 -#define FILE_WRITE_ACCESS 2 +typedef enum _RTL_GENERIC_COMPARE_RESULTS +{ + GenericLessThan, + GenericGreaterThan, + GenericEqual +} RTL_GENERIC_COMPARE_RESULTS; -#define METHOD_BUFFERED 0 -#define METHOD_IN_DIRECT 1 -#define METHOD_OUT_DIRECT 2 -#define METHOD_NEITHER 3 +/* Kernel or Native Enumerations used by Native API */ +typedef enum _SECTION_INHERIT +{ + ViewShare = 1, + ViewUnmap = 2 +} SECTION_INHERIT; -#define DEVICE_TYPE ULONG +typedef enum _POOL_TYPE +{ + NonPagedPool, + PagedPool, + NonPagedPoolMustSucceed, + DontUseThisType, + NonPagedPoolCacheAligned, + PagedPoolCacheAligned, + NonPagedPoolCacheAlignedMustS, + MaxPoolType, + NonPagedPoolSession = 32, + PagedPoolSession, + NonPagedPoolMustSucceedSession, + DontUseThisTypeSession, + NonPagedPoolCacheAlignedSession, + PagedPoolCacheAlignedSession, + NonPagedPoolCacheAlignedMustSSession +} POOL_TYPE; -#define FILE_DEVICE_BEEP 0x00000001 -#define FILE_DEVICE_CD_ROM 0x00000002 -#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 -#define FILE_DEVICE_CONTROLLER 0x00000004 -#define FILE_DEVICE_DATALINK 0x00000005 -#define FILE_DEVICE_DFS 0x00000006 -#define FILE_DEVICE_DISK 0x00000007 -#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 -#define FILE_DEVICE_FILE_SYSTEM 0x00000009 -#define FILE_DEVICE_INPORT_PORT 0x0000000a -#define FILE_DEVICE_KEYBOARD 0x0000000b -#define FILE_DEVICE_MAILSLOT 0x0000000c -#define FILE_DEVICE_MIDI_IN 0x0000000d -#define FILE_DEVICE_MIDI_OUT 0x0000000e -#define FILE_DEVICE_MOUSE 0x0000000f -#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 -#define FILE_DEVICE_NAMED_PIPE 0x00000011 -#define FILE_DEVICE_NETWORK 0x00000012 -#define FILE_DEVICE_NETWORK_BROWSER 0x00000013 -#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 -#define FILE_DEVICE_NULL 0x00000015 -#define FILE_DEVICE_PARALLEL_PORT 0x00000016 -#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 -#define FILE_DEVICE_PRINTER 0x00000018 -#define FILE_DEVICE_SCANNER 0x00000019 -#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a -#define FILE_DEVICE_SERIAL_PORT 0x0000001b -#define FILE_DEVICE_SCREEN 0x0000001c -#define FILE_DEVICE_SOUND 0x0000001d -#define FILE_DEVICE_STREAMS 0x0000001e -#define FILE_DEVICE_TAPE 0x0000001f -#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 -#define FILE_DEVICE_TRANSPORT 0x00000021 -#define FILE_DEVICE_UNKNOWN 0x00000022 -#define FILE_DEVICE_VIDEO 0x00000023 -#define FILE_DEVICE_VIRTUAL_DISK 0x00000024 -#define FILE_DEVICE_WAVE_IN 0x00000025 -#define FILE_DEVICE_WAVE_OUT 0x00000026 -#define FILE_DEVICE_8042_PORT 0x00000027 -#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 -#define FILE_DEVICE_BATTERY 0x00000029 -#define FILE_DEVICE_BUS_EXTENDER 0x0000002a -#define FILE_DEVICE_MODEM 0x0000002b -#define FILE_DEVICE_VDM 0x0000002c -#define FILE_DEVICE_MASS_STORAGE 0x0000002d -#define FILE_DEVICE_SMB 0x0000002e -#define FILE_DEVICE_KS 0x0000002f -#define FILE_DEVICE_CHANGER 0x00000030 -#define FILE_DEVICE_SMARTCARD 0x00000031 -#define FILE_DEVICE_ACPI 0x00000032 -#define FILE_DEVICE_DVD 0x00000033 -#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034 -#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035 -#define FILE_DEVICE_DFS_VOLUME 0x00000036 -#define FILE_DEVICE_SERENUM 0x00000037 -#define FILE_DEVICE_TERMSRV 0x00000038 -#define FILE_DEVICE_KSEC 0x00000039 -#define FILE_DEVICE_FIPS 0x0000003a -#define CTL_CODE(DeviceType, Function, Method, Access)( \ - ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) -#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) +typedef enum _EVENT_TYPE +{ + NotificationEvent, + SynchronizationEvent +} EVENT_TYPE; -#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS) +typedef enum _TIMER_TYPE +{ + NotificationTimer, + SynchronizationTimer +} TIMER_TYPE; -#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) +typedef enum _MODE +{ + KernelMode, + UserMode, + MaximumMode +} MODE; +typedef enum _KWAIT_REASON +{ + Executive, + FreePage, + PageIn, + PoolAllocation, + DelayExecution, + Suspended, + UserRequest, + WrExecutive, + WrFreePage, + WrPageIn, + WrPoolAllocation, + WrDelayExecution, + WrSuspended, + WrUserRequest, + WrEventPair, + WrQueue, + WrLpcReceive, + WrLpcReply, + WrVirtualMemory, + WrPageOut, + WrRendezvous, + Spare2, + WrGuardedMutex, + Spare4, + Spare5, + Spare6, + WrKernel, + WrResource, + WrPushLock, + WrMutex, + WrQuantumEnd, + WrDispatchInt, + WrPreempted, + WrYieldExecution, + MaximumWaitReason +} KWAIT_REASON; -#define FSCTL_MARK_AS_SYSTEM_HIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_GET_HFS_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_READ_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_WRITE_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_DUMP_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_READ_DATA) -#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) -#define FSCTL_HSM_MSG CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 66, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) -#define FSCTL_NSS_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 67, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_HSM_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 68, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA) -#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_NSS_RCONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 70, METHOD_BUFFERED, FILE_READ_DATA) -#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA) -#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +typedef enum _KPROFILE_SOURCE +{ + ProfileTime, + ProfileAlignmentFixup, + ProfileTotalIssues, + ProfilePipelineDry, + ProfileLoadInstructions, + ProfilePipelineFrozen, + ProfileBranchInstructions, + ProfileTotalNonissues, + ProfileDcacheMisses, + ProfileIcacheMisses, + ProfileCacheMisses, + ProfileBranchMispredictions, + ProfileStoreInstructions, + ProfileFpInstructions, + ProfileIntegerInstructions, + Profile2Issue, + Profile3Issue, + Profile4Issue, + ProfileSpecialInstructions, + ProfileTotalCycles, + ProfileIcacheIssues, + ProfileDcacheAccesses, + ProfileMemoryBarrierCycles, + ProfileLoadLinkedIssues, + ProfileMaximum +} KPROFILE_SOURCE; +/**** Information Classes ****/ -#define FSCTL_MAILSLOT_PEEK CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA) +/* + * File + */ +typedef enum _FILE_INFORMATION_CLASS +{ + FileDirectoryInformation = 1, + FileFullDirectoryInformation, + FileBothDirectoryInformation, + FileBasicInformation, + FileStandardInformation, + FileInternalInformation, + FileEaInformation, + FileAccessInformation, + FileNameInformation, + FileRenameInformation, + FileLinkInformation, + FileNamesInformation, + FileDispositionInformation, + FilePositionInformation, + FileFullEaInformation, + FileModeInformation, + FileAlignmentInformation, + FileAllInformation, + FileAllocationInformation, + FileEndOfFileInformation, + FileAlternateNameInformation, + FileStreamInformation, + FilePipeInformation, + FilePipeLocalInformation, + FilePipeRemoteInformation, + FileMailslotQueryInformation, + FileMailslotSetInformation, + FileCompressionInformation, + FileObjectIdInformation, + FileCompletionInformation, + FileMoveClusterInformation, + FileQuotaInformation, + FileReparsePointInformation, + FileNetworkOpenInformation, + FileAttributeTagInformation, + FileTrackingInformation, + FileIdBothDirectoryInformation, + FileIdFullDirectoryInformation, + FileValidDataLengthInformation, + FileShortNameInformation, + FileMaximumInformation +} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; -#define FSCTL_NETWORK_SET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 102, METHOD_IN_DIRECT, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_GET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 103, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_GET_CONNECTION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 104, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_ENUMERATE_CONNECTIONS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 105, METHOD_NEITHER, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_DELETE_CONNECTION CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 107, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_GET_STATISTICS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 116, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_SET_DOMAIN_NAME CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_NETWORK_REMOTE_BOOT_INIT_SCRT CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_ANY_ACCESS) +/* + * File System + */ +typedef enum _FSINFOCLASS +{ + FileFsVolumeInformation = 1, + FileFsLabelInformation, + FileFsSizeInformation, + FileFsDeviceInformation, + FileFsAttributeInformation, + FileFsControlInformation, + FileFsFullSizeInformation, + FileFsObjectIdInformation, + FileFsDriverPathInformation, + FileFsMaximumInformation +} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; -#define FSCTL_PIPE_ASSIGN_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_DISCONNECT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_LISTEN CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_PEEK CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA) -#define FSCTL_PIPE_QUERY_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA) -#define FSCTL_PIPE_WAIT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_SET_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS) -#define FSCTL_PIPE_INTERNAL_READ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA) -#define FSCTL_PIPE_INTERNAL_WRITE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA) -#define FSCTL_PIPE_INTERNAL_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA) -#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA) +/* + * Registry Key + */ +typedef enum _KEY_INFORMATION_CLASS +{ + KeyBasicInformation, + KeyNodeInformation, + KeyFullInformation, + KeyNameInformation, + KeyCachedInformation, + KeyFlagsInformation +} KEY_INFORMATION_CLASS; -#define IOCTL_REDIR_QUERY_PATH CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS) +/* + * Registry Key Value + */ +typedef enum _KEY_VALUE_INFORMATION_CLASS +{ + KeyValueBasicInformation, + KeyValueFullInformation, + KeyValuePartialInformation, + KeyValueFullInformationAlign64, + KeyValuePartialInformationAlign64 +} KEY_VALUE_INFORMATION_CLASS; -#define IOCTL_DISK_BASE FILE_DEVICE_DISK -#define IOCTL_DISK_GET_DRIVE_GEOMETRY \ - CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS) - -#define IOCTL_DISK_GET_PARTITION_INFO \ - CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) +/* + * Registry Key Set + */ +typedef enum _KEY_SET_INFORMATION_CLASS +{ + KeyWriteTimeInformation, + KeyUserFlagsInformation, + MaxKeySetInfoClass +} KEY_SET_INFORMATION_CLASS; -#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 ) -#define ZwCurrentProcess() NtCurrentProcess() -#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 ) -#define ZwCurrentThread() NtCurrentThread() +/* + * Process + */ +typedef enum _PROCESSINFOCLASS +{ + ProcessBasicInformation, + ProcessQuotaLimits, + ProcessIoCounters, + ProcessVmCounters, + ProcessTimes, + ProcessBasePriority, + ProcessRaisePriority, + ProcessDebugPort, + ProcessExceptionPort, + ProcessAccessToken, + ProcessLdtInformation, + ProcessLdtSize, + ProcessDefaultHardErrorMode, + ProcessIoPortHandlers, + ProcessPooledUsageAndLimits, + ProcessWorkingSetWatch, + ProcessUserModeIOPL, + ProcessEnableAlignmentFaultFixup, + ProcessPriorityClass, + ProcessWx86Information, + ProcessHandleCount, + ProcessAffinityMask, + ProcessPriorityBoost, + ProcessDeviceMap, + ProcessSessionInformation, + ProcessForegroundInformation, + ProcessWow64Information, + ProcessImageFileName, + ProcessLUIDDeviceMapsEnabled, + ProcessBreakOnTermination, + ProcessDebugObjectHandle, + ProcessDebugFlags, + ProcessHandleTracing, + MaxProcessInfoClass +} PROCESSINFOCLASS; -typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD; +/* + * Thread + */ +typedef enum _THREADINFOCLASS +{ + ThreadBasicInformation, + ThreadTimes, + ThreadPriority, + ThreadBasePriority, + ThreadAffinityMask, + ThreadImpersonationToken, + ThreadDescriptorTableEntry, + ThreadEnableAlignmentFaultFixup, + ThreadEventPair_Reusable, + ThreadQuerySetWin32StartAddress, + ThreadZeroTlsCell, + ThreadPerformanceCount, + ThreadAmILastThread, + ThreadIdealProcessor, + ThreadPriorityBoost, + ThreadSetTlsArrayAddress, + ThreadIsIoPending, + ThreadHideFromDebugger, + ThreadBreakOnTermination, + MaxThreadInfoClass +} THREADINFOCLASS; +/* TYPES *********************************************************************/ + +/* Basic Types that aren't defined in User-Mode Headers */ typedef CONST int CINT; +typedef CONST char *PCSZ; +typedef CONST short CSHORT; +typedef CSHORT *PCSHORT; +typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS; + +/* Kernel Types used by Native APIs */ typedef LONG KPRIORITY; typedef LONG NTSTATUS, *PNTSTATUS; typedef UCHAR KIRQL, *PKIRQL; +typedef ULONG KAFFINITY, *PKAFFINITY; typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK; typedef ULONG WAIT_TYPE; -typedef struct _PEB *PPEB; -typedef CONST char *PCSZ; +typedef struct _PEB *PPEB; typedef ULONG KPROCESSOR_MODE; typedef PVOID PTHREAD_START_ROUTINE; -typedef short CSHORT; -typedef CSHORT *PCSHORT; -#define STATIC static +typedef struct _OBJECT_TYPE *POBJECT_TYPE; -typedef enum _MODE +/* Basic NT Types */ +typedef struct _UNICODE_STRING { - KernelMode, - UserMode, - MaximumMode -} MODE; - -typedef struct _UNICODE_STRING { - USHORT Length; - USHORT MaximumLength; - PWSTR Buffer; + USHORT Length; + USHORT MaximumLength; + PWSTR Buffer; } UNICODE_STRING, *PUNICODE_STRING; - typedef const UNICODE_STRING* PCUNICODE_STRING; -typedef struct _STRING { - USHORT Length; - USHORT MaximumLength; - PCHAR Buffer; +typedef struct _STRING +{ + USHORT Length; + USHORT MaximumLength; + PCHAR Buffer; } STRING, *PSTRING; - typedef STRING ANSI_STRING; typedef PSTRING PANSI_STRING; typedef STRING OEM_STRING; typedef PSTRING POEM_STRING; -typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS; -typedef enum _SECTION_INHERIT { - ViewShare = 1, - ViewUnmap = 2 -} SECTION_INHERIT; - -typedef struct _OBJECT_ATTRIBUTES { - ULONG Length; - HANDLE RootDirectory; - PUNICODE_STRING ObjectName; - ULONG Attributes; - PVOID SecurityDescriptor; - PVOID SecurityQualityOfService; +typedef struct _OBJECT_ATTRIBUTES +{ + ULONG Length; + HANDLE RootDirectory; + PUNICODE_STRING ObjectName; + ULONG Attributes; + PVOID SecurityDescriptor; + PVOID SecurityQualityOfService; } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; -typedef ULONG KAFFINITY, *PKAFFINITY; +typedef struct _IO_STATUS_BLOCK +{ + union + { + NTSTATUS Status; + PVOID Pointer; + }; + ULONG_PTR Information; +} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; -typedef struct _CLIENT_ID { - HANDLE UniqueProcess; - HANDLE UniqueThread; +typedef VOID NTAPI +(*PIO_APC_ROUTINE)( + IN PVOID ApcContext, + IN PIO_STATUS_BLOCK IoStatusBlock, + IN ULONG Reserved); + +typedef VOID NTAPI +(*PKNORMAL_ROUTINE)( + IN PVOID NormalContext, + IN PVOID SystemArgument1, + IN PVOID SystemArgument2); + +typedef VOID NTAPI +(*PTIMER_APC_ROUTINE)( + IN PVOID TimerContext, + IN ULONG TimerLowValue, + IN LONG TimerHighValue); + +/* Kernel Types which are returned or used by Native API */ +typedef struct _CLIENT_ID +{ + HANDLE UniqueProcess; + HANDLE UniqueThread; } CLIENT_ID, *PCLIENT_ID; -typedef enum _POOL_TYPE { - NonPagedPool, - PagedPool, - NonPagedPoolMustSucceed, - DontUseThisType, - NonPagedPoolCacheAligned, - PagedPoolCacheAligned, - NonPagedPoolCacheAlignedMustS, - MaxPoolType, - NonPagedPoolSession = 32, - PagedPoolSession, - NonPagedPoolMustSucceedSession, - DontUseThisTypeSession, - NonPagedPoolCacheAlignedSession, - PagedPoolCacheAlignedSession, - NonPagedPoolCacheAlignedMustSSession -} POOL_TYPE; +typedef struct _KSYSTEM_TIME +{ + ULONG LowPart; + LONG High1Time; + LONG High2Time; +} KSYSTEM_TIME, *PKSYSTEM_TIME; -typedef enum _EVENT_TYPE { - NotificationEvent, - SynchronizationEvent -} EVENT_TYPE; +typedef struct _TIME_FIELDS +{ + CSHORT Year; + CSHORT Month; + CSHORT Day; + CSHORT Hour; + CSHORT Minute; + CSHORT Second; + CSHORT Milliseconds; + CSHORT Weekday; +} TIME_FIELDS, *PTIME_FIELDS; -typedef enum _TIMER_TYPE { - NotificationTimer, - SynchronizationTimer -} TIMER_TYPE; +typedef struct _VM_COUNTERS +{ + SIZE_T PeakVirtualSize; + SIZE_T VirtualSize; + ULONG PageFaultCount; + SIZE_T PeakWorkingSetSize; + SIZE_T WorkingSetSize; + SIZE_T QuotaPeakPagedPoolUsage; + SIZE_T QuotaPagedPoolUsage; + SIZE_T QuotaPeakNonPagedPoolUsage; + SIZE_T QuotaNonPagedPoolUsage; + SIZE_T PagefileUsage; + SIZE_T PeakPagefileUsage; +} VM_COUNTERS, *PVM_COUNTERS; -typedef enum _KEY_INFORMATION_CLASS { - KeyBasicInformation, - KeyNodeInformation, - KeyFullInformation, - KeyNameInformation, - KeyCachedInformation, - KeyFlagsInformation -} KEY_INFORMATION_CLASS; +typedef struct _VM_COUNTERS_EX +{ + SIZE_T PeakVirtualSize; + SIZE_T VirtualSize; + ULONG PageFaultCount; + SIZE_T PeakWorkingSetSize; + SIZE_T WorkingSetSize; + SIZE_T QuotaPeakPagedPoolUsage; + SIZE_T QuotaPagedPoolUsage; + SIZE_T QuotaPeakNonPagedPoolUsage; + SIZE_T QuotaNonPagedPoolUsage; + SIZE_T PagefileUsage; + SIZE_T PeakPagefileUsage; + SIZE_T PrivateUsage; +} VM_COUNTERS_EX, *PVM_COUNTERS_EX; -typedef enum _KEY_VALUE_INFORMATION_CLASS { - KeyValueBasicInformation, - KeyValueFullInformation, - KeyValuePartialInformation, - KeyValueFullInformationAlign64, - KeyValuePartialInformationAlign64 -} KEY_VALUE_INFORMATION_CLASS; +/**** Information Types ****/ -typedef enum _KEY_SET_INFORMATION_CLASS { - KeyWriteTimeInformation, - KeyUserFlagsInformation, - MaxKeySetInfoClass -} KEY_SET_INFORMATION_CLASS; - -typedef struct _KEY_WRITE_TIME_INFORMATION { +/* + * Registry Key Set + */ + +/* Class 0 */ +typedef struct _KEY_WRITE_TIME_INFORMATION +{ LARGE_INTEGER LastWriteTime; } KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION; -typedef struct _KEY_USER_FLAGS_INFORMATION { +/* Class 1 */ +typedef struct _KEY_USER_FLAGS_INFORMATION +{ ULONG UserFlags; } KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION; -typedef struct _IO_STATUS_BLOCK { - _ANONYMOUS_UNION union { - NTSTATUS Status; - PVOID Pointer; - } DUMMYUNIONNAME; - ULONG_PTR Information; -} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; - -typedef VOID NTAPI -(*PIO_APC_ROUTINE)( - IN PVOID ApcContext, - IN PIO_STATUS_BLOCK IoStatusBlock, - IN ULONG Reserved); - -typedef struct _FILE_BASIC_INFORMATION { - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - ULONG FileAttributes; +/* + * File + */ + +/* Class 1 */ +typedef struct _FILE_BASIC_INFORMATION +{ + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + ULONG FileAttributes; } FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; -typedef struct _FILE_NETWORK_OPEN_INFORMATION { - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER AllocationSize; - LARGE_INTEGER EndOfFile; - ULONG FileAttributes; +/* Class 2 */ +typedef struct _FILE_NETWORK_OPEN_INFORMATION +{ + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; } FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; -typedef enum _PROCESSINFOCLASS { - ProcessBasicInformation, - ProcessQuotaLimits, - ProcessIoCounters, - ProcessVmCounters, - ProcessTimes, - ProcessBasePriority, - ProcessRaisePriority, - ProcessDebugPort, - ProcessExceptionPort, - ProcessAccessToken, - ProcessLdtInformation, - ProcessLdtSize, - ProcessDefaultHardErrorMode, [truncated at 1000 lines; 709 more skipped]
19 years, 3 months
1
0
0
0
← Newer
1
...
23
24
25
26
27
28
29
...
65
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Results per page:
10
25
50
100
200