1 added + 97 modified, total 98 files
reactos
diff -u -r1.6 -r1.6.22.1
--- README 20 Mar 2003 02:33:37 -0000 1.6
+++ README 27 Jun 2004 01:13:11 -0000 1.6.22.1
@@ -1,6 +1,6 @@
========================
-ReactOS Version 0.1.x
-Updated March 19th, 2003
+ReactOS Version 0.2.x
+Updated June 23rd, 2004
========================
1. What is ReactOS?
reactos/drivers/dd/sndblst
diff -u -r1.4 -r1.4.8.1
--- dma.c 28 Mar 2004 20:44:09 -0000 1.4
+++ dma.c 27 Jun 2004 01:13:11 -0000 1.4.8.1
@@ -73,6 +73,7 @@
NTSTATUS Status;
PDEVICE_EXTENSION Device = DeviceObject->DeviceExtension;
KEVENT DMAEvent;
+ KIRQL OldIrql;
// Buffersize should already be set but it isn't yet !
Device->BufferSize = SB_BUFSIZE;
@@ -138,7 +139,9 @@
&Device->Buffer, FALSE);
// For some reason BufferSize == 0 here?!
- DPRINT("Buffer == 0x%x Bufsize == %u\n", Device->Buffer, Device->BufferSize);
+// DPRINT("Buffer == 0x%x Bufsize == %u\n", Device->Buffer, Device->BufferSize);
+ DPRINT("Bufsize == %u,", Device->BufferSize);
+ DPRINT("Buffer == 0x%x\n", Device->Buffer);
if (! Device->VirtualBuffer)
{
@@ -147,14 +150,16 @@
return FALSE;
}
- DPRINT("Buffer == 0x%x Bufsize == %u\n", Device->Buffer, Device->BufferSize);
+// DPRINT("Buffer == 0x%x Bufsize == %u\n", Device->Buffer, Device->BufferSize);
+ DPRINT("Bufsize == %u,", Device->BufferSize);
+ DPRINT("Buffer == 0x%x\n", Device->Buffer);
DPRINT("Calling IoAllocateMdl()\n");
Device->Mdl = IoAllocateMdl(Device->VirtualBuffer, Device->BufferSize, FALSE, FALSE, NULL);
DPRINT("Bufsize == %u\n", Device->BufferSize);
// IS THIS RIGHT:
- if (! Device->VirtualBuffer)
+ if (! Device->Mdl)
{
DPRINT("IoAllocateMdl() FAILED\n");
// Free the HAL buffer
@@ -171,11 +176,13 @@
// part II:
KeInitializeEvent(&DMAEvent, SynchronizationEvent, FALSE);
// Raise IRQL
+ KeRaiseIrql(DISPATCH_LEVEL,&OldIrql);
IoAllocateAdapterChannel(Device->Adapter, DeviceObject,
BYTES_TO_PAGES(Device->BufferSize),
SoundProgramDMA, &DMAEvent);
- DPRINT("VBuffer == 0x%x Bufsize == %u\n", Device->VirtualBuffer, Device->BufferSize);
// Lower IRQL
+ KeLowerIrql(OldIrql);
+ DPRINT("VBuffer == 0x%x Bufsize == %u\n", Device->VirtualBuffer, Device->BufferSize);
KeWaitForSingleObject(&DMAEvent, Executive, KernelMode, FALSE, NULL);
reactos/drivers/dd/sndblst
diff -u -r1.1 -r1.1.10.1
--- makefile 20 Jan 2004 19:35:59 -0000 1.1
+++ makefile 27 Jun 2004 01:13:11 -0000 1.1.10.1
@@ -2,6 +2,8 @@
TARGET_BOOTSTRAP = yes
+TARGET_CFLAGS = -Wall #-Werror
+
TARGET_TYPE = driver
TARGET_NAME = sndblst
reactos/drivers/dd/sndblst
diff -u -r1.2 -r1.2.8.1
--- portio.c 28 Mar 2004 20:44:09 -0000 1.2
+++ portio.c 27 Jun 2004 01:13:11 -0000 1.2.8.1
@@ -101,6 +101,11 @@
DPRINT("DSP v%d.%d\n", DSP_Major, DSP_Minor);
+ // if audio is disabled,
+ // version tests return 0xFF everywhere
+ if (DSP_Major == 0xFF && DSP_Minor == 0xFF)
+ return FALSE;
+
DPRINT("Sound card initialized!\n");
return (DSP_Major * 256) + DSP_Minor;
reactos/drivers/dd/sndblst
diff -u -r1.1 -r1.1.10.1
--- sbdebug.h 20 Jan 2004 19:35:59 -0000 1.1
+++ sbdebug.h 27 Jun 2004 01:13:11 -0000 1.1.10.1
@@ -17,7 +17,7 @@
else if (s == STATUS_ACCESS_DENIED) \
DPRINT("NTSTATUS == ACCESS_DENIED\n") \
else \
- DPRINT("NTSTATUS == FAILURE (???)\n"); \
+ DPRINT("NTSTATUS == FAILURE (Unknown)\n"); \
}
#else
#define TEST_STATUS(s)
reactos/drivers/dd/sndblst
diff -u -r1.5 -r1.5.8.1
--- sndblst.c 28 Mar 2004 20:44:09 -0000 1.5
+++ sndblst.c 27 Jun 2004 01:13:11 -0000 1.5.8.1
@@ -107,10 +107,10 @@
s = RtlQueryRegistryValues(RTL_REGISTRY_ABSOLUTE, RegistryPath, Table,
&Parameters, NULL);
-*/
if (! NT_SUCCESS(s))
return s;
+*/
DPRINT("Port 0x%x IRQ %d DMA %d\n", Parameters->Port, Parameters->IRQ, Parameters->DMA);
@@ -124,6 +124,7 @@
// Set state indication somehow
// Failure - what error code do we give?!
// return STATUS_????
+ return STATUS_UNSUCCESSFUL;
}
DSP_Major = DSP_Version / 256;
@@ -453,7 +454,8 @@
// DeviceExtension = DeviceObject->DeviceExtension;
// DeviceExtension->BeepOn = FALSE;
- return(STATUS_SUCCESS);
+// return(STATUS_SUCCESS);
+ return(Status);
}
/* EOF */
reactos/drivers/dd/sndblst
diff -u -r1.3 -r1.3.8.1
--- sndblst.h 28 Mar 2004 20:44:09 -0000 1.3
+++ sndblst.h 27 Jun 2004 01:13:11 -0000 1.3.8.1
@@ -46,9 +46,9 @@
#define IOCTL_SOUND_BASE FILE_DEVICE_SOUND
#define IOCTL_WAVE_BASE 0x0000 // CORRECT?
-//#define IOCTL_MIDI_PLAY CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0006, \
-// METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
+/* #define IOCTL_MIDI_PLAY CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0006, \
+ * METHOD_BUFFERED, FILE_WRITE_ACCESS)
+ */
// Some constants
reactos/drivers/fs/vfat
diff -u -r1.67 -r1.67.8.1
--- create.c 31 Mar 2004 03:30:36 -0000 1.67
+++ create.c 27 Jun 2004 01:13:11 -0000 1.67.8.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: create.c,v 1.67 2004/03/31 03:30:36 jimtabor Exp $
+/* $Id: create.c,v 1.67.8.1 2004/06/27 01:13:11 hyperion Exp $
*
* PROJECT: ReactOS kernel
* FILE: drivers/fs/vfat/create.c
@@ -338,11 +338,11 @@
{
PVFATFCB ParentFcb;
PVFATFCB Fcb;
- DISK_GEOMETRY DiskGeometry;
NTSTATUS Status;
UNICODE_STRING NameU;
WCHAR Name[MAX_PATH];
ULONG Size;
+ ULONG MediaChangeCount;
// PDEVICE_OBJECT DeviceObject = DeviceExt->StorageDevice->Vpb->DeviceObject;
@@ -370,50 +370,41 @@
DPRINT ("PathName to open: '%wZ'\n", FileNameU);
- Size = sizeof(DISK_GEOMETRY);
- Status = VfatBlockDeviceIoControl(DeviceExt->StorageDevice,
- IOCTL_DISK_GET_DRIVE_GEOMETRY,
- NULL,
- 0,
- &DiskGeometry,
- &Size,
- FALSE);
-
- if (DiskGeometry.MediaType != FixedMedia )
- {
-
- Status = VfatBlockDeviceIoControl (DeviceExt->StorageDevice,
- IOCTL_DISK_CHECK_VERIFY,
- NULL,
- 0,
- NULL,
- 0,
- TRUE);
-
- if (Status == STATUS_VERIFY_REQUIRED)
- {
- PDEVICE_OBJECT DeviceToVerify;
-
- DPRINT ("Media change detected!\n");
- DPRINT ("Device %p\n", DeviceObject);
-
- DeviceToVerify = IoGetDeviceToVerify (PsGetCurrentThread ());
- IoSetDeviceToVerify (PsGetCurrentThread (),
- NULL);
-
- Status = IoVerifyVolume (DeviceToVerify,
- FALSE);
- if (!NT_SUCCESS(Status))
- {
- DPRINT ("Status %lx\n", Status);
- return Status;
- }
- }
- else if (!NT_SUCCESS(Status))
+ if (!DeviceExt->FatInfo.FixedMedia)
{
- DPRINT ("Status %lx\n", Status);
- return Status;
- }
+ Size = sizeof(ULONG);
+ Status = VfatBlockDeviceIoControl (DeviceExt->StorageDevice,
+ IOCTL_DISK_CHECK_VERIFY,
+ NULL,
+ 0,
+ &MediaChangeCount,
+ &Size,
+ FALSE);
+
+ if (Status == STATUS_VERIFY_REQUIRED || MediaChangeCount != DeviceExt->MediaChangeCount)
+ {
+ PDEVICE_OBJECT DeviceToVerify;
+
+ DPRINT ("Media change detected!\n");
+ DPRINT ("Device %p\n", DeviceExt->StorageDevice);
+
+ DeviceToVerify = IoGetDeviceToVerify (PsGetCurrentThread ());
+ IoSetDeviceToVerify (PsGetCurrentThread (),
+ NULL);
+
+ Status = IoVerifyVolume (DeviceToVerify,
+ FALSE);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT ("Status %lx\n", Status);
+ return Status;
+ }
+ }
+ else if (!NT_SUCCESS(Status))
+ {
+ DPRINT ("Status %lx\n", Status);
+ return Status;
+ }
}
reactos/drivers/fs/vfat
diff -u -r1.31 -r1.31.2.1
--- fsctl.c 20 Jun 2004 09:52:58 -0000 1.31
+++ fsctl.c 27 Jun 2004 01:13:11 -0000 1.31.2.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: fsctl.c,v 1.31 2004/06/20 09:52:58 navaraf Exp $
+/* $Id: fsctl.c,v 1.31.2.1 2004/06/27 01:13:11 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -31,7 +31,7 @@
#include <rosrtl/string.h>
#include <wchar.h>
-//#define NDEBUG
+#define NDEBUG
#include <debug.h>
#include "vfat.h"
@@ -74,6 +74,7 @@
DPRINT("VfatBlockDeviceIoControl faild (%x)\n", Status);
return Status;
}
+ FatInfo.FixedMedia = DiskGeometry.MediaType == FixedMedia ? TRUE : FALSE;
if (DiskGeometry.MediaType == FixedMedia || DiskGeometry.MediaType == RemovableMedia)
{
// We have found a hard disk
@@ -274,6 +275,7 @@
{
NTSTATUS Status;
BOOLEAN RecognizedFS;
+ ULONG Size;
DPRINT("Mounting VFAT device...\n");
@@ -284,6 +286,22 @@
}
DPRINT("MountVfatdev %d, PAGE_SIZE = %d\n", DeviceExt->FatInfo.BytesPerCluster, PAGE_SIZE);
+ if (!DeviceExt->FatInfo.FixedMedia)
+ {
+ Size = sizeof(ULONG);
+ Status = VfatBlockDeviceIoControl (DeviceToMount,
+ IOCTL_DISK_CHECK_VERIFY,
+ NULL,
+ 0,
+ &DeviceExt->MediaChangeCount,
+ &Size,
+ FALSE);
+ if (!NT_SUCCESS(Status))
+ {
+ return Status;
+ }
+ }
+
return(STATUS_SUCCESS);
}
@@ -478,29 +496,50 @@
{
PDEVICE_OBJECT DeviceToVerify;
NTSTATUS Status = STATUS_SUCCESS;
-
+ FATINFO FatInfo;
+ BOOLEAN RecognizedFS;
+ ULONG Size;
+ PDEVICE_EXTENSION DeviceExt = IrpContext->DeviceExt;
DPRINT("VfatVerify(IrpContext %x)\n", IrpContext);
DeviceToVerify = IrpContext->Stack->Parameters.VerifyVolume.DeviceObject;
+ Size = sizeof(ULONG);
Status = VfatBlockDeviceIoControl(DeviceToVerify,
IOCTL_DISK_CHECK_VERIFY,
NULL,
0,
- NULL,
- NULL,
+ &DeviceExt->MediaChangeCount,
+ &Size,
FALSE);
- if (!NT_SUCCESS(Status))
+ if (!NT_SUCCESS(Status) && Status != STATUS_VERIFY_REQUIRED)
{
DPRINT("VfatBlockDeviceIoControl() failed (Status %lx)\n", Status);
-
- /* FIXME: Compare volume label */
-
- DPRINT(" returning STATUS_WRONG_VOLUME\n");
-
Status = STATUS_WRONG_VOLUME;
}
- DeviceToVerify->Flags &= ~DO_VERIFY_VOLUME;
+ else
+ {
+ Status = VfatHasFileSystem(DeviceToVerify, &RecognizedFS, &FatInfo);
+ if (!NT_SUCCESS(Status) || RecognizedFS == FALSE)
+ {
+ Status = STATUS_WRONG_VOLUME;
+ }
+ else if (sizeof(FATINFO) == RtlCompareMemory(&FatInfo, &DeviceExt->FatInfo, sizeof(FATINFO)))
+ {
+ /*
+ * FIXME:
+ * Preformated floppy disks have very often a serial number of 0000:0000.
+ * We should calculate a crc sum over the sectors from the root directory as secondary volume number.
+ * Each write to the root directory must update this crc sum.
+ */
+
+ DeviceToVerify->Flags &= ~DO_VERIFY_VOLUME;
+ }
+ else
+ {
+ Status = STATUS_WRONG_VOLUME;
+ }
+ }
return Status;
}
reactos/drivers/fs/vfat
diff -u -r1.63 -r1.63.6.1
--- vfat.h 15 May 2004 23:00:02 -0000 1.63
+++ vfat.h 27 Jun 2004 01:13:11 -0000 1.63.6.1
@@ -1,4 +1,4 @@
-/* $Id: vfat.h,v 1.63 2004/05/15 23:00:02 hbirr Exp $ */
+/* $Id: vfat.h,v 1.63.6.1 2004/06/27 01:13:11 hyperion Exp $ */
#include <ddk/ntifs.h>
@@ -129,6 +129,7 @@
ULONG NumberOfClusters;
ULONG FatType;
ULONG Sectors;
+ BOOL FixedMedia;
} FATINFO, *PFATINFO;
struct _VFATFCB;
@@ -162,6 +163,9 @@
struct _VFATFCB * VolumeFcb;
LIST_ENTRY VolumeListEntry;
+
+ ULONG MediaChangeCount;
+
} DEVICE_EXTENSION, *PDEVICE_EXTENSION, VCB, *PVCB;
typedef struct
reactos/include/ddk
diff -u -r1.37 -r1.37.12.1
--- exfuncs.h 30 Dec 2003 18:34:58 -0000 1.37
+++ exfuncs.h 27 Jun 2004 01:13:11 -0000 1.37.12.1
@@ -46,6 +46,32 @@
BOOLEAN Wait
);
BOOLEAN
+FASTCALL
+ExAcquireRundownProtection (
+ PVOID ProcessRundownProtect
+ );
+BOOLEAN
+FASTCALL
+ExAcquireRundownProtectionEx (
+ IN PVOID ProcessRundownProtect,
+ IN PVOID Unknown
+ );
+PVOID
+FASTCALL
+ExfAcquirePushLockExclusive (
+ PVOID Lock
+ );
+PVOID
+FASTCALL
+ExfAcquirePushLockShared (
+ PVOID Lock
+ );
+PVOID
+FASTCALL
+ExfReleasePushLock (
+ PVOID Lock
+ );
+BOOLEAN
STDCALL
ExAcquireSharedStarveExclusive (
PERESOURCE Resource,
@@ -120,6 +146,15 @@
IN ULONG Tag
);
+PVOID
+NTAPI
+ExAllocatePoolWithTagPriority(
+ IN POOL_TYPE PoolType,
+ IN SIZE_T NumberOfBytes,
+ IN ULONG Tag,
+ IN EX_POOL_PRIORITY Priority
+ );
+
VOID
STDCALL
ExConvertExclusiveToSharedLite (
@@ -152,6 +187,15 @@
PERESOURCE Resource
);
+VOID
+STDCALL
+ExEnumHandleTable (
+ PULONG HandleTable,
+ PVOID Callback,
+ PVOID Param,
+ PHANDLE Handle OPTIONAL
+ );
+
NTSTATUS
STDCALL
ExExtendZone (
@@ -199,6 +243,28 @@
#define ExGetCurrentResourceThread() \
((ERESOURCE_THREAD)KeGetCurrentThread())
+LONGLONG
+FASTCALL
+ExfInterlockedCompareExchange64(
+ IN OUT LONGLONG volatile *Destination,
+ IN PLONGLONG ExChange,
+ IN PLONGLONG Comperand
+ );
+
+VOID
+STDCALL
+ExGetCurrentProcessorCounts (
+ PVOID IdleThreadTime,
+ PVOID SystemTime,
+ PVOID Number
+ );
+
+VOID
+STDCALL
+ExGetCurrentProcessorCpuUsage (
+ PVOID RetVal
+ );
+
ULONG
STDCALL
ExGetExclusiveWaiterCount (
@@ -242,6 +308,12 @@
PERESOURCE Resource
);
+VOID
+FASTCALL
+ExInitializeRundownProtection (
+ PVOID ProcessRundown
+ );
+
/*
* VOID
* ExInitializeSListHead (
@@ -333,6 +405,7 @@
PLONG Addend,
PKSPIN_LOCK Lock
);
+
ULONG
STDCALL
ExInterlockedExchangeUlong (
@@ -340,6 +413,7 @@
ULONG Value,
PKSPIN_LOCK Lock
);
+
NTSTATUS
STDCALL
ExInterlockedExtendZone (
@@ -349,6 +423,12 @@
PKSPIN_LOCK Lock
);
+PSLIST_ENTRY
+FASTCALL
+ExInterlockedFlushSList (
+ IN PSLIST_HEADER ListHead
+ );
+
/*
* PVOID
* ExInterlockedFreeToZone (
@@ -498,6 +578,14 @@
PWORK_QUEUE_ITEM WorkItem,
WORK_QUEUE_TYPE QueueType
);
+
+SIZE_T
+STDCALL
+ExQueryPoolBlockSize (
+ IN PVOID PoolBlock,
+ OUT PBOOLEAN QuotaCharged
+ );
+
VOID
STDCALL
ExRaiseAccessViolation (
@@ -513,6 +601,21 @@
ExRaiseStatus (
NTSTATUS Status
);
+VOID
+STDCALL
+ExRaiseException (
+ PEXCEPTION_RECORD pExcptRec
+ );
+VOID
+STDCALL
+ExRaiseHardError (
+ IN NTSTATUS ErrorStatus,
+ IN ULONG NumberOfParameters,
+ IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
+ IN PVOID *Parameters,
+ IN HARDERROR_RESPONSE_OPTION ResponseOption,
+ OUT PHARDERROR_RESPONSE Response
+ );
PVOID
STDCALL
@@ -527,6 +630,12 @@
ExReinitializeResourceLite (
PERESOURCE Resource
);
+VOID
+FASTCALL
+ExReInitializeRundownProtection (
+ PVOID ProcessRundown
+ );
+
/* ReactOS Specific: begin */
VOID
FASTCALL
@@ -566,7 +675,22 @@
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
);
-
+BOOLEAN
+FASTCALL
+ExReleaseRundownProtection (
+ IN PVOID ProcessRundownProtect
+ );
+BOOLEAN
+FASTCALL
+ExReleaseRundownProtectionEx (
+ IN PVOID ProcessRundownProtect,
+ IN PVOID Unknown
+ );
+VOID
+FASTCALL
+ExRundownCompleted (
+ PVOID ProcessRundown
+ );
VOID
STDCALL
ExSetResourceOwnerPointer (
@@ -576,6 +700,23 @@
VOID
STDCALL
+ExSetTimerResolution (
+ IN ULONG DesiredTime,
+ IN BOOLEAN SetResolution
+ );
+
+STDCALL
+BOOLEAN
+ExVerifySuite(
+ SUITE_TYPE SuiteType
+ );
+
+BOOLEAN
+STDCALL
+ExSystemExceptionFilter();
+
+VOID
+STDCALL
ExSystemTimeToLocalTime (
PLARGE_INTEGER SystemTime,
PLARGE_INTEGER LocalTime
@@ -599,6 +740,20 @@
IN PVOID CallbackRegistration
);
+typedef GUID UUID;
+
+STDCALL
+NTSTATUS
+ExUuidCreate(
+ OUT UUID *Uuid
+ );
+
+PVOID
+FASTCALL
+ExWaitForRundownProtectionRelease (
+ PVOID ProcessRundownProtect
+ );
+
PSLIST_ENTRY
FASTCALL
InterlockedPopEntrySList (
reactos/include/ddk
diff -u -r1.21 -r1.21.16.1
--- extypes.h 14 Nov 2003 15:19:35 -0000 1.21
+++ extypes.h 27 Jun 2004 01:13:11 -0000 1.21.16.1
@@ -1,4 +1,4 @@
-/* $Id: extypes.h,v 1.21 2003/11/14 15:19:35 ekohl Exp $ */
+/* $Id: extypes.h,v 1.21.16.1 2004/06/27 01:13:11 hyperion Exp $ */
#ifndef __INCLUDE_DDK_EXTYPES_H
#define __INCLUDE_DDK_EXTYPES_H
@@ -137,6 +137,55 @@
FAST_MUTEX Obsoleted;
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
+typedef enum _EX_POOL_PRIORITY {
+ LowPoolPriority,
+ LowPoolPrioritySpecialPoolOverrun = 8,
+ LowPoolPrioritySpecialPoolUnderrun = 9,
+ NormalPoolPriority = 16,
+ NormalPoolPrioritySpecialPoolOverrun = 24,
+ NormalPoolPrioritySpecialPoolUnderrun = 25,
+ HighPoolPriority = 32,
+ HighPoolPrioritySpecialPoolOverrun = 40,
+ HighPoolPrioritySpecialPoolUnderrun = 41
+
+ } EX_POOL_PRIORITY;
+
+typedef enum _SUITE_TYPE {
+ SmallBusiness,
+ Enterprise,
+ BackOffice,
+ CommunicationServer,
+ TerminalServer,
+ SmallBusinessRestricted,
+ EmbeddedNT,
+ DataCenter,
+ SingleUserTS,
+ Personal,
+ Blade,
+ MaxSuiteType
+} SUITE_TYPE;
+
+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;
/* callback object (not functional in NT4)*/
reactos/include/ddk
diff -u -r1.22 -r1.22.12.1
--- fsfuncs.h 17 Dec 2003 20:27:06 -0000 1.22
+++ fsfuncs.h 27 Jun 2004 01:13:11 -0000 1.22.12.1
@@ -1,6 +1,6 @@
#ifndef __INCLUDE_DDK_FSFUNCS_H
#define __INCLUDE_DDK_FSFUNCS_H
-/* $Id: fsfuncs.h,v 1.22 2003/12/17 20:27:06 ekohl Exp $ */
+/* $Id: fsfuncs.h,v 1.22.12.1 2004/06/27 01:13:11 hyperion Exp $ */
#define FlagOn(x,f) ((x) & (f))
#include <ntos/fstypes.h>
@@ -12,6 +12,12 @@
IN PFILE_LOCK FileLock
);
+STDCALL
+VOID
+FsRtlAcquireFileExclusive (
+ IN PFILE_OBJECT FileObject
+ );
+
PFILE_LOCK
STDCALL
FsRtlAllocateFileLock (
@@ -257,6 +263,19 @@
OUT PULONG SectorCount);
#define FsRtlEnterFileSystem KeEnterCriticalRegion
#define FsRtlExitFileSystem KeLeaveCriticalRegion
+
+VOID
+FsRtlIncrementCcFastReadNotPossible( VOID );
+
+VOID
+FsRtlIncrementCcFastReadWait( VOID );
+
+VOID
+FsRtlIncrementCcFastReadNoWait( VOID );
+
+VOID
+FsRtlIncrementCcFastReadResourceMiss( VOID );
+
VOID
STDCALL
FsRtlInitializeFileLock (
@@ -276,11 +295,27 @@
VOID STDCALL
FsRtlInitializeOplock(IN OUT POPLOCK Oplock);
+
VOID
STDCALL
FsRtlInitializeTunnelCache (
IN PTUNNEL Cache
);
+
+STDCALL
+NTSTATUS
+FsRtlInsertPerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
+ IN PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/ Ptr
+ );
+
+STDCALL
+NTSTATUS
+FsRtlInsertPerStreamContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerStreamContext,
+ IN PFSRTL_PER_STREAM_CONTEXT Ptr
+ );
+
BOOLEAN
STDCALL
FsRtlIsDbcsInExpression (
@@ -317,6 +352,11 @@
BOOLEAN STDCALL
FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus);
+ULONG
+FsRtlIsPagingFile (
+ IN PFILE_OBJECT FileObject
+ );
+
BOOLEAN STDCALL
FsRtlIsTotalDeviceFailure(IN NTSTATUS NtStatus);
@@ -339,6 +379,14 @@
FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn);
+STDCALL
+BOOLEAN
+FsRtlLookupLastLargeMcbEntryAndIndex (
+ IN PLARGE_MCB OpaqueMcb,
+ OUT PLONGLONG LargeVbn,
+ OUT PLONGLONG LargeLbn,
+ OUT PULONG Index
+ );
BOOLEAN STDCALL
FsRtlLookupLastMcbEntry (IN PMCB Mcb,
@@ -350,6 +398,21 @@
OUT PLBN Lbn,
OUT PULONG SectorCount OPTIONAL,
OUT PULONG Index);
+STDCALL
+PFSRTL_PER_STREAM_CONTEXT
+FsRtlLookupPerStreamContextInternal (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ );
+
+STDCALL
+PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
+FsRtlLookupPerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ );
BOOLEAN
STDCALL
@@ -424,6 +487,36 @@
IN PVOID TargetContext,
IN PSECURITY_SUBJECT_CONTEXT SubjectContext
);
+STDCALL
+VOID
+FsRtlNotifyFilterChangeDirectory (
+ IN PNOTIFY_SYNC NotifySync,
+ IN PLIST_ENTRY NotifyList,
+ IN PVOID FsContext,
+ IN PSTRING FullDirectoryName,
+ IN BOOLEAN WatchTree,
+ IN BOOLEAN IgnoreBuffer,
+ IN ULONG CompletionFilter,
+ IN PIRP NotifyIrp,
+ IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
+ IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL,
+ IN PFILTER_REPORT_CHANGE FilterCallback OPTIONAL
+ );
+
+STDCALL
+VOID
+FsRtlNotifyFilterReportChange (
+ IN PNOTIFY_SYNC NotifySync,
+ IN PLIST_ENTRY NotifyList,
+ IN PSTRING FullTargetName,
+ IN USHORT TargetNameOffset,
+ IN PSTRING StreamName OPTIONAL,
+ IN PSTRING NormalizedParentName OPTIONAL,
+ IN ULONG FilterMatch,
+ IN ULONG Action,
+ IN PVOID TargetContext,
+ IN PVOID FilterContext
+ );
VOID
STDCALL
FsRtlNotifyFullChangeDirectory (
@@ -551,11 +644,24 @@
IN PVOID Context OPTIONAL
);
+STDCALL
+NTSTATUS
+FsRtlRegisterFileSystemFilterCallbacks (
+ IN struct _DRIVER_OBJECT *FilterDriverObject,
+ IN PFS_FILTER_CALLBACKS Callbacks
+ );
+
NTSTATUS STDCALL
FsRtlRegisterUncProvider(IN OUT PHANDLE Handle,
IN PUNICODE_STRING RedirectorDeviceName,
IN BOOLEAN MailslotsSupported);
+STDCALL
+VOID
+FsRtlReleaseFile (
+ IN PFILE_OBJECT FileObject
+ );
+
VOID STDCALL
FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
@@ -566,6 +672,29 @@
IN VBN Vbn,
IN ULONG SectorCount);
+STDCALL
+PFSRTL_PER_STREAM_CONTEXT
+FsRtlRemovePerStreamContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ );
+
+STDCALL
+PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
+FsRtlRemovePerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ );
+
+STDCALL
+VOID
+FsRtlResetLargeMcb (
+ IN PLARGE_MCB Mcb,
+ IN BOOLEAN SelfSynchronized
+ );
+
BOOLEAN STDCALL
FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
@@ -579,6 +708,12 @@
DWORD Unknown2
);
+STDCALL
+VOID
+FsRtlTeardownPerStreamContexts (
+ IN PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader
+ );
+
VOID STDCALL
FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn);
reactos/include/ddk
diff -u -r1.15 -r1.15.8.1
--- fstypes.h 18 Mar 2004 16:19:25 -0000 1.15
+++ fstypes.h 27 Jun 2004 01:13:11 -0000 1.15.8.1
@@ -1,6 +1,6 @@
#ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H
-/* $Id: fstypes.h,v 1.15 2004/03/18 16:19:25 weiden Exp $ */
+/* $Id: fstypes.h,v 1.15.8.1 2004/06/27 01:13:11 hyperion Exp $ */
#ifndef __USE_W32API
@@ -35,6 +35,90 @@
IN PFILE_LOCK_INFO FileLockInfo
);
+typedef
+BOOLEAN (*PFILTER_REPORT_CHANGE) (
+ IN PVOID NotifyContext,
+ IN PVOID FilterContext
+ );
+
+typedef enum _FS_FILTER_SECTION_SYNC_TYPE {
+ SyncTypeOther = 0,
+ SyncTypeCreateSection
+} FS_FILTER_SECTION_SYNC_TYPE, *PFS_FILTER_SECTION_SYNC_TYPE;
+
+typedef union _FS_FILTER_PARAMETERS {
+
+ /* AcquireForModifiedPageWriter */
+ struct {
+ PLARGE_INTEGER EndingOffset;
+ } AcquireForModifiedPageWriter;
+
+ /* ReleaseForModifiedPageWriter */
+ struct {
+ PERESOURCE ResourceToRelease;
+ } ReleaseForModifiedPageWriter;
+
+ /* AcquireForSectionSynchronization */
+ struct {
+ FS_FILTER_SECTION_SYNC_TYPE SyncType;
+ ULONG PageProtection;
+ } AcquireForSectionSynchronization;
+
+ /* Other */
+ struct {
+ PVOID Argument1;
+ PVOID Argument2;
+ PVOID Argument3;
+ PVOID Argument4;
+ PVOID Argument5;
+ } Others;
+
+} FS_FILTER_PARAMETERS, *PFS_FILTER_PARAMETERS;
+
+typedef struct _FS_FILTER_CALLBACK_DATA {
+
+ ULONG SizeOfFsFilterCallbackData;
+ UCHAR Operation;
+ UCHAR Reserved;
+ struct _DEVICE_OBJECT *DeviceObject;
+ struct _FILE_OBJECT *FileObject;
+ FS_FILTER_PARAMETERS Parameters;
+
+} FS_FILTER_CALLBACK_DATA, *PFS_FILTER_CALLBACK_DATA;
+
+typedef
+NTSTATUS
+(*PFS_FILTER_CALLBACK) (
+ IN PFS_FILTER_CALLBACK_DATA Data,
+ OUT PVOID *CompletionContext
+ );
+
+typedef
+VOID
+(*PFS_FILTER_COMPLETION_CALLBACK) (
+ IN PFS_FILTER_CALLBACK_DATA Data,
+ IN NTSTATUS OperationStatus,
+ IN PVOID CompletionContext
+ );
+
+typedef struct _FS_FILTER_CALLBACKS {
+
+ ULONG SizeOfFsFilterCallbacks;
+ ULONG Reserved;
+ PFS_FILTER_CALLBACK PreAcquireForSectionSynchronization;
+ PFS_FILTER_COMPLETION_CALLBACK PostAcquireForSectionSynchronization;
+ PFS_FILTER_CALLBACK PreReleaseForSectionSynchronization;
+ PFS_FILTER_COMPLETION_CALLBACK PostReleaseForSectionSynchronization;
+ PFS_FILTER_CALLBACK PreAcquireForCcFlush;
+ PFS_FILTER_COMPLETION_CALLBACK PostAcquireForCcFlush;
+ PFS_FILTER_CALLBACK PreReleaseForCcFlush;
+ PFS_FILTER_COMPLETION_CALLBACK PostReleaseForCcFlush;
+ PFS_FILTER_CALLBACK PreAcquireForModifiedPageWriter;
+ PFS_FILTER_COMPLETION_CALLBACK PostAcquireForModifiedPageWriter;
+ PFS_FILTER_CALLBACK PreReleaseForModifiedPageWriter;
+ PFS_FILTER_COMPLETION_CALLBACK PostReleaseForModifiedPageWriter;
+
+} FS_FILTER_CALLBACKS, *PFS_FILTER_CALLBACKS;
typedef struct _FILE_LOCK {
PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
@@ -71,6 +155,21 @@
} NOTIFY_SYNC, * PNOTIFY_SYNC;
+typedef struct _FSRTL_ADVANCED_FCB_HEADER {
+ FSRTL_COMMON_FCB_HEADER Header;
+ PFAST_MUTEX FastMutex;
+ LIST_ENTRY FilterContexts;
+} FSRTL_ADVANCED_FCB_HEADER;
+
+typedef FSRTL_ADVANCED_FCB_HEADER *PFSRTL_ADVANCED_FCB_HEADER;
+
+typedef struct _FSRTL_PER_STREAM_CONTEXT {
+ LIST_ENTRY Links;
+ PVOID OwnerId;
+ PVOID InstanceId;
+ PFREE_FUNCTION FreeCallback;
+} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
+
typedef VOID
(*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context,
PIRP Irp);
reactos/include/ddk
diff -u -r1.28 -r1.28.2.1
--- iodef.h 19 Jun 2004 08:47:59 -0000 1.28
+++ iodef.h 27 Jun 2004 01:13:11 -0000 1.28.2.1
@@ -454,6 +454,17 @@
#define IRP_MN_QUERY_DIRECTORY 0x01
#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
+
+typedef struct _FILE_QUOTA_INFORMATION {
+ ULONG NextEntryOffset;
+ ULONG SidLength;
+ LARGE_INTEGER ChangeTime;
+ LARGE_INTEGER QuotaUsed;
+ LARGE_INTEGER QuotaThreshold;
+ LARGE_INTEGER QuotaLimit;
+ LARGE_INTEGER Sid;
+} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
+
/*
* Floppy device data type
*/
reactos/include/ddk
diff -u -r1.41 -r1.41.16.1
--- iofuncs.h 19 Nov 2003 20:57:22 -0000 1.41
+++ iofuncs.h 27 Jun 2004 01:13:11 -0000 1.41.16.1
@@ -1,6 +1,6 @@
#ifndef _INCLUDE_DDK_IOFUNCS_H
#define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.41 2003/11/19 20:57:22 gdalsnes Exp $ */
+/* $Id: iofuncs.h,v 1.41.16.1 2004/06/27 01:13:11 hyperion Exp $ */
#ifdef __NTOSKRNL__
extern POBJECT_TYPE EXPORTED IoAdapterObjectType;
@@ -415,8 +415,8 @@
IN UCHAR MajorFunction,
IN UCHAR MinorFunction,
IN ULONG IoControlCode,
- IN PFILE_INFORMATION_CLASS FileInformationClass OPTIONAL,
- IN PFS_INFORMATION_CLASS FsInformationClass OPTIONAL);
+ IN PVOID ExtraData OPTIONAL,
+ IN PVOID ExtraData2 OPTIONAL);
NTSTATUS
STDCALL
@@ -788,11 +788,11 @@
IoIsOperationSynchronous (
IN PIRP Irp
);
-BOOLEAN
STDCALL
-IoIsSystemThread (
- PVOID Unknown0
- );
+BOOLEAN
+IoIsSystemThread(
+ IN struct _ETHREAD* Thread
+ );
PIRP
STDCALL
IoMakeAssociatedIrp (
@@ -1238,6 +1238,547 @@
PDRIVE_LAYOUT_INFORMATION PartitionBuffer
);
+/* STUBS*/
+
+STDCALL
+NTSTATUS
+IoAttachDeviceToDeviceStackSafe(
+ IN PDEVICE_OBJECT SourceDevice,
+ IN PDEVICE_OBJECT TargetDevice,
+ OUT PDEVICE_OBJECT *AttachedToDeviceObject
+ );
+
+STDCALL
+VOID
+IoCancelFileOpen(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PFILE_OBJECT FileObject
+ );
+
+STDCALL
+NTSTATUS
+IoCheckQuerySetFileInformation(
+ IN FILE_INFORMATION_CLASS FileInformationClass,
+ IN ULONG Length,
+ IN BOOLEAN SetOperation
+ );
+
+STDCALL
+NTSTATUS
+IoCheckQuerySetVolumeInformation(
+ IN FS_INFORMATION_CLASS FsInformationClass,
+ IN ULONG Length,
+ IN BOOLEAN SetOperation
+ );
+
+
+STDCALL
+NTSTATUS
+IoCheckQuotaBufferValidity(
+ IN PFILE_QUOTA_INFORMATION QuotaBuffer,
+ IN ULONG QuotaLength,
+ OUT PULONG ErrorOffset
+ );
+
+STDCALL
+NTSTATUS
+IoCreateFileSpecifyDeviceObjectHint(
+ OUT PHANDLE FileHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ OUT PIO_STATUS_BLOCK IoStatusBlock,
+ IN PLARGE_INTEGER AllocationSize OPTIONAL,
+ IN ULONG FileAttributes,
+ IN ULONG ShareAccess,
+ IN ULONG Disposition,
+ IN ULONG CreateOptions,
+ IN PVOID EaBuffer OPTIONAL,
+ IN ULONG EaLength,
+ IN CREATE_FILE_TYPE CreateFileType,
+ IN PVOID ExtraCreateParameters OPTIONAL,
+ IN ULONG Options,
+ IN PVOID DeviceObject
+ );
+
+STDCALL
+PFILE_OBJECT
+IoCreateStreamFileObjectEx(
+ IN PFILE_OBJECT FileObject OPTIONAL,
+ IN PDEVICE_OBJECT DeviceObject OPTIONAL,
+ OUT PHANDLE FileObjectHandle OPTIONAL
+ );
+
+STDCALL
+PFILE_OBJECT
+IoCreateStreamFileObjectLite(
+ IN PFILE_OBJECT FileObject OPTIONAL,
+ IN PDEVICE_OBJECT DeviceObject OPTIONAL
+ );
+
+STDCALL
+NTSTATUS
+IoEnumerateDeviceObjectList(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PDEVICE_OBJECT *DeviceObjectList,
+ IN ULONG DeviceObjectListSize,
+ OUT PULONG ActualNumberDeviceObjects
+ );
+
+STDCALL
+BOOLEAN
+IoForwardIrpSynchronously(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ );
+
+#define IoForwardAndCatchIrp IoForwardIrpSynchronously
+
+STDCALL
+VOID
+IoFreeErrorLogEntry(
+ PVOID ElEntry
+ );
+
+STDCALL
+ULONG
+IoPnPDeliverServicePowerNotification(
+ ULONG VetoedPowerOperation OPTIONAL,
+ ULONG PowerNotification,
+ ULONG Unknown OPTIONAL,
+ BOOLEAN Synchronous
+ );
+
+STDCALL
+NTSTATUS
+IoGetBootDiskInformation(
+ IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
+ IN ULONG Size
+ );
+
+STDCALL
+PDEVICE_OBJECT
+IoGetDeviceAttachmentBaseRef(
+ IN PDEVICE_OBJECT DeviceObject
+ );
+
+STDCALL
+NTSTATUS
+IoGetDiskDeviceObject(
+ IN PDEVICE_OBJECT FileSystemDeviceObject,
+ OUT PDEVICE_OBJECT *DiskDeviceObject
+ );
+
+STDCALL
+PDEVICE_OBJECT
+IoGetLowerDeviceObject(
+ IN PDEVICE_OBJECT DeviceObject
+ );
+
+STDCALL
+ULONG
+IoGetRequestorProcessId(
+ IN PIRP Irp
+ );
+
+STDCALL
+BOOLEAN
+IoIsFileOriginRemote(
+ IN PFILE_OBJECT FileObject
+ );
+
+STDCALL
+BOOLEAN
+IoIsValidNameGraftingBuffer(
+ IN PIRP Irp,
+ IN PREPARSE_DATA_BUFFER ReparseBuffer
+ );
+
+STDCALL
+NTSTATUS
+IoQueryFileDosDeviceName(
+ IN PFILE_OBJECT FileObject,
+ OUT POBJECT_NAME_INFORMATION *ObjectNameInformation
+ );
+
+STDCALL
+VOID
+IoRegisterBootDriverReinitialization(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
+ IN PVOID Context
+ );
+
+STDCALL
+NTSTATUS
+IoRegisterLastChanceShutdownNotification(
+ IN PDEVICE_OBJECT DeviceObject
+ );
+
+STDCALL
+VOID
+IoReuseIrp(
+ IN OUT PIRP Irp,
+ IN NTSTATUS Iostatus
+ );
+
+STDCALL
+NTSTATUS
+IoSetCompletionRoutineEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp,
+ IN PIO_COMPLETION_ROUTINE CompletionRoutine,
+ IN PVOID Context,
+ IN BOOLEAN InvokeOnSuccess,
+ IN BOOLEAN InvokeOnError,
+ IN BOOLEAN InvokeOnCancel
+ );
+
+STDCALL
+NTSTATUS
+IoSetFileOrigin(
+ IN PFILE_OBJECT FileObject,
+ IN BOOLEAN Remote
+ );
+
+STDCALL
+NTSTATUS
+IoSetSystemPartition(
+ PUNICODE_STRING VolumeNameString
+ );
+
+STDCALL
+NTSTATUS
+IoVolumeDeviceToDosName(
+ IN PVOID VolumeDeviceObject,
+ OUT PUNICODE_STRING DosName
+ );
+
+
+STDCALL
+NTSTATUS
+IoSetPartitionInformationEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN ULONG PartitionNumber,
+ IN struct _SET_PARTITION_INFORMATION_EX* PartitionInfo
+ );
+
+STDCALL
+NTSTATUS
+IoWritePartitionTableEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DRIVE_LAYOUT_INFORMATION_EX* DriveLayfout
+ );
+
+STDCALL
+NTSTATUS
+IoReadPartitionTableEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DRIVE_LAYOUT_INFORMATION_EX** DriveLayout
+ );
+
+STDCALL
+NTSTATUS
+IoCreateDisk(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _CREATE_DISK* Disk
+ );
+
+STDCALL
+NTSTATUS
+NTAPI
+IoGetDeviceInterfaces(
+ IN CONST GUID *InterfaceClassGuid,
+ IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
+ IN ULONG Flags,
+ OUT PWSTR *SymbolicLinkList
+ );
+
+STDCALL
+NTSTATUS
+NTAPI
+IoGetDeviceInterfaceAlias(
+ IN PUNICODE_STRING SymbolicLinkName,
+ IN CONST GUID *AliasInterfaceClassGuid,
+ OUT PUNICODE_STRING AliasSymbolicLinkName
+ );
+
+STDCALL
+NTSTATUS
+IoOpenDeviceInterfaceRegistryKey(
+ IN PUNICODE_STRING SymbolicLinkName,
+ IN ACCESS_MASK DesiredAccess,
+ OUT PHANDLE DeviceInterfaceKey
+ );
+
+STDCALL
+NTSTATUS
+IoReadDiskSignature(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN ULONG BytesPerSector,
+ OUT PDISK_SIGNATURE Signature
+ );
+
+STDCALL
+NTSTATUS
+IoRegisterPlugPlayNotification(
+ IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory,
+ IN ULONG EventCategoryFlags,
+ IN PVOID EventCategoryData OPTIONAL,
+ IN PDRIVER_OBJECT DriverObject,
+ IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,
+ IN PVOID Context,
+ OUT PVOID *NotificationEntry
+ );
+
+STDCALL
+NTSTATUS
+IoUnregisterPlugPlayNotification(
+ IN PVOID NotificationEntry
+ );
+
+STDCALL
+NTSTATUS
+IoReportDetectedDevice(
+ IN PDRIVER_OBJECT DriverObject,
+ IN INTERFACE_TYPE LegacyBusType,
+ IN ULONG BusNumber,
+ IN ULONG SlotNumber,
+ IN PCM_RESOURCE_LIST ResourceList,
+ IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements OPTIONAL,
+ IN BOOLEAN ResourceAssigned,
+ IN OUT PDEVICE_OBJECT *DeviceObject
+ );
+
+STDCALL
+NTSTATUS
+IoReportResourceForDetection(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PCM_RESOURCE_LIST DriverList OPTIONAL,
+ IN ULONG DriverListSize OPTIONAL,
+ IN PDEVICE_OBJECT DeviceObject OPTIONAL,
+ IN PCM_RESOURCE_LIST DeviceList OPTIONAL,
+ IN ULONG DeviceListSize OPTIONAL,
+ OUT PBOOLEAN ConflictDetected
+ );
+
+STDCALL
+NTSTATUS
+IoReportTargetDeviceChange(
+ IN PDEVICE_OBJECT PhysicalDeviceObject,
+ IN PVOID NotificationStructure
+ );
+
+STDCALL
+NTSTATUS
+IoReportTargetDeviceChangeAsynchronous(
+ IN PDEVICE_OBJECT PhysicalDeviceObject,
+ IN PVOID NotificationStructure,
+ IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback, OPTIONAL
+ IN PVOID Context OPTIONAL
+ );
+
+STDCALL
+VOID
+IoRequestDeviceEject(
+ IN PDEVICE_OBJECT PhysicalDeviceObject
+ );
+
+STDCALL
+NTSTATUS
+IoVerifyPartitionTable(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN BOOLEAN FixErrors
+ );
+
+STDCALL
+VOID
+IoSetStartIoAttributes(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN BOOLEAN DeferredStartIo,
+ IN BOOLEAN NonCancelable
+ );
+
+STDCALL
+VOID
+IoSynchronousInvalidateDeviceRelations(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN DEVICE_RELATION_TYPE Type
+ );
+
+STDCALL
+NTSTATUS
+IoCreateDriver (
+ IN PUNICODE_STRING DriverName, OPTIONAL
+ IN PDRIVER_INITIALIZE InitializationFunction
+ );
+
+STDCALL
+NTSTATUS
+IoValidateDeviceIoControlAccess(
+ IN PIRP Irp,
+ IN ULONG RequiredAccess
+ );
+
+STDCALL
+VOID
+IoDeleteDriver (
+ IN PDRIVER_OBJECT DriverObject
+ );
+
+STDCALL
+NTSTATUS
+IoGetRequestorSessionId(
+ IN PIRP Irp,
+ OUT PULONG pSessionId
+ );
+
+STDCALL
+NTSTATUS
+IoSetIoCompletion (
+ IN PVOID IoCompletion,
+ IN PVOID KeyContext,
+ IN PVOID ApcContext,
+ IN NTSTATUS IoStatus,
+ IN ULONG_PTR IoStatusInformation,
+ IN BOOLEAN Quota
+ );
+
+STDCALL
+NTSTATUS
+IoWMIRegistrationControl(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN ULONG Action
+ );
+
+STDCALL
+NTSTATUS
+IoWMIAllocateInstanceIds(
+ IN GUID *Guid,
+ IN ULONG InstanceCount,
+ OUT ULONG *FirstInstanceId
+ );
+
+STDCALL
+NTSTATUS
+IoWMISuggestInstanceName(
+ IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
+ IN PUNICODE_STRING SymbolicLinkName OPTIONAL,
+ IN BOOLEAN CombineNames,
+ OUT PUNICODE_STRING SuggestedInstanceName
+ );
+
+STDCALL
+NTSTATUS
+IoWMIWriteEvent(
+ IN PVOID WnodeEventItem
+ );
+
+STDCALL
+NTSTATUS IoWMIOpenBlock(
+ IN GUID *DataBlockGuid,
+ IN ULONG DesiredAccess,
+ OUT PVOID *DataBlockObject
+ );
+
+
+STDCALL
+NTSTATUS IoWMIQueryAllData(
+ IN PVOID DataBlockObject,
+ IN OUT ULONG *InOutBufferSize,
+ OUT PVOID OutBuffer
+);
+
+
+STDCALL
+NTSTATUS
+IoWMIQueryAllDataMultiple(
+ IN PVOID *DataBlockObjectList,
+ IN ULONG ObjectCount,
+ IN OUT ULONG *InOutBufferSize,
+ OUT PVOID OutBuffer
+);
+
+
+STDCALL
+NTSTATUS
+IoWMIQuerySingleInstance(
+ IN PVOID DataBlockObject,
+ IN PUNICODE_STRING InstanceName,
+ IN OUT ULONG *InOutBufferSize,
+ OUT PVOID OutBuffer
+);
+
+STDCALL
+NTSTATUS
+IoWMIQuerySingleInstanceMultiple(
+ IN PVOID *DataBlockObjectList,
+ IN PUNICODE_STRING InstanceNames,
+ IN ULONG ObjectCount,
+ IN OUT ULONG *InOutBufferSize,
+ OUT PVOID OutBuffer
+);
+
+STDCALL
+NTSTATUS
+IoWMISetSingleInstance(
+ IN PVOID DataBlockObject,
+ IN PUNICODE_STRING InstanceName,
+ IN ULONG Version,
+ IN ULONG ValueBufferSize,
+ IN PVOID ValueBuffer
+ );
+
+STDCALL
+NTSTATUS
+IoWMISetSingleItem(
+ IN PVOID DataBlockObject,
+ IN PUNICODE_STRING InstanceName,
+ IN ULONG DataItemId,
+ IN ULONG Version,
+ IN ULONG ValueBufferSize,
+ IN PVOID ValueBuffer
+ );
+
+STDCALL
+NTSTATUS
+IoWMIExecuteMethod(
+ IN PVOID DataBlockObject,
+ IN PUNICODE_STRING InstanceName,
+ IN ULONG MethodId,
+ IN ULONG InBufferSize,
+ IN OUT PULONG OutBufferSize,
+ IN OUT PUCHAR InOutBuffer
+ );
+
+typedef VOID (*WMI_NOTIFICATION_CALLBACK)(
+ PVOID Wnode,
+ PVOID Context
+ );
+
+STDCALL
+NTSTATUS
+IoWMISetNotificationCallback(
+ IN PVOID Object,
+ IN WMI_NOTIFICATION_CALLBACK Callback,
+ IN PVOID Context
+ );
+
+STDCALL
+NTSTATUS
+IoWMIHandleToInstanceName(
+ IN PVOID DataBlockObject,
+ IN HANDLE FileHandle,
+ OUT PUNICODE_STRING InstanceName
+ );
+
+STDCALL
+NTSTATUS
+IoWMIDeviceObjectToInstanceName(
+ IN PVOID DataBlockObject,
+ IN PDEVICE_OBJECT DeviceObject,
+ OUT PUNICODE_STRING InstanceName
+ );
+
/* --- --- --- INTERNAL or REACTOS ONLY --- --- --- */
reactos/include/ddk
diff -u -r1.62 -r1.62.12.1
--- iotypes.h 5 Jan 2004 14:28:19 -0000 1.62
+++ iotypes.h 27 Jun 2004 01:13:11 -0000 1.62.12.1
@@ -1,4 +1,4 @@
-/* $Id: iotypes.h,v 1.62 2004/01/05 14:28:19 weiden Exp $
+/* $Id: iotypes.h,v 1.62.12.1 2004/06/27 01:13:11 hyperion Exp $
*
*/
@@ -1089,6 +1089,135 @@
} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
#endif
+typedef enum _PARTITION_STYLE {
+ PARTITION_STYLE_MBR,
+ PARTITION_STYLE_GPT,
+ PARTITION_STYLE_RAW
+} PARTITION_STYLE;
+
+typedef struct _PARTITION_INFORMATION_GPT {
+ GUID PartitionType;
+ GUID PartitionId;
+ ULONG64 Attributes;
+ WCHAR Name [36];
+} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
+
+typedef struct _PARTITION_INFORMATION_MBR {
+ UCHAR PartitionType;
+ BOOLEAN BootIndicator;
+ BOOLEAN RecognizedPartition;
+ ULONG HiddenSectors;
+} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
+
+typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
+typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
+
+typedef struct _SET_PARTITION_INFORMATION_EX {
+ PARTITION_STYLE PartitionStyle;
+ union {
+ SET_PARTITION_INFORMATION_MBR Mbr;
+ SET_PARTITION_INFORMATION_GPT Gpt;
+ };
+} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
+
+typedef struct _CREATE_DISK_GPT {
+ GUID DiskId;
+ ULONG MaxPartitionCount;
+} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
+
+typedef struct _CREATE_DISK_MBR {
+ ULONG Signature;
+} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
+
+
+typedef struct _CREATE_DISK {
+ PARTITION_STYLE PartitionStyle;
+ union {
+ CREATE_DISK_MBR Mbr;
+ CREATE_DISK_GPT Gpt;
+ };
+} CREATE_DISK, *PCREATE_DISK;
+
+typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
+ GUID DiskId;
+ LARGE_INTEGER StartingUsableOffset;
+ LARGE_INTEGER UsableLength;
+ ULONG MaxPartitionCount;
+} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
+
+typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
+ ULONG Signature;
+} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
+
+typedef struct _PARTITION_INFORMATION_EX {
+ PARTITION_STYLE PartitionStyle;
+ LARGE_INTEGER StartingOffset;
+ LARGE_INTEGER PartitionLength;
+ ULONG PartitionNumber;
+ BOOLEAN RewritePartition;
+ union {
+ PARTITION_INFORMATION_MBR Mbr;
+ PARTITION_INFORMATION_GPT Gpt;
+ };
+} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
+
+typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
+ ULONG PartitionStyle;
+ ULONG PartitionCount;
+ union {
+ DRIVE_LAYOUT_INFORMATION_MBR Mbr;
+ DRIVE_LAYOUT_INFORMATION_GPT Gpt;
+ };
+ PARTITION_INFORMATION_EX PartitionEntry[1];
+} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;
+
+typedef struct _BOOTDISK_INFORMATION {
+ LONGLONG BootPartitionOffset;
+ LONGLONG SystemPartitionOffset;
+ ULONG BootDeviceSignature;
+ ULONG SystemDeviceSignature;
+} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
+
+
+typedef struct _DISK_SIGNATURE {
+ ULONG PartitionStyle;
+ union {
+ struct {
+ ULONG Signature;
+ ULONG CheckSum;
+ } Mbr;
+
+ struct {
+ GUID DiskId;
+ } Gpt;
+ };
+} DISK_SIGNATURE, *PDISK_SIGNATURE;
+
+typedef struct _REPARSE_DATA_BUFFER {
+ ULONG ReparseTag;
+ USHORT ReparseDataLength;
+ USHORT Reserved;
+ union {
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ WCHAR PathBuffer[1];
+ } SymbolicLinkReparseBuffer;
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ WCHAR PathBuffer[1];
+ } MountPointReparseBuffer;
+ struct {
+ UCHAR DataBuffer[1];
+ } GenericReparseBuffer;
+ };
+} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+
typedef struct _DRIVER_LAYOUT_INFORMATION
{
ULONG PartitionCount;
@@ -1127,7 +1256,6 @@
LARGE_INTEGER TimeOut;
} IO_MAILSLOT_CREATE_BUFFER, *PIO_MAILSLOT_CREATE_BUFFER;
-
/* error logging */
typedef struct _IO_ERROR_LOG_PACKET
reactos/include/ddk
diff -u -r1.41 -r1.41.6.1
--- kefuncs.h 14 May 2004 21:25:08 -0000 1.41
+++ kefuncs.h 27 Jun 2004 01:13:11 -0000 1.41.6.1
@@ -1,3 +1,4 @@
+
#ifndef __INCLUDE_DDK_KEFUNCS_H
#define __INCLUDE_DDK_KEFUNCS_H
@@ -257,17 +258,6 @@
VOID
);
-/*
- * FUNCTION: Raises a user mode exception
- * ARGUMENTS:
- * ExceptionCode = Status code of the exception
- */
-VOID
-STDCALL
-KeRaiseUserException (
- IN NTSTATUS ExceptionCode
- );
-
LONG
STDCALL
KeReadStateEvent (
@@ -482,7 +472,11 @@
* Value2 = The value of the high dword of the descriptor.
*/
VOID
-KeSetGdtSelector(ULONG Entry, ULONG Value1, ULONG Value2);
+KeSetGdtSelector(
+ ULONG Entry,
+ ULONG Value1,
+ ULONG Value2
+);
/*
* FUNCTION: Releases a set of Global Descriptor Table Selectors
@@ -490,8 +484,11 @@
* SelArray =
* NumOfSelectors =
*/
-NTSTATUS KeI386ReleaseGdtSelectors(OUT PULONG SelArray,
- IN ULONG NumOfSelectors);
+NTSTATUS
+KeI386ReleaseGdtSelectors(
+ OUT PULONG SelArray,
+ IN ULONG NumOfSelectors
+);
/*
* FUNCTION: Allocates a set of Global Descriptor Table Selectors
@@ -499,8 +496,11 @@
* SelArray =
* NumOfSelectors =
*/
-NTSTATUS KeI386AllocateGdtSelectors(OUT PULONG SelArray,
- IN ULONG NumOfSelectors);
+NTSTATUS
+KeI386AllocateGdtSelectors(
+ OUT PULONG SelArray,
+ IN ULONG NumOfSelectors
+);
KIRQL
@@ -536,4 +536,251 @@
VOID STDCALL KiDispatchInterrupt(VOID);
+/* Stubs Start here */
+
+STDCALL
+VOID
+KeReleaseInterruptSpinLock(
+ IN PKINTERRUPT Interrupt,
+ IN KIRQL OldIrql
+ );
+
+STDCALL
+BOOLEAN
+KeAreApcsDisabled(
+ VOID
+ );
+
+STDCALL
+VOID
+KeFlushQueuedDpcs(
+ VOID
+ );
+
+STDCALL
+ULONG
+KeGetRecommendedSharedDataAlignment(
+ VOID
+ );
+
+STDCALL
+ULONG
+KeQueryRuntimeThread(
+ IN PKTHREAD Thread,
+ OUT PULONG UserTime
+ );
+
+STDCALL
+BOOLEAN
+KeSetKernelStackSwapEnable(
+ IN BOOLEAN Enable
+ );
+
+STDCALL
+BOOLEAN
+KeDeregisterBugCheckReasonCallback(
+ IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
+ );
+
+STDCALL
+BOOLEAN
+KeRegisterBugCheckReasonCallback(
+ IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
+ IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
+ IN KBUGCHECK_CALLBACK_REASON Reason,
+ IN PUCHAR Component
+ );
+
+STDCALL
+VOID
+KeTerminateThread(
+ IN KPRIORITY Increment
+);
+
+STDCALL
+VOID
+KeIsExecutingDpc(
+ VOID
+);
+
+STDCALL
+VOID
+KeSetEventBoostPriority(
+ IN PKEVENT Event,
+ IN PKTHREAD *Thread OPTIONAL
+);
+
+STDCALL
+PVOID
+KeFindConfigurationEntry(
+ IN PVOID Unknown,
+ IN ULONG Class,
+ IN CONFIGURATION_TYPE Type,
+ IN PULONG RegKey
+);
+
+STDCALL
+PVOID
+KeFindConfigurationNextEntry(
+ IN PVOID Unknown,
+ IN ULONG Class,
+ IN CONFIGURATION_TYPE Type,
+ IN PULONG RegKey,
+ IN PVOID *NextLink
+);
+
+STDCALL
+VOID
+KeFlushEntireTb(
+ IN ULONGLONG Flag
+);
+
+STDCALL
+VOID
+KeRevertToUserAffinityThread(
+ VOID
+);
+
+STDCALL
+VOID
+KiCoprocessorError(
+ VOID
+);
+
+STDCALL
+VOID
+KiUnexpectedInterrupt(
+ VOID
+);
+
+STDCALL
+VOID
+KeSetDmaIoCoherency(
+ IN ULONG Coherency
+);
+
+STDCALL
+VOID
+KeSetProfileIrql(
+ IN KIRQL ProfileIrql
+);
+
+STDCALL
+VOID
+KeSetSystemAffinityThread(
+ IN KAFFINITY Affinity
+);
+
+STDCALL
+NTSTATUS
+KeUserModeCallback(
+ IN ULONG FunctionID,
+ IN PVOID InputBuffer,
+ IN ULONG InputLength,
+ OUT PVOID *OutputBuffer,
+ OUT PULONG OutputLength
+);
+
+STDCALL
+VOID
+KeSetTimeIncrement(
+ IN ULONG MaxIncrement,
+ IN ULONG MinIncrement
+);
+
+STDCALL
+VOID
+KeCapturePersistentThreadState(
+ IN PVOID CurrentThread,
+ IN ULONG Setting1,
+ IN ULONG Setting2,
+ IN ULONG Setting3,
+ IN ULONG Setting4,
+ IN ULONG Setting5,
+ IN PVOID ThreadState
+);
+
+STDCALL
+BOOLEAN
+KeRemoveSystemServiceTable(
+ IN PUCHAR Number
+);
+
+NTSTATUS
+KeI386FlatToGdtSelector(
+ IN ULONG Base,
+ IN USHORT Length,
+ IN USHORT Selector
+);
+
+STDCALL
+CCHAR
+KeSetIdealProcessorThread (
+ IN PKTHREAD Thread,
+ IN CCHAR Processor
+ );
+
+typedef
+VOID
+(FASTCALL *PTIME_UPDATE_NOTIFY_ROUTINE)(
+ IN HANDLE ThreadId,
+ IN KPROCESSOR_MODE Mode
+ );
+
+VOID
+FASTCALL
+KeSetTimeUpdateNotifyRoutine(
+ IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine
+ );
+
+STDCALL
+PKDEVICE_QUEUE_ENTRY
+KeRemoveByKeyDeviceQueueIfBusy (
+ IN PKDEVICE_QUEUE DeviceQueue,
+ IN ULONG SortKey
+ );
+
+STDCALL
+KAFFINITY
+KeQueryActiveProcessors (
+ VOID
+ );
+
+VOID
+FASTCALL
+KeAcquireInStackQueuedSpinLockAtDpcLevel(
+ IN PKSPIN_LOCK SpinLock,
+ IN PKLOCK_QUEUE_HANDLE LockHandle
+ );
+
+VOID
+FASTCALL
+KeReleaseInStackQueuedSpinLockFromDpcLevel(
+ IN PKLOCK_QUEUE_HANDLE LockHandle
+ );
+
+STDCALL
+KPRIORITY
+KeQueryPriorityThread (
+ IN PKTHREAD Thread
+ );
+
+STDCALL
+KIRQL
+KeAcquireInterruptSpinLock(
+ IN PKINTERRUPT Interrupt
+ );
+
+VOID
+__cdecl
+KeSaveStateForHibernate(
+ IN PVOID State
+);
+
+STDCALL
+NTSTATUS
+KeRaiseUserException(
+ IN NTSTATUS ExceptionCode
+);
+
#endif /* __INCLUDE_DDK_KEFUNCS_H */
reactos/include/ddk
diff -u -r1.47 -r1.47.12.1
--- ketypes.h 5 Jan 2004 14:28:19 -0000 1.47
+++ ketypes.h 27 Jun 2004 01:13:11 -0000 1.47.12.1
@@ -36,18 +36,7 @@
struct _DISPATCHER_HEADER;
-typedef struct _KWAIT_BLOCK
-/*
- * PURPOSE: Object describing the wait a thread is currently performing
- */
-{
- LIST_ENTRY WaitListEntry;
- struct _KTHREAD* Thread;
- struct _DISPATCHER_HEADER *Object;
- struct _KWAIT_BLOCK* NextWaitBlock;
- USHORT WaitKey;
- USHORT WaitType;
-} KWAIT_BLOCK, *PKWAIT_BLOCK;
+
#include <pshpack1.h>
@@ -163,6 +152,29 @@
struct _KDPC;
+typedef struct _KSPIN_LOCK_QUEUE {
+ struct _KSPIN_LOCK_QUEUE * volatile Next;
+ PKSPIN_LOCK volatile Lock;
+} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
+
+typedef struct _KLOCK_QUEUE_HANDLE {
+ KSPIN_LOCK_QUEUE LockQueue;
+ KIRQL OldIrql;
+} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
+
+typedef struct _KWAIT_BLOCK
+/*
+ * PURPOSE: Object describing the wait a thread is currently performing
+ */
+{
+ LIST_ENTRY WaitListEntry;
+ struct _KTHREAD* Thread;
+ struct _DISPATCHER_HEADER *Object;
+ struct _KWAIT_BLOCK* NextWaitBlock;
+ USHORT WaitKey;
+ USHORT WaitType;
+} KWAIT_BLOCK, *PKWAIT_BLOCK;
+
/*
* PURPOSE: Defines a delayed procedure call routine
* NOTE:
@@ -229,6 +241,31 @@
PKDPC BufferChainingDpc;
} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
+typedef enum _KBUGCHECK_CALLBACK_REASON {
+ KbCallbackInvalid,
+ KbCallbackReserved1,
+ KbCallbackSecondaryDumpData,
+ KbCallbackDumpIo,
+} KBUGCHECK_CALLBACK_REASON;
+
+typedef
+VOID
+(*PKBUGCHECK_REASON_CALLBACK_ROUTINE) (
+ IN KBUGCHECK_CALLBACK_REASON Reason,
+ IN PVOID Record, // This should be struct _KBUGCHECK_REASON_CALLBACK_RECORD* but minggw doesn't want to allow that...
+ IN OUT PVOID ReasonSpecificData,
+ IN ULONG ReasonSpecificDataLength
+ );
+
+typedef struct _KBUGCHECK_REASON_CALLBACK_RECORD {
+ LIST_ENTRY Entry;
+ PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine;
+ PUCHAR Component;
+ ULONG_PTR Checksum;
+ KBUGCHECK_CALLBACK_REASON Reason;
+ UCHAR State;
+} KBUGCHECK_REASON_CALLBACK_RECORD, *PKBUGCHECK_REASON_CALLBACK_RECORD;
+
struct _KINTERRUPT;
typedef BOOLEAN STDCALL_FUNC
@@ -246,6 +283,45 @@
typedef LONG FIX; /* fixed-point number */
+typedef struct _M128 {
+ ULONGLONG Low;
+ LONGLONG High;
+} M128, *PM128;
+
+typedef struct _KEXCEPTION_FRAME {
+ ULONG64 P1Home;
+ ULONG64 P2Home;
+ ULONG64 P3Home;
+ ULONG64 P4Home;
+ ULONG64 P5;
+ ULONG64 InitialStack;
+ M128 Xmm6;
+ M128 Xmm7;
+ M128 Xmm8;
+ M128 Xmm9;
+ M128 Xmm10;
+ M128 Xmm11;
+ M128 Xmm12;
+ M128 Xmm13;
+ M128 Xmm14;
+ M128 Xmm15;
+ ULONG64 TrapFrame;
+ ULONG64 CallbackStack;
+ ULONG64 OutputBuffer;
+ ULONG64 OutputLength;
+ UCHAR ExceptionRecord[64];
+ ULONG64 Fill1;
+ ULONG64 Rbp;
+ ULONG64 Rbx;
+ ULONG64 Rdi;
+ ULONG64 Rsi;
+ ULONG64 R12;
+ ULONG64 R13;
+ ULONG64 R14;
+ ULONG64 R15;
+ ULONG64 Return;
+} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
+
/* copied from W32API */
typedef struct _KFLOATING_SAVE
{
reactos/include/ddk
diff -u -r1.5 -r1.5.22.1
--- ldrfuncs.h 8 Sep 2002 10:47:44 -0000 1.5
+++ ldrfuncs.h 27 Jun 2004 01:13:11 -0000 1.5.22.1
@@ -1,6 +1,6 @@
#ifndef __INCLUDE_DDK_LDRFUNCS_H
#define __INCLUDE_DDK_LDRFUNCS_H
-/* $Id: ldrfuncs.h,v 1.5 2002/09/08 10:47:44 chorns Exp $ */
+/* $Id: ldrfuncs.h,v 1.5.22.1 2004/06/27 01:13:11 hyperion Exp $ */
NTSTATUS STDCALL
LdrAccessResource(IN PVOID BaseAddress,
@@ -14,4 +14,17 @@
IN ULONG Level,
OUT PIMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry);
+/*NTSTATUS STDCALL
+LdrFindResourceDirectory_U( IN PVOID BaseAddress,
+ IN PLDR_RESOURCE_INFO ResourceInfo,
+ IN ULONG Level,
+ OUT PIMAGE_RESOURCE_DIRECTORY *ResourceDirectory);
+*/
+NTSTATUS STDCALL
+LdrEnumResources(IN PVOID BaseAddress,
+ IN PLDR_RESOURCE_INFO ResourceInfo,
+ IN ULONG Level,
+ IN OUT PULONG ResourceCount,
+ OUT PVOID Resources OPTIONAL);
+
#endif /* __INCLUDE_DDK_LDRFUNCS_H */
reactos/include/ntos
diff -u -r1.1 -r1.1.22.1
--- bootvid.h 11 Aug 2003 18:50:12 -0000 1.1
+++ bootvid.h 27 Jun 2004 01:13:12 -0000 1.1.22.1
@@ -1,76 +1,75 @@
-#ifndef __INCLUDE_NTOS_BOOTVID_H
-#define __INCLUDE_NTOS_BOOTVID_H
-
-VOID
-STDCALL
-InbvAcquireDisplayOwnership(VOID);
-
-BOOLEAN
-STDCALL
-InbvCheckDisplayOwnership(VOID);
-
-BOOLEAN
-STDCALL
-InbvDisplayString(IN PCHAR String);
-
-VOID
-STDCALL
-InbvEnableBootDriver(IN BOOLEAN Enable);
-
-BOOLEAN
-STDCALL
-InbvEnableDisplayString(IN BOOLEAN Enable);
-
-VOID
-STDCALL
-InbvInstallDisplayStringFilter(IN PVOID Unknown);
-
-BOOLEAN
-STDCALL
-InbvIsBootDriverInstalled(VOID);
-
-VOID
-STDCALL
-InbvNotifyDisplayOwnershipLost(IN PVOID Callback);
-
-BOOLEAN
-STDCALL
-InbvResetDisplay(VOID);
-
-VOID
-STDCALL
-InbvSetScrollRegion(IN ULONG Left,
- IN ULONG Top,
- IN ULONG Width,
- IN ULONG Height);
-
-VOID
-STDCALL
-InbvSetTextColor(IN ULONG Color);
-
-VOID
-STDCALL
-InbvSolidColorFill(IN ULONG Left,
- IN ULONG Top,
- IN ULONG Width,
- IN ULONG Height,
- IN ULONG Color);
-
-
-VOID
-STDCALL
-VidCleanUp(VOID);
-
-BOOLEAN
-STDCALL
-VidInitialize(VOID);
-
-BOOLEAN
-STDCALL
-VidResetDisplay(VOID);
-
-BOOLEAN
-STDCALL
-VidIsBootDriverInstalled(VOID);
-
-#endif /* __INCLUDE_NTOS_BOOTVID_H */
+#ifndef __INCLUDE_NTOS_BOOTVID_H
+#define __INCLUDE_NTOS_BOOTVID_H
+
+VOID
+STDCALL
+InbvAcquireDisplayOwnership(VOID);
+
+BOOLEAN
+STDCALL
+InbvCheckDisplayOwnership(VOID);
+
+BOOLEAN
+STDCALL
+InbvDisplayString(IN PCHAR String);
+
+VOID
+STDCALL
+InbvEnableBootDriver(IN BOOLEAN Enable);
+
+BOOLEAN
+STDCALL
+InbvEnableDisplayString(IN BOOLEAN Enable);
+
+VOID
+STDCALL
+InbvInstallDisplayStringFilter(IN PVOID Unknown);
+
+BOOLEAN
+STDCALL
+InbvIsBootDriverInstalled(VOID);
+
+VOID
+STDCALL
+InbvNotifyDisplayOwnershipLost(IN PVOID Callback);
+
+BOOLEAN
+STDCALL
+InbvResetDisplay(VOID);
+
+VOID
+STDCALL
+InbvSetScrollRegion(IN ULONG Left,
+ IN ULONG Top,
+ IN ULONG Width,
+ IN ULONG Height);
+
+VOID
+STDCALL
+InbvSetTextColor(IN ULONG Color);
+
+VOID
+STDCALL
+InbvSolidColorFill(IN ULONG Left,
+ IN ULONG Top,
+ IN ULONG Width,
+ IN ULONG Height,
+ IN ULONG Color);
+
+VOID
+STDCALL
+VidCleanUp(VOID);
+
+BOOLEAN
+STDCALL
+VidInitialize(VOID);
+
+BOOLEAN
+STDCALL
+VidResetDisplay(VOID);
+
+BOOLEAN
+STDCALL
+VidIsBootDriverInstalled(VOID);
+
+#endif /* __INCLUDE_NTOS_BOOTVID_H */
reactos/include/win32k
diff -u -r1.136 -r1.136.6.1
--- ntuser.h 28 May 2004 21:33:40 -0000 1.136
+++ ntuser.h 27 Jun 2004 01:13:12 -0000 1.136.6.1
@@ -1538,7 +1538,7 @@
NtUserSwitchDesktop(
HDESK hDesktop);
-DWORD
+BOOL
STDCALL
NtUserSystemParametersInfo(
UINT uiAction,
reactos/lib/comctl32
diff -u -r1.10 -r1.10.6.1
--- imagelist.c 15 Apr 2004 08:29:56 -0000 1.10
+++ imagelist.c 27 Jun 2004 01:13:12 -0000 1.10.6.1
@@ -1112,7 +1112,7 @@
/*
* Draw the initial image
*/
- if(fStyle & ILD_MASK) {
+ if (fStyle & ILD_MASK) {
if (himl->hbmMask) {
BitBlt(hImageDC, 0, 0, cx, cy, hMaskListDC, lx, ly, SRCCOPY);
} else {
@@ -2824,23 +2824,52 @@
if ((ilc >= ILC_COLOR4 && ilc <= ILC_COLOR32) || ilc == ILC_COLOR)
{
VOID* bits;
- BITMAPINFO bmi;
+ BITMAPINFO *bmi;
TRACE("Creating DIBSection: %d Bits per Pixel\n", himl->uBitsPixel);
- bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- bmi.bmiHeader.biWidth = width;
- bmi.bmiHeader.biHeight = height;
- bmi.bmiHeader.biPlanes = 1;
- bmi.bmiHeader.biBitCount = himl->uBitsPixel;
- bmi.bmiHeader.biCompression = BI_RGB;
- bmi.bmiHeader.biSizeImage = 0;
- bmi.bmiHeader.biXPelsPerMeter = 0;
- bmi.bmiHeader.biYPelsPerMeter = 0;
- bmi.bmiHeader.biClrUsed = 0;
- bmi.bmiHeader.biClrImportant = 0;
+ if (himl->uBitsPixel <= ILC_COLOR8)
+ {
+ LPPALETTEENTRY pal;
+ ULONG i, colors;
+ BYTE temp;
+
+ colors = 1 << himl->uBitsPixel;
+ bmi = HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER) +
+ sizeof(PALETTEENTRY) * colors);
+
+ pal = (LPPALETTEENTRY)bmi->bmiColors;
+ GetPaletteEntries(GetStockObject(DEFAULT_PALETTE), 0, colors, pal);
+
+ /* Swap colors returned by GetPaletteEntries so we can use them for
+ * CreateDIBSection call. */
+ for (i = 0; i < colors; i++)
+ {
+ temp = pal[i].peBlue;
+ bmi->bmiColors[i].rgbRed = pal[i].peRed;
+ bmi->bmiColors[i].rgbBlue = temp;
+ }
+ }
+ else
+ {
+ bmi = HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER));
+ }
+
+ bmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bmi->bmiHeader.biWidth = width;
+ bmi->bmiHeader.biHeight = height;
+ bmi->bmiHeader.biPlanes = 1;
+ bmi->bmiHeader.biBitCount = himl->uBitsPixel;
+ bmi->bmiHeader.biCompression = BI_RGB;
+ bmi->bmiHeader.biSizeImage = 0;
+ bmi->bmiHeader.biXPelsPerMeter = 0;
+ bmi->bmiHeader.biYPelsPerMeter = 0;
+ bmi->bmiHeader.biClrUsed = 0;
+ bmi->bmiHeader.biClrImportant = 0;
+
+ hbmNewBitmap = CreateDIBSection(hdc, bmi, DIB_RGB_COLORS, &bits, 0, 0);
- hbmNewBitmap = CreateDIBSection(hdc, &bmi, DIB_RGB_COLORS, &bits, 0, 0);
+ HeapFree(GetProcessHeap(), 0, bmi);
}
else /*if (ilc == ILC_COLORDDB)*/
{
reactos/lib/kernel32/misc
diff -u -r1.78 -r1.78.2.1
--- stubs.c 20 Jun 2004 23:42:07 -0000 1.78
+++ stubs.c 27 Jun 2004 01:13:12 -0000 1.78.2.1
@@ -1,4 +1,4 @@
-/* $Id: stubs.c,v 1.78 2004/06/20 23:42:07 gdalsnes Exp $
+/* $Id: stubs.c,v 1.78.2.1 2004/06/27 01:13:12 hyperion Exp $
*
* KERNEL32.DLL stubs (unimplemented functions)
* Remove from this file, if you implement them.
@@ -106,8 +106,44 @@
int cchCount2
)
{
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
+ INT Result;
+ UNICODE_STRING String1, String2;
+
+ if (!lpString1 || !lpString2)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return 0;
+ }
+
+ if (dwCmpFlags & ~(NORM_IGNORECASE | NORM_IGNORENONSPACE |
+ NORM_IGNORESYMBOLS | SORT_STRINGSORT | NORM_IGNOREKANATYPE |
+ NORM_IGNOREWIDTH | 0x10000000))
+ {
+ SetLastError(ERROR_INVALID_FLAGS);
+ return 0;
+ }
+
+ if (dwCmpFlags & ~NORM_IGNORECASE)
+ {
+ DPRINT1("CompareString: Unimplemented flags - 0x%x\n",
+ dwCmpFlags & ~NORM_IGNORECASE);
+ }
+
+ if (cchCount1 < 0) cchCount1 = lstrlenW(lpString1);
+ if (cchCount2 < 0) cchCount2 = lstrlenW(lpString2);
+
+ String1.Length = String1.MaximumLength = cchCount1 * sizeof(WCHAR);
+ String1.Buffer = (LPWSTR)lpString1;
+ String2.Length = String2.MaximumLength = cchCount2 * sizeof(WCHAR);
+ String2.Buffer = (LPWSTR)lpString2;
+
+ Result = RtlCompareUnicodeString(
+ &String1, &String2, dwCmpFlags & NORM_IGNORECASE);
+
+ if (Result) /* need to translate result */
+ return (Result < 0) ? CSTR_LESS_THAN : CSTR_GREATER_THAN;
+
+ return CSTR_EQUAL;
}
reactos/lib/ntdll/ldr
diff -u -r1.90 -r1.90.2.1
--- utils.c 20 Jun 2004 10:36:17 -0000 1.90
+++ utils.c 27 Jun 2004 01:13:12 -0000 1.90.2.1
@@ -1,4 +1,4 @@
-/* $Id: utils.c,v 1.90 2004/06/20 10:36:17 gvg Exp $
+/* $Id: utils.c,v 1.90.2.1 2004/06/27 01:13:12 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -717,7 +717,10 @@
NTSTATUS Status;
PLDR_MODULE Module;
- TRACE_LDR("LdrLoadDll, loading %wZ%s%S\n", Name, SearchPath ? " from " : "", SearchPath ? SearchPath : L"");
+ TRACE_LDR("LdrLoadDll, loading %wZ%s%S\n",
+ Name,
+ SearchPath ? " from " : "",
+ SearchPath ? SearchPath : L"");
if (Name == NULL)
{
@@ -1217,179 +1220,125 @@
* NOTE
*
*/
-static NTSTATUS LdrPerformRelocations (PIMAGE_NT_HEADERS NTHeaders,
- PVOID ImageBase)
+static NTSTATUS
+LdrPerformRelocations(PIMAGE_NT_HEADERS NTHeaders,
+ PVOID ImageBase)
{
- USHORT NumberOfEntries;
- PUSHORT pValue16;
- ULONG RelocationRVA;
- ULONG Delta32;
- ULONG Offset;
- PULONG pValue32;
- PRELOCATION_DIRECTORY RelocationDir;
- PRELOCATION_ENTRY RelocationBlock;
- int i;
PIMAGE_DATA_DIRECTORY RelocationDDir;
- ULONG OldProtect;
- PVOID ProtectBase;
- ULONG ProtectSize;
- ULONG OldProtect2;
- PVOID ProtectBase2;
- ULONG ProtectSize2;
+ PIMAGE_BASE_RELOCATION RelocationDir, RelocationEnd;
+ ULONG Count, ProtectSize, OldProtect, OldProtect2, i;
+ PVOID Page, ProtectPage, ProtectPage2;
+ PWORD TypeOffset;
+ ULONG Delta = (ULONG_PTR)ImageBase - NTHeaders->OptionalHeader.ImageBase;
NTSTATUS Status;
- PIMAGE_SECTION_HEADER Sections;
- ULONG MaxExtend;
if (NTHeaders->FileHeader.Characteristics & IMAGE_FILE_RELOCS_STRIPPED)
{
return STATUS_UNSUCCESSFUL;
}
- Sections =
- (PIMAGE_SECTION_HEADER)((PVOID)NTHeaders + sizeof(IMAGE_NT_HEADERS));
- MaxExtend = 0;
- for (i = 0; i < NTHeaders->FileHeader.NumberOfSections; i++)
- {
- if (!(Sections[i].Characteristics & IMAGE_SECTION_NOLOAD))
- {
- ULONG Extend;
- Extend =
- (ULONG)(Sections[i].VirtualAddress + Sections[i].Misc.VirtualSize);
- MaxExtend = max(MaxExtend, Extend);
- }
- }
-
RelocationDDir =
&NTHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC];
- RelocationRVA = RelocationDDir->VirtualAddress;
- if (RelocationRVA)
+ if (RelocationDDir->VirtualAddress == 0 || RelocationDDir->Size == 0)
{
- RelocationDir =
- (PRELOCATION_DIRECTORY)((PCHAR)ImageBase + RelocationRVA);
-
- while (RelocationDir->SizeOfBlock)
+ return STATUS_SUCCESS;
+ }
+
+ ProtectSize = PAGE_SIZE;
+ RelocationDir = (IMAGE_BASE_RELOCATION*)((ULONG_PTR)ImageBase +
+ RelocationDDir->VirtualAddress);
+ RelocationEnd = (IMAGE_BASE_RELOCATION*)((ULONG_PTR)ImageBase +
+ RelocationDDir->VirtualAddress + RelocationDDir->Size);
+ while (RelocationDir < RelocationEnd &&
+ RelocationDir->SizeOfBlock > 0)
+ {
+ Count = (RelocationDir->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION)) /
+ sizeof(WORD);
+ Page = ImageBase + RelocationDir->VirtualAddress;
+ TypeOffset = (PWORD)(RelocationDir + 1);
+
+ /* Unprotect the page(s) we're about to relocate. */
+ ProtectPage = Page;
+ Status = NtProtectVirtualMemory(NtCurrentProcess(),
+ &ProtectPage,
+ &ProtectSize,
+ PAGE_READWRITE,
+ &OldProtect);
+ if (!NT_SUCCESS(Status))
{
- if (RelocationDir->VirtualAddress > MaxExtend)
- {
- RelocationRVA += RelocationDir->SizeOfBlock;
- RelocationDir =
- (PRELOCATION_DIRECTORY) (ImageBase + RelocationRVA);
- continue;
- }
-
- Delta32 = (ULONG)(ImageBase - NTHeaders->OptionalHeader.ImageBase);
- RelocationBlock =
- (PRELOCATION_ENTRY) (RelocationRVA + ImageBase +
- sizeof (RELOCATION_DIRECTORY));
- NumberOfEntries =
- RelocationDir->SizeOfBlock - sizeof (RELOCATION_DIRECTORY);
- NumberOfEntries = NumberOfEntries / sizeof (RELOCATION_ENTRY);
+ DPRINT1("Failed to unprotect relocation target.\n");
+ return(Status);
+ }
- ProtectBase = ImageBase + RelocationDir->VirtualAddress;
- ProtectSize = PAGE_SIZE;
+ if (RelocationDir->VirtualAddress + PAGE_SIZE <
+ NTHeaders->OptionalHeader.SizeOfImage)
+ {
+ ProtectPage2 = ProtectPage + PAGE_SIZE;
Status = NtProtectVirtualMemory(NtCurrentProcess(),
- &ProtectBase,
+ &ProtectPage2,
&ProtectSize,
PAGE_READWRITE,
- &OldProtect);
+ &OldProtect2);
if (!NT_SUCCESS(Status))
{
- DPRINT1("Failed to unprotect relocation target.\n");
+ DPRINT1("Failed to unprotect relocation target (2).\n");
+ NtProtectVirtualMemory(NtCurrentProcess(),
+ &ProtectPage,
+ &ProtectSize,
+ OldProtect,
+ &OldProtect);
return(Status);
}
+ }
- if (RelocationDir->VirtualAddress + PAGE_SIZE < MaxExtend)
- {
- ProtectBase2 = ImageBase + RelocationDir->VirtualAddress + PAGE_SIZE;
- ProtectSize2 = PAGE_SIZE;
- Status = NtProtectVirtualMemory(NtCurrentProcess(),
- &ProtectBase2,
- &ProtectSize2,
- PAGE_READWRITE,
- &OldProtect2);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("Failed to unprotect relocation target (2).\n");
- NtProtectVirtualMemory(NtCurrentProcess(),
- &ProtectBase,
- &ProtectSize,
- OldProtect,
- &OldProtect);
- return(Status);
- }
- }
-
- for (i = 0; i < NumberOfEntries; i++)
- {
- Offset = (RelocationBlock[i].TypeOffset & 0xfff);
- Offset += (ULONG)(RelocationDir->VirtualAddress + ImageBase);
-
- /*
- * What kind of relocations should we perform
- * for the current entry?
- */
- switch (RelocationBlock[i].TypeOffset >> 12)
- {
- case TYPE_RELOC_ABSOLUTE:
- break;
-
- case TYPE_RELOC_HIGH:
- pValue16 = (PUSHORT)Offset;
- *pValue16 += Delta32 >> 16;
- break;
-
- case TYPE_RELOC_LOW:
- pValue16 = (PUSHORT)Offset;
- *pValue16 += Delta32 & 0xffff;
- break;
-
- case TYPE_RELOC_HIGHLOW:
- pValue32 = (PULONG)Offset;
- *pValue32 += Delta32;
- break;
-
- case TYPE_RELOC_HIGHADJ:
- /* FIXME: do the highadjust fixup */
- DPRINT("TYPE_RELOC_HIGHADJ fixup not implemented, sorry\n");
- return(STATUS_UNSUCCESSFUL);
-
- default:
- DPRINT("unexpected fixup type\n");
- return STATUS_UNSUCCESSFUL;
- }
- }
+ /* Patch the page. */
+ for (i = 0; i < Count; i++)
+ {
+ SHORT Offset = TypeOffset[i] & 0xFFF;
+ USHORT Type = TypeOffset[i] >> 12;
- Status = NtProtectVirtualMemory(NtCurrentProcess(),
- &ProtectBase,
- &ProtectSize,
- OldProtect,
- &OldProtect);
- if (!NT_SUCCESS(Status))
+ switch (Type)
{
- DPRINT1("Failed to protect relocation target.\n");
- return(Status);
+ case IMAGE_REL_BASED_ABSOLUTE:
+ break;
+ case IMAGE_REL_BASED_HIGH:
+ *(PUSHORT)(Page + Offset) += HIWORD(Delta);
+ break;
+ case IMAGE_REL_BASED_LOW:
+ *(PUSHORT)(Page + Offset) += LOWORD(Delta);
+ break;
+ case IMAGE_REL_BASED_HIGHLOW:
+ *(PULONG)(Page + Offset) += Delta;
+ break;
+ case IMAGE_REL_BASED_HIGHADJ:
+ default:
+ DPRINT("Unknown/unsupported fixup type %d.\n", type);
+ return STATUS_UNSUCCESSFUL;
}
+ }
- if (RelocationDir->VirtualAddress + PAGE_SIZE < MaxExtend)
- {
- Status = NtProtectVirtualMemory(NtCurrentProcess(),
- &ProtectBase2,
- &ProtectSize2,
- OldProtect2,
- &OldProtect2);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("Failed to protect relocation target2.\n");
- return(Status);
- }
- }
+ /* Restore old page protection. */
+ NtProtectVirtualMemory(NtCurrentProcess(),
+ &ProtectPage,
+ &ProtectSize,
+ OldProtect,
+ &OldProtect);
- RelocationRVA += RelocationDir->SizeOfBlock;
- RelocationDir =
- (PRELOCATION_DIRECTORY) (ImageBase + RelocationRVA);
+ if (RelocationDir->VirtualAddress + PAGE_SIZE <
+ NTHeaders->OptionalHeader.SizeOfImage)
+ {
+ NtProtectVirtualMemory(NtCurrentProcess(),
+ &ProtectPage2,
+ &ProtectSize,
+ OldProtect2,
+ &OldProtect2);
}
+
+ RelocationDir = (IMAGE_BASE_RELOCATION*)((ULONG_PTR)RelocationDir +
+ RelocationDir->SizeOfBlock);
}
+
return STATUS_SUCCESS;
}
@@ -1427,10 +1376,9 @@
}
static NTSTATUS
-LdrpProcessImportDirectoryEntry(
- PLDR_MODULE Module,
- PLDR_MODULE ImportedModule,
- PIMAGE_IMPORT_MODULE_DIRECTORY ImportModuleDirectory)
+LdrpProcessImportDirectoryEntry(PLDR_MODULE Module,
+ PLDR_MODULE ImportedModule,
+ PIMAGE_IMPORT_MODULE_DIRECTORY ImportModuleDirectory)
{
NTSTATUS Status;
PVOID* ImportAddressList;
@@ -2571,8 +2519,8 @@
NTSTATUS STDCALL
LdrShutdownProcess (VOID)
{
- LdrpDetachProcess(TRUE);
- return STATUS_SUCCESS;
+ LdrpDetachProcess(TRUE);
+ return STATUS_SUCCESS;
}
/*
@@ -2582,48 +2530,47 @@
NTSTATUS
LdrpAttachThread (VOID)
{
- PLIST_ENTRY ModuleListHead;
- PLIST_ENTRY Entry;
- PLDR_MODULE Module;
- NTSTATUS Status;
-
- DPRINT("LdrpAttachThread() called for %wZ\n",
- &ExeModule->BaseDllName);
+ PLIST_ENTRY ModuleListHead;
+ PLIST_ENTRY Entry;
+ PLDR_MODULE Module;
+ NTSTATUS Status;
- RtlEnterCriticalSection (NtCurrentPeb()->LoaderLock);
+ DPRINT("LdrpAttachThread() called for %wZ\n",
+ &ExeModule->BaseDllName);
- Status = LdrpInitializeTlsForThread();
+ RtlEnterCriticalSection (NtCurrentPeb()->LoaderLock);
- if (NT_SUCCESS(Status))
- {
+ Status = LdrpInitializeTlsForThread();
- ModuleListHead = &NtCurrentPeb()->Ldr->InInitializationOrderModuleList;
- Entry = ModuleListHead->Flink;
+ if (NT_SUCCESS(Status))
+ {
+ ModuleListHead = &NtCurrentPeb()->Ldr->InInitializationOrderModuleList;
+ Entry = ModuleListHead->Flink;
- while (Entry != ModuleListHead)
- {
- Module = CONTAINING_RECORD(Entry, LDR_MODULE, InInitializationOrderModuleList);
- if (Module->Flags & PROCESS_ATTACH_CALLED &&
- !(Module->Flags & DONT_CALL_FOR_THREAD) &&
- !(Module->Flags & UNLOAD_IN_PROGRESS))
- {
- TRACE_LDR("%wZ - Calling entry point at %x for thread attaching\n",
- &Module->BaseDllName, Module->EntryPoint);
- LdrpCallDllEntry(Module, DLL_THREAD_ATTACH, NULL);
- }
- Entry = Entry->Flink;
- }
+ while (Entry != ModuleListHead)
+ {
+ Module = CONTAINING_RECORD(Entry, LDR_MODULE, InInitializationOrderModuleList);
+ if (Module->Flags & PROCESS_ATTACH_CALLED &&
+ !(Module->Flags & DONT_CALL_FOR_THREAD) &&
+ !(Module->Flags & UNLOAD_IN_PROGRESS))
+ {
+ TRACE_LDR("%wZ - Calling entry point at %x for thread attaching\n",
+ &Module->BaseDllName, Module->EntryPoint);
+ LdrpCallDllEntry(Module, DLL_THREAD_ATTACH, NULL);
+ }
+ Entry = Entry->Flink;
+ }
- Entry = NtCurrentPeb()->Ldr->InLoadOrderModuleList.Flink;
- Module = CONTAINING_RECORD(Entry, LDR_MODULE, InLoadOrderModuleList);
- LdrpTlsCallback(Module, DLL_THREAD_ATTACH);
- }
+ Entry = NtCurrentPeb()->Ldr->InLoadOrderModuleList.Flink;
+ Module = CONTAINING_RECORD(Entry, LDR_MODULE, InLoadOrderModuleList);
+ LdrpTlsCallback(Module, DLL_THREAD_ATTACH);
+ }
- RtlLeaveCriticalSection (NtCurrentPeb()->LoaderLock);
+ RtlLeaveCriticalSection (NtCurrentPeb()->LoaderLock);
- DPRINT("LdrpAttachThread() done\n");
+ DPRINT("LdrpAttachThread() done\n");
- return Status;
+ return Status;
}
reactos/lib/syssetup
diff -u -r1.12 -r1.12.6.1
--- install.c 19 Apr 2004 10:54:23 -0000 1.12
+++ install.c 27 Jun 2004 01:13:12 -0000 1.12.6.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: install.c,v 1.12 2004/04/19 10:54:23 ekohl Exp $
+/* $Id: install.c,v 1.12.6.1 2004/06/27 01:13:12 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@@ -192,6 +192,62 @@
return FALSE;
}
+static VOID
+CreateTempDir(LPCWSTR VarName)
+{
+ WCHAR szTempDir[MAX_PATH];
+ WCHAR szBuffer[MAX_PATH];
+ DWORD dwLength;
+ HKEY hKey;
+
+ if (RegOpenKeyExW (HKEY_LOCAL_MACHINE,
+ L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
+ 0,
+ KEY_ALL_ACCESS,
+ &hKey))
+ {
+ DebugPrint("Error: %lu\n", GetLastError());
+ return;
+ }
+
+ /* Get temp dir */
+ dwLength = MAX_PATH * sizeof(WCHAR);
+ if (RegQueryValueExW (hKey,
+ VarName,
+ NULL,
+ NULL,
+ (LPBYTE)szBuffer,
+ &dwLength))
+ {
+ DebugPrint("Error: %lu\n", GetLastError());
+ RegCloseKey (hKey);
+ return;
+ }
+
+ /* Expand it */
+ if (!ExpandEnvironmentStringsW (szBuffer,
+ szTempDir,
+ MAX_PATH))
+ {
+ DebugPrint("Error: %lu\n", GetLastError());
+ RegCloseKey (hKey);
+ return;
+ }
+
+ /* Create profiles directory */
+ if (!CreateDirectoryW (szTempDir, NULL))
+ {
+ if (GetLastError () != ERROR_ALREADY_EXISTS)
+ {
+ DebugPrint("Error: %lu\n", GetLastError());
+ RegCloseKey (hKey);
+ return;
+ }
+ }
+
+ RegCloseKey (hKey);
+}
+
DWORD STDCALL
InstallReactOS (HINSTANCE hInstance)
{
@@ -284,6 +340,9 @@
RtlFreeSid (AdminSid);
RtlFreeSid (DomainSid);
+ CreateTempDir(L"TEMP");
+ CreateTempDir(L"TMP");
+
#if 1
InstallWizard ();
#endif
reactos/lib/user32/windows
diff -u -r1.29 -r1.29.6.1
--- bitmap.c 13 Apr 2004 00:06:50 -0000 1.29
+++ bitmap.c 27 Jun 2004 01:13:12 -0000 1.29.6.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: bitmap.c,v 1.29 2004/04/13 00:06:50 weiden Exp $
+/* $Id: bitmap.c,v 1.29.6.1 2004/06/27 01:13:12 hyperion Exp $
*
* PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c
@@ -42,7 +42,6 @@
CURSORICONDIRENTRY *CURSORICON_FindBestIcon( CURSORICONDIR *dir, int width, int height, int colors);
CURSORICONDIRENTRY *CURSORICON_FindBestCursor( CURSORICONDIR *dir, int width, int height, int colors);
-
/* FUNCTIONS *****************************************************************/
/*
@@ -661,39 +660,53 @@
/*
- * @implemented
+ * @unimplemented
*/
HANDLE WINAPI
CopyImage(HANDLE hnd, UINT type, INT desiredx, INT desiredy, UINT flags)
{
- switch (type)
- {
- case IMAGE_BITMAP:
- {
- DbgPrint("WARNING: Incomplete implementation of CopyImage!\n");
- /* FIXME: support flags LR_COPYDELETEORG, LR_COPYFROMRESOURCE,
- LR_COPYRETURNORG, LR_CREATEDIBSECTION,
- and LR_MONOCHROME; */
- HBITMAP res;
- BITMAP bm;
-
- if (!GetObjectW(hnd, sizeof(bm), &bm)) return 0;
- bm.bmBits = NULL;
- if ((res = CreateBitmapIndirect(&bm)))
- {
- char *buf = HeapAlloc(GetProcessHeap(), 0, bm.bmWidthBytes * bm.bmHeight);
- GetBitmapBits(hnd, bm.bmWidthBytes * bm.bmHeight, buf);
- SetBitmapBits(res, bm.bmWidthBytes * bm.bmHeight, buf);
- HeapFree(GetProcessHeap(), 0, buf);
- }
- return res;
- }
- case IMAGE_ICON:
- DbgPrint("FIXME: CopyImage doesn't support IMAGE_ICON correctly!\n");
- return CopyIcon(hnd);
- case IMAGE_CURSOR:
- DbgPrint("FIXME: CopyImage doesn't support IMAGE_CURSOR correctly!\n");
- return CopyCursor(hnd);
- }
- return 0;
+ switch (type)
+ {
+ case IMAGE_BITMAP:
+ {
+ DbgPrint("WARNING: Incomplete implementation of CopyImage!\n");
+ /* FIXME: support flags LR_COPYDELETEORG, LR_COPYFROMRESOURCE,
+ LR_COPYRETURNORG, LR_CREATEDIBSECTION,
+ and LR_MONOCHROME; */
+ HBITMAP res;
+ BITMAP bm;
+
+ if (!GetObjectW(hnd, sizeof(bm), &bm)) return 0;
+ bm.bmBits = NULL;
+ if ((res = CreateBitmapIndirect(&bm)))
+ {
+ char *buf = HeapAlloc(GetProcessHeap(), 0, bm.bmWidthBytes * bm.bmHeight);
+ GetBitmapBits(hnd, bm.bmWidthBytes * bm.bmHeight, buf);
+ SetBitmapBits(res, bm.bmWidthBytes * bm.bmHeight, buf);
+ HeapFree(GetProcessHeap(), 0, buf);
+ }
+ return res;
+ }
+ case IMAGE_ICON:
+ {
+ static BOOL IconMsgDisplayed = FALSE;
+ /* FIXME: support loading the image as shared from an instance */
+ if (!IconMsgDisplayed) {
+ DbgPrint("FIXME: CopyImage doesn't support IMAGE_ICON correctly!\n");
+ IconMsgDisplayed = TRUE;
+ }
+ return CopyIcon(hnd);
+ }
+ case IMAGE_CURSOR:
+ {
+ static BOOL IconMsgDisplayed = FALSE;
+ /* FIXME: support loading the image as shared from an instance */
+ if (!IconMsgDisplayed) {
+ DbgPrint("FIXME: CopyImage doesn't support IMAGE_CURSOR correctly!\n");
+ IconMsgDisplayed = TRUE;
+ }
+ return CopyCursor(hnd);
+ }
+ }
+ return 0;
}
reactos/lib/user32/windows
diff -u -r1.41 -r1.41.6.1
--- draw.c 20 May 2004 14:12:21 -0000 1.41
+++ draw.c 27 Jun 2004 01:13:12 -0000 1.41.6.1
@@ -40,11 +40,6 @@
#include <user32.h>
#include <debug.h>
-/* FIXME - not yet defined in w32api :( */
-#define SPI_GETFOCUSBORDERWIDTH (8206)
-#define SPI_SETFOCUSBORDERWIDTH (8207)
-#define SPI_GETFOCUSBORDERHEIGHT (8208)
-#define SPI_SETFOCUSBORDERHEIGHT (8209)
#define COLOR_MENUHILIGHT (29)
#define COLOR_MENUBAR (30)
reactos/lib/userenv
diff -u -r1.3 -r1.3.6.1
--- environment.c 1 May 2004 11:55:01 -0000 1.3
+++ environment.c 27 Jun 2004 01:13:13 -0000 1.3.6.1
@@ -1,4 +1,4 @@
-/* $Id: environment.c,v 1.3 2004/05/01 11:55:01 ekohl Exp $
+/* $Id: environment.c,v 1.3.6.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@@ -18,20 +18,63 @@
static BOOL
SetUserEnvironmentVariable (LPVOID *Environment,
LPWSTR lpName,
- LPWSTR lpValue)
+ LPWSTR lpValue,
+ BOOL bExpand)
{
UNICODE_STRING Name;
- UNICODE_STRING Value;
+ UNICODE_STRING SrcValue;
+ UNICODE_STRING DstValue;
+ ULONG Length;
NTSTATUS Status;
+ if (bExpand)
+ {
+ RtlInitUnicodeString(&SrcValue,
+ lpValue);
+
+ Length = 2 * MAX_PATH * sizeof(WCHAR);
+
+ DstValue.Length = 0;
+ DstValue.MaximumLength = Length;
+ DstValue.Buffer = LocalAlloc (LPTR,
+ Length);
+ if (DstValue.Buffer == NULL)
+ {
+ DPRINT1("LocalAlloc() failed\n");
+ return FALSE;
+ }
+
+ Status = RtlExpandEnvironmentStrings_U((PWSTR)*Environment,
+ &SrcValue,
+ &DstValue,
+ &Length);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1 ("RtlExpandEnvironmentStrings_U() failed (Status %lx)\n", Status);
+ DPRINT1 ("Length %lu\n", Length);
+ return FALSE;
+ }
+ }
+ else
+ {
+ RtlInitUnicodeString(&DstValue,
+ lpValue);
+ }
+
RtlInitUnicodeString (&Name,
lpName);
- RtlInitUnicodeString (&Value,
- lpValue);
+
+ DPRINT("Value: %wZ\n", &DstValue);
Status = RtlSetEnvironmentVariable ((PWSTR*)Environment,
&Name,
- &Value);
+ &DstValue);
+
+ if (bExpand)
+ {
+ LocalFree(DstValue.Buffer);
+ }
+
if (!NT_SUCCESS(Status))
{
DPRINT1 ("RtlSetEnvironmentVariable() failed (Status %lx)\n", Status);
@@ -214,7 +257,8 @@
/* Set environment variable */
SetUserEnvironmentVariable (lpEnvironment,
lpValueName,
- lpValueData);
+ lpValueData,
+ (dwType == REG_EXPAND_SZ));
}
}
@@ -254,9 +298,10 @@
if (GetComputerNameW (Buffer,
&Length))
{
- SetUserEnvironmentVariable (lpEnvironment,
- L"COMPUTERNAME",
- Buffer);
+ SetUserEnvironmentVariable(lpEnvironment,
+ L"COMPUTERNAME",
+ Buffer,
+ FALSE);
}
if (hToken == NULL)
@@ -275,9 +320,10 @@
if (GetAllUsersProfileDirectoryW (Buffer,
&Length))
{
- SetUserEnvironmentVariable (lpEnvironment,
- L"ALLUSERSPROFILE",
- Buffer);
+ SetUserEnvironmentVariable(lpEnvironment,
+ L"ALLUSERSPROFILE",
+ Buffer,
+ FALSE);
}
/* Set 'USERPROFILE' variable */
@@ -286,9 +332,10 @@
Buffer,
&Length))
{
- SetUserEnvironmentVariable (lpEnvironment,
- L"USERPROFILE",
- Buffer);
+ SetUserEnvironmentVariable(lpEnvironment,
+ L"USERPROFILE",
+ Buffer,
+ FALSE);
}
/* FIXME: Set 'USERDOMAIN' variable */
reactos/lib/userenv
diff -u -r1.4 -r1.4.8.1
--- setup.c 13 Mar 2004 20:49:07 -0000 1.4
+++ setup.c 27 Jun 2004 01:13:13 -0000 1.4.8.1
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.4 2004/03/13 20:49:07 ekohl Exp $
+/* $Id: setup.c,v 1.4.8.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@@ -36,7 +36,9 @@
{FALSE, L"Start Menu"},
{FALSE, L"Start Menu\\Programs"},
{FALSE, L"Start Menu\\Programs\\Startup"},
-
+ {TRUE, L"Local Settings"},
+ {TRUE, L"Local Settings\\Application Data"},
+ {FALSE, L"Local Settings\\Temp"},
{FALSE, NULL}
};
reactos/ntoskrnl
diff -u -r1.125 -r1.125.4.1
--- Makefile 21 Jun 2004 21:07:29 -0000 1.125
+++ Makefile 27 Jun 2004 01:13:13 -0000 1.125.4.1
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.125 2004/06/21 21:07:29 hyperion Exp $
+# $Id: Makefile,v 1.125.4.1 2004/06/27 01:13:13 hyperion Exp $
#
# ReactOS Operating System
#
@@ -130,6 +130,7 @@
ke/catch.o \
ke/critical.o \
ke/dpc.o \
+ ke/device.o \
ke/error.o \
ke/event.o \
ke/kqueue.o \
@@ -137,6 +138,7 @@
ke/main.o \
ke/mutex.o \
ke/process.o \
+ ke/profile.o \
ke/queue.o \
ke/sem.o \
ke/spinlock.o \
@@ -222,7 +224,8 @@
io/vpb.o \
io/wdm.o \
io/xhaldisp.o \
- io/xhaldrv.o
+ io/xhaldrv.o \
+ io/wmi.o
# Object Manager (Ob)
OBJECTS_OB = \
@@ -262,9 +265,12 @@
ex/napi.o \
ex/power.o \
ex/resource.o \
- ex/time.o \
+ ex/rundown.o \
ex/stree.o \
+ ex/synch.o \
ex/sysinfo.o \
+ ex/time.o \
+ ex/util.o \
ex/win32k.o \
ex/work.o \
ex/zone.o
reactos/ntoskrnl/cm
diff -u -r1.49 -r1.49.8.1
--- cm.h 9 May 2004 12:23:35 -0000 1.49
+++ cm.h 27 Jun 2004 01:13:13 -0000 1.49.8.1
@@ -356,6 +356,12 @@
extern LIST_ENTRY CmiHiveListHead;
extern ERESOURCE CmiHiveListLock;
+/* Registry Callback Function */
+typedef NTSTATUS (*PEX_CALLBACK_FUNCTION ) (
+ IN PVOID CallbackContext,
+ IN PVOID Argument1,
+ IN PVOID Argument2
+ );
VOID
CmiVerifyBinHeader(PHBIN BinHeader);
@@ -387,6 +393,15 @@
#endif
NTSTATUS STDCALL
+CmRegisterCallback(IN PEX_CALLBACK_FUNCTION Function,
+ IN PVOID Context,
+ IN OUT PLARGE_INTEGER Cookie
+ );
+
+NTSTATUS STDCALL
+CmUnRegisterCallback(IN LARGE_INTEGER Cookie);
+
+NTSTATUS STDCALL
CmiObjectParse(IN PVOID ParsedObject,
OUT PVOID *NextObject,
IN PUNICODE_STRING FullPath,
reactos/ntoskrnl/cm
diff -u -r1.64 -r1.64.10.1
--- ntfunc.c 13 Mar 2004 12:14:44 -0000 1.64
+++ ntfunc.c 27 Jun 2004 01:13:13 -0000 1.64.10.1
@@ -31,6 +31,31 @@
/* FUNCTIONS ****************************************************************/
+/*
+ * @unimplemented
+ */
+NTSTATUS STDCALL
+CmRegisterCallback(IN PEX_CALLBACK_FUNCTION Function,
+ IN PVOID Context,
+ IN OUT PLARGE_INTEGER Cookie
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+
+NTSTATUS STDCALL
+CmUnRegisterCallback(IN LARGE_INTEGER Cookie)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+
NTSTATUS STDCALL
NtCreateKey(OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
reactos/ntoskrnl/dbg
diff -u -r1.11 -r1.11.24.1
--- dbgctrl.c 7 Jun 2003 16:16:39 -0000 1.11
+++ dbgctrl.c 27 Jun 2004 01:13:13 -0000 1.11.24.1
@@ -35,6 +35,49 @@
/* FUNCTIONS *****************************************************************/
+/*
+ * @unimplemented
+ */
+ULONG
+__cdecl
+DbgPrintReturnControlC(
+ PCH Format,
+ ...
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+DbgQueryDebugFilterState(
+ IN ULONG ComponentId,
+ IN ULONG Level
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+DbgSetDebugFilterState(
+ IN ULONG ComponentId,
+ IN ULONG Level,
+ IN BOOLEAN State
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
NTSTATUS STDCALL
NtSystemDebugControl(DEBUG_CONTROL_CODE ControlCode,
PVOID InputBuffer,
reactos/ntoskrnl/ex
diff -u -r1.12 -r1.12.6.1
--- interlck.c 1 Jun 2004 01:00:25 -0000 1.12
+++ interlck.c 27 Jun 2004 01:13:13 -0000 1.12.6.1
@@ -1,4 +1,4 @@
-/* $Id: interlck.c,v 1.12 2004/06/01 01:00:25 sedwards Exp $
+/* $Id: interlck.c,v 1.12.6.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -13,7 +13,8 @@
#include <ddk/ntddk.h>
-
+#define NDEBUG
+#include <internal/debug.h>
/* FUNCTIONS *****************************************************************/
#ifdef ExInterlockedDecrementLong
@@ -218,6 +219,23 @@
}
/*
+ * @unimplemented
+ */
+LONGLONG
+FASTCALL
+ExfInterlockedCompareExchange64(
+ IN OUT LONGLONG volatile *Destination,
+ IN PLONGLONG ExChange,
+ IN PLONGLONG Comperand
+ )
+{
+ LONGLONG oldval;
+
+ UNIMPLEMENTED;
+ return oldval;
+}
+
+/*
* @implemented
*/
ULONG FASTCALL
reactos/ntoskrnl/ex
diff -u -r1.11 -r1.11.24.1
--- list.c 14 Aug 2003 18:30:28 -0000 1.11
+++ list.c 27 Jun 2004 01:13:13 -0000 1.11.24.1
@@ -1,4 +1,4 @@
-/* $Id: list.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
+/* $Id: list.c,v 1.11.24.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -26,6 +26,21 @@
/* FUNCTIONS *************************************************************/
/*
+ * @unimplemented
+ */
+PSLIST_ENTRY
+FASTCALL
+ExInterlockedFlushSList (
+ IN PSLIST_HEADER ListHead
+ )
+{
+ PSLIST_ENTRY Old = NULL;
+
+ UNIMPLEMENTED;
+ return Old;
+}
+
+/*
* @implemented
*/
PLIST_ENTRY FASTCALL
reactos/ntoskrnl/ex
diff -u -r1.36 -r1.36.6.1
--- sysinfo.c 13 Jun 2004 10:35:52 -0000 1.36
+++ sysinfo.c 27 Jun 2004 01:13:13 -0000 1.36.6.1
@@ -1,4 +1,4 @@
-/* $Id: sysinfo.c,v 1.36 2004/06/13 10:35:52 navaraf Exp $
+/* $Id: sysinfo.c,v 1.36.6.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -37,6 +37,46 @@
/* FUNCTIONS *****************************************************************/
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExEnumHandleTable (
+ PULONG HandleTable,
+ PVOID Callback,
+ PVOID Param,
+ PHANDLE Handle OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExGetCurrentProcessorCounts (
+ PVOID IdleThreadTime,
+ PVOID SystemTime,
+ PVOID Number
+ )
+{
+ UNIMPLEMENTED;
+}
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExGetCurrentProcessorCpuUsage (
+ PVOID RetVal
+ )
+{
+ UNIMPLEMENTED;
+}
+
NTSTATUS STDCALL
NtQuerySystemEnvironmentValue (IN PUNICODE_STRING UnsafeName,
OUT PVOID UnsafeValue,
reactos/ntoskrnl/ex
diff -u -r1.19 -r1.19.20.1
--- time.c 12 Oct 2003 17:05:44 -0000 1.19
+++ time.c 27 Jun 2004 01:13:13 -0000 1.19.20.1
@@ -1,4 +1,4 @@
-/* $Id: time.c,v 1.19 2003/10/12 17:05:44 hbirr Exp $
+/* $Id: time.c,v 1.19.20.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -125,6 +125,18 @@
_SystemTimeZoneInfo.Bias * TICKSPERMINUTE;
}
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExSetTimerResolution (
+ IN ULONG DesiredTime,
+ IN BOOLEAN SetResolution
+ )
+{
+ UNIMPLEMENTED;
+}
/*
* @implemented
reactos/ntoskrnl/fs
diff -u -r1.11 -r1.11.14.1
--- mcb.c 30 Dec 2003 18:52:03 -0000 1.11
+++ mcb.c 27 Jun 2004 01:13:13 -0000 1.11.14.1
@@ -1,4 +1,4 @@
-/* $Id: mcb.c,v 1.11 2003/12/30 18:52:03 fireball Exp $
+/* $Id: mcb.c,v 1.11.14.1 2004/06/27 01:13:13 hyperion Exp $
*
* reactos/ntoskrnl/fs/mcb.c
*
@@ -128,6 +128,51 @@
return(FALSE);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+FsRtlLookupLastLargeMcbEntryAndIndex (
+ IN PLARGE_MCB OpaqueMcb,
+ OUT PLONGLONG LargeVbn,
+ OUT PLONGLONG LargeLbn,
+ OUT PULONG Index
+ )
+{
+ UNIMPLEMENTED;
+ return(FALSE);
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PFSRTL_PER_STREAM_CONTEXT
+FsRtlLookupPerStreamContextInternal (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return(FALSE);
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
+FsRtlLookupPerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return(FALSE);
+}
/*
* @unimplemented
@@ -223,6 +268,19 @@
/*
* @unimplemented
*/
+STDCALL
+VOID
+FsRtlResetLargeMcb (
+ IN PLARGE_MCB Mcb,
+ IN BOOLEAN SelfSynchronized
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
BOOLEAN STDCALL
FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
reactos/ntoskrnl/fs
diff -u -r1.5 -r1.5.24.1
--- mdl.c 10 Jul 2003 06:27:13 -0000 1.5
+++ mdl.c 27 Jun 2004 01:13:13 -0000 1.5.24.1
@@ -1,4 +1,4 @@
-/* $Id: mdl.c,v 1.5 2003/07/10 06:27:13 royce Exp $
+/* $Id: mdl.c,v 1.5.24.1 2004/06/27 01:13:13 hyperion Exp $
*
* reactos/ntoskrnl/fs/mdl.c
*
@@ -7,6 +7,45 @@
#include <internal/cc.h>
#include <ddk/ntifs.h>
+#include <internal/debug.h>
+
+/*
+ * @unimplemented
+ */
+VOID
+FsRtlIncrementCcFastReadResourceMiss( VOID )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+FsRtlIncrementCcFastReadNotPossible( VOID )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+FsRtlIncrementCcFastReadWait( VOID )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+FsRtlIncrementCcFastReadNoWait( VOID )
+{
+ UNIMPLEMENTED;
+}
+
+
/**********************************************************************
* NAME EXPORTED
* FsRtlMdlRead@24
reactos/ntoskrnl/fs
diff -u -r1.9 -r1.9.14.1
--- notify.c 30 Dec 2003 18:52:03 -0000 1.9
+++ notify.c 27 Jun 2004 01:13:13 -0000 1.9.14.1
@@ -1,4 +1,4 @@
-/* $Id: notify.c,v 1.9 2003/12/30 18:52:03 fireball Exp $
+/* $Id: notify.c,v 1.9.14.1 2004/06/27 01:13:13 hyperion Exp $
*
* reactos/ntoskrnl/fs/notify.c
*
@@ -6,6 +6,8 @@
#include <ntos.h>
#include <ddk/ntifs.h>
+#define NDEBUG
+#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
@@ -46,6 +48,7 @@
}
+
/**********************************************************************
* NAME EXPORTED
* FsRtlNotifyCleanup@12
@@ -69,6 +72,50 @@
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+FsRtlNotifyFilterChangeDirectory (
+ IN PNOTIFY_SYNC NotifySync,
+ IN PLIST_ENTRY NotifyList,
+ IN PVOID FsContext,
+ IN PSTRING FullDirectoryName,
+ IN BOOLEAN WatchTree,
+ IN BOOLEAN IgnoreBuffer,
+ IN ULONG CompletionFilter,
+ IN PIRP NotifyIrp,
+ IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
+ IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL,
+ IN PFILTER_REPORT_CHANGE FilterCallback OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+FsRtlNotifyFilterReportChange (
+ IN PNOTIFY_SYNC NotifySync,
+ IN PLIST_ENTRY NotifyList,
+ IN PSTRING FullTargetName,
+ IN USHORT TargetNameOffset,
+ IN PSTRING StreamName OPTIONAL,
+ IN PSTRING NormalizedParentName OPTIONAL,
+ IN ULONG FilterMatch,
+ IN ULONG Action,
+ IN PVOID TargetContext,
+ IN PVOID FilterContext
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
/**********************************************************************
* NAME EXPORTED
* FsRtlNotifyFullChangeDirectory@40
@@ -261,4 +308,18 @@
return STATUS_NOT_IMPLEMENTED;
}
+/*
+ *
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+FsRtlRegisterFileSystemFilterCallbacks (
+ IN struct _DRIVER_OBJECT *FilterDriverObject,
+ IN PFS_FILTER_CALLBACKS Callbacks
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
/* EOF */
reactos/ntoskrnl/fs
diff -u -r1.15 -r1.15.24.1
--- util.c 3 Aug 2003 15:53:45 -0000 1.15
+++ util.c 27 Jun 2004 01:13:13 -0000 1.15.24.1
@@ -1,4 +1,4 @@
-/* $Id: util.c,v 1.15 2003/08/03 15:53:45 ea Exp $
+/* $Id: util.c,v 1.15.24.1 2004/06/27 01:13:13 hyperion Exp $
*
* reactos/ntoskrnl/fs/util.c
*
@@ -6,6 +6,8 @@
#include <ddk/ntddk.h>
#include <ddk/ntifs.h>
+#define NDEBUG
+#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
@@ -87,6 +89,18 @@
: TRUE;
}
+/*
+ * @unimplemented
+ */
+ULONG
+FsRtlIsPagingFile (
+ IN PFILE_OBJECT FileObject
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
/**********************************************************************
* NAME EXPORTED
@@ -271,6 +285,48 @@
return Status;
}
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+FsRtlInsertPerStreamContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerStreamContext,
+ IN PFSRTL_PER_STREAM_CONTEXT Ptr
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PFSRTL_PER_STREAM_CONTEXT
+FsRtlRemovePerStreamContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+FsRtlInsertPerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
+ IN PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/ Ptr
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
/**********************************************************************
* NAME EXPORTED
@@ -318,6 +374,21 @@
}
+/*
+ * @unimplemented
+ */
+STDCALL
+PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
+FsRtlRemovePerFileObjectContext (
+ IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return NULL;
+}
+
/**********************************************************************
* NAME EXPORTED
* FsRtlSyncVolumes@12
@@ -344,5 +415,16 @@
}
-/* EOF */
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+FsRtlTeardownPerStreamContexts (
+ IN PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader
+ )
+{
+ UNIMPLEMENTED;
+}
+/* EOF */
reactos/ntoskrnl/include/internal
diff -u -r1.7 -r1.7.14.1
--- dbg.h 6 Jan 2004 16:06:22 -0000 1.7
+++ dbg.h 27 Jun 2004 01:13:13 -0000 1.7.14.1
@@ -4,6 +4,8 @@
#include <napi/dbg.h>
#include <internal/port.h>
+#define KdPrintEx(_x_) DbgPrintEx _x_
+
NTSTATUS STDCALL
LpcSendDebugMessagePort(PEPORT Port,
PLPC_DBG_MESSAGE Message,
@@ -15,4 +17,26 @@
BOOLEAN
DbgShouldPrint(PCH Filename);
+ULONG
+__cdecl
+DbgPrintReturnControlC(
+ PCH Format,
+ ...
+ );
+
+STDCALL
+NTSTATUS
+DbgQueryDebugFilterState(
+ IN ULONG ComponentId,
+ IN ULONG Level
+ );
+
+STDCALL
+NTSTATUS
+DbgSetDebugFilterState(
+ IN ULONG ComponentId,
+ IN ULONG Level,
+ IN BOOLEAN State
+ );
+
#endif /* __INCLUDE_INTERNAL_DBG_H */
reactos/ntoskrnl/include/internal
diff -u -r1.24 -r1.24.10.1
--- kd.h 11 Mar 2004 21:50:23 -0000 1.24
+++ kd.h 27 Jun 2004 01:13:13 -0000 1.24.10.1
@@ -1,4 +1,4 @@
-/* $Id: kd.h,v 1.24 2004/03/11 21:50:23 dwelch Exp $
+/* $Id: kd.h,v 1.24.10.1 2004/06/27 01:13:13 hyperion Exp $
*
* kernel debugger prototypes
*/
@@ -50,6 +50,30 @@
DebugLogInit2(VOID);
VOID
+STDCALL
+KdDisableDebugger(
+ VOID
+ );
+
+VOID
+STDCALL
+KdEnableDebugger(
+ VOID
+ );
+
+NTSTATUS
+STDCALL
+KdPowerTransition(
+ ULONG PowerState
+ );
+
+BOOLEAN
+STDCALL
+KeIsAttachedProcess(
+ VOID
+ );
+
+VOID
KdInit1(VOID);
VOID
reactos/ntoskrnl/include/internal
diff -u -r1.50 -r1.50.8.1
--- ke.h 14 Apr 2004 23:32:53 -0000 1.50
+++ ke.h 27 Jun 2004 01:13:13 -0000 1.50.8.1
@@ -53,6 +53,34 @@
VOID STDCALL KeRescheduleThread();
+
+STDCALL
+VOID
+KeProfileInterrupt(
+ PKTRAP_FRAME TrapFrame
+);
+
+STDCALL
+VOID
+KeProfileInterruptWithSource(
+ IN PKTRAP_FRAME TrapFrame,
+ IN KPROFILE_SOURCE Source
+);
+
+/*STDCALL
+BOOLEAN
+KiIpiServiceRoutine(
+ IN PKTRAP_FRAME TrapFrame,
+ IN PKEXCEPTION_FRAME ExceptionFrame
+);*/
+
+STDCALL
+VOID
+KeUpdateSystemTime(
+ IN PKTRAP_FRAME TrapFrame,
+ IN ULONG Increment
+);
+
VOID KiUpdateSystemTime (KIRQL oldIrql, ULONG Eip);
KIRQL KeAcquireDispatcherDatabaseLock(VOID);
@@ -71,18 +99,13 @@
BOOLEAN KiTestAlert(VOID);
VOID KeRemoveAllWaitsThread(struct _ETHREAD* Thread, NTSTATUS WaitStatus, BOOL Unblock);
PULONG KeGetStackTopThread(struct _ETHREAD* Thread);
-VOID KeContextToTrapFrame(PCONTEXT Context,
- PKTRAP_FRAME TrapFrame);
+VOID KeContextToTrapFrame(PCONTEXT Context, PKTRAP_FRAME TrapFrame);
VOID
KiDeliverNormalApc(VOID);
BOOLEAN STDCALL KeRemoveQueueApc (PKAPC Apc);
PLIST_ENTRY STDCALL KeRundownQueue(IN PKQUEUE Queue);
-VOID STDCALL
-KeRaiseUserException(NTSTATUS ExceptionCode);
-
-
/* INITIALIZATION FUNCTIONS *************************************************/
VOID KeInitExceptions(VOID);
@@ -139,6 +162,12 @@
VOID
KiUpdateProcessThreadTime(VOID);
+STDCALL
+VOID
+KeUpdateRunTime(
+ IN PKTRAP_FRAME TrapFrame
+);
+
#endif /* not __ASM__ */
#define MAXIMUM_PROCESSORS 32
reactos/ntoskrnl/include/internal
diff -u -r1.58 -r1.58.10.1
--- ps.h 14 Mar 2004 18:11:25 -0000 1.58
+++ ps.h 27 Jun 2004 01:13:13 -0000 1.58.10.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: ps.h,v 1.58 2004/03/14 18:11:25 ekohl Exp $
+/* $Id: ps.h,v 1.58.10.1 2004/06/27 01:13:13 hyperion Exp $
*
* FILE: ntoskrnl/ke/kthread.c
* PURPOSE: Process manager definitions
@@ -63,7 +63,7 @@
UCHAR KernelApcInProgress;
UCHAR KernelApcPending;
USHORT UserApcPending;
-} KAPC_STATE, *PKAPC_STATE;
+} KAPC_STATE, *PKAPC_STATE, *__restrict PRKAPC_STATE;
#include <poppack.h>
@@ -505,6 +505,20 @@
VOID
KeInitializeThread(PKPROCESS Process, PKTHREAD Thread, BOOLEAN First);
NTSTATUS KeReleaseThread(PETHREAD Thread);
+
+STDCALL
+VOID
+KeStackAttachProcess (
+ IN PKPROCESS Process,
+ OUT PKAPC_STATE ApcState
+ );
+
+STDCALL
+VOID
+KeUnstackDetachProcess (
+ IN PKAPC_STATE ApcState
+ );
+
VOID STDCALL PiDeleteProcess(PVOID ObjectBody);
VOID PsReapThreads(VOID);
VOID PsUnfreezeOtherThread(PETHREAD Thread);
reactos/ntoskrnl/io
diff -u -r1.70 -r1.70.8.1
--- device.c 8 Apr 2004 16:01:47 -0000 1.70
+++ device.c 27 Jun 2004 01:13:13 -0000 1.70.8.1
@@ -1,4 +1,4 @@
-/* $Id: device.c,v 1.70 2004/04/08 16:01:47 navaraf Exp $
+/* $Id: device.c,v 1.70.8.1 2004/06/27 01:13:13 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -165,6 +165,21 @@
}
/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoAttachDeviceToDeviceStackSafe(
+ IN PDEVICE_OBJECT SourceDevice,
+ IN PDEVICE_OBJECT TargetDevice,
+ OUT PDEVICE_OBJECT *AttachedToDeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
* IoDeleteDevice
*
* Status
@@ -206,6 +221,64 @@
ObDereferenceObject(DeviceObject);
}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoEnumerateDeviceObjectList(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PDEVICE_OBJECT *DeviceObjectList,
+ IN ULONG DeviceObjectListSize,
+ OUT PULONG ActualNumberDeviceObjects
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PDEVICE_OBJECT
+IoGetDeviceAttachmentBaseRef(
+ IN PDEVICE_OBJECT DeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoGetDiskDeviceObject(
+ IN PDEVICE_OBJECT FileSystemDeviceObject,
+ OUT PDEVICE_OBJECT *DiskDeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PDEVICE_OBJECT
+IoGetLowerDeviceObject(
+ IN PDEVICE_OBJECT DeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
/*
* IoGetRelatedDeviceObject
*
@@ -615,6 +688,34 @@
}
/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoRegisterBootDriverReinitialization(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
+ IN PVOID Context
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoRegisterLastChanceShutdownNotification(
+ IN PDEVICE_OBJECT DeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
* IoQueryDeviceEnumInfo
*
* Status
@@ -630,4 +731,46 @@
return 0;
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoSetStartIoAttributes(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN BOOLEAN DeferredStartIo,
+ IN BOOLEAN NonCancelable
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoSynchronousInvalidateDeviceRelations(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN DEVICE_RELATION_TYPE Type
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoValidateDeviceIoControlAccess(
+ IN PIRP Irp,
+ IN ULONG RequiredAccess
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
/* EOF */
reactos/ntoskrnl/io
diff -u -r1.47 -r1.47.4.1
--- driver.c 20 Jun 2004 00:44:55 -0000 1.47
+++ driver.c 27 Jun 2004 01:13:14 -0000 1.47.4.1
@@ -1,4 +1,4 @@
-/* $Id: driver.c,v 1.47 2004/06/20 00:44:55 navaraf Exp $
+/* $Id: driver.c,v 1.47.4.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -1478,6 +1478,34 @@
/* PUBLIC FUNCTIONS ***********************************************************/
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCreateDriver (
+ IN PUNICODE_STRING DriverName, OPTIONAL
+ IN PDRIVER_INITIALIZE InitializationFunction
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoDeleteDriver (
+ IN PDRIVER_OBJECT DriverObject
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
/*
* NtLoadDriver
*
reactos/ntoskrnl/io
diff -u -r1.16 -r1.16.14.1
--- errlog.c 30 Dec 2003 18:52:04 -0000 1.16
+++ errlog.c 27 Jun 2004 01:13:14 -0000 1.16.14.1
@@ -1,4 +1,4 @@
-/* $Id: errlog.c,v 1.16 2003/12/30 18:52:04 fireball Exp $
+/* $Id: errlog.c,v 1.16.14.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -382,6 +382,17 @@
return (PVOID)((ULONG_PTR)LogEntry + sizeof(ERROR_LOG_ENTRY));
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoFreeErrorLogEntry(
+ PVOID ElEntry
+ )
+{
+ UNIMPLEMENTED;
+}
/*
* @implemented
reactos/ntoskrnl/io
diff -u -r1.28 -r1.28.14.1
--- file.c 13 Dec 2003 14:36:42 -0000 1.28
+++ file.c 27 Jun 2004 01:13:14 -0000 1.28.14.1
@@ -1,4 +1,4 @@
-/* $Id: file.c,v 1.28 2003/12/13 14:36:42 ekohl Exp $
+/* $Id: file.c,v 1.28.14.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -132,6 +132,133 @@
/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCheckQuerySetFileInformation(
+ IN FILE_INFORMATION_CLASS FileInformationClass,
+ IN ULONG Length,
+ IN BOOLEAN SetOperation
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCheckQuerySetVolumeInformation(
+ IN FS_INFORMATION_CLASS FsInformationClass,
+ IN ULONG Length,
+ IN BOOLEAN SetOperation
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCheckQuotaBufferValidity(
+ IN PFILE_QUOTA_INFORMATION QuotaBuffer,
+ IN ULONG QuotaLength,
+ OUT PULONG ErrorOffset
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCreateFileSpecifyDeviceObjectHint(
+ OUT PHANDLE FileHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ OUT PIO_STATUS_BLOCK IoStatusBlock,
+ IN PLARGE_INTEGER AllocationSize OPTIONAL,
+ IN ULONG FileAttributes,
+ IN ULONG ShareAccess,
+ IN ULONG Disposition,
+ IN ULONG CreateOptions,
+ IN PVOID EaBuffer OPTIONAL,
+ IN ULONG EaLength,
+ IN CREATE_FILE_TYPE CreateFileType,
+ IN PVOID ExtraCreateParameters OPTIONAL,
+ IN ULONG Options,
+ IN PVOID DeviceObject
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+PFILE_OBJECT
+IoCreateStreamFileObjectEx(
+ IN PFILE_OBJECT FileObject OPTIONAL,
+ IN PDEVICE_OBJECT DeviceObject OPTIONAL,
+ OUT PHANDLE FileObjectHandle OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+/*
+ * @unimplemented
+ */
+STDCALL
+PFILE_OBJECT
+IoCreateStreamFileObjectLite(
+ IN PFILE_OBJECT FileObject OPTIONAL,
+ IN PDEVICE_OBJECT DeviceObject OPTIONAL
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+IoIsFileOriginRemote(
+ IN PFILE_OBJECT FileObject
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoQueryFileDosDeviceName(
+ IN PFILE_OBJECT FileObject,
+ OUT POBJECT_NAME_INFORMATION *ObjectNameInformation
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
* @implemented
*/
NTSTATUS STDCALL
@@ -352,6 +479,20 @@
}
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoSetFileOrigin(
+ IN PFILE_OBJECT FileObject,
+ IN BOOLEAN Remote
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
NTSTATUS STDCALL
NtQueryAttributesFile(IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PFILE_BASIC_INFORMATION FileInformation)
reactos/ntoskrnl/io
diff -u -r1.40 -r1.40.14.1
--- fs.c 13 Dec 2003 14:36:42 -0000 1.40
+++ fs.c 27 Jun 2004 01:13:14 -0000 1.40.14.1
@@ -1,5 +1,4 @@
-/* $Id: fs.c,v 1.40 2003/12/13 14:36:42 ekohl Exp $
- *
+/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/io/fs.c
@@ -55,6 +54,19 @@
/* FUNCTIONS *****************************************************************/
/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+IoCancelFileOpen(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PFILE_OBJECT FileObject
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
* @implemented
*/
NTSTATUS STDCALL
reactos/ntoskrnl/io
diff -u -r1.12 -r1.12.24.1
--- iocomp.c 25 Sep 2003 20:04:27 -0000 1.12
+++ iocomp.c 27 Jun 2004 01:13:14 -0000 1.12.24.1
@@ -67,6 +67,43 @@
}
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoSetCompletionRoutineEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp,
+ IN PIO_COMPLETION_ROUTINE CompletionRoutine,
+ IN PVOID Context,
+ IN BOOLEAN InvokeOnSuccess,
+ IN BOOLEAN InvokeOnError,
+ IN BOOLEAN InvokeOnCancel
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoSetIoCompletion (
+ IN PVOID IoCompletion,
+ IN PVOID KeyContext,
+ IN PVOID ApcContext,
+ IN NTSTATUS IoStatus,
+ IN ULONG_PTR IoStatusInformation,
+ IN BOOLEAN Quota
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
VOID
NtInitializeIoCompletionImplementation(VOID)
{
reactos/ntoskrnl/io
diff -u -r1.61 -r1.61.6.1
--- irp.c 6 Jun 2004 08:36:31 -0000 1.61
+++ irp.c 27 Jun 2004 01:13:14 -0000 1.61.6.1
@@ -1,4 +1,4 @@
-/* $Id: irp.c,v 1.61 2004/06/06 08:36:31 hbirr Exp $
+/* $Id: irp.c,v 1.61.6.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -45,6 +45,19 @@
/* FUNCTIONS ****************************************************************/
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+IoForwardIrpSynchronously(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
/*
* @implemented
@@ -60,6 +73,47 @@
ExFreePool(Irp);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+ULONG
+IoGetRequestorProcessId(
+ IN PIRP Irp
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoGetRequestorSessionId(
+ IN PIRP Irp,
+ OUT PULONG pSessionId
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+IoIsValidNameGraftingBuffer(
+ IN PIRP Irp,
+ IN PREPARSE_DATA_BUFFER ReparseBuffer
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
/*
* @unimplemented
reactos/ntoskrnl/io
diff -u -r1.29 -r1.29.6.1
--- pnpmgr.c 10 Jun 2004 11:00:28 -0000 1.29
+++ pnpmgr.c 27 Jun 2004 01:13:14 -0000 1.29.6.1
@@ -1,4 +1,4 @@
-/* $Id: pnpmgr.c,v 1.29 2004/06/10 11:00:28 ekohl Exp $
+/* $Id: pnpmgr.c,v 1.29.6.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -195,11 +195,13 @@
/*
* @unimplemented
*/
-VOID
STDCALL
+VOID
IoRequestDeviceEject(
- IN PDEVICE_OBJECT PhysicalDeviceObject)
+ IN PDEVICE_OBJECT PhysicalDeviceObject
+ )
{
+ UNIMPLEMENTED;
}
@@ -1411,6 +1413,7 @@
return STATUS_SUCCESS;
}
+
VOID INIT_FUNCTION
PnpInit(VOID)
{
reactos/ntoskrnl/io
diff -u -r1.2 -r1.2.20.1
--- pnpnotify.c 16 Oct 2003 14:49:05 -0000 1.2
+++ pnpnotify.c 27 Jun 2004 01:13:14 -0000 1.2.20.1
@@ -25,6 +25,22 @@
/*
* @unimplemented
*/
+STDCALL
+ULONG
+IoPnPDeliverServicePowerNotification(
+ ULONG VetoedPowerOperation OPTIONAL,
+ ULONG PowerNotification,
+ ULONG Unknown OPTIONAL,
+ BOOLEAN Synchronous
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
NTSTATUS
STDCALL
IoRegisterPlugPlayNotification(
reactos/ntoskrnl/io
diff -u -r1.16 -r1.16.14.1
--- process.c 30 Dec 2003 18:52:04 -0000 1.16
+++ process.c 27 Jun 2004 01:13:14 -0000 1.16.14.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: process.c,v 1.16 2003/12/30 18:52:04 fireball Exp $
+/* $Id: process.c,v 1.16.14.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -57,6 +57,18 @@
*HighLimit = (ULONG)NtCurrentTeb()->Tib.StackBase;
}
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+IoIsSystemThread(
+ IN PETHREAD Thread
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
/*
* @implemented
reactos/ntoskrnl/io
diff -u -r1.9 -r1.9.24.1
--- share.c 10 Jul 2003 15:47:00 -0000 1.9
+++ share.c 27 Jun 2004 01:13:14 -0000 1.9.24.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: share.c,v 1.9 2003/07/10 15:47:00 royce Exp $
+/* $Id: share.c,v 1.9.24.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -330,8 +330,8 @@
IN UCHAR MajorFunction,
IN UCHAR MinorFunction,
IN ULONG IoControlCode,
- IN PFILE_INFORMATION_CLASS FileInformationClass OPTIONAL,
- IN PFS_INFORMATION_CLASS FsInformationClass OPTIONAL)
+ IN PVOID ExtraData OPTIONAL,
+ IN PVOID ExtraData2 OPTIONAL)
{
UNIMPLEMENTED;
return(STATUS_NOT_IMPLEMENTED);
reactos/ntoskrnl/io
diff -u -r1.8 -r1.8.24.1
--- xhaldisp.c 26 Feb 2003 14:12:43 -0000 1.8
+++ xhaldisp.c 27 Jun 2004 01:13:14 -0000 1.8.24.1
@@ -1,4 +1,4 @@
-/* $Id: xhaldisp.c,v 1.8 2003/02/26 14:12:43 ekohl Exp $
+/* $Id: xhaldisp.c,v 1.8.24.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -14,6 +14,10 @@
#include <ddk/ntddk.h>
#include <internal/xhal.h>
+#define NDEBUG
+#include <internal/debug.h>
+
+
/* DATA **********************************************************************/
@@ -49,4 +53,147 @@
// ??
};
+/*
+ * @unimplemented
+ *
+STDCALL
+VOID
+IoAssignDriveLetters(
+ IN PLOADER_PARAMETER_BLOCK LoaderBlock,
+ IN PSTRING NtDeviceName,
+ OUT PUCHAR NtSystemPath,
+ OUT PSTRING NtSystemPathString
+ )
+{
+ UNIMPLEMENTED;
+*/
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoCreateDisk(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _CREATE_DISK* Disk
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoGetBootDiskInformation(
+ IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
+ IN ULONG Size
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoReadDiskSignature(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN ULONG BytesPerSector,
+ OUT PDISK_SIGNATURE Signature
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoReadPartitionTableEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DRIVE_LAYOUT_INFORMATION_EX** DriveLayout
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoSetPartitionInformationEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN ULONG PartitionNumber,
+ IN struct _SET_PARTITION_INFORMATION_EX* PartitionInfo
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoSetSystemPartition(
+ PUNICODE_STRING VolumeNameString
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoVerifyPartitionTable(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN BOOLEAN FixErrors
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoVolumeDeviceToDosName(
+ IN PVOID VolumeDeviceObject,
+ OUT PUNICODE_STRING DosName
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+IoWritePartitionTableEx(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN struct _DRIVE_LAYOUT_INFORMATION_EX* DriveLayfout
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
/* EOF */
reactos/ntoskrnl/kd
diff -u -r1.51 -r1.51.10.1
--- kdebug.c 24 Feb 2004 21:25:41 -0000 1.51
+++ kdebug.c 27 Jun 2004 01:13:14 -0000 1.51.10.1
@@ -1,4 +1,4 @@
-/* $Id: kdebug.c,v 1.51 2004/02/24 21:25:41 weiden Exp $
+/* $Id: kdebug.c,v 1.51.10.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -15,6 +15,7 @@
#include <internal/mm.h>
#include <roscfg.h>
#include "../dbg/kdb.h"
+#include <internal/debug.h>
/* serial debug connection */
#define DEFAULT_DEBUG_PORT 2 /* COM2 */
@@ -33,9 +34,21 @@
BOOLEAN
__declspec(dllexport)
+KdEnteredDebugger = FALSE; /* EXPORTED */
+
+BOOLEAN
+__declspec(dllexport)
KdDebuggerNotPresent = TRUE; /* EXPORTED */
+ULONG
+__declspec(dllexport)
+KiBugCheckData; /* EXPORTED */
+
+BOOLEAN
+__declspec(dllexport)
+KiEnableTimerWatchdog = FALSE; /* EXPORTED */
+
static BOOLEAN KdpBreakPending = FALSE;
ULONG KdDebugState = KD_DEBUG_DISABLED;
ULONG KdpPortIrq = 0;
@@ -373,6 +386,43 @@
/* NTOSKRNL.KdPollBreakIn */
/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+KdDisableDebugger(
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+KdEnableDebugger (
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+KeIsAttachedProcess(
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
* @implemented
*/
BOOLEAN STDCALL
@@ -472,6 +522,18 @@
}
}
+/*
+ * @unimplemented
+ */
+NTSTATUS
+STDCALL
+KdPowerTransition(
+ ULONG PowerState
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
/* Support routines for the GDB stubs */
@@ -492,4 +554,4 @@
return Value;
}
-/* EOF */
+ /* EOF */
reactos/ntoskrnl/ke
diff -u -r1.54 -r1.54.12.1
--- apc.c 19 Jan 2004 00:44:37 -0000 1.54
+++ apc.c 27 Jun 2004 01:13:14 -0000 1.54.12.1
@@ -50,6 +50,18 @@
/* FUNCTIONS *****************************************************************/
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+KeAreApcsDisabled(
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+}
+
VOID KiRundownThread(VOID)
/*
* FUNCTION:
reactos/ntoskrnl/ke
diff -u -r1.42.8.2 -r1.42.8.3
--- catch.c 26 Jun 2004 00:57:48 -0000 1.42.8.2
+++ catch.c 27 Jun 2004 01:13:14 -0000 1.42.8.3
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: catch.c,v 1.42.8.2 2004/06/26 00:57:48 hyperion Exp $
+/* $Id: catch.c,v 1.42.8.3 2004/06/27 01:13:14 hyperion Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/catch.c
@@ -241,6 +241,46 @@
}
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExRaiseException (
+ PEXCEPTION_RECORD pExcptRec
+ )
+{
+ UNIMPLEMENTED;
+}
+/*
+ * @unimplemented
+ */
+VOID
+STDCALL
+ExRaiseHardError (
+ IN NTSTATUS ErrorStatus,
+ IN ULONG NumberOfParameters,
+ IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
+ IN PVOID *Parameters,
+ IN HARDERROR_RESPONSE_OPTION ResponseOption,
+ OUT PHARDERROR_RESPONSE Response
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+STDCALL
+ExSystemExceptionFilter()
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
NTSTATUS STDCALL
NtRaiseException (IN PEXCEPTION_RECORD ExceptionRecord,
IN PCONTEXT Context,
@@ -254,6 +294,47 @@
return(STATUS_SUCCESS);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+KeDeregisterBugCheckReasonCallback(
+ IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+ULONG
+KeGetRecommendedSharedDataAlignment(
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+KeRegisterBugCheckReasonCallback(
+ IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
+ IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
+ IN KBUGCHECK_CALLBACK_REASON Reason,
+ IN PUCHAR Component
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
/*
* @implemented
reactos/ntoskrnl/ke
diff -u -r1.30 -r1.30.12.1
--- dpc.c 18 Jan 2004 22:42:50 -0000 1.30
+++ dpc.c 27 Jun 2004 01:13:14 -0000 1.30.12.1
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: dpc.c,v 1.30 2004/01/18 22:42:50 gdalsnes Exp $
+/* $Id: dpc.c,v 1.30.12.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -125,6 +125,30 @@
}
/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeFlushQueuedDpcs(
+ VOID
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeIsExecutingDpc(
+ VOID
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
* @implemented
*/
BOOLEAN STDCALL
@@ -245,4 +269,18 @@
KeInitializeSpinLock(&DpcQueueLock);
}
+/*
+ * @unimplemented
+ *
+STDCALL
+BOOLEAN
+KiIpiServiceRoutine(
+ IN PKTRAP_FRAME TrapFrame,
+ IN PKEXCEPTION_FRAME ExceptionFrame
+)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}*/
+
/* EOF */
reactos/ntoskrnl/ke
diff -u -r1.11 -r1.11.14.1
--- error.c 14 Dec 2003 17:51:41 -0000 1.11
+++ error.c 27 Jun 2004 01:13:14 -0000 1.11.14.1
@@ -17,6 +17,30 @@
/* FUNCTIONS ***************************************************************/
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KiCoprocessorError(
+ VOID
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KiUnexpectedInterrupt(
+ VOID
+)
+{
+ UNIMPLEMENTED;
+}
+
NTSTATUS STDCALL
NtRaiseHardError(IN NTSTATUS Status,
ULONG Unknown2,
reactos/ntoskrnl/ke
diff -u -r1.17 -r1.17.20.1
--- event.c 2 Nov 2003 01:15:15 -0000 1.17
+++ event.c 27 Jun 2004 01:13:14 -0000 1.17.20.1
@@ -136,4 +136,17 @@
return ((NTSTATUS)ret);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeSetEventBoostPriority(
+ IN PKEVENT Event,
+ IN PKTHREAD *Thread OPTIONAL
+)
+{
+ UNIMPLEMENTED;
+}
+
/* EOF */
reactos/ntoskrnl/ke
diff -u -r1.46 -r1.46.14.1
--- kthread.c 31 Dec 2003 05:33:03 -0000 1.46
+++ kthread.c 27 Jun 2004 01:13:14 -0000 1.46.14.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: kthread.c,v 1.46 2003/12/31 05:33:03 jfilby Exp $
+/* $Id: kthread.c,v 1.46.14.1 2004/06/27 01:13:14 hyperion Exp $
*
* FILE: ntoskrnl/ke/kthread.c
* PURPOSE: Microkernel thread support
@@ -38,6 +38,24 @@
/* FUNCTIONS *****************************************************************/
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeCapturePersistentThreadState(
+ IN PVOID CurrentThread,
+ IN ULONG Setting1,
+ IN ULONG Setting2,
+ IN ULONG Setting3,
+ IN ULONG Setting4,
+ IN ULONG Setting5,
+ IN PVOID ThreadState
+)
+{
+ UNIMPLEMENTED;
+}
+
VOID
KeFreeStackPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PHYSICAL_ADDRESS PhysAddr, SWAPENTRY SwapEntry, BOOLEAN Dirty)
@@ -49,6 +67,19 @@
}
}
+/*
+ * @unimplemented
+ */
+STDCALL
+KPRIORITY
+KeQueryPriorityThread (
+ IN PKTHREAD Thread
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
NTSTATUS
KeReleaseThread(PETHREAD Thread)
/*
@@ -76,6 +107,19 @@
return(STATUS_SUCCESS);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+KeSetKernelStackSwapEnable(
+ IN BOOLEAN Enable
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
VOID
KeInitializeThread(PKPROCESS Process, PKTHREAD Thread, BOOLEAN First)
/*
@@ -272,3 +316,53 @@
{
PsDispatchThread(THREAD_STATE_READY);
}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeRevertToUserAffinityThread(
+ VOID
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+CCHAR
+KeSetIdealProcessorThread (
+ IN PKTHREAD Thread,
+ IN CCHAR Processor
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeSetSystemAffinityThread(
+ IN KAFFINITY Affinity
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeTerminateThread(
+ IN KPRIORITY Increment
+)
+{
+ UNIMPLEMENTED;
+}
reactos/ntoskrnl/ke
diff -u -r1.19 -r1.19.10.1
--- process.c 9 Mar 2004 21:49:53 -0000 1.19
+++ process.c 27 Jun 2004 01:13:14 -0000 1.19.10.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: process.c,v 1.19 2004/03/09 21:49:53 dwelch Exp $
+/* $Id: process.c,v 1.19.10.1 2004/06/27 01:13:14 hyperion Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/process.c
@@ -117,4 +117,29 @@
KeLowerIrql(oldlvl);
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeStackAttachProcess (
+ IN PKPROCESS Process,
+ OUT PRKAPC_STATE ApcState
+ )
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeUnstackDetachProcess (
+ IN PRKAPC_STATE ApcState
+ )
+{
+ UNIMPLEMENTED;
+}
+
/* EOF */
reactos/ntoskrnl/ke
diff -u -r1.20 -r1.20.12.1
--- spinlock.c 18 Jan 2004 22:41:53 -0000 1.20
+++ spinlock.c 27 Jun 2004 01:13:14 -0000 1.20.12.1
@@ -1,4 +1,4 @@
-/* $Id: spinlock.c,v 1.20 2004/01/18 22:41:53 gdalsnes Exp $
+/* $Id: spinlock.c,v 1.20.12.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -56,6 +56,19 @@
}
/*
+ * @unimplemented
+ */
+STDCALL
+KIRQL
+KeAcquireInterruptSpinLock(
+ IN PKINTERRUPT Interrupt
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
* @implemented
*/
VOID STDCALL
@@ -98,6 +111,21 @@
KefAcquireSpinLockAtDpcLevel(SpinLock);
}
+
+/*
+ * @unimplemented
+ */
+VOID
+FASTCALL
+KeAcquireInStackQueuedSpinLockAtDpcLevel(
+ IN PKSPIN_LOCK SpinLock,
+ IN PKLOCK_QUEUE_HANDLE LockHandle
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
#undef KefReleaseSpinLockFromDpcLevel
/*
@@ -127,6 +155,17 @@
KefReleaseSpinLockFromDpcLevel(SpinLock);
}
+/*
+ * @unimplemented
+ */
+VOID
+FASTCALL
+KeReleaseInStackQueuedSpinLockFromDpcLevel(
+ IN PKLOCK_QUEUE_HANDLE LockHandle
+ )
+{
+ UNIMPLEMENTED;
+}
/*
* @implemented
@@ -157,6 +196,18 @@
}
}
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeReleaseInterruptSpinLock(
+ IN PKINTERRUPT Interrupt,
+ IN KIRQL OldIrql
+ )
+{
+ UNIMPLEMENTED;
+}
/*
* @implemented
reactos/ntoskrnl/ke
diff -u -r1.73 -r1.73.6.1
--- timer.c 13 Jun 2004 10:35:52 -0000 1.73
+++ timer.c 27 Jun 2004 01:13:14 -0000 1.73.6.1
@@ -1,4 +1,4 @@
-/* $Id: timer.c,v 1.73 2004/06/13 10:35:52 navaraf Exp $
+/* $Id: timer.c,v 1.73.6.1 2004/06/27 01:13:14 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -476,6 +476,33 @@
}
/*
+ * @unimplemented
+ */
+STDCALL
+ULONG
+KeQueryRuntimeThread(
+ IN PKTHREAD Thread,
+ OUT PULONG UserTime
+ )
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeSetTimeIncrement(
+ IN ULONG MaxIncrement,
+ IN ULONG MinIncrement
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
* We enter this function at IRQL DISPATCH_LEVEL, and with the
* TimerListLock held.
*/
@@ -718,3 +745,44 @@
KiReleaseSpinLock(&TimeLock);
}
+
+/*
+ * @unimplemented
+ */
+VOID
+FASTCALL
+KeSetTimeUpdateNotifyRoutine(
+ IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine
+ )
+{
+ UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeUpdateRunTime(
+ IN PKTRAP_FRAME TrapFrame
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+VOID
+KeUpdateSystemTime(
+ IN PKTRAP_FRAME TrapFrame,
+ IN ULONG Increment
+)
+{
+ UNIMPLEMENTED;
+}
+
+/*EOF*/
+
reactos/ntoskrnl/ke/i386
diff -u -r1.85 -r1.85.8.1
--- exp.c 28 May 2004 21:16:27 -0000 1.85
+++ exp.c 27 Jun 2004 01:13:14 -0000 1.85.8.1
@@ -746,14 +746,16 @@
* @implemented
*/
-VOID STDCALL
+NTSTATUS STDCALL
KeRaiseUserException(IN NTSTATUS ExceptionCode)
{
/* FIXME: This needs SEH */
+ ULONG OldEip;
+ PKTHREAD Thread = KeGetCurrentThread();
- PKTHREAD Thread = KeGetCurrentThread();
-
- ProbeForWrite(&Thread->Teb->ExceptionCode, sizeof(NTSTATUS), sizeof(NTSTATUS)); /* NT doesn't check this -- bad? */
- Thread->TrapFrame->Eip = (ULONG_PTR)LdrpGetSystemDllRaiseExceptionDispatcher();
- Thread->Teb->ExceptionCode = ExceptionCode;
+ ProbeForWrite(&Thread->Teb->ExceptionCode, sizeof(NTSTATUS), sizeof(NTSTATUS)); /* NT doesn't check this -- bad? */
+ OldEip = Thread->TrapFrame->Eip;
+ Thread->TrapFrame->Eip = (ULONG_PTR)LdrpGetSystemDllRaiseExceptionDispatcher();
+ Thread->Teb->ExceptionCode = ExceptionCode;
+ return((NTSTATUS)OldEip);
}
reactos/ntoskrnl/ke/i386
diff -u -r1.15 -r1.15.14.1
--- gdt.c 5 Jan 2004 14:28:21 -0000 1.15
+++ gdt.c 27 Jun 2004 01:13:16 -0000 1.15.14.1
@@ -165,6 +165,47 @@
#endif
}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+KeI386FlatToGdtSelector(
+ IN ULONG Base,
+ IN USHORT Length,
+ IN USHORT Selector
+)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+KeI386ReleaseGdtSelectors(
+ OUT PULONG SelArray,
+ IN ULONG NumOfSelectors
+)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+KeI386AllocateGdtSelectors(
+ OUT PULONG SelArray,
+ IN ULONG NumOfSelectors
+)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
VOID
KeSetBaseGdtSelector(ULONG Entry,
PVOID Base)
reactos/ntoskrnl/ke/i386
diff -u -r1.31 -r1.31.14.1
--- thread.c 5 Jan 2004 14:28:21 -0000 1.31
+++ thread.c 27 Jun 2004 01:13:16 -0000 1.31.14.1
@@ -195,4 +195,7 @@
return(STATUS_SUCCESS);
}
+
+
+
/* EOF */
reactos/ntoskrnl/ke/i386
diff -u -r1.25 -r1.25.24.1
--- usercall.c 11 Jul 2003 01:23:15 -0000 1.25
+++ usercall.c 27 Jun 2004 01:13:16 -0000 1.25.24.1
@@ -1,4 +1,4 @@
-/* $Id: usercall.c,v 1.25 2003/07/11 01:23:15 royce Exp $
+/* $Id: usercall.c,v 1.25.24.1 2004/06/27 01:13:16 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -124,4 +124,34 @@
return TRUE;
}
+/*
+ * @unimplemented
+ */
+STDCALL
+BOOLEAN
+KeRemoveSystemServiceTable(
+ IN PUCHAR Number
+)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+KeUserModeCallback(
+ IN ULONG FunctionID,
+ IN PVOID InputBuffer,
+ IN ULONG InputLength,
+ OUT PVOID *OutputBuffer,
+ OUT PULONG OutputLength
+)
+{
+ UNIMPLEMENTED;
+ return 0;
+}
+
/* EOF */
reactos/ntoskrnl/ldr
diff -u -r1.6 -r1.6.24.1
--- resource.c 22 Aug 2003 20:00:39 -0000 1.6
+++ resource.c 27 Jun 2004 01:13:16 -0000 1.6.24.1
@@ -1,4 +1,4 @@
-/* $Id: resource.c,v 1.6 2003/08/22 20:00:39 weiden Exp $
+/* $Id: resource.c,v 1.6.24.1 2004/06/27 01:13:16 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -190,4 +190,39 @@
return Status;
}
+/* STUBS */
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+LdrFindResourceDirectory_U(
+ IN PVOID BaseAddress,
+ IN PLDR_RESOURCE_INFO ResourceInfo,
+ IN ULONG Level,
+ OUT PIMAGE_RESOURCE_DIRECTORY *ResourceDirectory
+)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+STDCALL
+NTSTATUS
+LdrEnumResources(
+ IN PVOID BaseAddress,
+ IN PLDR_RESOURCE_INFO ResourceInfo,
+ IN ULONG Level,
+ IN OUT PULONG ResourceCount,
+ OUT PVOID Resources OPTIONAL
+)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
/* EOF */
reactos/ntoskrnl/lpc
diff -u -r1.19 -r1.19.24.1
--- reply.c 7 Aug 2003 11:47:33 -0000 1.19
+++ reply.c 27 Jun 2004 01:13:16 -0000 1.19.24.1
@@ -1,4 +1,4 @@
-/* $Id: reply.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
+/* $Id: reply.c,v 1.19.24.1 2004/06/27 01:13:16 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -335,5 +335,19 @@
return(STATUS_NOT_IMPLEMENTED);
}
+/*
+ * @unimplemented
+ */
+NTSTATUS
+STDCALL
+LpcRequestWaitReplyPort (
+ IN PEPORT Port,
+ IN PLPC_MESSAGE LpcMessageRequest,
+ OUT PLPC_MESSAGE LpcMessageReply
+ )
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
/* EOF */
reactos/ntoskrnl/mm
diff -u -r1.28 -r1.28.8.1
--- pool.c 10 Apr 2004 22:35:25 -0000 1.28
+++ pool.c 27 Jun 2004 01:13:16 -0000 1.28.8.1
@@ -1,4 +1,4 @@
-/* $Id: pool.c,v 1.28 2004/04/10 22:35:25 gdalsnes Exp $
+/* $Id: pool.c,v 1.28.8.1 2004/06/27 01:13:16 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -146,7 +146,20 @@
return(ExAllocatePoolWithQuotaTag(PoolType, NumberOfBytes, TAG_NONE));
}
-
+/*
+ * @unimplemented
+ */
+PVOID
+STDCALL
+ExAllocatePoolWithTagPriority(
+ IN POOL_TYPE PoolType,
+ IN SIZE_T NumberOfBytes,
+ IN ULONG Tag,
+ IN EX_POOL_PRIORITY Priority
+ )
+{
+ UNIMPLEMENTED;
+}
/*
* @unimplemented
*/
@@ -195,6 +208,20 @@
ExFreePool(Block);
}
+/*
+ * @unimplemented
+ */
+SIZE_T
+STDCALL
+ExQueryPoolBlockSize (
+ IN PVOID PoolBlock,
+ OUT PBOOLEAN QuotaCharged
+ )
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
/* EOF */
reactos/subsys/system/cmd
diff -u -r1.6 -r1.6.2.1
--- console.c 21 Jun 2004 18:57:22 -0000 1.6
+++ console.c 27 Jun 2004 01:13:16 -0000 1.6.2.1
@@ -1,4 +1,4 @@
-/* $Id: console.c,v 1.6 2004/06/21 18:57:22 weiden Exp $
+/* $Id: console.c,v 1.6.2.1 2004/06/27 01:13:16 hyperion Exp $
*
* CONSOLE.C - console input/output functions.
*
@@ -225,17 +225,29 @@
VOID ConOutFormatMessage (DWORD MessageId, ...)
{
- DWORD temp;
+ DWORD ret;
LPTSTR text;
va_list arg_ptr;
- temp = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
+
+ va_start (arg_ptr, MessageId);
+ ret = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
MessageId,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &text,
0,
&arg_ptr);
- ConErrPrintf (text);
+
+ va_end (arg_ptr);
+ if(ret > 0)
+ {
+ ConErrPuts (text);
+ LocalFree(text);
+ }
+ else
+ {
+ ConErrPrintf (_T("Unknown error: %d\n"), MessageId);
+ }
}
VOID ConOutPrintf (LPTSTR szFormat, ...)
reactos/subsys/system/explorer
diff -u -r1.74 -r1.74.2.1
--- explorer_intres.rc 21 Jun 2004 19:32:49 -0000 1.74
+++ explorer_intres.rc 27 Jun 2004 01:13:16 -0000 1.74.2.1
@@ -13,422 +13,6 @@
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
-// Chinese (P.R.C.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
-#ifdef _WIN32
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
-#pragma code_page(936)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDM_DESKTOPBAR MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
- MENUITEM "����(&S)...", ID_DESKTOPBAR_SETTINGS
- MENUITEM "����������(&T)...", ID_TASKMGR
- MENUITEM SEPARATOR
- MENUITEM "����������(&A)...", ID_ABOUT_EXPLORER
- END
-END
-
-IDM_MDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "����(&F)"
- BEGIN
- MENUITEM "����(&X)", ID_FILE_EXIT
- END
- POPUP "����(&V)"
- BEGIN
- MENUITEM "������(&T)", ID_VIEW_TOOL_BAR
- MENUITEM "������(&E)", ID_VIEW_EXTRA_BAR
- MENUITEM "��������(&D)", ID_VIEW_DRIVE_BAR, CHECKED
- MENUITEM "������(&S)", ID_VIEW_SIDE_BAR
- MENUITEM "������(&S)", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "����(&R)\tF5", ID_REFRESH
- MENUITEM "����(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- MENUITEM "&SDI", ID_VIEW_SDI
- END
- POPUP "����(&W)"
- BEGIN
- MENUITEM "������(&W)", ID_WINDOW_NEW
- MENUITEM "��������(&C)\tShift+F5", ID_WINDOW_CASCADE
- MENUITEM "��������(&H)", ID_WINDOW_TILE_HORZ
- MENUITEM "��������(&V)\tShift+F4", ID_WINDOW_TILE_VERT
- MENUITEM "��������(&A)", ID_WINDOW_AUTOSORT
- MENUITEM "����������(&S)", ID_WINDOW_ARRANGE
- END
- POPUP "����(&H)"
- BEGIN
- MENUITEM "��������������(&F)...", ID_EXPLORER_FAQ
- MENUITEM "����������(&A)...", ID_ABOUT_EXPLORER
- MENUITEM "������������(&O)...", ID_ABOUT_WINDOWS
- END
-END
-
-IDM_SDIFRAME MENU PRELOAD DISCARDABLE
-BEGIN
- POPUP "����(&F)"
- BEGIN
- MENUITEM "����(&X)", ID_FILE_EXIT
- END
- POPUP "����(&V)"
- BEGIN
- MENUITEM "������(&T)", ID_VIEW_TOOL_BAR
- MENUITEM "������(&S)", ID_VIEW_SIDE_BAR, GRAYED
- MENUITEM "������(&S)", ID_VIEW_STATUSBAR
- MENUITEM SEPARATOR
- MENUITEM "����(&R)\tF5", ID_REFRESH
- MENUITEM "����(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- MENUITEM "&MDI", ID_VIEW_MDI
- END
- POPUP "����(&H)"
- BEGIN
- MENUITEM "��������������(&F)...", ID_EXPLORER_FAQ
- MENUITEM "����������(&A)...", ID_ABOUT_EXPLORER
- MENUITEM "������������(&O)...", ID_ABOUT_WINDOWS
- END
-END
-
-IDM_NOTIFYAREA MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
- MENUITEM "������������(&S)", ID_SHOW_HIDDEN_ICONS
- MENUITEM "����������������(&C)...", ID_CONFIG_NOTIFYAREA
- MENUITEM "��������/����(&T)...", ID_CONFIG_TIME
- MENUITEM SEPARATOR
- MENUITEM "����������(&A)...", ID_ABOUT_EXPLORER
- END
-END
-
-IDM_VOLUME MENU DISCARDABLE
-BEGIN
- POPUP ""
- BEGIN
- MENUITEM "������������", ID_TRAY_VOLUME
- MENUITEM "������������", ID_VOLUME_PROPERTIES
- END
-END
-
-IDM_WINEFILE MENU FIXED IMPURE
-BEGIN
- POPUP "����(&F)"
- BEGIN
- MENUITEM "����(&O)\tEnter", 101
- MENUITEM "����(&M)...\tF7", 106
- MENUITEM "����(&C)...\tF8", 107
- MENUITEM "��������(&I)...\tF9", 118
- MENUITEM "����(&D)\tDel", 108
- MENUITEM "������(&N)...", 109
- MENUITEM "����(&I)...\tAlt+Enter", ID_EDIT_PROPERTIES
- MENUITEM SEPARATOR
- MENUITEM "����(&O)...", 119
- MENUITEM "����(&O)...", 120
- MENUITEM SEPARATOR
- MENUITEM "����(&R)...", ID_EXECUTE
- MENUITEM "����(&P)...", 102
- MENUITEM "����(GA)...", 103
- MENUITEM SEPARATOR
- MENUITEM "��������(&E)...", ID_EXECUTE
- MENUITEM "����(&H)...", 104
- MENUITEM "��������(&S)...", 116
- MENUITEM SEPARATOR
- MENUITEM "����(&X)\tAlt+X", ID_FILE_EXIT
- END
- POPUP "����(&D)"
- BEGIN
- MENUITEM "��������(&C)...", 201
- MENUITEM "��������(&L)...", 202
- MENUITEM SEPARATOR
- MENUITEM "����������(&F)...", 203
- MENUITEM SEPARATOR
- MENUITEM "��������������(&N)", 252
- MENUITEM "��������������(&D)", 253
- MENUITEM SEPARATOR
- MENUITEM "������...", 254
- MENUITEM "��������(&R)...", 255
- MENUITEM SEPARATOR
- MENUITEM "����������(&S)...", 251
- END
- POPUP "������(&T)"
- BEGIN
- MENUITEM "��������(&X)\t+", 301
- MENUITEM "��������(&B)\t*", 302
- MENUITEM "��������(&A)\tStrg+*", 303
- MENUITEM "��������(&C)\t-", 304
- MENUITEM SEPARATOR
- MENUITEM "����������������(&I)", 505
- END
- POPUP "����(&V)"
- BEGIN
- MENUITEM "������������(&R)", 413
- MENUITEM "������(&E)", 411
- MENUITEM "����(&O)", 412
- MENUITEM SEPARATOR
- MENUITEM "����(&L)", 414
- MENUITEM SEPARATOR
- MENUITEM "����(&N)", ID_VIEW_NAME
- MENUITEM "������������������(&A)", ID_VIEW_ALL_ATTRIBUTES
- , CHECKED
- MENUITEM "������������(&P)...", ID_VIEW_SELECTED_ATTRIBUTES
- MENUITEM SEPARATOR
- MENUITEM "����������(&S)", 404
- MENUITEM "����������(&B)", 405
- MENUITEM "����������(&Z)", 406
- MENUITEM "����������(&D)", 407
- MENUITEM SEPARATOR
- MENUITEM "����������(&T)...", 409
- END
- POPUP "����(&O)"
- BEGIN
- MENUITEM "����(&C)...", 65535
- MENUITEM "����(&F)...", 65535
- MENUITEM "������������(&B)...", 65535
- MENUITEM SEPARATOR
- MENUITEM "������(&T)", ID_VIEW_TOOL_BAR, CHECKED
- MENUITEM "��������(&D)", ID_VIEW_DRIVE_BAR, CHECKED
- MENUITEM "������(&S)", ID_VIEW_STATUSBAR, CHECKED
- MENUITEM "������(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
- MENUITEM SEPARATOR
- MENUITEM "������������(&M)", 65535
- MENUITEM "����������������(&E)", 511
- END
- POPUP "&Security"
- BEGIN
- MENUITEM "&Access...", 605
- MENUITEM "&Logging...", 606
- MENUITEM "&Owner...", 607
- END
- POPUP "����(&W)"
- BEGIN
- MENUITEM "������(&N)", ID_WINDOW_NEW
- MENUITEM "����(&C)\tCtrl+F5", ID_WINDOW_CASCADE
- MENUITEM "��������(&H)", ID_WINDOW_TILE_HORZ
- MENUITEM "��������(&T)\tCtrl+F4", ID_WINDOW_TILE_VERT
- MENUITEM "��������", ID_WINDOW_AUTOSORT
- MENUITEM "��������(&A)", ID_WINDOW_ARRANGE
- MENUITEM "����(&R)\tF5", ID_REFRESH
- END
- POPUP "&?"
- BEGIN
- MENUITEM "��������(&H)\tF1", ID_HELP
- MENUITEM "��������(&S)...\tF1", ID_HELP
- MENUITEM "��������(&U)\tF1", ID_HELP_USING
- MENUITEM SEPARATOR
- MENUITEM "��������������(&A)...", ID_ABOUT_WINEFILE
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DESKBAR_DESKTOP DIALOG DISCARDABLE 0, 0, 212, 172
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "��������"
-FONT 8, "MS Sans Serif"
-BEGIN
- LTEXT "Please select your prefered icon alignment algorithm:",
- IDC_STATIC,7,7,166,8
- CONTROL "left/top dwn",IDC_ICON_ALIGN_0,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,7,25,46,44
- CONTROL "left/top right",IDC_ICON_ALIGN_1,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,57,25,46,44
- CONTROL "right/top left",IDC_ICON_ALIGN_2,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,110,25,46,44
- CONTROL "rig./top dwn",IDC_ICON_ALIGN_3,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,159,25,46,44
- CONTROL "left/bot. up",IDC_ICON_ALIGN_4,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,7,73,46,44
- CONTROL "left/bot. right",IDC_ICON_ALIGN_5,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,57,73,46,44
- CONTROL "right/bot. left",IDC_ICON_ALIGN_6,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,110,73,46,44
- CONTROL "rig./bot. dwn",IDC_ICON_ALIGN_7,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,159,73,46,44
- CONTROL "border down",IDC_ICON_ALIGN_8,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,7,121,46,44
- CONTROL "border H/V",IDC_ICON_ALIGN_9,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,57,121,46,44
- CONTROL "round about",IDC_ICON_ALIGN_10,"Button",BS_OWNERDRAW |
- BS_BOTTOM | WS_TABSTOP,110,121,46,44
- CONTROL "",IDC_ICON_ALIGN_11,"Button",BS_OWNERDRAW | BS_BOTTOM |
- WS_TABSTOP,159,121,46,44
- CONTROL "Display &Version Number",ID_DESKTOP_VERSION,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,177,91,10
-END
-
-IDD_DESKBAR_STARTMENU DIALOG DISCARDABLE 0, 0, 210, 194
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "������������"
-FONT 8, "MS Sans Serif"
-BEGIN
-END
-
-IDD_DESKBAR_TASKBAR DIALOG DISCARDABLE 0, 0, 210, 194
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "����������"
-FONT 8, "MS Sans Serif"
-BEGIN
- CONTROL "��������(&C)",ID_SHOW_CLOCK,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,7,152,52,10
- CONTROL "����������������������(&H)",ID_HIDE_INACTIVE_ICONS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,174,111,10
- PUSHBUTTON "������������(&N)...",ID_CONFIG_NOTIFYAREA,153,173,50,14
-END
-
-IDD_EXECUTE DIALOG FIXED IMPURE 15, 13, 210, 63
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "����"
-FONT 8, "MS Shell Dlg"
-BEGIN
- CONTROL "",101,"Static",SS_SIMPLE | SS_NOPREFIX,3,6,162,10
- CONTROL "����(&C):",-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,3,
- 18,60,10
- EDITTEXT 201,3,29,134,12,ES_AUTOHSCROLL
- CONTROL "As &Symbol",214,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,
- 45,71,12
- DEFPUSHBUTTON "����(&O)",1,158,6,47,14
- PUSHBUTTON "����(&C)",2,158,23,47,14
- PUSHBUTTON "����(&H)",254,158,43,47,14
-END
-
-IDD_NOTIFYAREA DIALOGEX 0, 0, 207, 150
-STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
- WS_SYSMENU | WS_THICKFRAME
-EXSTYLE WS_EX_APPWINDOW
-CAPTION "��������������"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
- CONTROL "Tree1",IDC_NOTIFY_ICONS,"SysTreeView32",TVS_HASLINES |
- TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,7,7,193,31
- LTEXT "��������(&T):",IDC_LABEL1,7,44,40,8
- EDITTEXT IDC_NOTIFY_TOOLTIP,55,42,145,14,ES_AUTOHSCROLL
- LTEXT "��������(&I):",IDC_LABEL2,7,63,44,8
- EDITTEXT IDC_NOTIFY_TITLE,55,60,145,14,ES_AUTOHSCROLL
- LTEXT "��������(&M):",IDC_LABEL3,7,81,43,8
- EDITTEXT IDC_NOTIFY_MODULE,55,78,145,14,ES_AUTOHSCROLL
- GROUPBOX "��������(&D)",IDC_LABEL4,7,95,157,28
- CONTROL "����(&S)",IDC_NOTIFY_SHOW,"Button",BS_AUTORADIOBUTTON |
- WS_TABSTOP,15,107,33,10
- CONTROL "����(&H)",IDC_NOTIFY_HIDE,"Button",BS_AUTORADIOBUTTON,
- 66,107,29,10
- CONTROL "��������(&U)",IDC_NOTIFY_AUTOHIDE,"Button",
- BS_AUTORADIOBUTTON,112,107,43,10
- ICON "",IDC_PICTURE,173,100,20,20
- CONTROL "������������(&W)",ID_SHOW_HIDDEN_ICONS,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,7,131,56,10
- DEFPUSHBUTTON "����(&O)",IDOK,91,129,50,14,WS_GROUP
- PUSHBUTTON "����(&C)",IDCANCEL,150,129,50,14
-END
-
-IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65
-STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
- WS_SYSMENU | WS_THICKFRAME
-EXSTYLE WS_EX_APPWINDOW
-CAPTION "������������������"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
- LTEXT "&Filter:",IDC_STATIC,7,9,18,8
- EDITTEXT IDC_FILTER,34,7,100,14,ES_AUTOHSCROLL
- CONTROL "List1",IDC_PROGRAMS_FOUND,"SysListView32",LVS_REPORT |
- LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER |
- WS_TABSTOP,7,25,185,33
- PUSHBUTTON "&Check Entries",IDC_CHECK_ENTRIES,143,7,50,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE
-BEGIN
- IDD_SEARCH_PROGRAM, DIALOG
- BEGIN
- RIGHTMARGIN, 193
- BOTTOMMARGIN, 58
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_TITLE "Reactos ������"
- IDS_START "����"
- IDS_LOGOFF "����..."
- IDS_SHUTDOWN "����..."
- IDS_LAUNCH "����..."
- IDS_START_HELP "����"
- IDS_SEARCH_FILES "����..."
- IDS_DOCUMENTS "��������"
- IDS_FAVORITES "������"
- IDS_PROGRAMS "����"
- IDS_SETTINGS "����"
- IDS_EXPLORE "������"
- IDS_EMPTY "(��)"
- IDS_RECENT "����������"
- IDS_ADMIN "��������"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_NETWORK "����"
- IDS_CONNECTIONS "��������"
- IDS_DRIVES "������"
- IDS_SEARCH_COMPUTER "����������..."
- IDS_SETTINGS_MENU "��������"
- IDS_CONTROL_PANEL "��������"
- IDS_PRINTERS "������"
- IDS_BROWSE "��������"
- IDS_SEARCH_PRG "��������..."
- IDS_ALL_USERS "All Users\\"
- IDS_SEARCH "����"
- IDS_ABOUT_EXPLORER "����������(&A)..."
- IDS_LAUNCH_MANY_PROGRAMS
- "��������������������������\n����������������������"
- IDS_DESKTOPBAR_SETTINGS "��������"
- IDS_DESKTOP "����"
- IDS_TASKBAR "������"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_STARTMENU "��������"
- IDS_MINIMIZE_ALL "��������������"
- IDS_DESKTOP_NUM "���� %d"
- IDS_VOLUME "����"
- IDS_ITEMS_CUR "��������"
- IDS_ITEMS_CONFIGURED "����"
- IDS_ITEMS_VISIBLE "����"
- IDS_ITEMS_HIDDEN "����"
- IDS_NOTIFY_SHOW "����"
- IDS_NOTIFY_HIDE "����"
- IDS_NOTIFY_AUTOHIDE "��������"
-END
-
-#endif // Chinese (P.R.C.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
// Romanian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ROM)
@@ -855,6 +439,23 @@
/////////////////////////////////////////////////////////////////////////////
//
+// Bitmap
+//
+
+IDB_ICON_ALIGN_0 BITMAP DISCARDABLE "res/icoalig0.bmp"
+IDB_ICON_ALIGN_1 BITMAP DISCARDABLE "res/icoalig1.bmp"
+IDB_ICON_ALIGN_2 BITMAP DISCARDABLE "res/icoalig2.bmp"
+IDB_ICON_ALIGN_3 BITMAP DISCARDABLE "res/icoalig3.bmp"
+IDB_ICON_ALIGN_4 BITMAP DISCARDABLE "res/icoalig4.bmp"
+IDB_ICON_ALIGN_5 BITMAP DISCARDABLE "res/icoalig5.bmp"
+IDB_ICON_ALIGN_6 BITMAP DISCARDABLE "res/icoalig6.bmp"
+IDB_ICON_ALIGN_7 BITMAP DISCARDABLE "res/icoalig7.bmp"
+IDB_ICON_ALIGN_8 BITMAP DISCARDABLE "res/icoalig8.bmp"
+IDB_ICON_ALIGN_9 BITMAP DISCARDABLE "res/icoalig9.bmp"
+IDB_ICON_ALIGN_10 BITMAP DISCARDABLE "res/icoali10.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
// DESIGNINFO
//
@@ -872,23 +473,6 @@
#endif // APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_ICON_ALIGN_0 BITMAP DISCARDABLE "res/icoalig0.bmp"
-IDB_ICON_ALIGN_1 BITMAP DISCARDABLE "res/icoalig1.bmp"
-IDB_ICON_ALIGN_2 BITMAP DISCARDABLE "res/icoalig2.bmp"
-IDB_ICON_ALIGN_3 BITMAP DISCARDABLE "res/icoalig3.bmp"
-IDB_ICON_ALIGN_4 BITMAP DISCARDABLE "res/icoalig4.bmp"
-IDB_ICON_ALIGN_5 BITMAP DISCARDABLE "res/icoalig5.bmp"
-IDB_ICON_ALIGN_6 BITMAP DISCARDABLE "res/icoalig6.bmp"
-IDB_ICON_ALIGN_7 BITMAP DISCARDABLE "res/icoalig7.bmp"
-IDB_ICON_ALIGN_8 BITMAP DISCARDABLE "res/icoalig8.bmp"
-IDB_ICON_ALIGN_9 BITMAP DISCARDABLE "res/icoalig9.bmp"
-IDB_ICON_ALIGN_10 BITMAP DISCARDABLE "res/icoali10.bmp"
-
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
@@ -909,6 +493,9 @@
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""explorer-jp.rc""\r\n"
+ "#ifndef __WINDRES__\r\n"
+ "#include ""explorer-cn.rc""\r\n"
+ "#endif\r\n"
"\0"
END
@@ -1844,6 +1431,9 @@
// Generated from the TEXTINCLUDE 3 resource.
//
#include "explorer-jp.rc"
+#ifndef __WINDRES__
+#include "explorer-cn.rc"
+#endif
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
reactos/subsys/system/regedit
diff -u -r1.13 -r1.13.2.1
--- edit.c 21 Jun 2004 08:47:38 -0000 1.13
+++ edit.c 27 Jun 2004 01:13:17 -0000 1.13.2.1
@@ -633,7 +633,25 @@
}
else if (EditBin == TRUE || type == REG_NONE || type == REG_BINARY)
{
- if(valueDataLen > 0)
+ #ifndef UNICODE
+ LPWSTR u_valuename;
+ int len_vname = lstrlen(valueName);
+
+ if(len_vname > 0)
+ {
+ if(!(u_valuename = HeapAlloc(GetProcessHeap(), 0, (len_vname + 1) * sizeof(WCHAR))))
+ {
+ error(hwnd, IDS_TOO_BIG_VALUE, len_vname);
+ goto done;
+ }
+ /* convert the ansi value name to an unicode string */
+ MultiByteToWideChar(CP_ACP, 0, valueName, -1, u_valuename, len_vname + 1);
+ valueDataLen *= sizeof(WCHAR);
+ }
+ else
+ u_valuename = L"";
+ #endif
+ if(valueDataLen > 0)
{
if(!(binValueData = HeapAlloc(GetProcessHeap(), 0, valueDataLen)))
{
@@ -641,10 +659,21 @@
goto done;
}
- lRet = RegQueryValueEx(hKey, valueName, 0, 0, (LPBYTE)binValueData, &valueDataLen);
+ /* force to use the unicode version, so editing strings in binary mode is correct */
+ lRet = RegQueryValueExW(hKey,
+ #ifndef UNICODE
+ u_valuename,
+ #else
+ valueName,
+ #endif
+ 0, 0, (LPBYTE)binValueData, &valueDataLen);
if (lRet != ERROR_SUCCESS)
{
HeapFree(GetProcessHeap(), 0, binValueData);
+ #ifndef UNICODE
+ if(len_vname > 0)
+ HeapFree(GetProcessHeap(), 0, u_valuename);
+ #endif
error(hwnd, IDS_BAD_VALUE, valueName);
goto done;
}
@@ -656,12 +685,23 @@
if (DialogBox(0, MAKEINTRESOURCE(IDD_EDIT_BIN_DATA), hwnd, modify_binary_dlgproc) == IDOK)
{
- lRet = RegSetValueEx(hKey, valueName, 0, type, (LPBYTE)binValueData, valueDataLen);
+ /* force to use the unicode version, so editing strings in binary mode is correct */
+ lRet = RegSetValueExW(hKey,
+ #ifndef UNICODE
+ u_valuename,
+ #else
+ valueName,
+ #endif
+ 0, type, (LPBYTE)binValueData, valueDataLen);
if (lRet == ERROR_SUCCESS)
result = TRUE;
}
if(binValueData != NULL)
HeapFree(GetProcessHeap(), 0, binValueData);
+ #ifndef UNICODE
+ if(len_vname > 0)
+ HeapFree(GetProcessHeap(), 0, u_valuename);
+ #endif
}
else
{
reactos/subsys/system/regedit
diff -u -r1.8 -r1.8.2.1
--- hexedit.c 21 Jun 2004 18:32:36 -0000 1.8
+++ hexedit.c 27 Jun 2004 01:13:17 -0000 1.8.2.1
@@ -506,6 +506,11 @@
LocalFree(hed->hBuffer);
}
+ if(hed->hFont)
+ {
+ DeleteObject(hed->hFont);
+ }
+
SetWindowLong(hed->hWndSelf, 0, 0);
HeapFree(GetProcessHeap(), 0, hed);
reactos/subsys/system/usetup
diff -u -r1.12 -r1.12.8.1
--- bootsup.c 10 Mar 2004 16:57:36 -0000 1.12
+++ bootsup.c 27 Jun 2004 01:13:17 -0000 1.12.8.1
@@ -29,6 +29,7 @@
#include "usetup.h"
#include "inicache.h"
+#include "filesup.h"
#include "bootsup.h"
#define NDEBUG
@@ -1727,4 +1728,389 @@
return(Status);
}
+
+BOOLEAN
+CheckInstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath)
+{
+ if (DoesFileExist(SystemRootPath->Buffer, L"ntldr") ||
+ DoesFileExist(SystemRootPath->Buffer, L"boot.ini"))
+ {
+ return TRUE;
+ }
+ else if (DoesFileExist(SystemRootPath->Buffer, L"io.sys") ||
+ DoesFileExist(SystemRootPath->Buffer, L"msdos.sys"))
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
+NTSTATUS
+InstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath,
+ PUNICODE_STRING SourceRootPath,
+ PUNICODE_STRING DestinationArcPath,
+ UCHAR PartitionType)
+{
+ WCHAR SrcPath[MAX_PATH];
+ WCHAR DstPath[MAX_PATH];
+ NTSTATUS Status;
+
+ /* FAT or FAT32 partition */
+ DPRINT1("System path: '%wZ'\n", SystemRootPath);
+
+ if (DoesFileExist(SystemRootPath->Buffer, L"ntldr") == TRUE ||
+ DoesFileExist(SystemRootPath->Buffer, L"boot.ini") == TRUE)
+ {
+ /* Search root directory for 'ntldr' and 'boot.ini'. */
+ DPRINT("Found Microsoft Windows NT/2000/XP boot loader\n");
+
+ /* Copy FreeLoader to the boot partition */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\freeldr.sys");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.sys");
+
+ DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
+ Status = SetupCopyFile(SrcPath, DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Create or update freeldr.ini */
+ if (DoesFileExist(SystemRootPath->Buffer, L"freeldr.ini") == FALSE)
+ {
+ /* Create new 'freeldr.ini' */
+ DPRINT1("Create new 'freeldr.ini'\n");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ Status = CreateFreeLoaderIniForReactos(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("CreateFreeLoaderIniForReactos() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Install new bootcode */
+ if (PartitionType == PARTITION_FAT32 ||
+ PartitionType == PARTITION_FAT32_XINT13)
+ {
+ /* Install FAT32 bootcode */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat32.bin");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\bootsect.ros");
+
+ DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, DstPath);
+ Status = InstallFat32BootCodeToFile(SrcPath,
+ DstPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat32BootCodeToFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ else
+ {
+ /* Install FAT16 bootcode */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat.bin");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\bootsect.ros");
+
+ DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, DstPath);
+ Status = InstallFat16BootCodeToFile(SrcPath,
+ DstPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat16BootCodeToFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+
+ /* Update 'boot.ini' */
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\boot.ini");
+
+ DPRINT1("Update 'boot.ini': %S\n", DstPath);
+ Status = UpdateBootIni(DstPath,
+ L"C:\\bootsect.ros",
+ L"\"ReactOS\"");
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("UpdateBootIni() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ else
+ {
+ /* Update existing 'freeldr.ini' */
+ DPRINT1("Update existing 'freeldr.ini'\n");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ Status = UpdateFreeLoaderIni(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ }
+ else if (DoesFileExist(SystemRootPath->Buffer, L"io.sys") == TRUE ||
+ DoesFileExist(SystemRootPath->Buffer, L"msdos.sys") == TRUE)
+ {
+ /* Search for root directory for 'io.sys' and 'msdos.sys'. */
+ DPRINT1("Found Microsoft DOS or Windows 9x boot loader\n");
+
+ /* Copy FreeLoader to the boot partition */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\freeldr.sys");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.sys");
+
+ DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
+ Status = SetupCopyFile(SrcPath, DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Create or update 'freeldr.ini' */
+ if (DoesFileExist(SystemRootPath->Buffer, L"freeldr.ini") == FALSE)
+ {
+ /* Create new 'freeldr.ini' */
+ DPRINT1("Create new 'freeldr.ini'\n");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ Status = CreateFreeLoaderIniForDos(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("CreateFreeLoaderIniForDos() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Save current bootsector as 'BOOTSECT.DOS' */
+ wcscpy(SrcPath, SystemRootPath->Buffer);
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\bootsect.dos");
+
+ DPRINT1("Save bootsector: %S ==> %S\n", SrcPath, DstPath);
+ Status = SaveCurrentBootSector(SrcPath,
+ DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SaveCurrentBootSector() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Install new bootsector */
+ if (PartitionType == PARTITION_FAT32 ||
+ PartitionType == PARTITION_FAT32_XINT13)
+ {
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat32.bin");
+
+ DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer);
+ Status = InstallFat32BootCodeToDisk(SrcPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat32BootCodeToDisk() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ else
+ {
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat.bin");
+
+ DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer);
+ Status = InstallFat16BootCodeToDisk(SrcPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat16BootCodeToDisk() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ }
+ else
+ {
+ /* Update existing 'freeldr.ini' */
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ Status = UpdateFreeLoaderIni(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ }
+ else
+ {
+ /* No or unknown boot loader */
+ DPRINT1("No or unknown boot loader found\n");
+
+ /* Copy FreeLoader to the boot partition */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\freeldr.sys");
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.sys");
+
+ DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
+ Status = SetupCopyFile(SrcPath, DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Create or update 'freeldr.ini' */
+ if (DoesFileExist(SystemRootPath->Buffer, L"freeldr.ini") == FALSE)
+ {
+ /* Create new freeldr.ini */
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
+ Status = CreateFreeLoaderIniForReactos(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("CreateFreeLoaderIniForReactos() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Save current bootsector as 'BOOTSECT.OLD' */
+ wcscpy(SrcPath, SystemRootPath->Buffer);
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\bootsect.old");
+
+ DPRINT1("Save bootsector: %S ==> %S\n", SrcPath, DstPath);
+ Status = SaveCurrentBootSector(SrcPath,
+ DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SaveCurrentBootSector() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Install new bootsector */
+ if (PartitionType == PARTITION_FAT32 ||
+ PartitionType == PARTITION_FAT32_XINT13)
+ {
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat32.bin");
+
+ DPRINT("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer);
+ Status = InstallFat32BootCodeToDisk(SrcPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat32BootCodeToDisk() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ else
+ {
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat.bin");
+
+ DPRINT("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath->Buffer);
+ Status = InstallFat16BootCodeToDisk(SrcPath,
+ SystemRootPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat16BootCodeToDisk() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ }
+ else
+ {
+ /* Update existing 'freeldr.ini' */
+ wcscpy(DstPath, SystemRootPath->Buffer);
+ wcscat(DstPath, L"\\freeldr.ini");
+
+ Status = UpdateFreeLoaderIni(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
+ return Status;
+ }
+ }
+ }
+
+ return STATUS_SUCCESS;
+}
+
+
+NTSTATUS
+InstallFatBootcodeToFloppy(PUNICODE_STRING SourceRootPath,
+ PUNICODE_STRING DestinationArcPath)
+{
+ WCHAR SrcPath[MAX_PATH];
+ WCHAR DstPath[MAX_PATH];
+ NTSTATUS Status;
+
+ /* Copy FreeLoader to the boot partition */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\freeldr.sys");
+
+ wcscat(DstPath, L"\\Device\\Floppy0\\freeldr.sys");
+
+ DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
+ Status = SetupCopyFile(SrcPath, DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Create new 'freeldr.ini' */
+ wcscat(DstPath, L"\\Device\\Floppy0\\freeldr.ini");
+
+ DPRINT("Create new 'freeldr.ini'\n");
+ Status = CreateFreeLoaderIniForReactos(DstPath,
+ DestinationArcPath->Buffer);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("CreateFreeLoaderIniForReactos() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ /* Install FAT12/16 boosector */
+ wcscpy(SrcPath, SourceRootPath->Buffer);
+ wcscat(SrcPath, L"\\loader\\fat.bin");
+
+ wcscat(DstPath, L"\\Device\\Floppy0");
+
+ DPRINT("Install FAT bootcode: %S ==> %S\n", SrcPath, DstPath);
+ Status = InstallFat16BootCodeToDisk(SrcPath,
+ DstPath);
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("InstallFat16BootCodeToDisk() failed (Status %lx)\n", Status);
+ return Status;
+ }
+
+ return STATUS_SUCCESS;
+}
+
/* EOF */
reactos/subsys/system/usetup
diff -u -r1.6 -r1.6.22.1
--- bootsup.h 19 Aug 2003 15:54:47 -0000 1.6
+++ bootsup.h 27 Jun 2004 01:13:17 -0000 1.6.22.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: bootsup.h,v 1.6 2003/08/19 15:54:47 ekohl Exp $
+/* $Id: bootsup.h,v 1.6.22.1 2004/06/27 01:13:17 hyperion Exp $
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: subsys/system/usetup/bootsup.h
@@ -65,12 +65,24 @@
InstallFat32BootCodeToDisk(PWSTR SrcPath,
PWSTR RootPath);
-
NTSTATUS
UpdateBootIni(PWSTR BootIniPath,
PWSTR EntryName,
PWSTR EntryValue);
+BOOLEAN
+CheckInstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath);
+
+NTSTATUS
+InstallFatBootcodeToPartition(PUNICODE_STRING SystemRootPath,
+ PUNICODE_STRING SourceRootPath,
+ PUNICODE_STRING DestinationArcPath,
+ UCHAR PartitionType);
+
+NTSTATUS
+InstallFatBootcodeToFloppy(PUNICODE_STRING SourceRootPath,
+ PUNICODE_STRING DestinationArcPath);
+
#endif /* __BOOTSUP_H__ */
/* EOF */
reactos/subsys/system/usetup
diff -u -r1.56 -r1.56.2.1
--- usetup.c 20 Jun 2004 12:14:23 -0000 1.56
+++ usetup.c 27 Jun 2004 01:13:17 -0000 1.56.2.1
@@ -58,6 +58,8 @@
INTRO_PAGE,
INSTALL_INTRO_PAGE,
+// SCSI_CONTROLLER_PAGE,
+
DEVICE_SETTINGS_PAGE,
COMPUTER_SETTINGS_PAGE,
DISPLAY_SETTINGS_PAGE,
@@ -78,6 +80,8 @@
FILE_COPY_PAGE,
REGISTRY_PAGE,
BOOT_LOADER_PAGE,
+ BOOT_LOADER_FLOPPY_PAGE,
+ BOOT_LOADER_HARDDISK_PAGE,
REPAIR_INTRO_PAGE,
@@ -435,8 +439,7 @@
RtlInitUnicodeString(&FileName,
UnattendInfPath);
- /* Load txtsetup.sif from install media. */
-
+ /* Load 'unattend.inf' from install media. */
Status = InfOpenFile(&UnattendInf,
&FileName,
&ErrorLine);
@@ -835,7 +838,7 @@
if (IsUnattendedSetup)
{
- return(SELECT_PARTITION_PAGE);
+ return SELECT_PARTITION_PAGE;
}
while(TRUE)
@@ -852,6 +855,7 @@
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
{
return DEVICE_SETTINGS_PAGE;
+// return SCSI_CONTROLLER_PAGE;
}
}
@@ -859,6 +863,42 @@
}
+#if 0
+static PAGE_NUMBER
+ScsiControllerPage(PINPUT_RECORD Ir)
+{
+ SetTextXY(6, 8, "Setup detected the following mass storage devices:");
+
+ /* FIXME: print loaded mass storage driver descriptions */
+#if 0
+ SetTextXY(8, 10, "TEST device");
+#endif
+
+
+ SetStatusText(" ENTER = Continue F3 = Quit");
+
+ while(TRUE)
+ {
+ ConInKey(Ir);
+
+ if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
+ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
+ {
+ if (ConfirmQuit(Ir) == TRUE)
+ return QUIT_PAGE;
+ break;
+ }
+ else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
+ {
+ return DEVICE_SETTINGS_PAGE;
+ }
+ }
+
+ return SCSI_CONTROLLER_PAGE;
+}
+#endif
+
+
static PAGE_NUMBER
DeviceSettingsPage(PINPUT_RECORD Ir)
{
@@ -3245,596 +3285,224 @@
static PAGE_NUMBER
BootLoaderPage(PINPUT_RECORD Ir)
{
- WCHAR SrcPath[MAX_PATH];
- WCHAR DstPath[MAX_PATH];
- NTSTATUS Status;
-
- SetTextXY(6, 8, "Installing the boot loader");
+ UCHAR PartitionType;
+ BOOLEAN InstallOnFloppy;
+ USHORT Line = 12;
SetStatusText(" Please wait...");
- if (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_ENTRY_UNUSED)
- {
- DPRINT1("Error: active partition invalid (unused)\n");
- PopupError("The active partition is unused (invalid).\n",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
+ PartitionType = PartitionList->ActiveBootPartition->PartInfo[0].PartitionType;
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ if (PartitionType == PARTITION_ENTRY_UNUSED)
+ {
+ DPRINT("Error: active partition invalid (unused)\n");
+ InstallOnFloppy = TRUE;
}
-
- if (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == 0x0A)
+ else if (PartitionType == 0x0A)
{
/* OS/2 boot manager partition */
- DPRINT1("Found OS/2 boot manager partition\n");
- PopupError("Setup found an OS/2 boot manager partiton.\n"
- "The OS/2 boot manager is not supported yet!",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ DPRINT("Found OS/2 boot manager partition\n");
+ InstallOnFloppy = TRUE;
}
- else if (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == 0x83)
+ else if (PartitionType == 0x83)
{
/* Linux ext2 partition */
- DPRINT1("Found Linux ext2 partition\n");
- PopupError("Setup found a Linux ext2 partiton.\n"
- "Linux ext2 partitions are not supported yet!",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ DPRINT("Found Linux ext2 partition\n");
+ InstallOnFloppy = TRUE;
}
- else if (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_IFS)
+ else if (PartitionType == PARTITION_IFS)
{
/* NTFS partition */
- DPRINT1("Found NTFS partition\n");
- PopupError("Setup found an NTFS partiton.\n"
- "NTFS partitions are not supported yet!",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
+ DPRINT("Found NTFS partition\n");
+ InstallOnFloppy = TRUE;
+ }
+ else if ((PartitionType == PARTITION_FAT_12) ||
+ (PartitionType == PARTITION_FAT_16) ||
+ (PartitionType == PARTITION_HUGE) ||
+ (PartitionType == PARTITION_XINT13) ||
+ (PartitionType == PARTITION_FAT32) ||
+ (PartitionType == PARTITION_FAT32_XINT13))
+ {
+ DPRINT("Found FAT partition\n");
+ InstallOnFloppy = FALSE;
+ }
+ else
+ {
+ /* Unknown partition */
+ DPRINT("Unknown partition found\n");
+ InstallOnFloppy = TRUE;
+ }
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ if (InstallOnFloppy == TRUE)
+ {
+ return BOOT_LOADER_FLOPPY_PAGE;
}
- else if ((PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT_12) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT_16) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_HUGE) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_XINT13) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32_XINT13))
- {
- /* FAT or FAT32 partition */
- DPRINT1("System path: '%wZ'\n", &SystemRootPath);
-
- if (DoesFileExist(SystemRootPath.Buffer, L"ntldr") == TRUE ||
- DoesFileExist(SystemRootPath.Buffer, L"boot.ini") == TRUE)
- {
- /* Search root directory for 'ntldr' and 'boot.ini'. */
- DPRINT1("Found Microsoft Windows NT/2000/XP boot loader\n");
-
- /* Copy FreeLoader to the boot partition */
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\freeldr.sys");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.sys");
- DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
- Status = SetupCopyFile(SrcPath, DstPath);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
- PopupError("Setup failed to copy 'freeldr.sys'.",
- "ENTER = Reboot computer");
+ SetTextXY(6, 8, "Setup is installing the boot loader");
- while(TRUE)
- {
- ConInKey(Ir);
+ SetTextXY(8, 12, "Install bootloader on the harddisk (MBR).");
+ SetTextXY(8, 13, "Install bootloader on a floppy disk.");
+ InvertTextXY (8, Line, 48, 1);
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
-
- /* Create or update freeldr.ini */
- if (DoesFileExist(SystemRootPath.Buffer, L"freeldr.ini") == FALSE)
- {
- /* Create new 'freeldr.ini' */
- DPRINT1("Create new 'freeldr.ini'\n");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- Status = CreateFreeLoaderIniForReactos(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("CreateFreeLoaderIniForReactos() failed (Status %lx)\n", Status);
- PopupError("Setup failed to create 'freeldr.ini'.",
- "ENTER = Reboot computer");
+ SetStatusText(" ENTER = Continue F3 = Quit");
- while(TRUE)
- {
- ConInKey(Ir);
+ while(TRUE)
+ {
+ ConInKey(Ir);
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
+ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */
+ {
+ NormalTextXY (8, Line, 48, 1);
+ if (Line == 12)
+ Line = 13;
+ else if (Line == 13)
+ Line = 12;
+#if 0
+ else
+ Line++;
+#endif
+ InvertTextXY (8, Line, 48, 1);
}
-
- /* Install new bootcode */
- if ((PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32_XINT13))
+ else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
+ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */
{
- /* Install FAT32 bootcode */
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat32.bin");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\bootsect.ros");
-
- DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, DstPath);
- Status = InstallFat32BootCodeToFile(SrcPath,
- DstPath,
- SystemRootPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat32BootCodeToFile() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT32 bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
+ NormalTextXY (8, Line, 48, 1);
+ if (Line == 12)
+ Line = 13;
+ else if (Line == 13)
+ Line = 12;
+#if 0
+ else
+ Line--;
+#endif
+ InvertTextXY (8, Line, 48, 1);
}
- else
+ else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
+ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
{
- /* Install FAT16 bootcode */
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat.bin");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\bootsect.ros");
-
- DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, DstPath);
- Status = InstallFat16BootCodeToFile(SrcPath,
- DstPath,
- SystemRootPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat16BootCodeToFile() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
+ if (ConfirmQuit(Ir) == TRUE)
+ return QUIT_PAGE;
+ break;
}
-
- /* Update 'boot.ini' */
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\boot.ini");
-
- DPRINT1("Update 'boot.ini': %S\n", DstPath);
- Status = UpdateBootIni(DstPath,
- L"C:\\bootsect.ros",
- L"\"ReactOS\"");
- if (!NT_SUCCESS(Status))
+ else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
{
- DPRINT1("UpdateBootIni() failed (Status %lx)\n", Status);
- PopupError("Setup failed to update \'boot.ini\'.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
+ if (Line == 12)
{
- return QUIT_PAGE;
+ return BOOT_LOADER_HARDDISK_PAGE;
}
- }
- }
- }
- else
- {
- /* Update existing 'freeldr.ini' */
- DPRINT1("Update existing 'freeldr.ini'\n");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- Status = UpdateFreeLoaderIni(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
- PopupError("Setup failed to update 'freeldr.ini'.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
+ else if (Line == 13)
{
- return QUIT_PAGE;
+ return BOOT_LOADER_FLOPPY_PAGE;
}
- }
+
+ return BOOT_LOADER_PAGE;
}
- }
+
}
- else if (DoesFileExist(SystemRootPath.Buffer, L"io.sys") == TRUE ||
- DoesFileExist(SystemRootPath.Buffer, L"msdos.sys") == TRUE)
- {
- /* Search for root directory for 'io.sys' and 'msdos.sys'. */
- DPRINT1("Found Microsoft DOS or Windows 9x boot loader\n");
- /* Copy FreeLoader to the boot partition */
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\freeldr.sys");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.sys");
+ return BOOT_LOADER_PAGE;
+}
- DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath);
- Status = SetupCopyFile(SrcPath, DstPath);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
- PopupError("Setup failed to copy 'freeldr.sys'.",
- "ENTER = Reboot computer");
- while(TRUE)
- {
- ConInKey(Ir);
+static PAGE_NUMBER
+BootLoaderFloppyPage(PINPUT_RECORD Ir)
+{
+ NTSTATUS Status;
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
+ SetTextXY(6, 8, "Setup cannot install the bootloader on your computers");
+ SetTextXY(6, 9, "harddisk");
- /* Create or update 'freeldr.ini' */
- if (DoesFileExist(SystemRootPath.Buffer, L"freeldr.ini") == FALSE)
- {
- /* Create new 'freeldr.ini' */
- DPRINT1("Create new 'freeldr.ini'\n");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- Status = CreateFreeLoaderIniForDos(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("CreateFreeLoaderIniForDos() failed (Status %lx)\n", Status);
- PopupError("Setup failed to create 'freeldr.ini'.",
- "ENTER = Reboot computer");
+ SetTextXY(6, 13, "Please insert a formatted floppy disk in drive A: and");
+ SetTextXY(6, 14, "press ENTER.");
- while(TRUE)
- {
- ConInKey(Ir);
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
+ SetStatusText(" ENTER = Continue F3 = Quit");
+// SetStatusText(" Please wait...");
- /* Save current bootsector as 'BOOTSECT.DOS' */
- wcscpy(SrcPath, SystemRootPath.Buffer);
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\bootsect.dos");
+ while(TRUE)
+ {
+ ConInKey(Ir);
- DPRINT1("Save bootsector: %S ==> %S\n", SrcPath, DstPath);
- Status = SaveCurrentBootSector(SrcPath,
- DstPath);
- if (!NT_SUCCESS(Status))
+ if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
+ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
{
- DPRINT1("SaveCurrentBootSector() failed (Status %lx)\n", Status);
- PopupError("Setup failed to save the current bootsector.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ if (ConfirmQuit(Ir) == TRUE)
+ return QUIT_PAGE;
+ break;
}
-
- /* Install new bootsector */
- if ((PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32_XINT13))
+ else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
{
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat32.bin");
-
- DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath.Buffer);
- Status = InstallFat32BootCodeToDisk(SrcPath,
- SystemRootPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat32BootCodeToDisk() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT32 bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
+ if (DoesFileExist(L"\\Device\\Floppy0", L"\\") == FALSE)
{
- ConInKey(Ir);
+ PopupError("No disk in drive A:.",
+ "ENTER = Continue");
+ while(TRUE)
+ {
+ ConInKey(Ir);
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
+ if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
+ break;
+ }
+
+ return BOOT_LOADER_FLOPPY_PAGE;
}
- }
- }
- else
- {
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat.bin");
- DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath.Buffer);
- Status = InstallFat16BootCodeToDisk(SrcPath,
- SystemRootPath.Buffer);
+ Status = InstallFatBootcodeToFloppy(&SourceRootPath,
+ &DestinationArcPath);
if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat16BootCodeToDisk() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
{
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
+ /* Print error message */
+ return BOOT_LOADER_FLOPPY_PAGE;
}
- }
- }
- }
- else
- {
- /* Update existing 'freeldr.ini' */
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- Status = UpdateFreeLoaderIni(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
- PopupError("Setup failed to update 'freeldr.ini'.",
- "ENTER = Reboot computer");
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
+ return SUCCESS_PAGE;
}
- }
}
- else
- {
- /* No or unknown boot loader */
- DPRINT1("No or unknown boot loader found\n");
- /* Copy FreeLoader to the boot partition */
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\freeldr.sys");
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.sys");
-
- DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
- Status = SetupCopyFile(SrcPath, DstPath);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("SetupCopyFile() failed (Status %lx)\n", Status);
- PopupError("Setup failed to copy 'freeldr.sys'.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
-
- /* Create or update 'freeldr.ini' */
- if (DoesFileExist(SystemRootPath.Buffer, L"freeldr.ini") == FALSE)
- {
- /* Create new freeldr.ini */
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- DPRINT1("Copy: %S ==> %S\n", SrcPath, DstPath);
- Status = CreateFreeLoaderIniForReactos(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("CreateFreeLoaderIniForReactos() failed (Status %lx)\n", Status);
- PopupError("Setup failed to create \'freeldr.ini\'.",
- "ENTER = Reboot computer");
+ return BOOT_LOADER_FLOPPY_PAGE;
+}
- while(TRUE)
- {
- ConInKey(Ir);
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
-
- /* Save current bootsector as 'BOOTSECT.OLD' */
- wcscpy(SrcPath, SystemRootPath.Buffer);
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\bootsect.old");
+static PAGE_NUMBER
+BootLoaderHarddiskPage(PINPUT_RECORD Ir)
+{
+ UCHAR PartitionType;
+ NTSTATUS Status;
- DPRINT1("Save bootsector: %S ==> %S\n", SrcPath, DstPath);
- Status = SaveCurrentBootSector(SrcPath,
- DstPath);
- if (!NT_SUCCESS(Status))
+ PartitionType = PartitionList->ActiveBootPartition->PartInfo[0].PartitionType;
+ if ((PartitionType == PARTITION_FAT_12) ||
+ (PartitionType == PARTITION_FAT_16) ||
+ (PartitionType == PARTITION_HUGE) ||
+ (PartitionType == PARTITION_XINT13) ||
+ (PartitionType == PARTITION_FAT32) ||
+ (PartitionType == PARTITION_FAT32_XINT13))
+ {
+ Status = InstallFatBootcodeToPartition(&SystemRootPath,
+ &SourceRootPath,
+ &DestinationArcPath,
+ PartitionType);
+ if (!NT_SUCCESS(Status))
{
- DPRINT1("SaveCurrentBootSector() failed (Status %lx)\n", Status);
- PopupError("Setup failed save the current bootsector.",
+ PopupError("Setup failed to install the FAT bootcode on the system partition.",
"ENTER = Reboot computer");
while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
-
- /* Install new bootsector */
- if ((PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32) ||
- (PartitionList->ActiveBootPartition->PartInfo[0].PartitionType == PARTITION_FAT32_XINT13))
- {
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat32.bin");
-
- DPRINT1("Install FAT32 bootcode: %S ==> %S\n", SrcPath, SystemRootPath.Buffer);
- Status = InstallFat32BootCodeToDisk(SrcPath,
- SystemRootPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat32BootCodeToDisk() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT32 bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
{
ConInKey(Ir);
if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
+ {
+ return QUIT_PAGE;
+ }
}
- }
}
- else
- {
- wcscpy(SrcPath, SourceRootPath.Buffer);
- wcscat(SrcPath, L"\\loader\\fat.bin");
- DPRINT1("Install FAT bootcode: %S ==> %S\n", SrcPath, SystemRootPath.Buffer);
- Status = InstallFat16BootCodeToDisk(SrcPath,
- SystemRootPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("InstallFat16BootCodeToDisk() failed (Status %lx)\n", Status);
- PopupError("Setup failed to install the FAT bootcode.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
- }
- }
- else
- {
- /* Update existing 'freeldr.ini' */
- wcscpy(DstPath, SystemRootPath.Buffer);
- wcscat(DstPath, L"\\freeldr.ini");
-
- Status = UpdateFreeLoaderIni(DstPath,
- DestinationArcPath.Buffer);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("UpdateFreeLoaderIni() failed (Status %lx)\n", Status);
- PopupError("Setup failed to update 'freeldr.ini'.",
- "ENTER = Reboot computer");
-
- while(TRUE)
- {
- ConInKey(Ir);
-
- if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
- {
- return QUIT_PAGE;
- }
- }
- }
- }
+ return SUCCESS_PAGE;
}
- }
else
{
- /* Unknown partition */
- DPRINT1("Unknown partition found\n");
- PopupError("Setup found an unknown partiton type.\n"
- "This partition type is not supported!",
+ PopupError("failed to install FAT bootcode on the system partition.",
"ENTER = Reboot computer");
while(TRUE)
@@ -3848,7 +3516,7 @@
}
}
- return SUCCESS_PAGE;
+ return BOOT_LOADER_HARDDISK_PAGE;
}
@@ -4029,6 +3697,12 @@
break;
#if 0
+ case SCSI_CONTROLLER_PAGE:
+ Page = ScsiControllerPage(&Ir);
+ break;
+#endif
+
+#if 0
case OEM_DRIVER_PAGE:
Page = OemDriverPage(&Ir);
break;
@@ -4102,6 +3776,14 @@
Page = BootLoaderPage(&Ir);
break;
+ case BOOT_LOADER_FLOPPY_PAGE:
+ Page = BootLoaderFloppyPage(&Ir);
+ break;
+
+ case BOOT_LOADER_HARDDISK_PAGE:
+ Page = BootLoaderHarddiskPage(&Ir);
+ break;
+
/* Repair pages */
case REPAIR_INTRO_PAGE:
reactos/subsys/win32k/eng
diff -u -r1.6 -r1.6.6.1
--- misc.c 10 May 2004 17:07:17 -0000 1.6
+++ misc.c 27 Jun 2004 01:13:17 -0000 1.6.6.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: misc.c,v 1.6 2004/05/10 17:07:17 weiden Exp $ */
+/* $Id: misc.c,v 1.6.6.1 2004/06/27 01:13:17 hyperion Exp $ */
#include <w32k.h>
BOOL STDCALL
@@ -63,7 +63,7 @@
Width = DIB_GetDIBWidthBytes(BitmapSize.cx, BitsPerFormat(DestObj->iBitmapFormat));
EnterLeave->OutputBitmap = EngCreateBitmap(BitmapSize, Width,
DestObj->iBitmapFormat,
- BMF_NOZEROINIT, NULL);
+ BMF_TOPDOWN | BMF_NOZEROINIT, NULL);
*OutputObj = (SURFOBJ *) AccessUserObject((ULONG) EnterLeave->OutputBitmap);
EnterLeave->DestRect.left = 0;
reactos/subsys/win32k/eng
diff -u -r1.72 -r1.72.2.1
--- mouse.c 20 Jun 2004 12:34:17 -0000 1.72
+++ mouse.c 27 Jun 2004 01:13:17 -0000 1.72.2.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: mouse.c,v 1.72 2004/06/20 12:34:17 navaraf Exp $
+/* $Id: mouse.c,v 1.72.2.1 2004/06/27 01:13:17 hyperion Exp $
*
* PROJECT: ReactOS kernel
* PURPOSE: Mouse
@@ -554,7 +554,7 @@
memcpy(Bits, psoColor->pvBits, psoColor->cjBits);
ppdev->PointerColorSurface = (HSURF)EngCreateBitmap(Size,
- psoColor->lDelta, psoColor->iBitmapFormat, 0, Bits);
+ psoColor->lDelta, psoColor->iBitmapFormat, BMF_TOPDOWN, Bits);
}
else
{
@@ -571,7 +571,7 @@
memcpy(Bits, psoMask->pvBits, psoMask->cjBits);
ppdev->PointerMaskSurface = (HSURF)EngCreateBitmap(Size,
- psoMask->lDelta, psoMask->iBitmapFormat, 0, Bits);
+ psoMask->lDelta, psoMask->iBitmapFormat, BMF_TOPDOWN, Bits);
}
/*
@@ -626,7 +626,7 @@
}
ppdev->PointerSaveSurface = (HSURF)EngCreateBitmap(
- Size, lDelta, pso->iBitmapFormat, BMF_NOZEROINIT, NULL);
+ Size, lDelta, pso->iBitmapFormat, BMF_TOPDOWN | BMF_NOZEROINIT, NULL);
}
IntShowMousePointer(ppdev, pso);
reactos/subsys/win32k/eng
diff -u -r1.40 -r1.40.4.1
--- surface.c 30 May 2004 14:01:12 -0000 1.40
+++ surface.c 27 Jun 2004 01:13:17 -0000 1.40.4.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: surface.c,v 1.40 2004/05/30 14:01:12 weiden Exp $
+/* $Id: surface.c,v 1.40.4.1 2004/06/27 01:13:17 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -317,57 +317,67 @@
PVOID UncompressedBits;
ULONG UncompressedFormat;
- NewBitmap = (PVOID)CreateGDIHandle(sizeof(SURFGDI), sizeof(SURFOBJ), (PVOID*)&SurfGDI, (PVOID*)&SurfObj);
- if( !ValidEngHandle( NewBitmap ) )
+ NewBitmap = (HBITMAP) CreateGDIHandle(sizeof(SURFGDI), sizeof(SURFOBJ), (PVOID*)&SurfGDI, (PVOID*)&SurfObj);
+ if (! ValidEngHandle(NewBitmap))
return 0;
SurfGDI->BitsPerPixel = BitsPerFormat(Format);
- if (Format == BMF_4RLE) {
- SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_4BPP));
- SurfObj->cjBits = SurfObj->lDelta * Size.cy;
- UncompressedFormat = BMF_4BPP;
+ if (Format == BMF_4RLE)
+ {
+ SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_4BPP));
+ SurfObj->cjBits = SurfObj->lDelta * Size.cy;
+ UncompressedFormat = BMF_4BPP;
UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
- Decompress4bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
- } else {
- if (Format == BMF_8RLE) {
- SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_8BPP));
- SurfObj->cjBits = SurfObj->lDelta * Size.cy;
- UncompressedFormat = BMF_8BPP;
- UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
- Decompress8bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
- } else {
- SurfObj->lDelta = Width;
- SurfObj->cjBits = SurfObj->lDelta * Size.cy;
- UncompressedBits = Bits;
- UncompressedFormat = Format;
- }
- }
- if(UncompressedBits!=NULL)
- {
- SurfObj->pvBits = UncompressedBits;
- } else
- {
- if (SurfObj->cjBits == 0)
+ Decompress4bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
+ }
+ else if (Format == BMF_8RLE)
{
- SurfObj->pvBits = NULL;
+ SurfObj->lDelta = DIB_GetDIBWidthBytes(Size.cx, BitsPerFormat(BMF_8BPP));
+ SurfObj->cjBits = SurfObj->lDelta * Size.cy;
+ UncompressedFormat = BMF_8BPP;
+ UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
+ Decompress8bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, SurfObj->lDelta);
}
- else
+ else
{
- if(Flags & BMF_USERMEM)
- {
- SurfObj->pvBits = EngAllocUserMem(SurfObj->cjBits, 0);
- } else {
- if(Flags & BMF_NOZEROINIT)
+ SurfObj->lDelta = Width;
+ SurfObj->cjBits = Width * Size.cy;
+ UncompressedBits = Bits;
+ UncompressedFormat = Format;
+ }
+
+ if (UncompressedBits != NULL)
+ {
+ SurfObj->pvBits = UncompressedBits;
+ }
+ else
+ {
+ if (SurfObj->cjBits == 0)
{
- SurfObj->pvBits = EngAllocMem(0, SurfObj->cjBits, 0);
- } else {
- SurfObj->pvBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
+ SurfObj->pvBits = NULL;
}
- }
+ else
+ {
+ if (0 != (Flags & BMF_USERMEM))
+ {
+ SurfObj->pvBits = EngAllocUserMem(SurfObj->cjBits, 0);
+ }
+ else
+ {
+ SurfObj->pvBits = EngAllocMem(0 != (Flags & BMF_NOZEROINIT) ? 0 : FL_ZERO_MEMORY,
+ SurfObj->cjBits, 0);
+ }
+ }
+ }
+
+
+ if (0 == (Flags & BMF_TOPDOWN))
+ {
+ SurfObj->pvBits = (PVOID) ((PCHAR) UncompressedBits + SurfObj->cjBits - SurfObj->lDelta);
+ SurfObj->lDelta = - SurfObj->lDelta;
}
- }
- SurfObj->dhsurf = 0; // device managed surface
+ SurfObj->dhsurf = 0; /* device managed surface */
SurfObj->hsurf = 0;
SurfObj->dhpdev = NULL;
SurfObj->hdev = NULL;
@@ -380,7 +390,7 @@
InitializeFuncs(SurfGDI, UncompressedFormat);
- // Use flags to determine bitmap type -- TOP_DOWN or whatever
+ /* Use flags to determine bitmap type -- TOP_DOWN or whatever */
return NewBitmap;
}
reactos/subsys/win32k/include
diff -u -r1.8 -r1.8.6.1
--- palette.h 9 Apr 2004 20:03:18 -0000 1.8
+++ palette.h 27 Jun 2004 01:13:17 -0000 1.8.6.1
@@ -33,6 +33,8 @@
ULONG Red,
ULONG Green,
ULONG Blue);
+HPALETTE FASTCALL PALETTE_AllocPaletteIndexedRGB(ULONG NumColors,
+ CONST RGBQUAD *Colors);
#define PALETTE_FreePalette(hPalette) GDIOBJ_FreeObj((HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE, GDIOBJFLAG_DEFAULT)
#define PALETTE_LockPalette(hPalette) ((PPALGDI)GDIOBJ_LockObj((HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE))
#define PALETTE_UnlockPalette(hPalette) GDIOBJ_UnlockObj((HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE)
reactos/subsys/win32k/ntuser
diff -u -r1.23 -r1.23.2.1
--- focus.c 20 Jun 2004 22:25:14 -0000 1.23
+++ focus.c 27 Jun 2004 01:13:17 -0000 1.23.2.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: focus.c,v 1.23 2004/06/20 22:25:14 gvg Exp $
+ * $Id: focus.c,v 1.23.2.1 2004/06/27 01:13:17 hyperion Exp $
*/
#include <w32k.h>
@@ -452,7 +452,7 @@
if (Window->Style & (WS_MINIMIZE | WS_DISABLED))
{
IntReleaseWindowObject(Window);
- return ThreadQueue ? 0 : ThreadQueue->FocusWindow;
+ return (ThreadQueue ? ThreadQueue->FocusWindow : 0);
}
if (Window->MessageQueue != ThreadQueue)
reactos/subsys/win32k/ntuser
diff -u -r1.79 -r1.79.2.1
--- misc.c 20 Jun 2004 00:45:36 -0000 1.79
+++ misc.c 27 Jun 2004 01:13:17 -0000 1.79.2.1
@@ -1,4 +1,4 @@
-/* $Id: misc.c,v 1.79 2004/06/20 00:45:36 navaraf Exp $
+/* $Id: misc.c,v 1.79.2.1 2004/06/27 01:13:17 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -17,12 +17,6 @@
/* registered Logon process */
PW32PROCESS LogonProcess = NULL;
-/* FIXME - not yet defined in w32api :( */
-#define SPI_GETFOCUSBORDERWIDTH (8206)
-#define SPI_SETFOCUSBORDERWIDTH (8207)
-#define SPI_GETFOCUSBORDERHEIGHT (8208)
-#define SPI_SETFOCUSBORDERHEIGHT (8209)
-
void W32kRegisterPrimitiveMessageQueue() {
extern PUSER_MESSAGE_QUEUE pmPrimitiveMessageQueue;
if( !pmPrimitiveMessageQueue ) {
@@ -819,7 +813,7 @@
/*
* @implemented
*/
-DWORD
+BOOL
STDCALL
NtUserSystemParametersInfo(
UINT uiAction,
reactos/subsys/win32k/objects
diff -u -r1.42 -r1.42.6.1
--- color.c 22 May 2004 22:07:42 -0000 1.42
+++ color.c 27 Jun 2004 01:13:17 -0000 1.42.6.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: color.c,v 1.42 2004/05/22 22:07:42 navaraf Exp $ */
+/* $Id: color.c,v 1.42.6.1 2004/06/27 01:13:17 hyperion Exp $ */
#include <w32k.h>
// FIXME: Use PXLATEOBJ logicalToSystem instead of int *mapping
@@ -519,7 +519,7 @@
{
HWND hWnd;
- hWnd = IntWindowFromDC(hDC);
+ hWnd = (HWND)NtUserCallOneParam((DWORD)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC);
if (hWnd == NULL)
{
SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE);
reactos/subsys/win32k/objects
diff -u -r1.51 -r1.51.2.1
--- dib.c 20 Jun 2004 00:45:37 -0000 1.51
+++ dib.c 27 Jun 2004 01:13:17 -0000 1.51.2.1
@@ -1,5 +1,5 @@
/*
- * $Id: dib.c,v 1.51 2004/06/20 00:45:37 navaraf Exp $
+ * $Id: dib.c,v 1.51.2.1 2004/06/27 01:13:17 hyperion Exp $
*
* ReactOS W32 Subsystem
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team
@@ -54,9 +54,8 @@
/* Rebuild the palette. */
NtGdiDeleteObject(dc->w.hPalette);
- dc->w.hPalette = PALETTE_AllocPalette(PAL_INDEXED,
- 1 << BitmapObj->dib->dsBmih.biBitCount,
- (PULONG)BitmapObj->ColorMap, 0, 0, 0);
+ dc->w.hPalette = PALETTE_AllocPaletteIndexedRGB(1 << BitmapObj->dib->dsBmih.biBitCount,
+ BitmapObj->ColorMap);
}
else
Entries = 0;
@@ -133,8 +132,7 @@
//RGBQUAD *lpRGB;
HPALETTE DDB_Palette, DIB_Palette;
ULONG DDB_Palette_Type, DIB_Palette_Type;
- const BYTE *vBits = (const BYTE*)Bits;
- INT scanDirection = 1, DIBWidth;
+ INT DIBWidth;
// Check parameters
if (!(bitmap = BITMAPOBJ_LockBitmap(hBitmap)))
@@ -161,18 +159,11 @@
// Determine width of DIB
DIBWidth = DIB_GetDIBWidthBytes(SourceSize.cx, bmi->bmiHeader.biBitCount);
- // Determine DIB Vertical Orientation
- if(bmi->bmiHeader.biHeight > 0)
- {
- scanDirection = -1;
- vBits += DIBWidth * bmi->bmiHeader.biHeight - DIBWidth;
- }
-
SourceBitmap = EngCreateBitmap(SourceSize,
- DIBWidth * scanDirection,
+ DIBWidth,
BitmapFormat(bmi->bmiHeader.biBitCount, bmi->bmiHeader.biCompression),
- 0,
- (PVOID)vBits );
+ 0 < bmi->bmiHeader.biHeight ? 0 : BMF_TOPDOWN,
+ (PVOID) Bits);
SourceSurf = (SURFOBJ*)AccessUserObject((ULONG)SourceBitmap);
// Destination palette obtained from the hDC
reactos/subsys/win32k/objects
diff -u -r1.18 -r1.18.6.1
--- objconv.c 10 May 2004 17:07:20 -0000 1.18
+++ objconv.c 27 Jun 2004 01:13:17 -0000 1.18.6.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: objconv.c,v 1.18 2004/05/10 17:07:20 weiden Exp $ */
+/* $Id: objconv.c,v 1.18.6.1 2004/06/27 01:13:17 hyperion Exp $ */
#include <w32k.h>
HBITMAP FASTCALL BitmapToSurf(PBITMAPOBJ BitmapObj, HDEV GDIDevice)
@@ -31,13 +31,14 @@
{
BitmapHandle = EngCreateBitmap(Size, BitmapObj->dib->dsBm.bmWidthBytes,
BitmapFormat(BitmapObj->dib->dsBm.bmBitsPixel, BI_RGB),
- 0, BitmapObj->dib->dsBm.bmBits);
+ BitmapObj->dib->dsBmih.biHeight < 0 ? BMF_TOPDOWN : 0,
+ BitmapObj->dib->dsBm.bmBits);
}
else
{
BitmapHandle = EngCreateBitmap(Size, BitmapObj->bitmap.bmWidthBytes,
BitmapFormat(BitmapObj->bitmap.bmBitsPixel, BI_RGB),
- 0, BitmapObj->bitmap.bmBits);
+ BMF_TOPDOWN, BitmapObj->bitmap.bmBits);
}
if (NULL != BitmapHandle && NULL != GDIDevice)
{
reactos/subsys/win32k/objects
diff -u -r1.19 -r1.19.2.1
--- palette.c 20 Jun 2004 00:45:37 -0000 1.19
+++ palette.c 27 Jun 2004 01:13:17 -0000 1.19.2.1
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: palette.c,v 1.19 2004/06/20 00:45:37 navaraf Exp $ */
+/* $Id: palette.c,v 1.19.2.1 2004/06/27 01:13:17 hyperion Exp $ */
#include <w32k.h>
#ifndef NO_MAPPING
@@ -98,6 +98,48 @@
return NewPalette;
}
+HPALETTE FASTCALL
+PALETTE_AllocPaletteIndexedRGB(ULONG NumColors,
+ CONST RGBQUAD *Colors)
+{
+ HPALETTE NewPalette;
+ PPALGDI PalGDI;
+ unsigned i;
+
+ NewPalette = (HPALETTE) GDIOBJ_AllocObj(sizeof(PALGDI), GDI_OBJECT_TYPE_PALETTE, (GDICLEANUPPROC) PALETTE_InternalDelete);
+ if (NULL == NewPalette)
+ {
+ return NULL;
+ }
+
+ PalGDI = PALETTE_LockPalette(NewPalette);
+ ASSERT( PalGDI );
+
+ PalGDI->Self = NewPalette;
+ PalGDI->Mode = PAL_INDEXED;
+
+ PalGDI->IndexedColors = ExAllocatePoolWithTag(PagedPool, sizeof(PALETTEENTRY) * NumColors, TAG_PALETTE);
+ if (NULL == PalGDI->IndexedColors)
+ {
+ PALETTE_UnlockPalette(NewPalette);
+ PALETTE_FreePalette(NewPalette);
+ return NULL;
+ }
+ for (i = 0; i < NumColors; i++)
+ {
+ PalGDI->IndexedColors[i].peRed = Colors[i].rgbRed;
+ PalGDI->IndexedColors[i].peGreen = Colors[i].rgbGreen;
+ PalGDI->IndexedColors[i].peBlue = Colors[i].rgbBlue;
+ PalGDI->IndexedColors[i].peFlags = 0;
+ }
+
+ PalGDI->NumColors = NumColors;
+
+ PALETTE_UnlockPalette(NewPalette);
+
+ return NewPalette;
+}
+
// Create the system palette
HPALETTE FASTCALL PALETTE_Init(VOID)
{
reactos/subsys/win32k/objects
diff -u -r1.97 -r1.97.2.1
--- text.c 20 Jun 2004 00:45:37 -0000 1.97
+++ text.c 27 Jun 2004 01:13:17 -0000 1.97.2.1
@@ -22,7 +22,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: text.c,v 1.97 2004/06/20 00:45:37 navaraf Exp $ */
+/* $Id: text.c,v 1.97.2.1 2004/06/27 01:13:17 hyperion Exp $ */
#include <w32k.h>
#include <ft2build.h>
@@ -284,7 +284,7 @@
if (!NT_SUCCESS(Status))
{
- DPRINT("Could not font file: %wZ\n", Filename);
+ DPRINT("Could not font file: %wZ\n", FileName);
NtGdiDeleteObject(NewFont);
return 0;
}
@@ -1865,7 +1865,7 @@
* limit the work of the transbitblt.
*/
- HSourceGlyph = EngCreateBitmap(bitSize, pitch, (glyph->bitmap.pixel_mode == ft_pixel_mode_grays) ? BMF_8BPP : BMF_1BPP, 0, glyph->bitmap.buffer);
+ HSourceGlyph = EngCreateBitmap(bitSize, pitch, (glyph->bitmap.pixel_mode == ft_pixel_mode_grays) ? BMF_8BPP : BMF_1BPP, BMF_TOPDOWN, glyph->bitmap.buffer);
SourceGlyphSurf = (SURFOBJ*)AccessUserObject((ULONG) HSourceGlyph);
/*
reactos/w32api/include/ddk
diff -u -r1.2 -r1.2.4.1
--- ntddscsi.h 14 Jun 2004 20:04:59 -0000 1.2
+++ ntddscsi.h 27 Jun 2004 01:13:18 -0000 1.2.4.1
@@ -98,53 +98,53 @@
UCHAR Cdb[16];
} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
-typedef struct _SRB_IO_CONTROL {
- ULONG HeaderLength;
- UCHAR Signature[8];
- ULONG Timeout;
- ULONG ControlCode;
- ULONG ReturnCode;
- ULONG Length;
-} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
+typedef struct _SRB_IO_CONTROL {
+ ULONG HeaderLength;
+ UCHAR Signature[8];
+ ULONG Timeout;
+ ULONG ControlCode;
+ ULONG ReturnCode;
+ ULONG Length;
+} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
typedef struct _SCSI_ADDRESS {
- ULONG Length;
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
+ ULONG Length;
+ UCHAR PortNumber;
+ UCHAR PathId;
+ UCHAR TargetId;
+ UCHAR Lun;
} SCSI_ADDRESS, *PSCSI_ADDRESS;
typedef struct _SCSI_BUS_DATA {
- UCHAR NumberOfLogicalUnits;
- UCHAR InitiatorBusId;
- ULONG InquiryDataOffset;
+ UCHAR NumberOfLogicalUnits;
+ UCHAR InitiatorBusId;
+ ULONG InquiryDataOffset;
}SCSI_BUS_DATA, *PSCSI_BUS_DATA;
typedef struct _SCSI_ADAPTER_BUS_INFO {
- UCHAR NumberOfBuses;
- SCSI_BUS_DATA BusData[1];
+ UCHAR NumberOfBuses;
+ SCSI_BUS_DATA BusData[1];
} SCSI_ADAPTER_BUS_INFO, *PSCSI_ADAPTER_BUS_INFO;
typedef struct _IO_SCSI_CAPABILITIES {
- ULONG Length;
- ULONG MaximumTransferLength;
- ULONG MaximumPhysicalPages;
- ULONG SupportedAsynchronousEvents;
- ULONG AlignmentMask;
- BOOLEAN TaggedQueuing;
- BOOLEAN AdapterScansDown;
- BOOLEAN AdapterUsesPio;
+ ULONG Length;
+ ULONG MaximumTransferLength;
+ ULONG MaximumPhysicalPages;
+ ULONG SupportedAsynchronousEvents;
+ ULONG AlignmentMask;
+ BOOLEAN TaggedQueuing;
+ BOOLEAN AdapterScansDown;
+ BOOLEAN AdapterUsesPio;
} IO_SCSI_CAPABILITIES, *PIO_SCSI_CAPABILITIES;
typedef struct _SCSI_INQUIRY_DATA {
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- BOOLEAN DeviceClaimed;
- ULONG InquiryDataLength;
- ULONG NextInquiryDataOffset;
- UCHAR InquiryData[1];
+ UCHAR PathId;
+ UCHAR TargetId;
+ UCHAR Lun;
+ BOOLEAN DeviceClaimed;
+ ULONG InquiryDataLength;
+ ULONG NextInquiryDataOffset;
+ UCHAR InquiryData[1];
} SCSI_INQUIRY_DATA, *PSCSI_INQUIRY_DATA;
#define SCSI_IOCTL_DATA_OUT 0
@@ -152,16 +152,16 @@
#define SCSI_IOCTL_DATA_UNSPECIFIED 2
typedef struct _DUMP_POINTERS {
- PADAPTER_OBJECT AdapterObject;
- PVOID MappedRegisterBase;
- PVOID DumpData;
- PVOID CommonBufferVa;
- LARGE_INTEGER CommonBufferPa;
- ULONG CommonBufferSize;
- BOOLEAN AllocateCommonBuffers;
- BOOLEAN UseDiskDump;
- UCHAR Spare1[2];
- PVOID DeviceObject;
+ PADAPTER_OBJECT AdapterObject;
+ PVOID MappedRegisterBase;
+ PVOID DumpData;
+ PVOID CommonBufferVa;
+ LARGE_INTEGER CommonBufferPa;
+ ULONG CommonBufferSize;
+ BOOLEAN AllocateCommonBuffers;
+ BOOLEAN UseDiskDump;
+ UCHAR Spare1[2];
+ PVOID DeviceObject;
} DUMP_POINTERS, *PDUMP_POINTERS;
#ifdef __cplusplus
reactos/w32api/include/ddk
diff -u -r1.2 -r1.2.4.1
--- ntddtape.h 14 Jun 2004 20:04:59 -0000 1.2
+++ ntddtape.h 27 Jun 2004 01:13:18 -0000 1.2.4.1
@@ -46,7 +46,7 @@
#define IOCTL_TAPE_GET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_TAPE_GET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_TAPE_GET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_STATUS CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS )
+#define IOCTL_TAPE_GET_STATUS CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_TAPE_PREPARE CTL_CODE(IOCTL_TAPE_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_TAPE_SET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
@@ -56,19 +56,19 @@
typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
- TapeDriveProblemNone,
+ TapeDriveProblemNone,
TapeDriveReadWriteWarning,
- TapeDriveReadWriteError,
+ TapeDriveReadWriteError,
TapeDriveReadWarning,
TapeDriveWriteWarning,
TapeDriveReadError,
- TapeDriveWriteError,
+ TapeDriveWriteError,
TapeDriveHardwareError,
- TapeDriveUnsupportedMedia,
+ TapeDriveUnsupportedMedia,
TapeDriveScsiConnectionError,
- TapeDriveTimetoClean,
+ TapeDriveTimetoClean,
TapeDriveCleanDriveNow,
- TapeDriveMediaLifeExpired,
+ TapeDriveMediaLifeExpired,
TapeDriveSnappedTape
} TAPE_DRIVE_PROBLEM_TYPE;
reactos/w32api/include/ddk
diff -u -r1.2 -r1.2.6.1
--- ntifs.h 9 Apr 2004 20:03:21 -0000 1.2
+++ ntifs.h 27 Jun 2004 01:13:18 -0000 1.2.6.1
@@ -550,7 +550,7 @@
BOOLEAN KernelApcInProgress;
BOOLEAN KernelApcPending;
BOOLEAN UserApcPending;
-} KAPC_STATE, *PKAPC_STATE;
+} KAPC_STATE, *PKAPC_STATE, *__restrict PRKAPC_STATE;
typedef struct _KGDTENTRY {
USHORT LimitLow;
reactos/w32api/include
diff -u -r1.6 -r1.6.6.1
--- winuser.h 28 May 2004 14:31:49 -0000 1.6
+++ winuser.h 27 Jun 2004 01:13:18 -0000 1.6.6.1
@@ -1249,6 +1249,25 @@
#define SPI_SETSELECTIONFADE 0x1015
#define SPI_SETTOOLTIPANIMATION 0x1017
#define SPI_SETTOOLTIPFADE 0x1019
+#if (WINVER >= 0x0501)
+#define FE_FONTSMOOTHINGORIENTATIONBGR 0
+#define FE_FONTSMOOTHINGORIENTATIONRGB 1
+#define FE_FONTSMOOTHINGSTANDARD 1
+#define FE_FONTSMOOTHINGCLEARTYPE 2
+#define FE_FONTSMOOTHINGDOCKING 32768
+#define SPI_GETMOUSECLICKLOCKTIME 8200
+#define SPI_SETMOUSECLICKLOCKTIME 8201
+#define SPI_GETFONTSMOOTHINGTYPE 8202
+#define SPI_SETFONTSMOOTHINGTYPE 8203
+#define SPI_GETFONTSMOOTHINGCONTRAST 8204
+#define SPI_SETFONTSMOOTHINGCONTRAST 8205
+#define SPI_GETFOCUSBORDERWIDTH 8206
+#define SPI_SETFOCUSBORDERWIDTH 8207
+#define SPI_GETFOCUSBORDERHEIGHT 8208
+#define SPI_SETFOCUSBORDERHEIGHT 8209
+#define SPI_GETFONTSMOOTHINGORIENTATION 8210
+#define SPI_SETFONTSMOOTHINGORIENTATION 8211
+#endif
#endif
#define SPIF_UPDATEINIFILE 1
CVSspam 0.2.8