Some NDK Fixes, kernel32 almost compiles
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/ndk/pstypes.h
--- trunk/reactos/include/ndk/pstypes.h 2005-06-20 03:42:05 UTC (rev
16130)
+++ trunk/reactos/include/ndk/pstypes.h 2005-06-20 03:55:42 UTC (rev
16131)
@@ -38,7 +38,13 @@
#define USER_SHARED_DATA (0x7FFE0000)
-#define PROCESS_PRIORITY_CLASS_NORMAL (2) /* FIXME */
+/* Process priority classes */
+#define PROCESS_PRIORITY_CLASS_HIGH (4) /* FIXME */
+#define PROCESS_PRIORITY_CLASS_IDLE (0) /* FIXME */
+#define PROCESS_PRIORITY_CLASS_NORMAL (2) /* FIXME */
+#define PROCESS_PRIORITY_CLASS_REALTIME (5) /* FIXME */
+#define PROCESS_PRIORITY_CLASS_BELOW_NORMAL (1) /* FIXME */
+#define PROCESS_PRIORITY_CLASS_ABOVE_NORMAL (3) /* FIXME */
/* Global Flags */
#define FLG_STOP_ON_EXCEPTION 0x00000001
_____
Modified: trunk/reactos/include/ndk/rtlfuncs.h
--- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 03:42:05 UTC
(rev 16130)
+++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 03:55:42 UTC
(rev 16131)
@@ -12,8 +12,7 @@
#include <ndk/rtltypes.h>
#include <ndk/pstypes.h>
-/*FIXME: REORGANIZE THIS */
-/* FIXME: SOME FUNCTIONS MUST BE PROTECTED AGAINST DDK/IFS. */
+/* FIXME: FILE NEEDS TO BE CLEANED UP AT THE END WHEN ALL THE FUNCTIONS
HAVE BEEN ADDED */
/*
* VOID
@@ -675,6 +674,12 @@
BOOLEAN AllocateDestinationString
);
+ULONG
+STDCALL
+RtlAnsiStringToUnicodeSize (
+ PANSI_STRING AnsiString
+ );
+
NTSTATUS
STDCALL
RtlUnicodeToMultiByteN (
@@ -905,7 +910,53 @@
PVOID BaseAddress,
ULONG Rva
);
+
+NTSTATUS
+STDCALL
+RtlIntegerToChar (
+ IN ULONG Value,
+ IN ULONG Base,
+ IN ULONG Length,
+ IN OUT PCHAR String
+ );
+
+NTSTATUS
+STDCALL
+RtlIntegerToUnicode(
+ IN ULONG Value,
+ IN ULONG Base OPTIONAL,
+ IN ULONG Length OPTIONAL,
+ IN OUT LPWSTR String
+ );
+
+NTSTATUS
+STDCALL
+RtlIntegerToUnicodeString (
+ IN ULONG Value,
+ IN ULONG Base,
+ IN OUT PUNICODE_STRING String
+ );
+
+ NTSTATUS
+STDCALL
+RtlCharToInteger (
+ PCSZ String,
+ ULONG Base,
+ PULONG Value
+ );
+
+USHORT FASTCALL
+RtlUshortByteSwap (IN USHORT Source);
+
+ULONG
+STDCALL
+RtlIsTextUnicode (
+ PVOID Buffer,
+ ULONG Length,
+ ULONG *Flags
+ );
+
NTSTATUS
STDCALL
RtlInitializeSid (
@@ -922,6 +973,13 @@
IN PUSHORT CaseTableBase,
OUT PNLSTABLEINFO NlsTable
);
+
+VOID
+STDCALL
+RtlInitCodePageTable (
+ IN PUSHORT TableBase,
+ OUT PCPTABLEINFO CodePageTable
+ );
NTSTATUS
STDCALL
@@ -1110,9 +1168,20 @@
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
+
+NTSTATUS STDCALL
+RtlSetTimeZoneInformation (IN OUT LPTIME_ZONE_INFORMATION
TimeZoneInformation);
NTSTATUS
STDCALL
+RtlUpcaseUnicodeString (
+ IN OUT PUNICODE_STRING DestinationString,
+ IN PCUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString
+ );
+
+NTSTATUS
+STDCALL
RtlUnicodeStringToOemString (
IN OUT POEM_STRING DestinationString,
IN PUNICODE_STRING SourceString,
@@ -1137,6 +1206,19 @@
IN ULONG Length,
IN OUT PCHAR String
);
+
+ NTSTATUS
+STDCALL
+RtlVerifyVersionInfo(
+ IN PRTL_OSVERSIONINFOEXW VersionInfo,
+ IN ULONG TypeMask,
+ IN ULONGLONG ConditionMask
+ );
+
+NTSTATUS
+STDCALL
+RtlGetVersion(
+ IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
BOOLEAN
STDCALL
@@ -1187,7 +1269,37 @@
PEXCEPTION_RECORD ExceptionRecord,
DWORD EaxValue
);
-
+
+HANDLE STDCALL
+RtlDestroyHeap (HANDLE hheap);
+
+PVOID STDCALL
+RtlReAllocateHeap (
+ HANDLE Heap,
+ ULONG Flags,
+ PVOID Ptr,
+ ULONG Size
+ );
+BOOLEAN STDCALL
+RtlLockHeap (IN HANDLE Heap);
+
+BOOLEAN STDCALL
+RtlUnlockHeap (IN HANDLE Heap);
+
+ULONG STDCALL
+RtlSizeHeap(
+ IN PVOID HeapHandle,
+ IN ULONG Flags,
+ IN PVOID MemoryPointer
+ );
+
+BOOLEAN STDCALL
+RtlValidateHeap (
+ HANDLE Heap,
+ ULONG Flags,
+ PVOID pmem
+ );
+
BOOLEAN
STDCALL
RtlValidSid (
_____
Modified: trunk/reactos/include/ndk/umtypes.h
--- trunk/reactos/include/ndk/umtypes.h 2005-06-20 03:42:05 UTC (rev
16130)
+++ trunk/reactos/include/ndk/umtypes.h 2005-06-20 03:55:42 UTC (rev
16131)
@@ -61,34 +61,6 @@
#define FSCTL_MAILSLOT_PEEK \
CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)
-/* 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)
-
/* 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)
@@ -186,6 +158,7 @@
/* Device Charactertics */
#define FILE_REMOVABLE_MEDIA 0x00000001
+#define FILE_REMOTE_DEVICE 0x00000010
/* SID Constants */
#define SID_MAX_SUB_AUTHORITIES 15
@@ -283,6 +256,12 @@
SynchronizationTimer
} TIMER_TYPE;
+typedef enum _WAIT_TYPE
+{
+ WaitAll,
+ WaitAny
+} WAIT_TYPE;
+
typedef enum _INTERFACE_TYPE
{
InterfaceTypeUndefined = -1,
@@ -582,12 +561,12 @@
typedef UCHAR KIRQL, *PKIRQL;
typedef ULONG KAFFINITY, *PKAFFINITY;
typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
-typedef ULONG WAIT_TYPE;
typedef struct _PEB *PPEB;
typedef ULONG KPROCESSOR_MODE;
typedef struct _OBJECT_TYPE *POBJECT_TYPE;
struct _ETHREAD;
struct _EVENT_TRACE_HEADER; /* <--- We might want to declare this one
*/
+typedef ULONG EXECUTION_STATE;
/* Basic NT Types */
typedef struct _UNICODE_STRING
@@ -925,13 +904,35 @@
ULONG Characteristics;
} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
+typedef struct _FILE_FS_ATTRIBUTE_INFORMATION
+{
+ ULONG FileSystemAttributes;
+ ULONG MaximumComponentNameLength;
+ ULONG FileSystemNameLength;
+ WCHAR FileSystemName[1];
+} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
+
+typedef struct _FILE_FS_SIZE_INFORMATION
+{
+ LARGE_INTEGER TotalAllocationUnits;
+ LARGE_INTEGER AvailableAllocationUnits;
+ ULONG SectorsPerAllocationUnit;
+ ULONG BytesPerSector;
+} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
+
+typedef struct _FILE_FS_LABEL_INFORMATION
+{
+ ULONG VolumeLabelLength;
+ WCHAR VolumeLabel[1];
+} FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;
+
typedef struct _FILE_FS_VOLUME_INFORMATION
{
- LARGE_INTEGER VolumeCreationTime;
- ULONG VolumeSerialNumber;
- ULONG VolumeLabelLength;
- BOOLEAN SupportsObjects;
- WCHAR VolumeLabel[1];
+ LARGE_INTEGER VolumeCreationTime;
+ ULONG VolumeSerialNumber;
+ ULONG VolumeLabelLength;
+ BOOLEAN SupportsObjects;
+ WCHAR VolumeLabel[1];
} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
/*
@@ -941,19 +942,19 @@
/* Class 0 */
typedef struct _KEY_VALUE_ENTRY
{
- PUNICODE_STRING ValueName;
- ULONG DataLength;
- ULONG DataOffset;
- ULONG Type;
+ PUNICODE_STRING ValueName;
+ ULONG DataLength;
+ ULONG DataOffset;
+ ULONG Type;
} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
/* Class 1 */
typedef struct _KEY_VALUE_PARTIAL_INFORMATION
{
- ULONG TitleIndex;
- ULONG Type;
- ULONG DataLength;
- UCHAR Data[1];
+ ULONG TitleIndex;
+ ULONG Type;
+ ULONG DataLength;
+ UCHAR Data[1];
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
/* Class 2 */
@@ -989,21 +990,6 @@
WCHAR Name[1];
} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
-/*
- * Process
- */
-
-/* Class 0 */
-typedef struct _PROCESS_BASIC_INFORMATION
-{
- NTSTATUS ExitStatus;
- PPEB PebBaseAddress;
- KAFFINITY AffinityMask;
- KPRIORITY BasePriority;
- ULONG UniqueProcessId;
- ULONG InheritedFromUniqueProcessId;
-} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
-
/* File Pipe Structures for the FSCTLs */
typedef struct _FILE_PIPE_WAIT_FOR_BUFFER
{
_____
Modified: trunk/reactos/include/ndk/zwtypes.h
--- trunk/reactos/include/ndk/zwtypes.h 2005-06-20 03:42:05 UTC (rev
16130)
+++ trunk/reactos/include/ndk/zwtypes.h 2005-06-20 03:55:42 UTC (rev
16131)
@@ -17,6 +17,9 @@
/* CONSTANTS
*****************************************************************/
#define MAX_BUS_NAME 24
+#define EVENT_READ_ACCESS 1
+#define EVENT_WRITE_ACCESS 2
+
#define EVENT_PAIR_ALL_ACCESS (0x1F0000L)
/* ENUMERATIONS
**************************************************************/
@@ -381,6 +384,35 @@
/*
* Process
*/
+
+/* Class 0 */
+typedef struct _PROCESS_BASIC_INFORMATION
+{
+ NTSTATUS ExitStatus;
+ PPEB PebBaseAddress;
+ KAFFINITY AffinityMask;
+ KPRIORITY BasePriority;
+ ULONG UniqueProcessId;
+ ULONG InheritedFromUniqueProcessId;
+} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
+
+
+/* Class 4 */
+typedef struct _KERNEL_USER_TIMES
+{
+ LARGE_INTEGER CreateTime;
+ LARGE_INTEGER ExitTime;
+ LARGE_INTEGER KernelTime;
+ LARGE_INTEGER UserTime;
+} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
+
+/* Class 16 */
+typedef struct _PROCESS_PRIORITY_CLASS
+{
+ BOOLEAN Foreground;
+ UCHAR PriorityClass;
+} PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;
+
/* Class 23 */
typedef struct _PROCESS_DEVICEMAP_INFORMATION
{
@@ -398,6 +430,12 @@
};
} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
+/* Class 24 */
+typedef struct _PROCESS_SESSION_INFORMATION
+{
+ ULONG SessionId;
+} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;
+
/*
* System
*/