ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
November 2010
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
16 participants
491 discussions
Start a n
N
ew thread
[tkreuzer] 49647: [ASM] Add more constants for ks386.inc
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 23:16:50 2010 New Revision: 49647 URL:
http://svn.reactos.org/svn/reactos?rev=49647&view=rev
Log: [ASM] Add more constants for ks386.inc Modified: branches/cmake-bringup/include/asm/genincdata.c branches/cmake-bringup/include/asm/ks386.template.h Modified: branches/cmake-bringup/include/asm/genincdata.c URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/asm/genin…
============================================================================== --- branches/cmake-bringup/include/asm/genincdata.c [iso-8859-1] (original) +++ branches/cmake-bringup/include/asm/genincdata.c [iso-8859-1] Fri Nov 19 23:16:50 2010 @@ -14,6 +14,21 @@ #include <windbgkd.h> #include <wdbgexts.h> #include <kddll.h> + +// FIXME: where to put this? +typedef struct _FIBER /* Field offsets: */ +{ /* 32 bit 64 bit */ + /* this must be the first field */ + PVOID Parameter; /* 0x00 0x00 */ + struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList; /* 0x04 0x08 */ + PVOID StackBase; /* 0x08 0x10 */ + PVOID StackLimit; /* 0x0C 0x18 */ + PVOID DeallocationStack; /* 0x10 0x20 */ + CONTEXT Context; /* 0x14 0x28 */ + ULONG GuaranteedStackBytes; /* 0x2E0 */ + PVOID FlsData; /* 0x2E4 */ + PVOID ActivationContextStack; /* 0x2E8 */ +} FIBER, *PFIBER; typedef struct { Modified: branches/cmake-bringup/include/asm/ks386.template.h URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/asm/ks386…
============================================================================== --- branches/cmake-bringup/include/asm/ks386.template.h [iso-8859-1] (original) +++ branches/cmake-bringup/include/asm/ks386.template.h [iso-8859-1] Fri Nov 19 23:16:50 2010 @@ -349,6 +349,31 @@ //OFFSET(CONTEXT_FRAME_LENGTH 0x2D0 SIZE(CONTEXT_FRAME_LENGTH, CONTEXT), +HEADER("FIBER"), +OFFSET(FIBER_PARAMETER, FIBER, Parameter), +OFFSET(FIBER_EXCEPTION_LIST, FIBER, ExceptionList), +OFFSET(FIBER_STACK_BASE, FIBER, StackBase), +OFFSET(FIBER_STACK_LIMIT, FIBER, StackLimit), +OFFSET(FIBER_DEALLOCATION_STACK, FIBER, DeallocationStack), +OFFSET(FIBER_CONTEXT, FIBER, Context), +OFFSET(FIBER_CONTEXT_FLAGS, FIBER, Context.ContextFlags), +OFFSET(FIBER_CONTEXT_EAX, FIBER, Context.Eax), +OFFSET(FIBER_CONTEXT_EBX, FIBER, Context.Ebx), +OFFSET(FIBER_CONTEXT_ECX, FIBER, Context.Ecx), +OFFSET(FIBER_CONTEXT_EDX, FIBER, Context.Edx), +OFFSET(FIBER_CONTEXT_ESI, FIBER, Context.Esi), +OFFSET(FIBER_CONTEXT_EDI, FIBER, Context.Edi), +OFFSET(FIBER_CONTEXT_EBP, FIBER, Context.Ebp), +OFFSET(FIBER_CONTEXT_EIP, FIBER, Context.Eip), +OFFSET(FIBER_CONTEXT_ESP, FIBER, Context.Esp), +OFFSET(FIBER_CONTEXT_DR6, FIBER, Context.Dr6), +OFFSET(FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD, FIBER, Context.FloatSave.ControlWord), +OFFSET(FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD, FIBER, Context.FloatSave.StatusWord), +OFFSET(FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD, FIBER, Context.FloatSave.TagWord), +OFFSET(FIBER_GUARANTEED_STACK_BYTES, FIBER, GuaranteedStackBytes), +OFFSET(FIBER_FLS_DATA, FIBER, FlsData), +OFFSET(FIBER_ACTIVATION_CONTEXT_STACK, FIBER, ActivationContextStack), + HEADER("KTSS"), OFFSET(KTSS_IOMAPBASE, KTSS, IoMapBase), OFFSET(KTSS_ESP0, KTSS, Esp0), @@ -406,6 +431,20 @@ //OFFSET(KPROCESS_ACTIVE_PROCESSORS 0x34 //OFFSET(EPROCESS_VDM_OBJECTS 0x144 +HEADER("Teb"), +OFFSET(TEB_EXCEPTION_LIST, TEB, NtTib.ExceptionList), +OFFSET(TEB_STACK_LIMIT, TEB, NtTib.StackLimit), +OFFSET(TEB_STACK_BASE, TEB, NtTib.StackBase), +OFFSET(TEB_SELF, TEB, NtTib.Self), +OFFSET(TEB_FIBER_DATA, TEB, NtTib.FiberData), +OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock), +OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode), +OFFSET(PEB_KERNEL_CALLBACK_TABLE, PEB, KernelCallbackTable), +OFFSET(TEB_FLS_DATA, TEB, FlsData), +OFFSET(TEB_ACTIVATION_CONTEXT_STACK_POINTER, TEB, ActivationContextStackPointer), +OFFSET(TEB_GUARANTEED_STACK_BYTES, TEB, GuaranteedStackBytes), +OFFSET(TEB_DEALLOCATION_STACK, TEB, DeallocationStack), + HEADER("Misc"), CONSTANT(NPX_FRAME_LENGTH), CONSTANT(FN_CR0_NPX_STATE), @@ -419,18 +458,11 @@ CONSTANT(CBSTACK_TRAP_FRAME), CONSTANT(CBSTACK_CALLBACK_STACK), SIZE(SIZEOF_FX_SAVE_AREA, FX_SAVE_AREA), -OFFSET(TEB_EXCEPTION_LIST, TEB, NtTib.ExceptionList), -OFFSET(TEB_STACK_LIMIT, TEB, NtTib.StackLimit), -OFFSET(TEB_STACK_BASE, TEB, NtTib.StackBase), -OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock), -OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode), -OFFSET(PEB_KERNEL_CALLBACK_TABLE, PEB, KernelCallbackTable), CONSTANT(KUSER_SHARED_SYSCALL), CONSTANT(EXCEPTION_EXECUTE_HANDLER), CONSTANT(STATUS_CALLBACK_POP_STACK), CONSTANT(CONTEXT_ALIGNED_SIZE), - - - - - +CONSTANT(PROCESSOR_FEATURE_FXSR), + + +
14 years, 1 month
1
0
0
0
[ekohl] 49646: [NPFS] - Rename DEVICE_EXTENSION to NPFS_VCB. - Add a type variable to distinguish FCBs and CCBs for device, directory or pipe. - Attach an FCB to the VCB that represents the root di...
by ekohl@svn.reactos.org
Author: ekohl Date: Fri Nov 19 22:42:53 2010 New Revision: 49646 URL:
http://svn.reactos.org/svn/reactos?rev=49646&view=rev
Log: [NPFS] - Rename DEVICE_EXTENSION to NPFS_VCB. - Add a type variable to distinguish FCBs and CCBs for device, directory or pipe. - Attach an FCB to the VCB that represents the root directory of the file system and implement an open routine for the root directory. - Make NpfsWaitPipe work when it is called for the root directory. [KERNEL32] - Remove the old version of WaitNamedPipeW. This patch fixes the broken wait pipe code. It was written and tested on r49458 because later revisions do not work for me. Modified: trunk/reactos/dll/win32/kernel32/file/npipe.c trunk/reactos/drivers/filesystems/npfs/create.c trunk/reactos/drivers/filesystems/npfs/finfo.c trunk/reactos/drivers/filesystems/npfs/fsctrl.c trunk/reactos/drivers/filesystems/npfs/npfs.c trunk/reactos/drivers/filesystems/npfs/npfs.h trunk/reactos/drivers/filesystems/npfs/rw.c Modified: trunk/reactos/dll/win32/kernel32/file/npipe.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/file/np…
============================================================================== --- trunk/reactos/dll/win32/kernel32/file/npipe.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/file/npipe.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -14,7 +14,7 @@ #include <debug.h> DEBUG_CHANNEL(kernel32file); -//#define USING_PROPER_NPFS_WAIT_SEMANTICS +#define USING_PROPER_NPFS_WAIT_SEMANTICS /* FUNCTIONS ****************************************************************/ @@ -265,16 +265,6 @@ /* - * When NPFS will work properly, use this code instead. It is compatible with - * Microsoft's NPFS.SYS. The main difference is that: - * - This code actually respects the timeout instead of ignoring it! - * - This code validates and creates the proper names for both UNC and local pipes - * - On NT, you open the *root* pipe directory (either \DosDevices\Pipe or - * \DosDevices\Unc\Server\Pipe) and then send the pipe to wait on in the - * FILE_PIPE_WAIT_FOR_BUFFER structure. - */ -#ifdef USING_PROPER_NPFS_WAIT_SEMANTICS -/* * @implemented */ BOOL @@ -458,95 +448,6 @@ /* Success */ return TRUE; } -#else -/* - * @implemented - */ -BOOL -WINAPI -WaitNamedPipeW(LPCWSTR lpNamedPipeName, - DWORD nTimeOut) -{ - UNICODE_STRING NamedPipeName; - NTSTATUS Status; - OBJECT_ATTRIBUTES ObjectAttributes; - FILE_PIPE_WAIT_FOR_BUFFER WaitPipe; - HANDLE FileHandle; - IO_STATUS_BLOCK Iosb; - - if (RtlDosPathNameToNtPathName_U(lpNamedPipeName, - &NamedPipeName, - NULL, - NULL) == FALSE) - { - return FALSE; - } - - InitializeObjectAttributes(&ObjectAttributes, - &NamedPipeName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); - Status = NtOpenFile(&FileHandle, - FILE_READ_ATTRIBUTES | SYNCHRONIZE, - &ObjectAttributes, - &Iosb, - FILE_SHARE_READ | FILE_SHARE_WRITE, - FILE_SYNCHRONOUS_IO_NONALERT); - if (!NT_SUCCESS(Status)) - { - SetLastErrorByStatus(Status); - RtlFreeUnicodeString(&NamedPipeName); - return FALSE; - } - - /* Check what timeout we got */ - if (nTimeOut == NMPWAIT_USE_DEFAULT_WAIT) - { - /* Don't use a timeout */ - WaitPipe.TimeoutSpecified = FALSE; - } - else - { - /* Check if we should wait forever */ - if (nTimeOut == NMPWAIT_WAIT_FOREVER) - { - /* Set the max */ - WaitPipe.Timeout.LowPart = 0; - WaitPipe.Timeout.HighPart = 0x80000000; - } - else - { - /* Convert to NT format */ - WaitPipe.Timeout.QuadPart = UInt32x32To64(-10000, nTimeOut); - } - - /* In both cases, we do have a timeout */ - WaitPipe.TimeoutSpecified = TRUE; - } - - Status = NtFsControlFile(FileHandle, - NULL, - NULL, - NULL, - &Iosb, - FSCTL_PIPE_WAIT, - &WaitPipe, - sizeof(WaitPipe), - NULL, - 0); - NtClose(FileHandle); - if (!NT_SUCCESS(Status)) - { - SetLastErrorByStatus(Status); - RtlFreeUnicodeString(&NamedPipeName); - return FALSE; - } - - RtlFreeUnicodeString(&NamedPipeName); - return TRUE; -} -#endif /* Modified: trunk/reactos/drivers/filesystems/npfs/create.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/c…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/create.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -15,15 +15,15 @@ /* FUNCTIONS *****************************************************************/ -static PNPFS_FCB -NpfsFindPipe(PNPFS_DEVICE_EXTENSION DeviceExt, +PNPFS_FCB +NpfsFindPipe(PNPFS_VCB Vcb, PUNICODE_STRING PipeName) { PLIST_ENTRY CurrentEntry; PNPFS_FCB Fcb; - CurrentEntry = DeviceExt->PipeListHead.Flink; - while (CurrentEntry != &DeviceExt->PipeListHead) + CurrentEntry = Vcb->PipeListHead.Flink; + while (CurrentEntry != &Vcb->PipeListHead) { Fcb = CONTAINING_RECORD(CurrentEntry, NPFS_FCB, PipeListEntry); if (RtlCompareUnicodeString(PipeName, @@ -103,53 +103,95 @@ } +static VOID +NpfsOpenRootDirectory(PNPFS_FCB Fcb, + PFILE_OBJECT FileObject, + PIO_STATUS_BLOCK IoStatus) +{ + PNPFS_CCB Ccb; + + DPRINT("NpfsOpenRootDirectory()\n"); + + Ccb = ExAllocatePool(NonPagedPool, sizeof(NPFS_CCB)); + if (Ccb == NULL) + { + IoStatus->Status = STATUS_NO_MEMORY; + return; + } + + Ccb->Type = CCB_DIRECTORY; + Ccb->Fcb = Fcb; + + FileObject->FsContext = Fcb; + FileObject->FsContext2 = Ccb; + + IoStatus->Information = FILE_OPENED; + IoStatus->Status = STATUS_SUCCESS; + + return; +} + + NTSTATUS NTAPI NpfsCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp) { PEXTENDED_IO_STACK_LOCATION IoStack; + PUNICODE_STRING FileName; PFILE_OBJECT FileObject; + PFILE_OBJECT RelatedFileObject; PNPFS_FCB Fcb; PNPFS_CCB ClientCcb; PNPFS_CCB ServerCcb = NULL; - PNPFS_DEVICE_EXTENSION DeviceExt; - BOOLEAN SpecialAccess; + PNPFS_VCB Vcb; ACCESS_MASK DesiredAccess; + NTSTATUS Status; DPRINT("NpfsCreate(DeviceObject %p Irp %p)\n", DeviceObject, Irp); - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp); FileObject = IoStack->FileObject; + RelatedFileObject = FileObject->RelatedFileObject; + FileName = &FileObject->FileName; DesiredAccess = IoStack->Parameters.CreatePipe.SecurityContext->DesiredAccess; + DPRINT("FileObject %p\n", FileObject); DPRINT("FileName %wZ\n", &FileObject->FileName); Irp->IoStatus.Information = 0; - SpecialAccess = ((DesiredAccess & SPECIFIC_RIGHTS_ALL) == FILE_READ_ATTRIBUTES); - if (SpecialAccess) - { - DPRINT("NpfsCreate() open client end for special use!\n"); - } + if (FileName->Length == 2 && FileName->Buffer[0] == L'\\' && RelatedFileObject == NULL) + { + DPRINT("Open the root directory\n"); + + NpfsOpenRootDirectory(Vcb->RootFcb, + FileObject, + &Irp->IoStatus); + + Status = Irp->IoStatus.Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } + /* * Step 1. Find the pipe we're trying to open. */ - KeLockMutex(&DeviceExt->PipeListLock); - Fcb = NpfsFindPipe(DeviceExt, + KeLockMutex(&Vcb->PipeListLock); + Fcb = NpfsFindPipe(Vcb, &FileObject->FileName); if (Fcb == NULL) { /* Not found, bail out with error. */ DPRINT("No pipe found!\n"); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); Irp->IoStatus.Status = STATUS_OBJECT_NAME_NOT_FOUND; IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_OBJECT_NAME_NOT_FOUND; } - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); /* * Acquire the lock for CCB lists. From now on no modifications to the @@ -170,11 +212,13 @@ return STATUS_NO_MEMORY; } + ClientCcb->Type = CCB_PIPE; ClientCcb->Thread = (struct ETHREAD *)Irp->Tail.Overlay.Thread; ClientCcb->Fcb = Fcb; ClientCcb->PipeEnd = FILE_PIPE_CLIENT_END; ClientCcb->OtherSide = NULL; - ClientCcb->PipeState = SpecialAccess ? 0 : FILE_PIPE_DISCONNECTED_STATE; +// ClientCcb->PipeState = SpecialAccess ? 0 : FILE_PIPE_DISCONNECTED_STATE; + ClientCcb->PipeState = FILE_PIPE_DISCONNECTED_STATE; InitializeListHead(&ClientCcb->ReadRequestListHead); DPRINT("CCB: %p\n", ClientCcb); @@ -212,9 +256,10 @@ /* * Step 3. Search for listening server CCB. */ - +/* if (!SpecialAccess) { +*/ /* * WARNING: Point of no return! Once we get the server CCB it's * possible that we completed a wait request and so we have to @@ -270,6 +315,7 @@ /* FIXME: Merge this with the NpfsFindListeningServerInstance routine. */ NpfsSignalAndRemoveListeningServerInstance(Fcb, ServerCcb); } +/* } else if (IsListEmpty(&Fcb->ServerCcbListHead)) { @@ -287,6 +333,7 @@ IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_UNSUCCESSFUL; } +*/ /* * Step 4. Add the client CCB to a list and connect it if possible. @@ -326,7 +373,7 @@ { PEXTENDED_IO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; - PNPFS_DEVICE_EXTENSION DeviceExt; + PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB Ccb; PNAMED_PIPE_CREATE_PARAMETERS Buffer; @@ -334,7 +381,7 @@ DPRINT("NpfsCreateNamedPipe(DeviceObject %p Irp %p)\n", DeviceObject, Irp); - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp); FileObject = IoStack->FileObject; DPRINT("FileObject %p\n", FileObject); @@ -360,13 +407,14 @@ return STATUS_NO_MEMORY; } + Ccb->Type = CCB_PIPE; Ccb->Thread = (struct ETHREAD *)Irp->Tail.Overlay.Thread; - KeLockMutex(&DeviceExt->PipeListLock); + KeLockMutex(&Vcb->PipeListLock); /* * First search for existing Pipe with the same name. */ - Fcb = NpfsFindPipe(DeviceExt, + Fcb = NpfsFindPipe(Vcb, &FileObject->FileName); if (Fcb != NULL) { @@ -374,7 +422,7 @@ * Found Pipe with the same name. Check if we are * allowed to use it. */ - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); if (Fcb->CurrentInstances >= Fcb->MaximumInstances) { @@ -402,7 +450,7 @@ Fcb = ExAllocatePool(NonPagedPool, sizeof(NPFS_FCB)); if (Fcb == NULL) { - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); ExFreePool(Ccb); Irp->IoStatus.Status = STATUS_NO_MEMORY; Irp->IoStatus.Information = 0; @@ -410,12 +458,14 @@ return STATUS_NO_MEMORY; } + Fcb->Type = FCB_PIPE; + Fcb->Vcb = Vcb; Fcb->PipeName.Length = FileObject->FileName.Length; Fcb->PipeName.MaximumLength = Fcb->PipeName.Length + sizeof(UNICODE_NULL); Fcb->PipeName.Buffer = ExAllocatePool(NonPagedPool, Fcb->PipeName.MaximumLength); if (Fcb->PipeName.Buffer == NULL) { - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); ExFreePool(Fcb); ExFreePool(Ccb); Irp->IoStatus.Status = STATUS_NO_MEMORY; @@ -457,18 +507,18 @@ { if (Buffer->InboundQuota == 0) { - Fcb->InboundQuota = DeviceExt->DefaultQuota; + Fcb->InboundQuota = Vcb->DefaultQuota; } else { Fcb->InboundQuota = PAGE_ROUND_UP(Buffer->InboundQuota); - if (Fcb->InboundQuota < DeviceExt->MinQuota) + if (Fcb->InboundQuota < Vcb->MinQuota) { - Fcb->InboundQuota = DeviceExt->MinQuota; + Fcb->InboundQuota = Vcb->MinQuota; } - else if (Fcb->InboundQuota > DeviceExt->MaxQuota) + else if (Fcb->InboundQuota > Vcb->MaxQuota) { - Fcb->InboundQuota = DeviceExt->MaxQuota; + Fcb->InboundQuota = Vcb->MaxQuota; } } } @@ -481,18 +531,18 @@ { if (Buffer->OutboundQuota == 0) { - Fcb->OutboundQuota = DeviceExt->DefaultQuota; + Fcb->OutboundQuota = Vcb->DefaultQuota; } else { Fcb->OutboundQuota = PAGE_ROUND_UP(Buffer->OutboundQuota); - if (Fcb->OutboundQuota < DeviceExt->MinQuota) + if (Fcb->OutboundQuota < Vcb->MinQuota) { - Fcb->OutboundQuota = DeviceExt->MinQuota; + Fcb->OutboundQuota = Vcb->MinQuota; } - else if (Fcb->OutboundQuota > DeviceExt->MaxQuota) + else if (Fcb->OutboundQuota > Vcb->MaxQuota) { - Fcb->OutboundQuota = DeviceExt->MaxQuota; + Fcb->OutboundQuota = Vcb->MaxQuota; } } } @@ -501,8 +551,8 @@ Fcb->OutboundQuota = 0; } - InsertTailList(&DeviceExt->PipeListHead, &Fcb->PipeListEntry); - KeUnlockMutex(&DeviceExt->PipeListLock); + InsertTailList(&Vcb->PipeListHead, &Fcb->PipeListEntry); + KeUnlockMutex(&Vcb->PipeListLock); } if (Fcb->InboundQuota) @@ -514,9 +564,9 @@ if (NewPipe) { - KeLockMutex(&DeviceExt->PipeListLock); + KeLockMutex(&Vcb->PipeListLock); RemoveEntryList(&Fcb->PipeListEntry); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); RtlFreeUnicodeString(&Fcb->PipeName); ExFreePool(Fcb); } @@ -573,7 +623,7 @@ NpfsCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp) { - PNPFS_DEVICE_EXTENSION DeviceExt; + PNPFS_VCB Vcb; PIO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; PNPFS_CCB Ccb, OtherSide; @@ -583,13 +633,22 @@ DPRINT("NpfsCleanup(DeviceObject %p Irp %p)\n", DeviceObject, Irp); IoStack = IoGetCurrentIrpStackLocation(Irp); - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; FileObject = IoStack->FileObject; Ccb = FileObject->FsContext2; if (Ccb == NULL) { DPRINT("Success!\n"); + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } + + if (Ccb->Type == CCB_DIRECTORY) + { + DPRINT("Cleanup the root directory!\n"); Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = 0; IoCompleteRequest(Irp, IO_NO_INCREMENT); @@ -708,9 +767,9 @@ NpfsClose(PDEVICE_OBJECT DeviceObject, PIRP Irp) { - PNPFS_DEVICE_EXTENSION DeviceExt; PIO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; + PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB Ccb; BOOLEAN Server; @@ -718,7 +777,7 @@ DPRINT("NpfsClose(DeviceObject %p Irp %p)\n", DeviceObject, Irp); IoStack = IoGetCurrentIrpStackLocation(Irp); - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; FileObject = IoStack->FileObject; Ccb = FileObject->FsContext2; @@ -731,6 +790,20 @@ return STATUS_SUCCESS; } + if (Ccb->Type == CCB_DIRECTORY) + { + DPRINT("Closing the root directory!\n"); + + ExFreePool(Ccb); + FileObject->FsContext = NULL; + FileObject->FsContext2 = NULL; + + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } + DPRINT("CCB %p\n", Ccb); Fcb = Ccb->Fcb; @@ -771,9 +844,9 @@ IsListEmpty(&Fcb->ClientCcbListHead)) { RtlFreeUnicodeString(&Fcb->PipeName); - KeLockMutex(&DeviceExt->PipeListLock); + KeLockMutex(&Vcb->PipeListLock); RemoveEntryList(&Fcb->PipeListEntry); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); ExFreePool(Fcb); FileObject->FsContext = NULL; } Modified: trunk/reactos/drivers/filesystems/npfs/finfo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/f…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/finfo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/finfo.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -214,7 +214,7 @@ PIO_STACK_LOCATION IoStack; FILE_INFORMATION_CLASS FileInformationClass; PFILE_OBJECT FileObject; - PNPFS_DEVICE_EXTENSION DeviceExtension; + PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB Ccb; PVOID SystemBuffer; @@ -225,7 +225,7 @@ IoStack = IoGetCurrentIrpStackLocation (Irp); FileInformationClass = IoStack->Parameters.QueryFile.FileInformationClass; - DeviceExtension = DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; FileObject = IoStack->FileObject; Ccb = (PNPFS_CCB)FileObject->FsContext2; Fcb = Ccb->Fcb; Modified: trunk/reactos/drivers/filesystems/npfs/fsctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/f…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/fsctrl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/fsctrl.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -293,22 +293,65 @@ PNPFS_CCB Ccb) { PLIST_ENTRY current_entry; + PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB ServerCcb; PFILE_PIPE_WAIT_FOR_BUFFER WaitPipe; + LARGE_INTEGER TimeOut; + UNICODE_STRING PipeName; NTSTATUS Status; - LARGE_INTEGER TimeOut; DPRINT("NpfsWaitPipe\n"); WaitPipe = (PFILE_PIPE_WAIT_FOR_BUFFER)Irp->AssociatedIrp.SystemBuffer; - Fcb = Ccb->Fcb; - - if (Ccb->PipeState != 0) - { - DPRINT("Pipe is not in passive (waiting) state!\n"); - return STATUS_UNSUCCESSFUL; - } + + /* Fail, if the CCB does not represent the root directory */ + if (Ccb->Type != CCB_DIRECTORY) + return STATUS_ILLEGAL_FUNCTION; + + /* Calculate the pipe name length and allocate the buffer */ + PipeName.Length = WaitPipe->NameLength + sizeof(WCHAR); + PipeName.MaximumLength = PipeName.Length + sizeof(WCHAR); + PipeName.Buffer = ExAllocatePool(NonPagedPool, PipeName.MaximumLength); + if (PipeName.Buffer == NULL) + { + DPRINT1("Could not allocate memory for the pipe name!\n"); + return STATUS_NO_MEMORY; + } + + /* Copy the pipe name into the buffer, prepend a backslash and append a 0 character */ + PipeName.Buffer[0] = L'\\'; + RtlCopyMemory(&PipeName.Buffer[1], + &WaitPipe->Name[0], + WaitPipe->NameLength); + PipeName.Buffer[PipeName.Length / sizeof(WCHAR)] = 0; + + DPRINT("Waiting for Pipe %wZ\n", &PipeName); + + /* Get the VCB */ + Vcb = Ccb->Fcb->Vcb; + + /* Lock the pipe list */ + KeLockMutex(&Vcb->PipeListLock); + + /* File a pipe with the given name */ + Fcb = NpfsFindPipe(Vcb, + &PipeName); + + /* Unlock the pipe list */ + KeUnlockMutex(&Vcb->PipeListLock); + + /* Release the pipe name buffer */ + ExFreePool(PipeName.Buffer); + + /* Fail if not pipe was found */ + if (Fcb == NULL) + { + DPRINT("No pipe found!\n", Fcb); + return STATUS_OBJECT_NAME_NOT_FOUND; + } + + DPRINT("Fcb %p\n", Fcb); /* search for listening server */ current_entry = Fcb->ServerCcbListHead.Flink; @@ -484,13 +527,13 @@ PIO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; NTSTATUS Status; - PNPFS_DEVICE_EXTENSION DeviceExt; + PNPFS_VCB Vcb; PNPFS_FCB Fcb; PNPFS_CCB Ccb; DPRINT("NpfsFileSystemContol(DeviceObject %p Irp %p)\n", DeviceObject, Irp); - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; IoStack = IoGetCurrentIrpStackLocation(Irp); DPRINT("IoStack: %p\n", IoStack); FileObject = IoStack->FileObject; Modified: trunk/reactos/drivers/filesystems/npfs/npfs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/n…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/npfs.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/npfs.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -19,9 +19,10 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { - PNPFS_DEVICE_EXTENSION DeviceExtension; PDEVICE_OBJECT DeviceObject; UNICODE_STRING DeviceName; + PNPFS_VCB Vcb; + PNPFS_FCB Fcb; NTSTATUS Status; DPRINT("Named Pipe FSD 0.0.2\n"); @@ -56,7 +57,7 @@ RtlInitUnicodeString(&DeviceName, L"\\Device\\NamedPipe"); Status = IoCreateDevice(DriverObject, - sizeof(NPFS_DEVICE_EXTENSION), + sizeof(NPFS_VCB), &DeviceName, FILE_DEVICE_NAMED_PIPE, 0, @@ -68,21 +69,29 @@ return Status; } - /* initialize the device object */ + /* Initialize the device object */ DeviceObject->Flags |= DO_DIRECT_IO; DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING; - /* initialize the device extension */ - DeviceExtension = DeviceObject->DeviceExtension; - InitializeListHead(&DeviceExtension->PipeListHead); - InitializeListHead(&DeviceExtension->ThreadListHead); - KeInitializeMutex(&DeviceExtension->PipeListLock, 0); - DeviceExtension->EmptyWaiterCount = 0; + /* Initialize the Volume Control Block (VCB) */ + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; + InitializeListHead(&Vcb->PipeListHead); + InitializeListHead(&Vcb->ThreadListHead); + KeInitializeMutex(&Vcb->PipeListLock, 0); + Vcb->EmptyWaiterCount = 0; /* set the size quotas */ - DeviceExtension->MinQuota = PAGE_SIZE; - DeviceExtension->DefaultQuota = 8 * PAGE_SIZE; - DeviceExtension->MaxQuota = 64 * PAGE_SIZE; + Vcb->MinQuota = PAGE_SIZE; + Vcb->DefaultQuota = 8 * PAGE_SIZE; + Vcb->MaxQuota = 64 * PAGE_SIZE; + + Fcb = ExAllocatePool(NonPagedPool, sizeof(NPFS_FCB)); + Fcb->Type = FCB_DIRECTORY; + Fcb->Vcb = Vcb; + + + + Vcb->RootFcb = Fcb; return STATUS_SUCCESS; } Modified: trunk/reactos/drivers/filesystems/npfs/npfs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/n…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/npfs.h [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/npfs.h [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -4,7 +4,22 @@ #include <ntifs.h> #include <ndk/iotypes.h> -typedef struct _NPFS_DEVICE_EXTENSION +typedef enum _FCB_TYPE +{ + FCB_DEVICE, + FCB_DIRECTORY, + FCB_PIPE +} FCB_TYPE; + +typedef enum _CCB_TYPE +{ + CCB_DEVICE, + CCB_DIRECTORY, + CCB_PIPE +} CCB_TYPE; + +/* Volume Control Block (VCB) aka Device Extension */ +typedef struct _NPFS_VCB { LIST_ENTRY PipeListHead; LIST_ENTRY ThreadListHead; @@ -13,11 +28,13 @@ ULONG MinQuota; ULONG DefaultQuota; ULONG MaxQuota; -} NPFS_DEVICE_EXTENSION, *PNPFS_DEVICE_EXTENSION; + struct _NPFS_FCB *RootFcb; +} NPFS_VCB, *PNPFS_VCB; typedef struct _NPFS_FCB { - FSRTL_COMMON_FCB_HEADER RFCB; + FCB_TYPE Type; + PNPFS_VCB Vcb; UNICODE_STRING PipeName; LIST_ENTRY PipeListEntry; KMUTEX CcbListLock; @@ -40,9 +57,11 @@ typedef struct _NPFS_CCB { LIST_ENTRY CcbListEntry; + CCB_TYPE Type; + PNPFS_FCB Fcb; + struct _NPFS_CCB* OtherSide; struct ETHREAD *Thread; - PNPFS_FCB Fcb; KEVENT ConnectEvent; KEVENT ReadEvent; KEVENT WriteEvent; @@ -71,7 +90,7 @@ { ULONG Count; KEVENT Event; - PNPFS_DEVICE_EXTENSION DeviceExt; + PNPFS_VCB Vcb; LIST_ENTRY ListEntry; PVOID WaitObjectArray[MAXIMUM_WAIT_OBJECTS]; KWAIT_BLOCK WaitBlockArray[MAXIMUM_WAIT_OBJECTS]; @@ -135,4 +154,9 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath); +PNPFS_FCB +NpfsFindPipe(PNPFS_VCB Vcb, + PUNICODE_STRING PipeName); + + #endif /* __DRIVERS_FS_NP_NPFS_H */ Modified: trunk/reactos/drivers/filesystems/npfs/rw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/r…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] Fri Nov 19 22:42:53 2010 @@ -48,8 +48,8 @@ IN PIRP Irp) { PNPFS_CONTEXT Context; - PNPFS_DEVICE_EXTENSION DeviceExt; PIO_STACK_LOCATION IoStack; + PNPFS_VCB Vcb; PNPFS_CCB Ccb; PLIST_ENTRY ListEntry; PNPFS_THREAD_CONTEXT ThreadContext; @@ -60,17 +60,17 @@ IoReleaseCancelSpinLock(Irp->CancelIrql); Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; - DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; IoStack = IoGetCurrentIrpStackLocation(Irp); Ccb = IoStack->FileObject->FsContext2; - KeLockMutex(&DeviceExt->PipeListLock); + KeLockMutex(&Vcb->PipeListLock); ExAcquireFastMutex(&Ccb->DataListLock); switch(IoStack->MajorFunction) { case IRP_MJ_READ: - ListEntry = DeviceExt->ThreadListHead.Flink; - while (ListEntry != &DeviceExt->ThreadListHead) + ListEntry = Vcb->ThreadListHead.Flink; + while (ListEntry != &Vcb->ThreadListHead) { ThreadContext = CONTAINING_RECORD(ListEntry, NPFS_THREAD_CONTEXT, ListEntry); /* Real events start at index 1 */ @@ -92,7 +92,7 @@ KeSetEvent(&ThreadContext->Event, IO_NO_INCREMENT, FALSE); ExReleaseFastMutex(&Ccb->DataListLock); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); return; } @@ -103,7 +103,7 @@ RemoveEntryList(&Context->ListEntry); ExReleaseFastMutex(&Ccb->DataListLock); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); Irp->IoStatus.Status = STATUS_CANCELLED; Irp->IoStatus.Information = 0; @@ -126,12 +126,12 @@ PIO_STACK_LOCATION IoStack = NULL; KIRQL OldIrql; - KeLockMutex(&ThreadContext->DeviceExt->PipeListLock); + KeLockMutex(&ThreadContext->Vcb->PipeListLock); while (1) { CurrentCount = ThreadContext->Count; - KeUnlockMutex(&ThreadContext->DeviceExt->PipeListLock); + KeUnlockMutex(&ThreadContext->Vcb->PipeListLock); IoAcquireCancelSpinLock(&OldIrql); if (Irp && IoSetCancelRoutine(Irp, NULL) != NULL) { @@ -162,14 +162,14 @@ { ASSERT(FALSE); } - KeLockMutex(&ThreadContext->DeviceExt->PipeListLock); + KeLockMutex(&ThreadContext->Vcb->PipeListLock); Count = Status - STATUS_WAIT_0; ASSERT (Count < CurrentCount); if (Count > 0) { Irp = ThreadContext->WaitIrpArray[Count]; ThreadContext->Count--; - ThreadContext->DeviceExt->EmptyWaiterCount++; + ThreadContext->Vcb->EmptyWaiterCount++; ThreadContext->WaitObjectArray[Count] = ThreadContext->WaitObjectArray[ThreadContext->Count]; ThreadContext->WaitIrpArray[Count] = ThreadContext->WaitIrpArray[ThreadContext->Count]; } @@ -184,18 +184,18 @@ if (ThreadContext->WaitIrpArray[i] == NULL) { ThreadContext->Count--; - ThreadContext->DeviceExt->EmptyWaiterCount++; + ThreadContext->Vcb->EmptyWaiterCount++; ThreadContext->WaitObjectArray[i] = ThreadContext->WaitObjectArray[ThreadContext->Count]; ThreadContext->WaitIrpArray[i] = ThreadContext->WaitIrpArray[ThreadContext->Count]; } } } - if (ThreadContext->Count == 1 && ThreadContext->DeviceExt->EmptyWaiterCount >= MAXIMUM_WAIT_OBJECTS) + if (ThreadContext->Count == 1 && ThreadContext->Vcb->EmptyWaiterCount >= MAXIMUM_WAIT_OBJECTS) { /* it exist an other thread with empty wait slots, we can remove our thread from the list */ RemoveEntryList(&ThreadContext->ListEntry); - ThreadContext->DeviceExt->EmptyWaiterCount -= MAXIMUM_WAIT_OBJECTS - 1; - KeUnlockMutex(&ThreadContext->DeviceExt->PipeListLock); + ThreadContext->Vcb->EmptyWaiterCount -= MAXIMUM_WAIT_OBJECTS - 1; + KeUnlockMutex(&ThreadContext->Vcb->PipeListLock); break; } } @@ -208,19 +208,21 @@ { PLIST_ENTRY ListEntry; PNPFS_THREAD_CONTEXT ThreadContext = NULL; + PNPFS_CONTEXT Context; + HANDLE hThread; + PNPFS_VCB Vcb; + KIRQL oldIrql; NTSTATUS Status; - HANDLE hThread; - KIRQL oldIrql; - - PNPFS_CONTEXT Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; - PNPFS_DEVICE_EXTENSION DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; + Vcb = (PNPFS_VCB)DeviceObject->DeviceExtension; DPRINT("NpfsAddWaitingReadWriteRequest(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); - KeLockMutex(&DeviceExt->PipeListLock); - - ListEntry = DeviceExt->ThreadListHead.Flink; - while (ListEntry != &DeviceExt->ThreadListHead) + KeLockMutex(&Vcb->PipeListLock); + + ListEntry = Vcb->ThreadListHead.Flink; + while (ListEntry != &Vcb->ThreadListHead) { ThreadContext = CONTAINING_RECORD(ListEntry, NPFS_THREAD_CONTEXT, ListEntry); if (ThreadContext->Count < MAXIMUM_WAIT_OBJECTS) @@ -229,19 +231,20 @@ } ListEntry = ListEntry->Flink; } - if (ListEntry == &DeviceExt->ThreadListHead) + + if (ListEntry == &Vcb->ThreadListHead) { ThreadContext = ExAllocatePool(NonPagedPool, sizeof(NPFS_THREAD_CONTEXT)); if (ThreadContext == NULL) { - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); return STATUS_NO_MEMORY; } - ThreadContext->DeviceExt = DeviceExt; + + ThreadContext->Vcb = Vcb; KeInitializeEvent(&ThreadContext->Event, SynchronizationEvent, FALSE); ThreadContext->Count = 1; ThreadContext->WaitObjectArray[0] = &ThreadContext->Event; - DPRINT("Creating a new system thread for waiting read/write requests\n"); @@ -255,11 +258,12 @@ if (!NT_SUCCESS(Status)) { ExFreePool(ThreadContext); - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); return Status; } - InsertHeadList(&DeviceExt->ThreadListHead, &ThreadContext->ListEntry); - DeviceExt->EmptyWaiterCount += MAXIMUM_WAIT_OBJECTS - 1; + + InsertHeadList(&Vcb->ThreadListHead, &ThreadContext->ListEntry); + Vcb->EmptyWaiterCount += MAXIMUM_WAIT_OBJECTS - 1; } IoMarkIrpPending(Irp); @@ -276,11 +280,11 @@ ThreadContext->WaitObjectArray[ThreadContext->Count] = Context->WaitEvent; ThreadContext->WaitIrpArray[ThreadContext->Count] = Irp; ThreadContext->Count++; - DeviceExt->EmptyWaiterCount--; + Vcb->EmptyWaiterCount--; KeSetEvent(&ThreadContext->Event, IO_NO_INCREMENT, FALSE); Status = STATUS_SUCCESS; } - KeUnlockMutex(&DeviceExt->PipeListLock); + KeUnlockMutex(&Vcb->PipeListLock); return Status; }
14 years, 1 month
1
0
0
0
[tkreuzer] 49645: [CMAKE] - Add asm dependencies to freeldr, ntdll, crt - Add importlib for hal and ntoskrnl - Fix ntoskrnl spec file - Fix resource pathes in ntoskrnl.rc
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 22:02:33 2010 New Revision: 49645 URL:
http://svn.reactos.org/svn/reactos?rev=49645&view=rev
Log: [CMAKE] - Add asm dependencies to freeldr, ntdll, crt - Add importlib for hal and ntoskrnl - Fix ntoskrnl spec file - Fix resource pathes in ntoskrnl.rc Modified: branches/cmake-bringup/boot/CMakeLists.txt branches/cmake-bringup/dll/ntdll/CMakeLists.txt branches/cmake-bringup/hal/CMakeLists.txt branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt branches/cmake-bringup/ntoskrnl/CMakeLists.txt branches/cmake-bringup/ntoskrnl/ntoskrnl.rc branches/cmake-bringup/ntoskrnl/ntoskrnl.spec Modified: branches/cmake-bringup/boot/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/boot/CMakeLists.t…
============================================================================== --- branches/cmake-bringup/boot/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/boot/CMakeLists.txt [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -200,7 +200,7 @@ rtl libcntpr) add_pch(freeldr ${CMAKE_CURRENT_SOURCE_DIR}/freeldr/freeldr/include/freeldr.h ${FREELDR_SOURCE}) -add_dependencies(freeldr ks386) +add_dependencies(freeldr asm) list(APPEND SETUPLDR_SOURCE ${FREELDR_STARTUP_SOURCE} @@ -232,7 +232,7 @@ rtl libcntpr) -add_dependencies(setupldr ks386) +add_dependencies(setupldr asm) # Bootcd files add_minicd_target(setupldr loader setupldr.sys) Modified: branches/cmake-bringup/dll/ntdll/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/ntdll/CMakeLi…
============================================================================== --- branches/cmake-bringup/dll/ntdll/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/ntdll/CMakeLists.txt [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -51,7 +51,7 @@ ${PSEH_LIB}) add_pch(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/include/ntdll.h ${SOURCE}) -add_dependencies(ntdll ntstatus) +add_dependencies(ntdll ntstatus asm) add_minicd_target(ntdll reactos/system32 ntdll.dll) add_cab_target(ntdll 1) Modified: branches/cmake-bringup/hal/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/hal/CMakeLists.tx…
============================================================================== --- branches/cmake-bringup/hal/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/hal/CMakeLists.txt [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -104,4 +104,6 @@ add_livecd_target(hal reactos/system32) else() #TBD -endif(ARCH MATCHES i386) +endif(ARCH MATCHES i386) + +add_importlib_target(hal.spec) Modified: branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/CMake…
============================================================================== --- branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/lib/sdk/crt/CMakeLists.txt [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -413,7 +413,7 @@ set_property(TARGET crt PROPERTY COMPILE_DEFINITIONS __MINGW_IMPORT=extern USE_MSVCRT_PREFIX _MSVCRT_LIB_ _MSVCRT_ _MT) add_pch(crt ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${CRT_SOURCE}) -add_dependencies(crt psdk buildno_header ks386) +add_dependencies(crt psdk buildno_header asm) list(APPEND LIBCNTPR_SOURCE except/${ARCH}/chkstk_asm.s Modified: branches/cmake-bringup/ntoskrnl/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/CMakeLis…
============================================================================== --- branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -426,7 +426,8 @@ add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE}) set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE) -add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi) +add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi asm) add_minicd_target(ntoskrnl reactos ntoskrnl.exe) -add_livecd_target(ntoskrnl reactos/system32) +add_livecd_target(ntoskrnl reactos/system32) +add_importlib_target(ntoskrnl.spec) Modified: branches/cmake-bringup/ntoskrnl/ntoskrnl.rc URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/ntoskrnl…
============================================================================== --- branches/cmake-bringup/ntoskrnl/ntoskrnl.rc [iso-8859-1] (original) +++ branches/cmake-bringup/ntoskrnl/ntoskrnl.rc [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -23,20 +23,20 @@ #endif #define VER_LANGNEUTRAL #include "common.ver" -#include "resource.h" +#include "include/resource.h" // // Bug Codes and Bitmaps // #include "bugcodes.rc" -IDB_BOOT_LOGO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/1.bmp" -IDB_HIBERNATE_LOGO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/2.bmp" -IDB_SHUTDOWN_LOGO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/3.bmp" -IDB_BAR_SERVER BITMAP DISCARDABLE "ntoskrnl/inbv/logo/4.bmp" -IDB_LOGO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/5.bmp" -IDB_LOGO_HEADER BITMAP DISCARDABLE "ntoskrnl/inbv/logo/6.bmp" -IDB_LOGO_BAND BITMAP DISCARDABLE "ntoskrnl/inbv/logo/7.bmp" -IDB_BAR_PRO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/8.bmp" -IDB_SERVER_LOGO BITMAP DISCARDABLE "ntoskrnl/inbv/logo/5.bmp" -IDB_SERVER_HEADER BITMAP DISCARDABLE "ntoskrnl/inbv/logo/14.bmp" -IDB_SERVER_BAND BITMAP DISCARDABLE "ntoskrnl/inbv/logo/15.bmp" +IDB_BOOT_LOGO BITMAP DISCARDABLE "inbv/logo/1.bmp" +IDB_HIBERNATE_LOGO BITMAP DISCARDABLE "inbv/logo/2.bmp" +IDB_SHUTDOWN_LOGO BITMAP DISCARDABLE "inbv/logo/3.bmp" +IDB_BAR_SERVER BITMAP DISCARDABLE "inbv/logo/4.bmp" +IDB_LOGO BITMAP DISCARDABLE "inbv/logo/5.bmp" +IDB_LOGO_HEADER BITMAP DISCARDABLE "inbv/logo/6.bmp" +IDB_LOGO_BAND BITMAP DISCARDABLE "inbv/logo/7.bmp" +IDB_BAR_PRO BITMAP DISCARDABLE "inbv/logo/8.bmp" +IDB_SERVER_LOGO BITMAP DISCARDABLE "inbv/logo/5.bmp" +IDB_SERVER_HEADER BITMAP DISCARDABLE "inbv/logo/14.bmp" +IDB_SERVER_BAND BITMAP DISCARDABLE "inbv/logo/15.bmp" Modified: branches/cmake-bringup/ntoskrnl/ntoskrnl.spec URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/ntoskrnl…
============================================================================== --- branches/cmake-bringup/ntoskrnl/ntoskrnl.spec [iso-8859-1] (original) +++ branches/cmake-bringup/ntoskrnl/ntoskrnl.spec [iso-8859-1] Fri Nov 19 22:02:33 2010 @@ -700,7 +700,7 @@ @ fastcall KefAcquireSpinLockAtDpcLevel(ptr) @ fastcall KefReleaseSpinLockFromDpcLevel(ptr) @ stdcall -arch=i386 Kei386EoiHelper() -@ fastcall -arch=i386 KiEoiHelper(ptr) /* FIXME: Evaluate decision */ +@ fastcall -arch=i386 KiEoiHelper(ptr) @ fastcall KiAcquireSpinLock(ptr) @ extern KiBugCheckData @ stdcall KiCheckForKernelApcDelivery()
14 years, 1 month
1
0
0
0
[tkreuzer] 49644: [NCI] fix win32k stubs
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 19:44:05 2010 New Revision: 49644 URL:
http://svn.reactos.org/svn/reactos?rev=49644&view=rev
Log: [NCI] fix win32k stubs Modified: branches/cmake-bringup/tools/nci/ncitool.c Modified: branches/cmake-bringup/tools/nci/ncitool.c URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/tools/nci/ncitool…
============================================================================== --- branches/cmake-bringup/tools/nci/ncitool.c [iso-8859-1] (original) +++ branches/cmake-bringup/tools/nci/ncitool.c [iso-8859-1] Fri Nov 19 19:44:05 2010 @@ -703,6 +703,9 @@ WriteFileHeader(Files[Win32kStubs], "System Call Stubs for Native API", argv[Win32kStubs + ArgOffset]); + fputs("#include <asm.inc>\n" + "#include <ks386.inc>\n" + ".code\n\n", Files[Win32kStubs]); /* Create the System Stubs */ CreateStubs(Files[NativeSystemDb],
14 years, 1 month
1
0
0
0
[tkreuzer] 49643: [CRT] Remove unneccessary prototypes
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 18:57:51 2010 New Revision: 49643 URL:
http://svn.reactos.org/svn/reactos?rev=49643&view=rev
Log: [CRT] Remove unneccessary prototypes Modified: branches/cmake-bringup/lib/sdk/crt/include/internal/file.h Modified: branches/cmake-bringup/lib/sdk/crt/include/internal/file.h URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/inclu…
============================================================================== --- branches/cmake-bringup/lib/sdk/crt/include/internal/file.h [iso-8859-1] (original) +++ branches/cmake-bringup/lib/sdk/crt/include/internal/file.h [iso-8859-1] Fri Nov 19 18:57:51 2010 @@ -127,8 +127,6 @@ int _isnanl(long double x); int _isinfl(long double x); -int _isnan(double x); -int _isinf(double x); /* Flags for the iobuf structure (for reference) */ #if 0
14 years, 1 month
1
0
0
0
[tkreuzer] 49642: [CRT] Silence a warning
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 18:56:58 2010 New Revision: 49642 URL:
http://svn.reactos.org/svn/reactos?rev=49642&view=rev
Log: [CRT] Silence a warning Modified: branches/cmake-bringup/lib/sdk/crt/misc/assert.c Modified: branches/cmake-bringup/lib/sdk/crt/misc/assert.c URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/sdk/crt/misc/…
============================================================================== --- branches/cmake-bringup/lib/sdk/crt/misc/assert.c [iso-8859-1] (original) +++ branches/cmake-bringup/lib/sdk/crt/misc/assert.c [iso-8859-1] Fri Nov 19 18:56:58 2010 @@ -32,7 +32,7 @@ /* Get MessageBoxA function pointer */ hmodUser32 = LoadLibrary("user32.dll"); - pMessageBoxA = GetProcAddress(hmodUser32, "MessageBoxA"); + pMessageBoxA = (PVOID)GetProcAddress(hmodUser32, "MessageBoxA"); if (!pMessageBoxA) { abort();
14 years, 1 month
1
0
0
0
[tkreuzer] 49641: [RTL] Add dependency to asm
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 18:55:26 2010 New Revision: 49641 URL:
http://svn.reactos.org/svn/reactos?rev=49641&view=rev
Log: [RTL] Add dependency to asm Modified: branches/cmake-bringup/lib/rtl/CMakeLists.txt Modified: branches/cmake-bringup/lib/rtl/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/rtl/CMakeList…
============================================================================== --- branches/cmake-bringup/lib/rtl/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/lib/rtl/CMakeLists.txt [iso-8859-1] Fri Nov 19 18:55:26 2010 @@ -100,4 +100,5 @@ add_library(rtl ${CMAKE_CURRENT_BINARY_DIR}/rtl_rtl.h.gch ${SOURCE}) add_pch(rtl ${CMAKE_CURRENT_SOURCE_DIR}/rtl.h ${SOURCE}) -add_dependencies(rtl psdk ks386) +add_dependencies(rtl psdk asm) +
14 years, 1 month
1
0
0
0
[tkreuzer] 49640: [WIN32K] Convert asm files into new syntax
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 18:51:50 2010 New Revision: 49640 URL:
http://svn.reactos.org/svn/reactos?rev=49640&view=rev
Log: [WIN32K] Convert asm files into new syntax Modified: branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib24bpp_hline.s branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_hline.s branches/cmake-bringup/subsystems/win32/win32k/eng/i386/floatobj.S branches/cmake-bringup/subsystems/win32/win32k/misc/i386/atan2_asm.s branches/cmake-bringup/subsystems/win32/win32k/misc/i386/ceil_asm.s branches/cmake-bringup/subsystems/win32/win32k/misc/i386/cos_asm.s branches/cmake-bringup/subsystems/win32/win32k/misc/i386/floor_asm.s branches/cmake-bringup/subsystems/win32/win32k/misc/i386/sin_asm.s Modified: branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib24bpp_hline.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib24bpp_hline.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib24bpp_hline.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -6,13 +6,12 @@ * PROGRAMMERS: Magnus Olsen */ -.globl _DIB_24BPP_HLine -.intel_syntax noprefix +#include <asm.inc> -.def _DIB_24BPP_HLine; -.scl 2; -.type 32; -.endef +.code + +PUBLIC _DIB_24BPP_HLine + _DIB_24BPP_HLine: push edi push esi @@ -151,3 +150,5 @@ pop esi pop edi ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -7,15 +7,16 @@ * Timo Kreuzer (timo.kreuzer(a)reactos.org) */ -.intel_syntax noprefix +#include <asm.inc> +.code /* * BOOLEAN * _cdecl * DIB_32BPP_ColorFill(SURFOBJ* pso, RECTL* prcl, ULONG iColor); */ -.globl _DIB_32BPP_ColorFill +PUBLIC _DIB_32BPP_ColorFill _DIB_32BPP_ColorFill: push ebp mov ebp, esp @@ -27,22 +28,22 @@ mov edx, [ebp+12] /* edx = prcl */ mov ecx, [ebp+8] /* ecx = pso */ - mov ebx, [ecx+0x24] /* ebx = pso->lDelta; */ + mov ebx, [ecx+36] /* ebx = pso->lDelta; */ mov [esp], ebx /* lDelta = pso->lDelta; */ mov edi, [edx+4] /* edi = prcl->top; */ mov eax, edi /* eax = prcl->top; */ imul eax, ebx /* eax = prcl->top * pso->lDelta; */ - add eax, [ecx+0x20] /* eax += pso->pvScan0; */ + add eax, [ecx+32] /* eax += pso->pvScan0; */ mov ebx, [edx] /* ebx = prcl->left; */ lea esi, [eax+ebx*4] /* esi = pvLine0 = eax + 4 * prcl->left; */ mov ebx, [edx+8] /* ebx = prcl->right; */ sub ebx, [edx] /* ebx = prcl->right - prcl->left; */ - jbe end /* if (ebx <= 0) goto end; */ + jbe .end /* if (ebx <= 0) goto end; */ mov edx, [edx+12] /* edx = prcl->bottom; */ sub edx, edi /* edx -= prcl->top; */ - jbe end /* if (eax <= 0) goto end; */ + jbe .end /* if (eax <= 0) goto end; */ mov eax, [ebp+16] /* eax = iColor; */ cld @@ -55,7 +56,7 @@ dec edx /* cy--; */ jnz for_loop /* } while (cy > 0); */ -end: +.end: mov eax, 1 add esp, 4 pop edi @@ -63,3 +64,5 @@ pop ebx pop ebp ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_hline.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_hline.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/dib/i386/dib32bpp_hline.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -6,13 +6,11 @@ * PROGRAMMERS: Magnus Olsen */ -.globl _DIB_32BPP_HLine -.intel_syntax noprefix +#include <asm.inc> -.def _DIB_32BPP_HLine; -.scl 2; -.type 32; -.endef +.code + +PUBLIC _DIB_32BPP_HLine _DIB_32BPP_HLine: sub esp, 12 // rember the base is not hex it is dec @@ -55,3 +53,4 @@ add esp, 12 ret +END Modified: branches/cmake-bringup/subsystems/win32/win32k/eng/i386/floatobj.S URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/eng/i386/floatobj.S [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/eng/i386/floatobj.S [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -6,6 +6,9 @@ * PROGRAMMER: Timo Kreuzer */ +#include <asm.inc> + +.code /******************************************************************************* * IEEE 754-1985 single precision floating point @@ -72,9 +75,6 @@ * FLOATOBJ_SubLong - wrapper */ -.intel_syntax noprefix -.text - #define lMant 0 #define lExp 4 @@ -87,24 +87,24 @@ * FLOATOBJ_SetFloat(IN OUT PFLOATOBJ pf, IN FLOATL f); */ _FLOATOBJ_SetFloat@8: -.global _FLOATOBJ_SetFloat@8 +PUBLIC _FLOATOBJ_SetFloat@8 push ebp mov ebp, esp mov ecx, [esp + PARAM2] /* Load the float into ecx */ mov eax, ecx /* Copy float to eax for later */ - test ecx, 0x7f800000 /* Check for zero exponent - 0 or denormal */ + test ecx, HEX(7f800000) /* Check for zero exponent - 0 or denormal */ jz SetFloat0 /* If it's all zero, ... */ shl ecx, 7 /* Put the bits for the mantissa in place */ cdq /* Fill edx with the sign from the FLOATL in eax */ - and ecx, 0x7fffffff /* Mask out invalid field in the mantissa */ + and ecx, HEX(7fffffff) /* Mask out invalid field in the mantissa */ shr eax, 23 /* Shift the exponent in eax in place */ - or ecx, 0x40000000 /* Set bit for 1 in the mantissa */ - and eax, 0xff /* Mask out invalid fields in the exponent in eax */ + or ecx, HEX(40000000) /* Set bit for 1 in the mantissa */ + and eax, HEX(0ff) /* Mask out invalid fields in the exponent in eax */ xor ecx, edx /* Make use of the sign bit expanded to full edx */ @@ -136,7 +136,7 @@ * */ _FLOATOBJ_GetFloat@4: -.global _FLOATOBJ_GetFloat@4 +PUBLIC _FLOATOBJ_GetFloat@4 push ebp mov ebp, esp @@ -152,13 +152,13 @@ sub eax, edx jz GetFloatRet - and ecx, 0xff /* Mask out invalid fields in the exponent */ - and eax, 0x3fffffff /* Mask out invalid fields in mantissa */ + and ecx, HEX(0ff) /* Mask out invalid fields in the exponent */ + and eax, HEX(3fffffff) /* Mask out invalid fields in mantissa */ shl ecx, 23 /* Shift exponent in place */ shr eax, 7 /* Shift mantissa in place */ - and edx, 0x80000000 /* Reduce edx to sign bit only */ + and edx, HEX(80000000) /* Reduce edx to sign bit only */ or eax, ecx /* Set exponent in result */ or eax, edx /* Set sign bit in result */ @@ -178,7 +178,7 @@ * Instead of using abs(l), which is 3 + 2 instructions, use a branch. */ _FLOATOBJ_SetLong@8: -.global _FLOATOBJ_SetLong@8 +PUBLIC _FLOATOBJ_SetLong@8 push ebp mov ebp, esp @@ -236,7 +236,7 @@ * */ _FLOATOBJ_GetLong@4: -.global _FLOATOBJ_GetLong@4 +PUBLIC _FLOATOBJ_GetLong@4 push ebp mov ebp, esp @@ -263,7 +263,7 @@ * FLOATOBJ_Equal(IN PFLOATOBJ pf1, IN PFLOATOBJ pf2); */ _FLOATOBJ_Equal@8: -.global _FLOATOBJ_Equal@8 +PUBLIC _FLOATOBJ_Equal@8 push ebp mov ebp, esp @@ -291,7 +291,7 @@ * FLOATOBJ_EqualLong(IN PFLOATOBJ pf, IN LONG l); */ _FLOATOBJ_EqualLong@8: -.global _FLOATOBJ_EqualLong@8 +PUBLIC _FLOATOBJ_EqualLong@8 push ebp mov ebp, esp @@ -325,7 +325,7 @@ * */ _FLOATOBJ_GreaterThan@8: -.global _FLOATOBJ_GreaterThan@8 +PUBLIC _FLOATOBJ_GreaterThan@8 push ebp mov ebp, esp @@ -415,7 +415,7 @@ * LOATOBJ_GreaterThan */ _FLOATOBJ_GreaterThanLong@8: -.global _FLOATOBJ_GreaterThanLong@8 +PUBLIC _FLOATOBJ_GreaterThanLong@8 push ebp mov ebp, esp @@ -445,7 +445,7 @@ * */ _FLOATOBJ_LessThan@8: -.global _FLOATOBJ_LessThan@8 +PUBLIC _FLOATOBJ_LessThan@8 push ebp mov ebp, esp @@ -536,7 +536,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetLong and FLOATOBJ_LessThan */ _FLOATOBJ_LessThanLong@8: -.global _FLOATOBJ_LessThanLong@8 +PUBLIC _FLOATOBJ_LessThanLong@8 push ebp mov ebp, esp @@ -569,7 +569,7 @@ * No special handling for 0, where mantissa is 0 */ _FLOATOBJ_Mul@8: -.global _FLOATOBJ_Mul@8 +PUBLIC _FLOATOBJ_Mul@8 push ebp mov ebp, esp @@ -620,7 +620,7 @@ lea edx, [edx + ecx -2] /* Normalize exponent in edx */ - or eax, 0x80000000 /* Set sign bit */ + or eax, HEX(80000000) /* Set sign bit */ mov ecx, [esp + PARAM1] /* Load pf1 into ecx */ mov [ecx + lMant], eax /* Save back mantissa */ @@ -646,7 +646,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetFloat and FLOATOBJ_Mul */ _FLOATOBJ_MulFloat@8: -.global _FLOATOBJ_MulFloat@8 +PUBLIC _FLOATOBJ_MulFloat@8 push ebp mov ebp, esp @@ -675,7 +675,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetLong and FLOATOBJ_Mul */ _FLOATOBJ_MulLong@8: -.global _FLOATOBJ_MulLong@8 +PUBLIC _FLOATOBJ_MulLong@8 push ebp mov ebp, esp @@ -703,7 +703,7 @@ * */ _FLOATOBJ_Div@8: -.global _FLOATOBJ_Div@8 +PUBLIC _FLOATOBJ_Div@8 push ebp mov ebp, esp push ebx @@ -736,7 +736,7 @@ div ecx /* Do an unsigned divide */ xor ecx, ecx /* Adjust result */ - test eax, 0x80000000 + test eax, HEX(80000000) setnz cl shr eax, cl @@ -773,7 +773,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetFloat and FLOATOBJ_Div */ _FLOATOBJ_DivFloat@8: -.global _FLOATOBJ_DivFloat@8 +PUBLIC _FLOATOBJ_DivFloat@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -802,7 +802,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetLong and FLOATOBJ_Div */ _FLOATOBJ_DivLong@8: -.global _FLOATOBJ_DivLong@8 +PUBLIC _FLOATOBJ_DivLong@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -829,7 +829,7 @@ * */ _FLOATOBJ_Add@8: -.global _FLOATOBJ_Add@8 +PUBLIC _FLOATOBJ_Add@8 push ebp mov ebp, esp push ebx @@ -928,7 +928,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetFloat and FLOATOBJ_Add */ _FLOATOBJ_AddFloat@8: -.global _FLOATOBJ_AddFloat@8 +PUBLIC _FLOATOBJ_AddFloat@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -957,7 +957,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetLong and FLOATOBJ_Add */ _FLOATOBJ_AddLong@8: -.global _FLOATOBJ_AddLong@8 +PUBLIC _FLOATOBJ_AddLong@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -985,7 +985,7 @@ * */ _FLOATOBJ_Sub@8: -.global _FLOATOBJ_Sub@8 +PUBLIC _FLOATOBJ_Sub@8 push ebp mov ebp, esp push ebx @@ -1083,7 +1083,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetFloat and FLOATOBJ_Sub */ _FLOATOBJ_SubFloat@8: -.global _FLOATOBJ_SubFloat@8 +PUBLIC _FLOATOBJ_SubFloat@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -1112,7 +1112,7 @@ * Currently implemented as a wrapper around FLOATOBJ_SetLong and FLOATOBJ_Sub */ _FLOATOBJ_SubLong@8: -.global _FLOATOBJ_SubLong@8 +PUBLIC _FLOATOBJ_SubLong@8 push ebp mov ebp, esp sub esp, 8 /* Make room for a FLOATOBJ on the stack */ @@ -1140,7 +1140,7 @@ * */ _FLOATOBJ_Neg@4: -.global _FLOATOBJ_Neg@4 +PUBLIC _FLOATOBJ_Neg@4 push ebp mov ebp, esp @@ -1150,5 +1150,5 @@ pop ebp /* Return */ ret 4 - +END /* EOF */ Modified: branches/cmake-bringup/subsystems/win32/win32k/misc/i386/atan2_asm.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/misc/i386/atan2_asm.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/misc/i386/atan2_asm.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -33,13 +33,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + +#include <asm.inc> -.globl _atan2 - -.intel_syntax noprefix +/* FUNCTIONS ***************************************************************/ +.code -/* FUNCTIONS ***************************************************************/ - +PUBLIC _atan2 _atan2: push ebp mov ebp,esp @@ -49,3 +49,5 @@ mov esp,ebp pop ebp ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/misc/i386/ceil_asm.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/misc/i386/ceil_asm.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/misc/i386/ceil_asm.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -33,13 +33,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ - -.globl _ceil -.intel_syntax noprefix +#include <asm.inc> /* FUNCTIONS ***************************************************************/ +.code +PUBLIC _ceil _ceil: push ebp mov ebp,esp @@ -47,7 +47,7 @@ fld qword ptr [ebp+8] // Load real from stack fstcw [ebp-2] // Save control word fclex // Clear exceptions - mov word ptr [ebp-4],0xb63 // Rounding control word + mov word ptr [ebp-4],HEX(b63) // Rounding control word fldcw [ebp-4] // Set new rounding control frndint // Round to integer fclex // Clear exceptions @@ -55,3 +55,5 @@ mov esp,ebp // Deallocate temporary space pop ebp ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/misc/i386/cos_asm.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/misc/i386/cos_asm.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/misc/i386/cos_asm.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -33,13 +33,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ - -.globl _cos -.intel_syntax noprefix +#include <asm.inc> /* FUNCTIONS ***************************************************************/ +.code +PUBLIC _cos _cos: push ebp mov ebp,esp // Point to the stack frame @@ -47,3 +47,5 @@ fcos // Take the cosine pop ebp ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/misc/i386/floor_asm.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/misc/i386/floor_asm.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/misc/i386/floor_asm.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -33,13 +33,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ - -.globl _floor - -.intel_syntax noprefix + +#include <asm.inc> /* FUNCTIONS ***************************************************************/ +.code +PUBLIC _floor _floor: push ebp mov ebp,esp @@ -47,7 +47,7 @@ fld qword ptr [ebp+8] // Load real from stack fstcw [ebp-2] // Save control word fclex // Clear exceptions - mov word ptr [ebp-4],0x763 // Rounding control word + mov word ptr [ebp-4],HEX(763) // Rounding control word fldcw [ebp-4] // Set new rounding control frndint // Round to integer fclex // Clear exceptions @@ -55,3 +55,5 @@ mov esp,ebp pop ebp ret + +END Modified: branches/cmake-bringup/subsystems/win32/win32k/misc/i386/sin_asm.s URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/subsystems/win32/…
============================================================================== --- branches/cmake-bringup/subsystems/win32/win32k/misc/i386/sin_asm.s [iso-8859-1] (original) +++ branches/cmake-bringup/subsystems/win32/win32k/misc/i386/sin_asm.s [iso-8859-1] Fri Nov 19 18:51:50 2010 @@ -33,13 +33,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ - -.globl _sin -.intel_syntax noprefix +#include <asm.inc> /* FUNCTIONS ***************************************************************/ +.code +PUBLIC _sin _sin: push ebp // Save register bp mov ebp,esp // Point to the stack frame @@ -47,3 +47,5 @@ fsin // Take the sine pop ebp // Restore register bp ret + +END
14 years, 1 month
1
0
0
0
[tkreuzer] 49639: [ASM] Add more constants for ks386.inc
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Nov 19 18:27:05 2010 New Revision: 49639 URL:
http://svn.reactos.org/svn/reactos?rev=49639&view=rev
Log: [ASM] Add more constants for ks386.inc Modified: branches/cmake-bringup/include/asm/ks386.template.h Modified: branches/cmake-bringup/include/asm/ks386.template.h URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/asm/ks386…
============================================================================== --- branches/cmake-bringup/include/asm/ks386.template.h [iso-8859-1] (original) +++ branches/cmake-bringup/include/asm/ks386.template.h [iso-8859-1] Fri Nov 19 18:27:05 2010 @@ -346,7 +346,6 @@ //OFFSET(CONTEXT_FLOAT_SAVE_CONTROL_WORD CONTEXT_FLOAT_SAVE + FP_CONTROL_WORD //OFFSET(CONTEXT_FLOAT_SAVE_STATUS_WORD CONTEXT_FLOAT_SAVE + FP_STATUS_WORD //OFFSET(CONTEXT_FLOAT_SAVE_TAG_WORD CONTEXT_FLOAT_SAVE + FP_TAG_WORD -//OFFSET(CONTEXT_ALIGNED_SIZE 0x2CC //OFFSET(CONTEXT_FRAME_LENGTH 0x2D0 SIZE(CONTEXT_FRAME_LENGTH, CONTEXT), @@ -360,7 +359,10 @@ OFFSET(EXCEPTION_RECORD_EXCEPTION_RECORD, EXCEPTION_RECORD, ExceptionRecord), OFFSET(EXCEPTION_RECORD_EXCEPTION_ADDRESS, EXCEPTION_RECORD, ExceptionAddress), OFFSET(EXCEPTION_RECORD_NUMBER_PARAMETERS, EXCEPTION_RECORD, NumberParameters), +OFFSET(EXCEPTION_RECORD_EXCEPTION_ADDRESS, EXCEPTION_RECORD, ExceptionAddress), SIZE(SIZEOF_EXCEPTION_RECORD, EXCEPTION_RECORD), +CONSTANT(EXCEPTION_RECORD_LENGTH), + //#define EXCEPTION_RECORD_LENGTH 0x50 HEADER("KTHREAD"), @@ -418,4 +420,17 @@ CONSTANT(CBSTACK_CALLBACK_STACK), SIZE(SIZEOF_FX_SAVE_AREA, FX_SAVE_AREA), OFFSET(TEB_EXCEPTION_LIST, TEB, NtTib.ExceptionList), +OFFSET(TEB_STACK_LIMIT, TEB, NtTib.StackLimit), +OFFSET(TEB_STACK_BASE, TEB, NtTib.StackBase), +OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock), +OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode), +OFFSET(PEB_KERNEL_CALLBACK_TABLE, PEB, KernelCallbackTable), CONSTANT(KUSER_SHARED_SYSCALL), +CONSTANT(EXCEPTION_EXECUTE_HANDLER), +CONSTANT(STATUS_CALLBACK_POP_STACK), +CONSTANT(CONTEXT_ALIGNED_SIZE), + + + + +
14 years, 1 month
1
0
0
0
[akhaldi] 49638: [CMAKE] - Fix the remaining modules.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Nov 19 17:59:23 2010 New Revision: 49638 URL:
http://svn.reactos.org/svn/reactos?rev=49638&view=rev
Log: [CMAKE] - Fix the remaining modules. Modified: branches/cmake-bringup/dll/win32/aclui/CMakeLists.txt branches/cmake-bringup/dll/win32/avicap32/CMakeLists.txt branches/cmake-bringup/dll/win32/batt/CMakeLists.txt branches/cmake-bringup/dll/win32/beepmidi/CMakeLists.txt branches/cmake-bringup/dll/win32/cards/CMakeLists.txt branches/cmake-bringup/dll/win32/compstui/CMakeLists.txt branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt branches/cmake-bringup/dll/win32/getuname/CMakeLists.txt branches/cmake-bringup/dll/win32/localui/CMakeLists.txt branches/cmake-bringup/dll/win32/lpk/CMakeLists.txt Modified: branches/cmake-bringup/dll/win32/aclui/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/aclui/C…
============================================================================== --- branches/cmake-bringup/dll/win32/aclui/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/aclui/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -9,7 +9,8 @@ guid.c misc.c sidcache.c - aclui.rc) + aclui.rc + ${CMAKE_CURRENT_BINARY_DIR}/aclui.def) add_library(aclui SHARED ${CMAKE_CURRENT_BINARY_DIR}/aclui_precomp.h.gch Modified: branches/cmake-bringup/dll/win32/avicap32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/avicap3…
============================================================================== --- branches/cmake-bringup/dll/win32/avicap32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/avicap32/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -1,7 +1,10 @@ set_unicode() -add_library(avicap32 SHARED avicap32.c avicap32.rc) +add_library(avicap32 SHARED + avicap32.c + avicap32.rc + ${CMAKE_CURRENT_BINARY_DIR}/avicap32.def) set_module_type(avicap32 win32dll) Modified: branches/cmake-bringup/dll/win32/batt/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/batt/CM…
============================================================================== --- branches/cmake-bringup/dll/win32/batt/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/batt/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -1,7 +1,10 @@ set_unicode() -add_library(batt SHARED batt.c batt.rc) +add_library(batt SHARED + batt.c + batt.rc + ${CMAKE_CURRENT_BINARY_DIR}/batt.def) set_module_type(batt win32dll) Modified: branches/cmake-bringup/dll/win32/beepmidi/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/beepmid…
============================================================================== --- branches/cmake-bringup/dll/win32/beepmidi/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/beepmidi/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -1,7 +1,7 @@ set_unicode() -add_library(beepmidi SHARED beepmidi.c) +add_library(beepmidi SHARED beepmidi.c ${CMAKE_CURRENT_BINARY_DIR}/beepmidi.def) set_export_spec(beepmidi beepmidi.spec) Modified: branches/cmake-bringup/dll/win32/cards/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/cards/C…
============================================================================== --- branches/cmake-bringup/dll/win32/cards/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/cards/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -4,7 +4,10 @@ # Possible definitions: CARDSTYLE_DEFAULT or CARDSTYLE_BAVARIAN add_definitions(-DCARDSTYLE_DEFAULT) -add_library(cards SHARED cards.c cards.rc) +add_library(cards SHARED + cards.c + cards.rc + ${CMAKE_CURRENT_BINARY_DIR}/cards.def) set_export_spec(cards cards.spec) Modified: branches/cmake-bringup/dll/win32/compstui/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/compstu…
============================================================================== --- branches/cmake-bringup/dll/win32/compstui/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/compstui/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -2,7 +2,7 @@ add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -add_library(compstui SHARED compstui_main.c) +add_library(compstui SHARED compstui_main.c ${CMAKE_CURRENT_BINARY_DIR}/compstui.def) set_module_type(compstui win32dll) Modified: branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/gdi32/C…
============================================================================== --- branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/gdi32/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -36,7 +36,8 @@ objects/text.c objects/utils.c objects/path.c - gdi32.rc) + gdi32.rc + ${CMAKE_CURRENT_BINARY_DIR}/gdi32.def) add_library(gdi32 SHARED ${CMAKE_CURRENT_BINARY_DIR}/gdi32_precomp.h.gch Modified: branches/cmake-bringup/dll/win32/getuname/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/getunam…
============================================================================== --- branches/cmake-bringup/dll/win32/getuname/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/getuname/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -3,7 +3,10 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -add_library(getuname SHARED getuname.c getuname.rc) +add_library(getuname SHARED + getuname.c + getuname.rc + ${CMAKE_CURRENT_BINARY_DIR}/getuname.def) set_export_spec(getuname getuname.spec) Modified: branches/cmake-bringup/dll/win32/localui/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/localui…
============================================================================== --- branches/cmake-bringup/dll/win32/localui/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/localui/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -2,7 +2,10 @@ add_definitions(-D__WINESRC__) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -add_library(localui SHARED localui.c localui.rc) +add_library(localui SHARED + localui.c + localui.rc + ${CMAKE_CURRENT_BINARY_DIR}/localui.def) set_export_spec(localui localui.spec) Modified: branches/cmake-bringup/dll/win32/lpk/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/lpk/CMa…
============================================================================== --- branches/cmake-bringup/dll/win32/lpk/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/lpk/CMakeLists.txt [iso-8859-1] Fri Nov 19 17:59:23 2010 @@ -4,7 +4,11 @@ add_definitions(-DLANGPACK) include_directories(include) -add_library(lpk SHARED dllmain.c stub.c lpk.rc) +add_library(lpk SHARED + dllmain.c + stub.c + lpk.rc + ${CMAKE_CURRENT_BINARY_DIR}/lpk.def) set_export_spec(lpk lpk.spec)
14 years, 1 month
1
0
0
0
← Newer
1
...
21
22
23
24
25
26
27
...
50
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Results per page:
10
25
50
100
200