Merge 13511:13830 from trunk
Modified: branches/xmlbuildsystem/reactos/Makefile
Modified: branches/xmlbuildsystem/reactos/apps/utils/Makefile
Deleted: branches/xmlbuildsystem/reactos/apps/utils/rundll32/
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/Makefile
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/fdebug/Makefile
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/Makefile
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/multiboot.c
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/install/Makefile
Modified: branches/xmlbuildsystem/reactos/boot/freeldr/tools/Makefile
Modified: branches/xmlbuildsystem/reactos/bootdata/hivesys.inf
Modified: branches/xmlbuildsystem/reactos/bootdata/packages/reactos.dff
Modified: branches/xmlbuildsystem/reactos/bootdata/txtsetup.sif
Modified: branches/xmlbuildsystem/reactos/config
Modified: branches/xmlbuildsystem/reactos/doc/README.WINE
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.h
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cleanup.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fcb.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fsctl.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/rw.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/create.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/finfo.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/fsctrl.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/npfs.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/npfs.h
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/rw.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/volume.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/ntfs/fcb.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/ntfs/fsctl.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/ntfs/ntfs.h
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/blockdev.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/create.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/dir.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/dirwr.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/fcb.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/fsctl.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/rw.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/shutdown.c
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/vfat.h
Modified: branches/xmlbuildsystem/reactos/drivers/fs/vfat/volume.c
Modified: branches/xmlbuildsystem/reactos/drivers/lib/ip/transport/tcp/event.c
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/select.h
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/systm.h
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/oskittcp/interface.c
Modified: branches/xmlbuildsystem/reactos/drivers/lib/oskittcp/oskittcp/route.c
Modified: branches/xmlbuildsystem/reactos/drivers/net/afd/afd/read.c
Modified: branches/xmlbuildsystem/reactos/drivers/net/afd/include/afd.h
Modified: branches/xmlbuildsystem/reactos/drivers/net/ndis/ndis/miniport.c
Modified: branches/xmlbuildsystem/reactos/drivers/net/tcpip/tcpip/fileobjs.c
Modified: branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.c
Modified: branches/xmlbuildsystem/reactos/drivers/storage/atapi/atapi.h
Modified: branches/xmlbuildsystem/reactos/drivers/storage/disk/disk.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/hcd-pci.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/hcd.h
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/hub.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/makefile
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/message.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/usb.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/usbcore.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/core/usbcore.def
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/makefile
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/ohci-hcd.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/ohci-pci.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/ohci.h
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/ohci_main.c
Added: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/host/ohci_main.h
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/linux/linux_wrapper.h
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/linux/pci_hal.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/linux/pci_ids.h
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/sys/linuxwrapper.c
Modified: branches/xmlbuildsystem/reactos/drivers/usb/cromwell/usb_wrapper.h
Modified: branches/xmlbuildsystem/reactos/hal/hal/hal.c
Modified: branches/xmlbuildsystem/reactos/hal/halx86/generic/timer.c
Modified: branches/xmlbuildsystem/reactos/hal/halx86/include/hal.h
Modified: branches/xmlbuildsystem/reactos/include/base.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/csq.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/extypes.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/fsfuncs.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/kefuncs.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/psfuncs.h
Modified: branches/xmlbuildsystem/reactos/include/ddk/types.h
Added: branches/xmlbuildsystem/reactos/include/expat/
Added: branches/xmlbuildsystem/reactos/include/lsass/lsasrv.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/alloc.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/assert.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/conio.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/ctype.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/dir.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/direct.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/errno.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/fcntl.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/float.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/internal/
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/io.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/locale.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/malloc.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/math.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/mbctype.h
Deleted: branches/xmlbuildsystem/reactos/include/msvcrt/mbstring.h
[truncated at 100 lines; 918 more skipped]
Modified: branches/xmlbuildsystem/reactos/Makefile
--- branches/xmlbuildsystem/reactos/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -60,7 +60,8 @@
 	include$(SEP)reactos$(SEP)errcodes.h \
 	lib$(SEP)kernel32$(SEP)errcodes.rc
 
-Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO)
+Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(WRC_TARGET) \
+               $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO)
 	tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
 #	$(MAKE) $(MAKECMDGOALS)
 

Modified: branches/xmlbuildsystem/reactos/apps/utils/Makefile
--- branches/xmlbuildsystem/reactos/apps/utils/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/apps/utils/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -9,7 +9,7 @@
 
 # Console system utilities
 # cabman cat net objdir partinfo pice ps sc stats
-UTIL_APPS = cat objdir partinfo pnpdump sc shutdown stats tickcount consw rundll32 ps
+UTIL_APPS = cat objdir partinfo pnpdump sc shutdown stats tickcount consw ps
 
 UTIL_NET_APPS = arp finger ftp ipconfig netstat ping route telnet whois
 

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/Makefile
--- branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/bootsect/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -32,26 +32,26 @@
 	@$(MAKE) --no-print-directory -C $(FREELDR_TOOLS_PATH)
 
 dosmbr.bin : dosmbr.asm
-	@echo ===================================================== Assembling dosmbr
+	@echo freeldr: Assembling dosmbr
 	@$(NASM_CMD) $(NFLAGS) -o dosmbr.bin -f bin dosmbr.asm
 
 fat.bin : fat.asm $(BIN2C)
-	@echo ===================================================== Assembling fat
+	@echo freeldr: Assembling fat
 	@$(NASM_CMD) $(NFLAGS) -o fat.bin -f bin fat.asm
 	@$(BIN2C) fat.bin fat.h fat_data
 
 
 fat32.bin : fat32.asm $(BIN2C)
-	@echo ===================================================== Assembling fat32
+	@echo freeldr: Assembling fat32
 	@$(NASM_CMD) $(NFLAGS) -o fat32.bin -f bin fat32.asm
 	@$(BIN2C) fat32.bin fat32.h fat32_data
 
 isoboot.bin : isoboot.asm
-	@echo ===================================================== Assembling isoboot
+	@echo freeldr: Assembling isoboot
 	@$(NASM_CMD) $(NFLAGS) -o isoboot.bin -f bin isoboot.asm
 
 ext2.bin : ext2.asm
-	@echo ===================================================== Assembling ext2
+	@echo freeldr: Assembling ext2
 	@$(NASM_CMD) $(NFLAGS) -o ext2.bin -f bin ext2.asm
 	@$(BIN2C) ext2.bin ext2.h ext2_data
 
@@ -77,4 +77,4 @@
 clean:
 	@-$(RM) *.bin
 	@-$(RM) *.h
-	@echo Clean ALL done.
+	@echo freeldr: Clean ALL done.

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/fdebug/Makefile
--- branches/xmlbuildsystem/reactos/boot/freeldr/fdebug/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/fdebug/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -30,23 +30,23 @@
 all: fdebug.exe
 
 fdebug.exe: $(OBJS)
-	@echo ===================================================== LINKING fdebug
+	@echo freeldr: LINKING fdebug
 	$(CC) $(FLAGS) -o fdebug.exe $(OBJS) -lgdi32 -lcomdlg32 -Wl,--subsystem,windows
 
 fdebug.res: fdebug.rc resource.h
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	$(RC) -o fdebug.res fdebug.rc -O coff
 
 fdebug.o: fdebug.c rs232.h
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	$(CC) $(FLAGS) -o fdebug.o -c fdebug.c
 
 rs232.o: rs232.c rs232.h
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	$(CC) $(FLAGS) -o rs232.o -c rs232.c
 
 clean:
 	@-$(RM) *.o
 	@-$(RM) *.res
 	@-$(RM) *.exe
-	@echo Clean ALL done.
+	@echo freeldr: Clean ALL done.

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/Makefile
--- branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -57,7 +57,7 @@
 	@-$(RM) setupldr.sys
 	@-$(RM) setupldr.map
 	@$(MAKE) --no-print-directory -C $(FREELDR_TOOLS_PATH)
-	@echo Clean ALL done.
+	@echo freeldr: Clean ALL done.
 
 #############################################
 
@@ -259,11 +259,11 @@
 
 
 all : freeldr.sys setupldr.sys
-	@echo Make ALL done.
+	@echo freeldr: Make ALL done.
 
 
 freeldr.sys : $(ALL_OBJS) $(PATH_TO_TOP)/dk/w32/lib/librossym.a
-	@echo ===================================================== LINKING $@
+	@echo freeldr: LINKING $@
 	@$(LD) $(LFLAGS) -o freeldr.exe $(F_OBJS) $(PATH_TO_TOP)/dk/w32/lib/librossym.a
 ifeq ($(FULL_MAP),yes)
 	@$(OBJDUMP) -d -S freeldr.exe > freeldr.map
@@ -274,7 +274,7 @@
 
 
 setupldr.sys : $(ALL_OBJS)
-	@echo ===================================================== LINKING $@
+	@echo freeldr: LINKING $@
 	@$(LD) $(LFLAGS) -Map setupldr.map -o setupldr.exe $(S_OBJS)
 ifeq ($(FULL_MAP),yes)
 	@$(OBJDUMP) -d -S setupldr.exe > setupldr.map
@@ -285,15 +285,15 @@
 
 
 %.o :: %.c
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	@$(CC) $(CFLAGS) -o $@ -c $<
 	@$(DEPTOOL) $*.d
 
 %.o :: %.S
-	@echo ===================================================== Assembling $*
+	@echo freeldr: Assembling $*
 	@$(CC) $(CFLAGS) -o $@ -c $<
 	@$(DEPTOOL) $*.d
 
 %.o :: %.asm
-	@echo ===================================================== Assembling $*
+	@echo freeldr: Assembling $*
 	@$(NASM_CMD) $(NASMFLAGS) -o $@ $<

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/multiboot.c
--- branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/multiboot.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/freeldr/multiboot.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -4,7 +4,7 @@
  * FILE:            boot/freeldr/freeldr/multiboot.c
  * PURPOSE:         ReactOS Loader
  * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net)
- *                  Hartmutt Birr - SMP/PAE Code
+ *                  Hartmut Birr - SMP/PAE Code
  */
 
 #include <freeldr.h>
@@ -54,7 +54,7 @@
 #define ApicPageTableIndexPae       (APIC_BASE >> 21)
 
 
-#define KernelEntryPoint            (KernelEntry - KERNEL_BASE_PHYS) +  KernelBase
+#define KernelEntryPoint            (KernelEntry - KERNEL_BASE_PHYS) + KernelBase
 
 /* Load Address of Next Module */
 ULONG_PTR NextModuleBase = 0;
@@ -217,7 +217,7 @@
     /* Jump to Kernel */
     PagedJump = (ASMCODE)KernelEntryPoint;
     PagedJump(Magic, &LoaderBlock);
- }
+}
 
 /*++
  * FrLdrGetKernelBase 
@@ -239,27 +239,24 @@
 FASTCALL
 FrLdrGetKernelBase(VOID)
 {
-    PCHAR p1;
-    PCHAR p2;
+    PCHAR p;
      
     /* Read Command Line */
-    for(p1 = (PCHAR)&LoaderBlock.CommandLine; *p1 && (p2 = strchr(p1, '/')); p2++) {
+    p = (PCHAR)LoaderBlock.CommandLine;
+    while ((p = strchr(p, '/')) != NULL) {
         
         /* Find "/3GB" */
-        if (!strnicmp(p2, "3GB", 3)) {
+        if (!strnicmp(p + 1, "3GB", 3)) {
             
             /* Make sure there's nothing following it */
-            if (p2[3] == ' ' || p2[3] == 0) {
+            if (p[4] == ' ' || p[4] == 0) {
                 
                 /* Use 3GB */
                 KernelBase = 0xC0000000;
-                
-            } else {
-            
-                /* Use 2GB */
-                KernelBase = 0x80000000;
             }
         }
+
+        p++;
     }
           
     /* Set KernelBase */

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/install/Makefile
--- branches/xmlbuildsystem/reactos/boot/freeldr/install/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/install/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -35,18 +35,18 @@
 	@$(MAKE) --no-print-directory -C ../bootsect
 
 install.exe: $(OBJS)
-	@echo ===================================================== LINKING install
+	@echo freeldr: LINKING install
 	$(CC) $(FLAGS) -o install.exe $(OBJS)
 
 install.o: install.c install.h volume.h
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	$(CC) $(FLAGS) -o install.o -c install.c
 
 volume.o: volume.c volume.h install.h
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	$(CC) $(FLAGS) -o volume.o -c volume.c
 
 clean:
 	@-$(RM) *.o
 	@-$(RM) *.exe
-	@echo Clean ALL done.
+	@echo freeldr: Clean ALL done.

Modified: branches/xmlbuildsystem/reactos/boot/freeldr/tools/Makefile
--- branches/xmlbuildsystem/reactos/boot/freeldr/tools/Makefile	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/boot/freeldr/tools/Makefile	2005-03-05 20:50:25 UTC (rev 13833)
@@ -25,16 +25,16 @@
 			bin2c$(EXE_POSTFIX)
 
 all : $(TOOLS)
-	@echo Tools are up to date.
+	@echo freeldr: Tools are up to date.
 
 % :: all
 
 %$(EXE_POSTFIX): %.c
-	@echo ===================================================== Compiling $*
+	@echo freeldr: Compiling $*
 	@$(HOST_CC) -Wall -O3 -o $@ $<
 
 
 .PHONY : clean
 clean:
 	@-$(RM) $(TOOLS)
-	@echo Clean ALL done.
+	@echo freeldr: Clean ALL done.

Modified: branches/xmlbuildsystem/reactos/bootdata/hivesys.inf
--- branches/xmlbuildsystem/reactos/bootdata/hivesys.inf	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/bootdata/hivesys.inf	2005-03-05 20:50:25 UTC (rev 13833)
@@ -254,6 +254,15 @@
 HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management","PagingFiles",0x00010000, \
  "C:\reactos\pagefile.sys"
 
+; Subsystems
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Debug",0x00020000,""
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Kmode",0x00020000,"%SystemRoot%\system32\win32k.sys"
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Optional",0x00070001,50,00,6f,00,73,00,69,00,78,00,00,00,4f,00,73,00,32,00,00,00,00,00
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Os2",0x00020000,"%SystemRoot%\system32\os2ss.exe"
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Posix",0x00020000,"%SystemRoot%\system32\psxss.exe"
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Required",0x00070001,44,00,65,00,62,00,75,00,67,00,00,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,00,00,00,00
+HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Windows",0x00020000,"%SystemRoot%\system32\csrss.exe"
+
 ; 3Com 3c905 Driver
 HKLM,"SYSTEM\CurrentControlSet\Services\3c90x","ErrorControl",0x00010001,0x00000000
 HKLM,"SYSTEM\CurrentControlSet\Services\3c90x","Group",0x00000000,"NDIS"
@@ -573,7 +582,7 @@
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,0x00000001
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0x00000003
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"Base"
-HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00020000,"System32\DRIVERS\usbuhci.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"System32\DRIVERS\usbuhci.sys"
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Tag",0x00010001,0x0000000f
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"ReactOS USB UHCI controller miniport driver"
 ;hard coded values for VMWARE
@@ -582,6 +591,21 @@
 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci\Enum","NextInstance",0x00010001,0x00000001
 HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_7112&SUBSYS_197615AD&REV_00\0000","Service",0x0000000,"usbuhci"
 
+;USB OHCI Driver (Cromwell), especially the same name as windows OHCI miniport
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0x00000003
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"Base"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"System32\drivers\ohci.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Tag",0x00010001,0x0000000f
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"ReactOS USB OHCI cromwell-type driver"
+;hard coded values for Virtual PC 6/7 (Mac)
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","0",0x00000000,"PCI\VEN_2955&DEV_6E61&SUBSYS_6E612955&REV_11\0000"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","Count",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","NextInstance",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_2955&DEV_6E61&SUBSYS_6E612955&REV_11\0000","Service",0x0000000,"usbohci"
+
+
 ; ReactOS PCNet NIC driver 
 ; To use the AMD supplied driver change the driver name to pcntn5m.sys
 ;

Modified: branches/xmlbuildsystem/reactos/bootdata/packages/reactos.dff
--- branches/xmlbuildsystem/reactos/bootdata/packages/reactos.dff	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/bootdata/packages/reactos.dff	2005-03-05 20:50:25 UTC (rev 13833)
@@ -74,7 +74,6 @@
 lib\dinput8\dinput8.dll                 1
 lib\dsound\dsound.dll                   1
 lib\dxdiagn\dxdiagn.dll                 1
-lib\expat\expat.dll                     1
 lib\fmifs\fmifs.dll                     1
 lib\freetype\freetype.dll               1
 lib\gdi32\gdi32.dll                     1
@@ -97,6 +96,7 @@
 lib\midimap\midimap.dll                 1
 lib\mmdrv\mmdrv.dll                     1
 lib\mpr\mpr.dll                         1
+lib\msacm\msacm32.dll                   1
 lib\msafd\msafd.dll                     1
 lib\msgina\msgina.dll                   1
 lib\msimg32\msimg32.dll                 1
@@ -120,7 +120,6 @@
 lib\syssetup\syssetup.dll               1
 lib\twain\twain_32.dll                  1
 lib\urlmon\urlmon.dll                   1
-lib\unicode\wine_unicode.dll            1
 lib\user32\user32.dll                   1
 lib\userenv\userenv.dll                 1
 lib\version\version.dll                 1
@@ -151,9 +150,9 @@
 subsys\system\format\format.exe         1
 subsys\system\notepad\notepad.exe       1
 subsys\system\regedit\regedit.exe       4
-subsys\system\regedt32\regedt32.exe     1
 subsys\system\regsvr32\regsvr32.exe     1
 subsys\system\reporterror\reporterror.exe 1
+subsys\system\rundll32\rundll32.exe     1
 subsys\system\services\services.exe     1
 subsys\system\setup\setup.exe           1
 subsys\system\taskmgr\taskmgr.exe       1

Modified: branches/xmlbuildsystem/reactos/bootdata/txtsetup.sif
--- branches/xmlbuildsystem/reactos/bootdata/txtsetup.sif	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/bootdata/txtsetup.sif	2005-03-05 20:50:25 UTC (rev 13833)
@@ -22,7 +22,6 @@
 class2.sys    = 3
 disk.sys      = 3
 floppy.sys    = 3
-hal.dll       = 2
 keyboard.sys  = 3
 l_intl.nls    = 2
 ntfs.sys      = 3
@@ -48,7 +47,16 @@
 
 [Computer]
 pci_up = "Standard-PC"
+pci_mp = "Standard-PC Multiprocessor"
 
+[Files.pci_up]
+; <filename> = <directory_id>,<new name>
+hal.dll      = 2
+
+[Files.pci_mp]
+; <filename> = <directory_id>,<new name>
+halmp.dll    = 2,hal.dll
+
 [Display]
 ;<id> = <user friendly name>,<spare>,<service key name>
 vga = "VGA Display",,Vga

Modified: branches/xmlbuildsystem/reactos/config
--- branches/xmlbuildsystem/reactos/config	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/config	2005-03-05 20:50:25 UTC (rev 13833)
@@ -7,12 +7,12 @@
 
 
 #
-# Which cpu should reactos optimze for
+# Which cpu should reactos optimize for
 # example : i486, i586, pentium, pentium2, pentium3, pentium4
 #           athlon-xp, athlon-mp, k6-2, 
 #
-# see gcc manual for more cpu name and which cpu it can 
-# be optimze for. 
+# see gcc manual for more cpu names and which cpus it can 
+# be optimized for. 
 #
 
 OARCH := i486

Modified: branches/xmlbuildsystem/reactos/doc/README.WINE
--- branches/xmlbuildsystem/reactos/doc/README.WINE	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/doc/README.WINE	2005-03-05 20:50:25 UTC (rev 13833)
@@ -10,8 +10,8 @@
 If you find that a function in ReactOS that is not implemented properly
 and is based on WINE sources, check the latest Winehq CVS and see if
 it has been fixed there. If so, please submit a patch to 
-ros-kernel@reactos.com. Otherwise please send a patch to both 
-wine-patches@winehq.com and ros-kernel@reactos.com
+ros-dev@reactos.com. Otherwise please send a patch to both 
+wine-patches@winehq.com and ros-dev@reactos.com
 
 When porting a dll from WINE to ReactOS please take a look at how
 comctl32 has been imported. We start by creating a makefile that has
@@ -26,51 +26,52 @@
 work to import a new dll.
 
 The following build tools are derived from Wine.
-reactos/tools/makedep		# fast dependancy tool
 reactos/tools/bin2res		# Resource to binary converter
-reactos/tools/winebuild		# Wine Build tool for Creating *.def files
+reactos/tools/winebuild		# Synced to Wine-20050211
 reactos/tools/wmc		# Wine Message Compiler
+reactos/tools/wrc		# Synced to Wine-20050211
 
-
 The following shared libraries are a 100% port from Winehq sources.
 
-reactos/lib/cabinet             # Synced to Wine-20050111
-reactos/lib/comctl32            # Synced to Wine-20050111
-reactos/lib/comdlg32		# Synced to Wine-20050111
-reactos/lib/dinput		# Synced to Wine-20050111
-reactos/lib/dinput8		# Synced to Wine-20050111
-reactos/lib/icmp		# Synced to Wine-20050111
+reactos/lib/cabinet             # Synced to Wine-20050211
+reactos/lib/comctl32            # Synced to Wine-20050211
+reactos/lib/comdlg32		# Synced to Wine-20050211
+reactos/lib/dinput		# Synced to Wine-20050211
+reactos/lib/dinput8		# Synced to Wine-20050211
+reactos/lib/icmp		# Synced to Wine-20050211
 reactos/lib/iphlpapi		# Out of sync
 reactos/lib/imagehlp		# Patches for BindImage need review and submission to winehq.
 reactos/lib/msvcrt20		# Out of sync
-reactos/lib/mpr                 # Synced to Wine-20050111
+reactos/lib/mpr                 # Synced to Wine-20050211
 reactos/lib/msacm		# Out of sync
-reactos/lib/msi			# Synced to Wine-20050111
+reactos/lib/msimg32		# Synced to Wine-20050211
+reactos/lib/msi			# Synced to Wine-20050211
 reactos/lib/msvideo		# Out of sync
 reactos/lib/netapi32		# Out of sync
 reactos/lib/odbc32		# In sync. Depends on port of Linux ODBC.
-reactos/lib/ole32               # Synced to Wine-20050111
-reactos/lib/oleaut32		# Synced to Wine-20050111
-reactos/lib/oledlg              # Synced to Wine-20050111
-reactos/lib/olepro32		# Synced to Wine-20050111
-reactos/lib/richedit		# Synced to Wine-20050111
-reactos/lib/rpcrt4		# Synced to Wine-20050111
+reactos/lib/ole32               # Synced to Wine-20050211
+reactos/lib/oleaut32		# Synced to Wine-20050211
+reactos/lib/oledlg              # Synced to Wine-20050211
+reactos/lib/olepro32		# Synced to Wine-20050211
+reactos/lib/richedit		# Synced to Wine-20050211
+reactos/lib/rpcrt4		# Synced to Wine-20050211
 reactos/lib/setupapi		# Synced to Wine-20050125 # CVS
-reactos/lib/shell32             # Synced to Wine-20050111
-reactos/lib/shdocvw             # Synced to Wine-20050111
-reactos/lib/shlwapi             # Synced to Wine-20050111
+reactos/lib/shell32             # Synced to Wine-20050211
+reactos/lib/shdocvw             # Synced to Wine-20050211
+reactos/lib/shlwapi             # Synced to Wine-20050211
 reactos/lib/twain		# Out of sync
-reactos/lib/unicode		# Dependancy on this lib needs to be removed. Synced to Wine-20050111
-reactos/lib/urlmon		# Synced to Wine-20050111
+reactos/lib/unicode		# Dependancy on this lib needs to be removed. Synced to Wine-20050211
+reactos/lib/urlmon		# Synced to Wine-20050211
 reactos/lib/version		# Out of sync
 reactos/lib/wininet		# Out of sync
-reactos/lib/winmm		# Synced to Wine-20050111
-reactos/lib/winmm/midimap       # Synced to Wine-20050111
-reactos/lib/winmm/wavemap       # Synced to Wine-20050111
+reactos/lib/winmm		# Synced to Wine-20050211
+reactos/lib/winmm/midimap       # Synced to Wine-20050211
+reactos/lib/winmm/wavemap       # Synced to Wine-20050211
 
 ReactOS shares the following programs with Winehq.
 reactos/subsys/system/regedit	# Out of sync
 reactos/subsys/system/expand	# Out of sync
+reactos/subsys/system/msiexec	# Synced to Wine-20050211
 
 In addition the following libs, dlls and source files are mostly based on code ported
 from Winehq CVS. If you are looking to update something in these files
@@ -80,7 +81,7 @@
 reactos/lib/uuid		#
 
 advapi32 -
-  reactos/lib/advapi32/crypyto/*.c	# Synced to Wine-20041201
+  reactos/lib/advapi32/crypt/*.c	# ekohl says we're not sharing this
 
 gdi32 -
   reactos/lib/gdi32/objects/linedda.c	# Out of sync
@@ -100,3 +101,31 @@
   reactos/lib/user32/misc/wsprintf.c	# Out of sync
   reactos/lib/user32/windows/mdi.c	# Out of sync
 
+- Cd to the parent directory of your top-level "reactos" directory
+- Check out the Wine release: "cvs -d :pserver:cvs@cvs.winehq.com:2401/home/wine co wine -r Wine-20050211"
+- Create "vendor" directory (as a sibling of your top-level "reactos" directory)
+- Cd to the vendor dir and check out the current vendor drop:
+  "svn co svn://svn.reactos.com/vendor/wine".
+- For each component shared with Wine (e.g. cabinet):
+  "del vendor\wine\dlls\cabinet\current\*"
+  "copy wine\dlls\cabinet vendor\wine\dlls\cabinet\current"
+  "del vendor\wine\dlls\cabinet\current\.cvsignore"
+  Check svn status, svn add/delete files as needed
+  Tag new Wine release "svn copy vendor\wine\dlls\cabinet\current vendor\wine\dlls\cabinet\Wine-20050211"
+- Commit the vendor drop: svn commit vendor\wine -m "Wine-20050211 vendor drop"
+- Determine the revision number of the last Wine tag by looking at http://svn.reactos.com/viewcvs/tags/
+  and finding the last Wine-yyyymmdd-sync tag, e.g. Wine-20050111-sync had rev 13007
+- For each component shared with Wine (e.g. cabinet):
+- "cd reactos\lib\cabinet"
+- Check for changes in the ReactOS tree: "svn diff -r 13007" (13007 is the revno of the previous sync).
+  If any changes are found, see if they're present in the Wine code. If not, submit to WineHQ
+  if apropriate.
+- Merge in Wine changes:
+  "svn merge svn://svn.reactos.com/vendor/wine/dlls/cabinet/Wine-20050111
+   svn://svn.reactos.com/vendor/wine/dlls/cabinet/current"
+- Fix any merge conflicts
+- Build and test (building will sometimes require adjusting header files)
+- Check which files were changed: "svn status"
+- For each of the changed files, get the WineHQ CVS log. Copy author and CVS commit message into a
+  commit log
+- Commit changed files "svn commit" using generated commit log as commit message

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.h
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.h	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cdfs.h	2005-03-05 20:50:25 UTC (rev 13833)
@@ -3,6 +3,8 @@
 
 #include <ddk/ntifs.h>
 
+#define USE_ROS_CC_AND_FS
+
 #define CDFS_BASIC_SECTOR 2048
 #define CDFS_PRIMARY_DESCRIPTOR_LOCATION 16
 #define BLOCKSIZE CDFS_BASIC_SECTOR

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cleanup.c
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cleanup.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/cleanup.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -54,7 +54,11 @@
   /* Uninitialize file cache if initialized for this file object. */
   if (FileObject->SectionObjectPointer && FileObject->SectionObjectPointer->SharedCacheMap)
     {
+#ifdef USE_ROS_CC_AND_FS
       CcRosReleaseFileCache (FileObject);
+#else
+      CcUninitializeCacheMap (FileObject, NULL, NULL);
+#endif
     }
  
   return STATUS_SUCCESS;

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fcb.c
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fcb.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fcb.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -241,6 +241,7 @@
   Fcb->FileObject = FileObject;
   Fcb->DevExt = Vcb;
 
+#ifdef USE_ROS_AND_FS
   Status = CcRosInitializeFileCache(FileObject,
 				    PAGE_SIZE);
   if (!NT_SUCCESS(Status))
@@ -248,6 +249,14 @@
       DbgPrint("CcRosInitializeFileCache failed\n");
       KEBUGCHECK(0);
     }
+#else
+  Status = STATUS_SUCCESS;
+  CcInitializeCacheMap(FileObject,
+                       (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
+		       FALSE,
+		       NULL,
+		       NULL);
+#endif
 
   ObDereferenceObject(FileObject);
   Fcb->Flags |= FCB_CACHE_INITIALIZED;
@@ -411,7 +420,6 @@
 			  PFCB Fcb,
 			  PFILE_OBJECT FileObject)
 {
-  NTSTATUS Status;
   PCCB  newCCB;
 
   newCCB = ExAllocatePoolWithTag(NonPagedPool, sizeof(CCB), TAG_CCB);
@@ -426,9 +434,11 @@
   FileObject->FsContext2 = newCCB;
   newCCB->PtrFileObject = FileObject;
   Fcb->DevExt = Vcb;
-
+ 
   if (CdfsFCBIsDirectory(Fcb))
     {
+#ifdef USE_ROS_CC_AND_FS
+      NTSTATUS Status;
       Status = CcRosInitializeFileCache(FileObject,
 					PAGE_SIZE);
       if (!NT_SUCCESS(Status))
@@ -436,6 +446,13 @@
 	  DbgPrint("CcRosInitializeFileCache failed\n");
 	  KEBUGCHECK(0);
 	}
+#else
+  CcInitializeCacheMap(FileObject,
+                       (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
+		       FALSE,
+		       NULL,
+		       NULL);
+#endif
       Fcb->Flags |= FCB_CACHE_INITIALIZED;
     }
 

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fsctl.c
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fsctl.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/fsctl.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -402,7 +402,7 @@
 
   Fcb->Entry.ExtentLocationL = 0;
   Fcb->Entry.DataLengthL = (DeviceExt->CdInfo.VolumeSpaceSize + DeviceExt->CdInfo.VolumeOffset) * BLOCKSIZE;
-
+#ifdef USE_ROS_CC_AND_FS
   Status = CcRosInitializeFileCache(DeviceExt->StreamFileObject,
 				    PAGE_SIZE);
   if (!NT_SUCCESS (Status))
@@ -410,7 +410,13 @@
       DbgPrint("CcRosInitializeFileCache failed\n");
       goto ByeBye;
     }
-
+#else
+  CcInitializeCacheMap(DeviceExt->StreamFileObject,
+                       (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
+		       TRUE,
+		       NULL,
+		       NULL);
+#endif
   ExInitializeResourceLite(&DeviceExt->VcbResource);
   ExInitializeResourceLite(&DeviceExt->DirResource);
 

Modified: branches/xmlbuildsystem/reactos/drivers/fs/cdfs/rw.c
--- branches/xmlbuildsystem/reactos/drivers/fs/cdfs/rw.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/cdfs/rw.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -86,7 +86,15 @@
 
       if (FileObject->PrivateCacheMap == NULL)
 	{
+#ifdef ROS_USE_CC_AND_FS
 	  CcRosInitializeFileCache(FileObject, PAGE_SIZE);
+#else
+          CcInitializeCacheMap(FileObject,
+                               (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize),
+		               FALSE,
+		               NULL,
+		               NULL);
+#endif
 	}
 
       FileOffset.QuadPart = (LONGLONG)ReadOffset;

Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/create.c
--- branches/xmlbuildsystem/reactos/drivers/fs/np/create.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/np/create.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -2,7 +2,7 @@
  *
  * COPYRIGHT:  See COPYING in the top level directory
  * PROJECT:    ReactOS kernel
- * FILE:       services/fs/np/create.c
+ * FILE:       drivers/fs/np/create.c
  * PURPOSE:    Named pipe filesystem
  * PROGRAMMER: David Welch <welch@cwcom.net>
  */
@@ -48,17 +48,18 @@
 NpfsFindListeningServerInstance(PNPFS_PIPE Pipe)
 {
   PLIST_ENTRY CurrentEntry;
-  PNPFS_FCB ServerFcb;
+  PNPFS_WAITER_ENTRY Waiter;
 
-  CurrentEntry = Pipe->ServerFcbListHead.Flink;
-  while (CurrentEntry != &Pipe->ServerFcbListHead)
+  CurrentEntry = Pipe->WaiterListHead.Flink;
+  while (CurrentEntry != &Pipe->WaiterListHead)
     {
-      ServerFcb = CONTAINING_RECORD(CurrentEntry, NPFS_FCB, FcbListEntry);
-      if (ServerFcb->PipeState == FILE_PIPE_LISTENING_STATE)
+      Waiter = CONTAINING_RECORD(CurrentEntry, NPFS_WAITER_ENTRY, Entry);
+      if (Waiter->Fcb->PipeState == FILE_PIPE_LISTENING_STATE)
 	{
-	  DPRINT("Server found! Fcb %p\n", ServerFcb);
-	  return ServerFcb;
+	  DPRINT("Server found! Fcb %p\n", Waiter->Fcb);
+	  return Waiter->Fcb;
 	}
+
       CurrentEntry = CurrentEntry->Flink;
     }
 
@@ -66,6 +67,35 @@
 }
 
 
+static VOID
+NpfsSignalAndRemoveListeningServerInstance(PNPFS_PIPE Pipe,
+					   PNPFS_FCB Fcb)
+{
+  PLIST_ENTRY CurrentEntry;
+  PNPFS_WAITER_ENTRY Waiter;
+
+  CurrentEntry = Pipe->WaiterListHead.Flink;
+  while (CurrentEntry != &Pipe->WaiterListHead)
+    {
+      Waiter = CONTAINING_RECORD(CurrentEntry, NPFS_WAITER_ENTRY, Entry);
+      if (Waiter->Fcb == Fcb)
+	{
+	  DPRINT("Server found! Fcb %p\n", Waiter->Fcb);
+
+	  KeSetEvent(Waiter->Irp->UserEvent, 0, FALSE);
+	  Waiter->Irp->UserIosb->Status = FILE_PIPE_CONNECTED_STATE;
+	  Waiter->Irp->UserIosb->Information = 0;
+	  IoCompleteRequest(Waiter->Irp, IO_NO_INCREMENT);
+
+	  RemoveEntryList(&Waiter->Entry);
+	  ExFreePool(Waiter);
+	  return;
+	}
+      CurrentEntry = CurrentEntry->Flink;
+    }
+}
+
+
 NTSTATUS STDCALL
 NpfsCreate(PDEVICE_OBJECT DeviceObject,
 	   PIRP Irp)
@@ -164,9 +194,9 @@
   ClientFcb->PipeState = SpecialAccess ? 0 : FILE_PIPE_DISCONNECTED_STATE;
 
   /* Initialize data list. */
-  if (Pipe->InboundQuota)
+  if (Pipe->OutboundQuota)
     {
-      ClientFcb->Data = ExAllocatePool(NonPagedPool, Pipe->InboundQuota);
+      ClientFcb->Data = ExAllocatePool(NonPagedPool, Pipe->OutboundQuota);
       if (ClientFcb->Data == NULL)
         {
           DPRINT("No memory!\n");
@@ -185,8 +215,8 @@
   ClientFcb->ReadPtr = ClientFcb->Data;
   ClientFcb->WritePtr = ClientFcb->Data;
   ClientFcb->ReadDataAvailable = 0;
-  ClientFcb->WriteQuotaAvailable = Pipe->InboundQuota;
-  ClientFcb->MaxDataLength = Pipe->InboundQuota;
+  ClientFcb->WriteQuotaAvailable = Pipe->OutboundQuota;
+  ClientFcb->MaxDataLength = Pipe->OutboundQuota;
   KeInitializeSpinLock(&ClientFcb->DataListLock);
   KeInitializeEvent(&ClientFcb->ConnectEvent, SynchronizationEvent, FALSE);
   KeInitializeEvent(&ClientFcb->Event, SynchronizationEvent, FALSE);
@@ -206,9 +236,8 @@
       ClientFcb->PipeState = FILE_PIPE_CONNECTED_STATE;
       ServerFcb->PipeState = FILE_PIPE_CONNECTED_STATE;
 
-      /* Wake server thread */
-      DPRINT("Setting the ConnectEvent for %x\n", ServerFcb);
-      KeSetEvent(&ServerFcb->ConnectEvent, 0, FALSE);
+      /* Signal the server thread and remove it from the waiter list */
+      NpfsSignalAndRemoveListeningServerInstance(Pipe, ServerFcb);
     }
 
   KeUnlockMutex(&Pipe->FcbListLock);
@@ -318,6 +347,7 @@
 
        InitializeListHead(&Pipe->ServerFcbListHead);
        InitializeListHead(&Pipe->ClientFcbListHead);
+       InitializeListHead(&Pipe->WaiterListHead);
        KeInitializeMutex(&Pipe->FcbListLock, 0);
 
        Pipe->PipeType = Buffer->NamedPipeType;
@@ -381,9 +411,9 @@
        KeUnlockMutex(&DeviceExt->PipeListLock);
      }
 
-   if (Pipe->OutboundQuota)
+   if (Pipe->InboundQuota)
      {
-       Fcb->Data = ExAllocatePool(NonPagedPool, Pipe->OutboundQuota);
+       Fcb->Data = ExAllocatePool(NonPagedPool, Pipe->InboundQuota);
        if (Fcb->Data == NULL)
          {
            ExFreePool(Fcb);
@@ -407,8 +437,8 @@
    Fcb->ReadPtr = Fcb->Data;
    Fcb->WritePtr = Fcb->Data;
    Fcb->ReadDataAvailable = 0;
-   Fcb->WriteQuotaAvailable = Pipe->OutboundQuota;
-   Fcb->MaxDataLength = Pipe->OutboundQuota;
+   Fcb->WriteQuotaAvailable = Pipe->InboundQuota;
+   Fcb->MaxDataLength = Pipe->InboundQuota;
    KeInitializeSpinLock(&Fcb->DataListLock);
 
    Pipe->CurrentInstances++;
@@ -442,9 +472,8 @@
 
 
 NTSTATUS STDCALL
-NpfsClose(
-   PDEVICE_OBJECT DeviceObject,
-   PIRP Irp)
+NpfsClose(PDEVICE_OBJECT DeviceObject,
+          PIRP Irp)
 {
    PNPFS_DEVICE_EXTENSION DeviceExt;
    PIO_STACK_LOCATION IoStack;
@@ -493,10 +522,8 @@
    {
       if (Fcb->OtherSide)
       {
-#ifndef FIN_WORKAROUND_READCLOSE
          Fcb->OtherSide->PipeState = FILE_PIPE_CLOSING_STATE;
          Fcb->OtherSide->OtherSide = NULL;
-#endif
          /*
           * Signaling the write event. If is possible that an other
           * thread waits for an empty buffer.
@@ -504,40 +531,16 @@
          KeSetEvent(&Fcb->OtherSide->Event, IO_NO_INCREMENT, FALSE);
       }
 
-#ifndef FIN_WORKAROUND_READCLOSE
       Fcb->PipeState = 0;
-#endif
    }
 
    FileObject->FsContext = NULL;
 
-#ifndef FIN_WORKAROUND_READCLOSE
    RemoveEntryList(&Fcb->FcbListEntry);
    if (Fcb->Data)
       ExFreePool(Fcb->Data);
    ExFreePool(Fcb);
-#else
-   Fcb->PipeState = FILE_PIPE_CLOSING_STATE;
-   if (Fcb->OtherSide == NULL ||
-       Fcb->OtherSide->PipeState == FILE_PIPE_CLOSING_STATE)
-   {
-      if (Server && Fcb->OtherSide != NULL &&
-          Fcb->OtherSide->PipeState == FILE_PIPE_CLOSING_STATE)
-      {
-         RemoveEntryList(&Fcb->OtherSide->FcbListEntry);
-         if (Fcb->OtherSide->Data)
-            ExFreePool(Fcb->OtherSide->Data);
-	 ExFreePool(Fcb->OtherSide);
-      }
 
-      RemoveEntryList(&Fcb->FcbListEntry);
-      if (Fcb->Data)
-         ExFreePool(Fcb->Data);
-
-      ExFreePool(Fcb);
-   }
-#endif
-
    KeUnlockMutex(&Pipe->FcbListLock);
 
    if (IsListEmpty(&Pipe->ServerFcbListHead) &&

Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/finfo.c
--- branches/xmlbuildsystem/reactos/drivers/fs/np/finfo.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/np/finfo.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -2,9 +2,9 @@
  *
  * COPYRIGHT:  See COPYING in the top level directory
  * PROJECT:    ReactOS kernel
- * FILE:       services/fs/np/finfo.c
+ * FILE:       drivers/fs/np/finfo.c
  * PURPOSE:    Named pipe filesystem
- * PROGRAMMER: Eric Kohl <ekohl@rz-online.de>
+ * PROGRAMMER: Eric Kohl
  */
 
 /* INCLUDES ******************************************************************/
@@ -36,7 +36,7 @@
 //  Info->CompletionMode = 
 
   *BufferLength -= sizeof(FILE_PIPE_INFORMATION);
-  return(STATUS_SUCCESS);
+  return STATUS_SUCCESS;
 }
 
 
@@ -76,7 +76,7 @@
     }
 
   *BufferLength -= sizeof(FILE_PIPE_LOCAL_INFORMATION);
-  return(STATUS_SUCCESS);
+  return STATUS_SUCCESS;
 }
 
 
@@ -93,24 +93,24 @@
   PVOID SystemBuffer;
   ULONG BufferLength;
   NTSTATUS Status;
-  
+
   DPRINT("NpfsQueryInformation(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
-  
+
   IoStack = IoGetCurrentIrpStackLocation (Irp);
   FileInformationClass = IoStack->Parameters.QueryFile.FileInformationClass;
   DeviceExtension = DeviceObject->DeviceExtension;
   FileObject = IoStack->FileObject;
   Fcb = (PNPFS_FCB)FileObject->FsContext;
   Pipe = Fcb->Pipe;
-  
+
   SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
   BufferLength = IoStack->Parameters.QueryFile.Length;
-  
+
   DPRINT("Pipe name: %wZ\n", &Pipe->PipeName);
   DPRINT("FileInformationClass %d\n", FileInformationClass);
   DPRINT("SystemBuffer %p\n", SystemBuffer);
   DPRINT("BufferLength %lu\n", BufferLength);
-  
+
   switch (FileInformationClass)
     {
       case FilePipeInformation:
@@ -134,7 +134,7 @@
       default:
 	Status = STATUS_NOT_SUPPORTED;
     }
-  
+
   Irp->IoStatus.Status = Status;
   if (NT_SUCCESS(Status))
     Irp->IoStatus.Information =
@@ -142,8 +142,8 @@
   else
     Irp->IoStatus.Information = 0;
   IoCompleteRequest (Irp, IO_NO_INCREMENT);
-  
-  return(Status);
+
+  return Status;
 }
 
 
@@ -196,7 +196,7 @@
   IoCompleteRequest(Irp,
 		    IO_NO_INCREMENT);
 
-  return(Status);
+  return Status;
 }
 
 /* EOF */

Modified: branches/xmlbuildsystem/reactos/drivers/fs/np/fsctrl.c
--- branches/xmlbuildsystem/reactos/drivers/fs/np/fsctrl.c	2005-03-05 20:44:57 UTC (rev 13832)
+++ branches/xmlbuildsystem/reactos/drivers/fs/np/fsctrl.c	2005-03-05 20:50:25 UTC (rev 13833)
@@ -2,10 +2,10 @@
  *
  * COPYRIGHT:  See COPYING in the top level directory
  * PROJECT:    ReactOS kernel
- * FILE:       services/fs/np/fsctrl.c
+ * FILE:       drivers/fs/np/fsctrl.c
  * PURPOSE:    Named pipe filesystem
  * PROGRAMMER: David Welch <welch@cwcom.net>
- *             Eric Kohl <ekohl@rz-online.de>
+ *             Eric Kohl
  */
 
[truncated at 1000 lines; 81657 more skipped]