From c6c624ebe3e19ae5d2b72d427bb98b8bd4838713 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Fri, 11 Aug 2000 12:46:47 +0000 Subject: [PATCH] Renamed pseudo target 'floppy' to 'install' Added workaround for corrupted dos header magic Added some more rtl functions svn path=/trunk/; revision=1292 --- reactos/Makefile | 80 +++++++------ reactos/apps/tests/apc/makefile | 2 +- reactos/apps/tests/args/makefile | 2 +- reactos/apps/tests/bench/makefile | 2 +- reactos/apps/tests/consume/Makefile | 2 +- reactos/apps/tests/event/makefile | 2 +- reactos/apps/tests/file/Makefile | 2 +- reactos/apps/tests/gditest/makefile | 2 +- reactos/apps/tests/hello/makefile | 2 +- reactos/apps/tests/lpc/makefile | 2 +- reactos/apps/tests/pteb/Makefile | 2 +- reactos/apps/tests/shm/makefile | 2 +- reactos/apps/tests/test_old/makefile | 2 +- reactos/apps/tests/thread/makefile | 2 +- reactos/apps/utils/cat/makefile | 2 +- reactos/apps/utils/objdir/makefile | 2 +- reactos/apps/utils/shell/makefile | 2 +- reactos/drivers/dd/beep/makefile | 4 +- reactos/drivers/dd/blue/makefile | 4 +- reactos/drivers/dd/floppy/Makefile | 4 +- reactos/drivers/dd/ide/makefile | 4 +- reactos/drivers/dd/keyboard/makefile | 4 +- reactos/drivers/dd/mouse/makefile | 2 +- reactos/drivers/dd/null/makefile | 4 +- reactos/drivers/dd/parallel/makefile | 4 +- reactos/drivers/dd/serial/makefile | 4 +- reactos/drivers/dd/vga/display/makefile | 4 +- reactos/drivers/dd/vga/makefile | 6 +- reactos/drivers/dd/vga/miniport/makefile | 4 +- reactos/drivers/dd/vidport/makefile | 4 +- reactos/drivers/fs/minix/makefile_rex | 4 +- reactos/drivers/fs/vfat/makefile | 4 +- reactos/drivers/net/ndis/Makefile | 2 +- reactos/drivers/net/tcpip/makefile | 2 +- reactos/drivers/net/tdi/Makefile | 4 +- reactos/drivers/net/tditest/makefile | 2 +- reactos/drivers/services/makefile | 4 +- reactos/include/ntdll/ldr.h | 9 +- reactos/include/ntdll/ntdll.h | 3 +- reactos/include/ntdll/rtl.h | 6 +- reactos/lib/advapi32/makefile | 4 +- reactos/lib/crtdll/makefile | 4 +- reactos/lib/fmifs/makefile | 4 +- reactos/lib/gdi32/makefile | 4 +- reactos/lib/kernel32/makefile | 4 +- reactos/lib/kernel32/process/create.c | 39 ++++--- reactos/lib/msvcrt/Makefile | 4 +- reactos/lib/ntdll/def/ntdll.def | 19 +-- reactos/lib/ntdll/def/ntdll.edf | 141 ++++++++++++++++++++++- reactos/lib/ntdll/ldr/startup.c | 8 +- reactos/lib/ntdll/ldr/utils.c | 69 ++++++----- reactos/lib/ntdll/makefile | 7 +- reactos/lib/ntdll/rtl/image.c | 24 ++-- reactos/lib/ntdll/rtl/misc.c | 88 ++++++++++++++ reactos/lib/ntdll/rtl/registry.c | 95 +++++++++++++++ reactos/lib/ntdll/stubs/stubs.c | 3 - reactos/lib/psxdll/makefile | 4 +- reactos/lib/rpcrt4/Makefile | 4 +- reactos/lib/user32/makefile_rex | 20 +++- reactos/lib/version/makefile | 4 +- reactos/loaders/dos/makefile | 2 +- reactos/ntoskrnl/cm/registry.c | 57 ++++----- reactos/ntoskrnl/io/xhaldrv.c | 45 +++++++- reactos/ntoskrnl/makefile_rex | 4 +- reactos/ntoskrnl/ntoskrnl.def | 20 ++-- reactos/ntoskrnl/ntoskrnl.edf | 20 ++-- reactos/subsys/csrss/makefile | 4 +- reactos/subsys/smss/makefile | 4 +- reactos/subsys/win32k/makefile | 4 +- 69 files changed, 660 insertions(+), 253 deletions(-) create mode 100644 reactos/lib/ntdll/rtl/misc.c create mode 100644 reactos/lib/ntdll/rtl/registry.c diff --git a/reactos/Makefile b/reactos/Makefile index 59d8247175d..1158380659c 100644 --- a/reactos/Makefile +++ b/reactos/Makefile @@ -6,7 +6,6 @@ # Select your host # #HOST = mingw32-linux -#HOST = djgpp-msdos #HOST = mingw32-windows include rules.mak @@ -16,7 +15,6 @@ include rules.mak # COMPONENTS = iface_native iface_additional ntoskrnl DLLS = ntdll kernel32 crtdll advapi32 fmifs gdi32 -#DLLS = mingw32 SUBSYS = smss win32k csrss # @@ -59,10 +57,10 @@ clean: buildno_clean $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_cle .PHONY: clean -floppy: make_floppy_dirs autoexec_floppy $(COMPONENTS:%=%_floppy) \ - $(DLLS:%=%_floppy) $(LOADERS:%=%_floppy) \ - $(KERNEL_SERVICES:%=%_floppy) $(SUBSYS:%=%_floppy) \ - $(APPS:%=%_floppy) +install: make_install_dirs autoexec_install $(COMPONENTS:%=%_install) \ + $(DLLS:%=%_install) $(LOADERS:%=%_install) \ + $(KERNEL_SERVICES:%=%_install) $(SUBSYS:%=%_install) \ + $(APPS:%=%_install) dist: clean_dist_dir make_dist_dirs $(COMPONENTS:%=%_dist) $(DLLS:%=%_dist) \ $(LOADERS:%=%_dist) $(KERNEL_SERVICES:%=%_dist) $(SUBSYS:%=%_dist) \ @@ -77,11 +75,11 @@ buildno: include/reactos/version.h buildno_clean: make -C apps/buildno clean -buildno_floppy: - buildno_dist: -.PHONY: buildno buildno_clean buildno_floppy buildno_dist +buildno_install: + +.PHONY: buildno buildno_clean buildno_dist buildno_install # # Applications @@ -92,13 +90,13 @@ $(APPS): %: $(APPS:%=%_clean): %_clean: make -C apps/$* clean -$(APPS:%=%_floppy): %_floppy: - make -C apps/$* floppy - $(APPS:%=%_dist): %_dist: make -C apps/$* dist -.PHONY: $(APPS) $(APPS:%=%_clean) $(APPS:%=%_floppy) $(APPS:%=%_dist) +$(APPS:%=%_install): %_install: + make -C apps/$* install + +.PHONY: $(APPS) $(APPS:%=%_clean) $(APPS:%=%_install) $(APPS:%=%_dist) # # Interfaces @@ -109,7 +107,7 @@ iface_native: iface_native_clean: make -C iface/native clean -iface_native_floppy: +iface_native_install: iface_native_dist: @@ -119,13 +117,13 @@ iface_additional: iface_additional_clean: make -C iface/addsys clean -iface_additional_floppy: +iface_additional_install: iface_additional_dist: -.PHONY: iface_native iface_native_clean iface_native_floppy \ +.PHONY: iface_native iface_native_clean iface_native_install \ iface_native_dist \ - iface_additional iface_additional_clean iface_additional_floppy \ + iface_additional iface_additional_clean iface_additional_install \ iface_additional_dist # @@ -137,14 +135,14 @@ $(DEVICE_DRIVERS): %: $(DEVICE_DRIVERS:%=%_clean): %_clean: make -C services/dd/$* clean -$(DEVICE_DRIVERS:%=%_floppy): %_floppy: - make -C services/dd/$* floppy +$(DEVICE_DRIVERS:%=%_install): %_install: + make -C services/dd/$* install $(DEVICE_DRIVERS:%=%_dist): %_dist: make -C services/dd/$* dist .PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_clean) \ - $(DEVICE_DRIVERS:%=%_floppy) $(DEVICE_DRIVERS:%=%_dist) + $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_dist) $(FS_DRIVERS): %: make -C services/fs/$* @@ -152,13 +150,13 @@ $(FS_DRIVERS): %: $(FS_DRIVERS:%=%_clean): %_clean: make -C services/fs/$* clean -$(FS_DRIVERS:%=%_floppy): %_floppy: - make -C services/fs/$* floppy +$(FS_DRIVERS:%=%_install): %_install: + make -C services/fs/$* install $(FS_DRIVERS:%=%_dist): %_dist: make -C services/fs/$* dist -.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean) $(FS_DRIVERS:%=%_floppy) \ +.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean) $(FS_DRIVERS:%=%_install) \ $(FS_DRIVERS:%=%_dist) $(NET_DRIVERS): %: @@ -167,13 +165,13 @@ $(NET_DRIVERS): %: $(NET_DRIVERS:%=%_clean): %_clean: make -C services/net/$* clean -$(NET_DRIVERS:%=%_floppy): %_floppy: - make -C services/net/$* floppy +$(NET_DRIVERS:%=%_install): %_install: + make -C services/net/$* install $(NET_DRIVERS:%=%_dist): %_dist: make -C services/net/$* dist -.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_clean) $(NET_DRIVERS:%=%_floppy) \ +.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_clean) $(NET_DRIVERS:%=%_install) \ $(NET_DRIVERS:%=%_dist) # @@ -186,13 +184,13 @@ $(LOADERS): %: $(LOADERS:%=%_clean): %_clean: make -C loaders/$* clean -$(LOADERS:%=%_floppy): %_floppy: - make -C loaders/$* floppy +$(LOADERS:%=%_install): %_install: + make -C loaders/$* install $(LOADERS:%=%_dist): %_dist: make -C loaders/$* dist -.PHONY: $(LOADERS) $(LOADERS:%=%_clean) $(LOADERS:%=%_floppy) \ +.PHONY: $(LOADERS) $(LOADERS:%=%_clean) $(LOADERS:%=%_install) \ $(LOADERS:%=%_dist) # @@ -205,13 +203,13 @@ ntoskrnl: ntoskrnl_clean: make -C ntoskrnl clean -ntoskrnl_floppy: - make -C ntoskrnl floppy +ntoskrnl_install: + make -C ntoskrnl install ntoskrnl_dist: make -C ntoskrnl dist -.PHONY: ntoskrnl ntoskrnl_clean ntoskrnl_floppy ntoskrnl_dist +.PHONY: ntoskrnl ntoskrnl_clean ntoskrnl_install ntoskrnl_dist # # Required DLLs @@ -223,13 +221,13 @@ $(DLLS): %: $(DLLS:%=%_clean): %_clean: make -C lib/$* clean -$(DLLS:%=%_floppy): %_floppy: - make -C lib/$* floppy +$(DLLS:%=%_install): %_install: + make -C lib/$* install $(DLLS:%=%_dist): %_dist: make -C lib/$* dist -.PHONY: $(DLLS) $(DLLS:%=%_clean) $(DLLS:%=%_floppy) $(DLLS:%=%_dist) +.PHONY: $(DLLS) $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_dist) # # Kernel Subsystems @@ -241,13 +239,13 @@ $(SUBSYS): %: $(SUBSYS:%=%_clean): %_clean: make -C subsys/$* clean -$(SUBSYS:%=%_floppy): %_floppy: - make -C subsys/$* floppy +$(SUBSYS:%=%_install): %_install: + make -C subsys/$* install $(SUBSYS:%=%_dist): %_dist: make -C subsys/$* dist -.PHONY: $(SUBSYS) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_floppy) \ +.PHONY: $(SUBSYS) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \ $(SUBSYS:%=%_dist) # @@ -259,7 +257,7 @@ install: all ./install.sh /mnt/hda4 ./install.bochs -make_floppy_dirs: +make_install_dirs: ifeq ($(DOSCLI),yes) mkdir $(FLOPPY_DIR)\dlls mkdir $(FLOPPY_DIR)\apps @@ -270,9 +268,9 @@ else mkdir $(FLOPPY_DIR)/subsys endif -.PHONY: make_floppy_dirs +.PHONY: make_install_dirs -autoexec_floppy: $(FLOPPY_DIR)/autoexec.bat +autoexec_install: $(FLOPPY_DIR)/autoexec.bat $(FLOPPY_DIR)/autoexec.bat: bootflop.bat ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/apc/makefile b/reactos/apps/tests/apc/makefile index 8494c5c8d0b..12f1282f555 100644 --- a/reactos/apps/tests/apc/makefile +++ b/reactos/apps/tests/apc/makefile @@ -19,7 +19,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/args/makefile b/reactos/apps/tests/args/makefile index c39a84774b9..f265ac5acf8 100644 --- a/reactos/apps/tests/args/makefile +++ b/reactos/apps/tests/args/makefile @@ -17,7 +17,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/bench/makefile b/reactos/apps/tests/bench/makefile index 4bf40ca48bb..c05c0712453 100644 --- a/reactos/apps/tests/bench/makefile +++ b/reactos/apps/tests/bench/makefile @@ -16,7 +16,7 @@ $(PROGS:%=%_clean): %_clean: .phony: clean -floppy: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) +install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/consume/Makefile b/reactos/apps/tests/consume/Makefile index 215ce75e571..5e64600bce0 100644 --- a/reactos/apps/tests/consume/Makefile +++ b/reactos/apps/tests/consume/Makefile @@ -15,7 +15,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .phony: clean $(CLEAN_FILES:%=%_clean) -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/event/makefile b/reactos/apps/tests/event/makefile index 52624dcc674..c84d51494f6 100644 --- a/reactos/apps/tests/event/makefile +++ b/reactos/apps/tests/event/makefile @@ -16,7 +16,7 @@ $(PROGS:%=%_clean): %_clean: .phony: clean -floppy: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) +install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/file/Makefile b/reactos/apps/tests/file/Makefile index 72bd20e6f9e..50061f4bd5f 100644 --- a/reactos/apps/tests/file/Makefile +++ b/reactos/apps/tests/file/Makefile @@ -17,7 +17,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/gditest/makefile b/reactos/apps/tests/gditest/makefile index 33519ab1c87..d516c3dbd21 100644 --- a/reactos/apps/tests/gditest/makefile +++ b/reactos/apps/tests/gditest/makefile @@ -21,7 +21,7 @@ clean: $(PROGS:%=%_clean) .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/hello/makefile b/reactos/apps/tests/hello/makefile index 954f6d49dd8..3af644441eb 100644 --- a/reactos/apps/tests/hello/makefile +++ b/reactos/apps/tests/hello/makefile @@ -15,7 +15,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .phony: clean $(CLEAN_FILES:%=%_clean) -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/lpc/makefile b/reactos/apps/tests/lpc/makefile index d341cfad630..4813ae35c15 100644 --- a/reactos/apps/tests/lpc/makefile +++ b/reactos/apps/tests/lpc/makefile @@ -24,7 +24,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/pteb/Makefile b/reactos/apps/tests/pteb/Makefile index 8723058a6a8..031e1b0ba40 100644 --- a/reactos/apps/tests/pteb/Makefile +++ b/reactos/apps/tests/pteb/Makefile @@ -15,7 +15,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .phony: clean $(CLEAN_FILES:%=%_clean) -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/shm/makefile b/reactos/apps/tests/shm/makefile index 015f2c25534..215de317456 100644 --- a/reactos/apps/tests/shm/makefile +++ b/reactos/apps/tests/shm/makefile @@ -21,7 +21,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/test_old/makefile b/reactos/apps/tests/test_old/makefile index 239fe08f94a..2c4ee70445e 100644 --- a/reactos/apps/tests/test_old/makefile +++ b/reactos/apps/tests/test_old/makefile @@ -17,7 +17,7 @@ clean: $(PROGS:%=%_clean) .phony: clean -floppy: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) +install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/tests/thread/makefile b/reactos/apps/tests/thread/makefile index d2d18d38f54..c3b6509a2cf 100644 --- a/reactos/apps/tests/thread/makefile +++ b/reactos/apps/tests/thread/makefile @@ -16,7 +16,7 @@ $(PROGS:%=%_clean): %_clean: .phony: clean -floppy: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) +install: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe) $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/utils/cat/makefile b/reactos/apps/utils/cat/makefile index 10b35f20a5c..eda3fbb0e3e 100644 --- a/reactos/apps/utils/cat/makefile +++ b/reactos/apps/utils/cat/makefile @@ -15,7 +15,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/utils/objdir/makefile b/reactos/apps/utils/objdir/makefile index 64ea60070ee..a5cd5e16bf7 100644 --- a/reactos/apps/utils/objdir/makefile +++ b/reactos/apps/utils/objdir/makefile @@ -24,7 +24,7 @@ clean: .phony: clean -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/apps/utils/shell/makefile b/reactos/apps/utils/shell/makefile index 23e9e61abfe..f5c3286b058 100644 --- a/reactos/apps/utils/shell/makefile +++ b/reactos/apps/utils/shell/makefile @@ -17,7 +17,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .phony: clean $(CLEAN_FILES:%=%_clean) -floppy: $(PROGS:%=$(FLOPPY_DIR)/apps/%) +install: $(PROGS:%=$(FLOPPY_DIR)/apps/%) $(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: % ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/beep/makefile b/reactos/drivers/dd/beep/makefile index 9979ff3432b..c7f0b2af695 100644 --- a/reactos/drivers/dd/beep/makefile +++ b/reactos/drivers/dd/beep/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.6 1999/12/04 20:58:35 ea Exp $ +# $Id: makefile,v 1.7 2000/08/11 12:41:58 ekohl Exp $ # # TARGET = beep @@ -20,7 +20,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/blue/makefile b/reactos/drivers/dd/blue/makefile index 6a90fc04584..46854204cac 100644 --- a/reactos/drivers/dd/blue/makefile +++ b/reactos/drivers/dd/blue/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.11 2000/05/08 23:25:36 ekohl Exp $ +# $Id: makefile,v 1.12 2000/08/11 12:42:07 ekohl Exp $ # # TARGET = blue @@ -21,7 +21,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/floppy/Makefile b/reactos/drivers/dd/floppy/Makefile index 4f0b3ca758e..b489bdffcac 100644 --- a/reactos/drivers/dd/floppy/Makefile +++ b/reactos/drivers/dd/floppy/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 2000/07/19 14:25:35 dwelch Exp $ +# $Id: Makefile,v 1.2 2000/08/11 12:42:19 ekohl Exp $ # # TARGET=floppy @@ -21,7 +21,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/ide/makefile b/reactos/drivers/dd/ide/makefile index d5ed878b2ab..6b5e9302fbf 100644 --- a/reactos/drivers/dd/ide/makefile +++ b/reactos/drivers/dd/ide/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.13 2000/08/05 18:01:54 dwelch Exp $ +# $Id: makefile,v 1.14 2000/08/11 12:42:31 ekohl Exp $ # # TARGET=ide @@ -22,7 +22,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/keyboard/makefile b/reactos/drivers/dd/keyboard/makefile index 17d504365aa..ea94ddab346 100644 --- a/reactos/drivers/dd/keyboard/makefile +++ b/reactos/drivers/dd/keyboard/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.9 2000/06/29 23:35:48 dwelch Exp $ +# $Id: makefile,v 1.10 2000/08/11 12:42:41 ekohl Exp $ # # TARGET=keyboard @@ -21,7 +21,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/mouse/makefile b/reactos/drivers/dd/mouse/makefile index 3edc43d5365..1ca873e520d 100644 --- a/reactos/drivers/dd/mouse/makefile +++ b/reactos/drivers/dd/mouse/makefile @@ -17,7 +17,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/null/makefile b/reactos/drivers/dd/null/makefile index bf0abe7e8c0..1129eec26fd 100644 --- a/reactos/drivers/dd/null/makefile +++ b/reactos/drivers/dd/null/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.7 2000/02/20 22:52:49 ea Exp $ +# $Id: makefile,v 1.8 2000/08/11 12:42:58 ekohl Exp $ # # TARGETNAME=null @@ -20,7 +20,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/parallel/makefile b/reactos/drivers/dd/parallel/makefile index 130389aae8b..d6f6faa933b 100644 --- a/reactos/drivers/dd/parallel/makefile +++ b/reactos/drivers/dd/parallel/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.8 2000/06/29 23:35:49 dwelch Exp $ +# $Id: makefile,v 1.9 2000/08/11 12:43:09 ekohl Exp $ # # TARGET=parallel @@ -20,7 +20,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/serial/makefile b/reactos/drivers/dd/serial/makefile index ae0761379fa..d91c9daf9cc 100644 --- a/reactos/drivers/dd/serial/makefile +++ b/reactos/drivers/dd/serial/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.8 2000/06/29 23:35:49 dwelch Exp $ +# $Id: makefile,v 1.9 2000/08/11 12:43:19 ekohl Exp $ # # TARGET= serial @@ -20,7 +20,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/vga/display/makefile b/reactos/drivers/dd/vga/display/makefile index c5a5f455268..90e9a2d63cf 100644 --- a/reactos/drivers/dd/vga/display/makefile +++ b/reactos/drivers/dd/vga/display/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.8 2000/08/05 18:01:55 dwelch Exp $ +# $Id: makefile,v 1.9 2000/08/11 12:43:43 ekohl Exp $ # # Makefile for ReactOS vgaddi.dll # @@ -78,7 +78,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/vga/makefile b/reactos/drivers/dd/vga/makefile index fda765efd86..62478c60d76 100644 --- a/reactos/drivers/dd/vga/makefile +++ b/reactos/drivers/dd/vga/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.8 2000/07/07 11:55:02 ekohl Exp $ +# $Id: makefile,v 1.9 2000/08/11 12:43:33 ekohl Exp $ # # all: @@ -12,3 +12,7 @@ clean: dist: make -C display dist make -C miniport dist + +install: + make -C display install + make -C miniport install diff --git a/reactos/drivers/dd/vga/miniport/makefile b/reactos/drivers/dd/vga/miniport/makefile index 97efdeed0f4..44d186fb846 100644 --- a/reactos/drivers/dd/vga/miniport/makefile +++ b/reactos/drivers/dd/vga/miniport/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.1 2000/03/17 21:02:57 jfilby Exp $ +# $Id: makefile,v 1.2 2000/08/11 12:43:51 ekohl Exp $ # # BASE_CFLAGS = -I../../../../include @@ -47,7 +47,7 @@ vgamp.sys: $(MP_OBJECTS) $(MP_OBJECTS) - $(RM) temp.exp -floppy: $(FLOPPY_DIR)/drivers/vgamp.sys +install: $(FLOPPY_DIR)/drivers/vgamp.sys $(FLOPPY_DIR)/drivers/vgamp.sys: vgamp.sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/dd/vidport/makefile b/reactos/drivers/dd/vidport/makefile index 94c4a2b74d2..8e845478bfd 100644 --- a/reactos/drivers/dd/vidport/makefile +++ b/reactos/drivers/dd/vidport/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.7 1999/12/04 20:58:41 ea Exp $ +# $Id: makefile,v 1.8 2000/08/11 12:44:03 ekohl Exp $ # # TARGET=vidport @@ -21,7 +21,7 @@ clean: .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/fs/minix/makefile_rex b/reactos/drivers/fs/minix/makefile_rex index 25b38cc207e..cd984a6d8c9 100644 --- a/reactos/drivers/fs/minix/makefile_rex +++ b/reactos/drivers/fs/minix/makefile_rex @@ -1,4 +1,4 @@ -# $Id: makefile_rex,v 1.11 2000/07/19 14:18:20 dwelch Exp $ +# $Id: makefile_rex,v 1.12 2000/08/11 12:44:24 ekohl Exp $ # # Minix IFS Driver makefile # @@ -84,7 +84,7 @@ minixfs.sys: $(OBJECTS) minix.coff: ../../../include/reactos/buildno.h minix.rc -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/fs/vfat/makefile b/reactos/drivers/fs/vfat/makefile index c53bf5fd911..281e32e39c6 100644 --- a/reactos/drivers/fs/vfat/makefile +++ b/reactos/drivers/fs/vfat/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.19 2000/08/05 18:01:55 dwelch Exp $ +# $Id: makefile,v 1.20 2000/08/11 12:44:40 ekohl Exp $ # # TARGET=vfatfs @@ -27,7 +27,7 @@ endif .phony: clean -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/net/ndis/Makefile b/reactos/drivers/net/ndis/Makefile index ca1429cbef3..7d02ac7aa21 100644 --- a/reactos/drivers/net/ndis/Makefile +++ b/reactos/drivers/net/ndis/Makefile @@ -69,7 +69,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/net/tcpip/makefile b/reactos/drivers/net/tcpip/makefile index 110f57624eb..929f30d78fd 100644 --- a/reactos/drivers/net/tcpip/makefile +++ b/reactos/drivers/net/tcpip/makefile @@ -108,7 +108,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/net/tdi/Makefile b/reactos/drivers/net/tdi/Makefile index 0957ba2e8af..f6a5841e1ba 100644 --- a/reactos/drivers/net/tdi/Makefile +++ b/reactos/drivers/net/tdi/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 2000/08/08 17:41:25 ekohl Exp $ +# $Id: Makefile,v 1.8 2000/08/11 12:45:45 ekohl Exp $ # # TDI.SYS build spec # @@ -88,7 +88,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/net/tditest/makefile b/reactos/drivers/net/tditest/makefile index 39e813547d1..16841b09bfc 100644 --- a/reactos/drivers/net/tditest/makefile +++ b/reactos/drivers/net/tditest/makefile @@ -60,7 +60,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys +install: $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys $(FLOPPY_DIR)/drivers/$(TARGETNAME).sys: $(TARGETNAME).sys ifeq ($(DOSCLI),yes) diff --git a/reactos/drivers/services/makefile b/reactos/drivers/services/makefile index 713ef1c2cb4..fa298b6c682 100644 --- a/reactos/drivers/services/makefile +++ b/reactos/drivers/services/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.1 2000/03/26 22:00:09 dwelch Exp $ +# $Id: makefile,v 1.2 2000/08/11 12:46:10 ekohl Exp $ # # CSRSS: Client/server runtime subsystem # @@ -38,7 +38,7 @@ $(TARGET).exe: $(OBJECTS) $(LIBS) $(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym -floppy: $(FLOPPY_DIR)/subsys/$(TARGET).exe +install: $(FLOPPY_DIR)/subsys/$(TARGET).exe $(FLOPPY_DIR)/subsys/$(TARGET).exe: $(TARGET).exe ifeq ($(DOSCLI),yes) diff --git a/reactos/include/ntdll/ldr.h b/reactos/include/ntdll/ldr.h index d8406b37c74..b8ce09c9927 100644 --- a/reactos/include/ntdll/ldr.h +++ b/reactos/include/ntdll/ldr.h @@ -27,12 +27,9 @@ LdrLoadDll (PDLL* Dll,PCHAR Name); NTSTATUS LdrUnloadDll(PDLL Dll); -NTSTATUS -STDCALL -LdrDisableThreadCalloutsForDll ( - PVOID IN ImageBase, - BOOLEAN IN Disable - ); +NTSTATUS STDCALL +LdrDisableThreadCalloutsForDll (IN PVOID BaseAddress, + IN BOOLEAN Disable); NTSTATUS STDCALL LdrGetProcedureAddress (IN PVOID BaseAddress, diff --git a/reactos/include/ntdll/ntdll.h b/reactos/include/ntdll/ntdll.h index 7f5c456cfec..1921722e586 100644 --- a/reactos/include/ntdll/ntdll.h +++ b/reactos/include/ntdll/ntdll.h @@ -4,7 +4,7 @@ #define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__); #ifdef NDEBUG -#define DPRINT(args...) +#define DPRINT(args...) #define CHECKPOINT #else #define DPRINT(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); @@ -12,6 +12,7 @@ #endif #define DPRINT1(args...) do { DbgPrint("(NTDLL:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); +#define CHECKPOINT1 do { DbgPrint("(NTDLL:%s:%d) Checkpoint\n",__FILE__,__LINE__); } while(0); #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b)) #define ROUNDDOWN(a,b) (((a)/(b))*(b)) diff --git a/reactos/include/ntdll/rtl.h b/reactos/include/ntdll/rtl.h index 8d01cce8620..95c47d89830 100644 --- a/reactos/include/ntdll/rtl.h +++ b/reactos/include/ntdll/rtl.h @@ -1,4 +1,4 @@ -/* $Id: rtl.h,v 1.17 2000/06/29 23:35:22 dwelch Exp $ +/* $Id: rtl.h,v 1.18 2000/08/11 12:30:18 ekohl Exp $ * */ @@ -174,6 +174,10 @@ RtlGetLongestNtPathLength ( VOID ); +ULONG STDCALL RtlGetNtGlobalFlags(VOID); + +BOOLEAN STDCALL RtlGetNtProductType(PULONG ProductType); + ULONG STDCALL RtlIsDosDeviceName_U ( diff --git a/reactos/lib/advapi32/makefile b/reactos/lib/advapi32/makefile index dc0963855b1..6b8da9b70eb 100644 --- a/reactos/lib/advapi32/makefile +++ b/reactos/lib/advapi32/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.12 2000/04/05 01:40:35 ekohl Exp $ +# $Id: makefile,v 1.13 2000/08/11 12:31:17 ekohl Exp $ # # Makefile for ReactOS advapi32.dll # @@ -96,7 +96,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll +install: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/crtdll/makefile b/reactos/lib/crtdll/makefile index 51ebd3b8efd..1c44ac9832e 100644 --- a/reactos/lib/crtdll/makefile +++ b/reactos/lib/crtdll/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.36 2000/08/05 18:01:48 dwelch Exp $ +# $Id: makefile,v 1.37 2000/08/11 12:31:28 ekohl Exp $ # # ReactOS Operating System # @@ -209,7 +209,7 @@ clean: $(CLEAN_FILES:%=%_clean) $(CLEAN_FILES:%=%_clean): %_clean: - $(RM) $* -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/fmifs/makefile b/reactos/lib/fmifs/makefile index 3f9408e72b6..75d6051d462 100644 --- a/reactos/lib/fmifs/makefile +++ b/reactos/lib/fmifs/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.7 1999/08/29 13:44:53 dwelch Exp $ +# $Id: makefile,v 1.8 2000/08/11 12:31:37 ekohl Exp $ # # Makefile for fmifs.dll # @@ -70,7 +70,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/gdi32/makefile b/reactos/lib/gdi32/makefile index 10b6cdbf2be..d93a5b06787 100644 --- a/reactos/lib/gdi32/makefile +++ b/reactos/lib/gdi32/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.13 2000/08/05 18:01:48 dwelch Exp $ +# $Id: makefile,v 1.14 2000/08/11 12:31:49 ekohl Exp $ # # Makefile for ReactOS gdi32.dll # @@ -79,7 +79,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/kernel32/makefile b/reactos/lib/kernel32/makefile index 1ad673d696f..bfcb320d1b3 100644 --- a/reactos/lib/kernel32/makefile +++ b/reactos/lib/kernel32/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.35 2000/08/05 18:01:49 dwelch Exp $ +# $Id: makefile,v 1.36 2000/08/11 12:32:04 ekohl Exp $ # # ReactOS Operating System # @@ -139,7 +139,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/kernel32/process/create.c b/reactos/lib/kernel32/process/create.c index 156416a4779..892ca60e05b 100644 --- a/reactos/lib/kernel32/process/create.c +++ b/reactos/lib/kernel32/process/create.c @@ -1,4 +1,4 @@ -/* $Id: create.c,v 1.29 2000/06/29 23:35:26 dwelch Exp $ +/* $Id: create.c,v 1.30 2000/08/11 12:32:37 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -395,6 +395,7 @@ WINBOOL STDCALL CreateProcessW(LPCWSTR lpApplicationName, PWCHAR s; PWCHAR e; ULONG i; + ANSI_STRING ProcedureName; DPRINT("CreateProcessW(lpApplicationName '%S', lpCommandLine '%S')\n", lpApplicationName,lpCommandLine); @@ -405,17 +406,17 @@ WINBOOL STDCALL CreateProcessW(LPCWSTR lpApplicationName, s = wcsrchr(lpApplicationName, '\\'); if (s == NULL) { - s = lpApplicationName; + s = (PWCHAR)lpApplicationName; } else { s++; - } + } e = wcschr(s, '.'); if (e != NULL) { *e = 0; - } + } for (i = 0; i < 8; i++) { ImageFileName[i] = (CHAR)(s[i]); @@ -481,10 +482,10 @@ WINBOOL STDCALL CreateProcessW(LPCWSTR lpApplicationName, hSection, NULL, NULL); - + /* * Get some information about the process - */ + */ ZwQueryInformationProcess(hProcess, ProcessBasicInformation, &ProcessBasicInfo, @@ -515,7 +516,7 @@ WINBOOL STDCALL CreateProcessW(LPCWSTR lpApplicationName, /* * Create Process Environment Block - */ + */ DPRINT("Creating peb\n"); Ppb->ConsoleHandle = ConsoleHandle; @@ -530,16 +531,26 @@ WINBOOL STDCALL CreateProcessW(LPCWSTR lpApplicationName, ProcessImageFileName, ImageFileName, 8); - - DPRINT("Creating thread for process\n"); - lpStartAddress = (LPTHREAD_START_ROUTINE) - ((PIMAGE_OPTIONAL_HEADER)OPTHDROFFSET(NTDLL_BASE))-> - AddressOfEntryPoint + - ((PIMAGE_OPTIONAL_HEADER)OPTHDROFFSET(NTDLL_BASE))->ImageBase; - + /* + * Retrieve the start address + */ + DPRINT("Retrieving entry point address\n"); + RtlInitAnsiString (&ProcedureName, "LdrInitializeThunk"); + Status = LdrGetProcedureAddress ((PVOID)NTDLL_BASE, + &ProcedureName, + 0, + (PVOID*)&lpStartAddress); + if (!NT_SUCCESS(Status)) + { + DbgPrint ("LdrGetProcedureAddress failed (Status %x)\n", Status); + return (Status); + } + DPRINT("lpStartAddress 0x%08lx\n", (ULONG)lpStartAddress); + /* * Create the thread for the kernel */ + DPRINT("Creating thread for process\n"); hThread = KlCreateFirstThread(hProcess, lpThreadAttributes, // Headers.OptionalHeader.SizeOfStackReserve, diff --git a/reactos/lib/msvcrt/Makefile b/reactos/lib/msvcrt/Makefile index 50b3aad4f59..fc06f49bc2b 100644 --- a/reactos/lib/msvcrt/Makefile +++ b/reactos/lib/msvcrt/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 2000/06/18 10:57:42 ea Exp $ +# $Id: Makefile,v 1.2 2000/08/11 12:32:53 ekohl Exp $ # # ReactOS Operating System # @@ -100,7 +100,7 @@ clean: $(CLEAN_FILES:%=%_clean) $(CLEAN_FILES:%=%_clean): %_clean: - $(RM) $* -floppy: $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/ntdll/def/ntdll.def b/reactos/lib/ntdll/def/ntdll.def index a722c5f339b..cc7c8e10067 100644 --- a/reactos/lib/ntdll/def/ntdll.def +++ b/reactos/lib/ntdll/def/ntdll.def @@ -1,4 +1,4 @@ -; $Id: ntdll.def,v 1.58 2000/08/05 18:01:51 dwelch Exp $ +; $Id: ntdll.def,v 1.59 2000/08/11 12:34:13 ekohl Exp $ ; ; ReactOS Operating System ; @@ -35,6 +35,7 @@ DbgUserBreakPoint@0 LdrAccessResource LdrDisableThreadCalloutsForDll@8 ;LdrEnumResources +;LdrFindEntryForAddress ;LdrFindResourceDirectory_U LdrFindResource_U ;LdrGetDllHandle @@ -298,7 +299,7 @@ RtlAreBitsSet@12 RtlAssert@16 ;RtlCaptureStackBackTrace RtlCharToInteger@12 -;RtlCheckRegistryKey +RtlCheckRegistryKey@8 RtlClearAllBits@4 RtlClearBits@12 ;RtlClosePropertySet @@ -330,7 +331,7 @@ RtlCreateHeap@24 RtlCreateProcessParameters@40 ;RtlCreatePropertySet ;RtlCreateQueryDebugBuffer -;RtlCreateRegistryKey +RtlCreateRegistryKey@8 RtlCreateSecurityDescriptor@8 ;RtlCreateTagHeap RtlCreateUnicodeString@8 @@ -349,7 +350,7 @@ RtlDeleteAce@8 RtlDeleteCriticalSection@4 ;RtlDeleteElementGenericTable ;RtlDeleteNoSplay -;RtlDeleteRegistryValue +RtlDeleteRegistryValue@12 ;RtlDeleteResource ;RtlDeleteSecurityObject ;RtlDestroyAtomTable @@ -417,8 +418,8 @@ RtlGetDaclSecurityDescriptor@16 RtlGetFullPathName_U@16 RtlGetGroupSecurityDescriptor@12 RtlGetLongestNtPathLength@0 -;RtlGetNtGlobalFlags -;RtlGetNtProductType +RtlGetNtGlobalFlags@0 +RtlGetNtProductType@4 RtlGetOwnerSecurityDescriptor@12 RtlGetProcessHeaps@8 RtlGetProcessHeap@0 @@ -504,7 +505,7 @@ RtlQueryInformationAcl@16 ;RtlQueryProperties ;RtlQueryPropertyNames ;RtlQueryPropertySet -;RtlQueryRegistryValues +RtlQueryRegistryValues@20 ;RtlQuerySecutityObject ;RtlQueryTagHeap ;RtlQueryTimeZoneInformation @@ -586,12 +587,12 @@ RtlValidSid@4 RtlValidateHeap@12 RtlValidateProcessHeaps@0 ;RtlWalkHeap -;RtlWriteRegistryValue +RtlWriteRegistryValue@24 ;RtlZeroHeap RtlZeroMemory@8 ;RtlpNtCreateKey ;RtlpNtEnumerateSubKey -;RtlpNtMakeTemporaryKey +RtlpNtMakeTemporaryKey@4 ;RtlpNtOpenKey ;RtlpNtQueryValueKey ;RtlpNtSetValueKey diff --git a/reactos/lib/ntdll/def/ntdll.edf b/reactos/lib/ntdll/def/ntdll.edf index 013b047ae09..ba314e818d6 100644 --- a/reactos/lib/ntdll/def/ntdll.edf +++ b/reactos/lib/ntdll/def/ntdll.edf @@ -1,4 +1,4 @@ -; $Id: ntdll.edf,v 1.47 2000/08/05 18:01:51 dwelch Exp $ +; $Id: ntdll.edf,v 1.48 2000/08/11 12:34:13 ekohl Exp $ ; ; ReactOS Operating System ; @@ -35,6 +35,7 @@ DbgUserBreakPoint=DbgUserBreakPoint@0 LdrAccessResource LdrDisableThreadCalloutsForDll=LdrDisableThreadCalloutsForDll@8 ;LdrEnumResources +;LdrFindEntryForAddress ;LdrFindResourceDirectory_U LdrFindResource_U ;LdrGetDllHandle @@ -260,65 +261,116 @@ NtWriteRequestData=NtWriteRequestData@24 NtWriteVirtualMemory=NtWriteVirtualMemory@20 NtW32Call=NtW32Call@20 NtYieldExecution=NtYieldExecution@0 +;PfxFindPrefix +;PfxInitialize +;PfxInsertPrefix +;PfxRemovePrefix +;RtlAbortRXact RtlAbsoluteToSelfRelativeSD=RtlAbsoluteToSelfRelativeSD@12 RtlAcquirePebLock=RtlAcquirePebLock@0 +;RtlAcqureResourceExclusive +;RtlAcqureResourceShared RtlAddAccessAllowedAce=RtlAddAccessAllowedAce@16 RtlAddAccessDeniedAce=RtlAddAccessDeniedAce@16 RtlAddAce=RtlAddAce@20 +;RtlAddActionToRXact +;RtlAtomToAtomTable +;RtlAddAttributeActionToRXact RtlAddAuditAccessAce=RtlAddAuditAccessAce@24 +;RtlAddCompoundAce +;RtlAdjustPrivilege RtlAllocateAndInitializeSid=RtlAllocateAndInitializeSid@44 +;RtlAllocateHandle RtlAllocateHeap=RtlAllocateHeap@12 RtlAnsiCharToUnicodeChar=RtlAnsiCharToUnicodeChar@4 RtlAnsiStringToUnicodeSize=RtlAnsiStringToUnicodeSize@4 RtlAnsiStringToUnicodeString=RtlAnsiStringToUnicodeString@12 RtlAppendUnicodeStringToString=RtlAppendUnicodeStringToString@8 RtlAppendUnicodeToString=RtlAppendUnicodeToString@8 +;RtlApplyRXact +;RtlApplyRXactNoFlush RtlAreAllAccessesGranted=RtlAreAllAccessesGranted@8 RtlAreAnyAccessesGranted=RtlAreAnyAccessesGranted@8 RtlAreBitsClear=RtlAreBitsClear@12 RtlAreBitsSet=RtlAreBitsSet@12 RtlAssert=RtlAssert@16 +;RtlCaptureStackBackTrace RtlCharToInteger=RtlCharToInteger@12 +RtlCheckRegistryKey=RtlCheckRegistryKey@8 RtlClearAllBits=RtlClearAllBits@4 RtlClearBits=RtlClearBits@12 +;RtlClosePropertySet RtlCompactHeap=RtlCompactHeap@8 RtlCompareMemory=RtlCompareMemory@12 RtlCompareMemoryUlong=RtlCompareMemoryUlong@12 RtlCompareString=RtlCompareString@12 RtlCompareUnicodeString=RtlCompareUnicodeString@12 +;RtlCompressBuffer +;RtlConsoleMultiByteToUnicodeN +;RtlConvertExclusiveToShared RtlConvertLongToLargeInteger=RtlConvertLongToLargeInteger@4 +;RtlConvertSharedToExclusive RtlConvertSidToUnicodeString=RtlConvertSidToUnicodeString@12 +;RtlConvertUiListToApiList RtlConvertUlongToLargeInteger=RtlConvertUlongToLargeInteger@4 RtlCopyLuid=RtlCopyLuid@8 +;RtlCopyLuidAndAttributesArray +;RtlCopySecurityDescriptor RtlCopySid=RtlCopySid@12 +;RtlCopySidAndAttributesArray RtlCopyString=RtlCopyString@8 RtlCopyUnicodeString=RtlCopyUnicodeString@8 RtlCreateAcl=RtlCreateAcl@12 +;RtlCreateAndSetSD +;RtlCreateAtomTable RtlCreateEnvironment=RtlCreateEnvironment@8 RtlCreateHeap=RtlCreateHeap@24 RtlCreateProcessParameters=RtlCreateProcessParameters@40 +;RtlCreatePropertySet +;RtlCreateQueryDebugBuffer +RtlCreateRegistryKey=RtlCreateRegistryKey@8 RtlCreateSecurityDescriptor=RtlCreateSecurityDescriptor@8 +;RtlCreateTagHeap RtlCreateUnicodeString=RtlCreateUnicodeString@8 RtlCreateUnicodeStringFromAsciiz=RtlCreateUnicodeStringFromAsciiz@8 RtlCreateUserProcess=RtlCreateUserProcess@40 +;RtlCreateUserSecurityObject RtlCreateUserThread=RtlCreateUserThread@40 RtlCustomCPToUnicodeN=RtlCustomCPToUnicodeN@24 +;RtlCutoverTimeToSystemTime RtlDeNormalizeProcessParams=RtlDeNormalizeProcessParams@4 +;RtlDecompressBuffer +;RtlDecompressFragment +;RtlDelete RtlDeleteAce=RtlDeleteAce@8 +;RtlDeleteAtomFromAtomTable RtlDeleteCriticalSection=RtlDeleteCriticalSection@4 +;RtlDeleteElementGenericTable +;RtlDeleteNoSplay +RtlDeleteRegistryValue=RtlDeleteRegistryValue@12 +;RtlDeleteResource +;RtlDeleteSecurityObject +;RtlDestroyAtomTable RtlDestroyEnvironment=RtlDestroyEnvironment@4 +;RtlDestroyHandleTable RtlDestroyHeap=RtlDestroyHeap@4 RtlDestroyProcessParameters=RtlDestroyProcessParameters@4 +;RtlDestroyQueryDebugBuffer RtlDetermineDosPathNameType_U=RtlDetermineDosPathNameType_U@4 RtlDoesFileExists_U=RtlDoesFileExists_U@4 RtlDosPathNameToNtPathName_U=RtlDosPathNameToNtPathName_U@16 RtlDosSearchPath_U=RtlDosSearchPath_U@24 RtlDowncaseUnicodeString=RtlDowncaseUnicodeString@12 +;RtlDumpResource +;RtlEmptyAtomTable RtlEnlargedIntegerMultiply=RtlEnlargedIntegerMultiply@8 RtlEnlargedUnsignedDivide=RtlEnlargedUnsignedDivide@16 RtlEnlargedUnsignedMultiply=RtlEnlargedUnsignedMultiply@8 RtlEnterCriticalSection=RtlEnterCriticalSection@4 RtlEnumProcessHeaps=RtlEnumProcessHeaps@8 +;RtlEnumerateGenericTable +;RtlEnumerateGenericTableWithoutSplaying +;RtlEnumerateProperties RtlEqualComputerName=RtlEqualComputerName@8 RtlEqualDomainName=RtlEqualDomainName@8 RtlEqualLuid=RtlEqualLuid@8 @@ -328,6 +380,7 @@ RtlEqualString=RtlEqualString@12 RtlEqualUnicodeString=RtlEqualUnicodeString@12 RtlEraseUnicodeString=RtlEraseUnicodeString@4 RtlExpandEnvironmentStrings_U=RtlExpandEnvironmentStrings_U@16 +;RtlExtendHeap RtlExtendedIntegerMultiply=RtlExtendedIntegerMultiply@12 RtlExtendedLargeIntegerDivide=RtlExtendedLargeIntegerDivide@16 RtlExtendedMagicDivide=RtlExtendedMagicDivide@20 @@ -338,40 +391,66 @@ RtlFindClearBitsAndSet=RtlFindClearBitsAndSet@12 RtlFirstFreeAce=RtlFirstFreeAce@8 RtlFindLongestRunClear=RtlFindLongestRunClear@8 RtlFindLongestRunSet=RtlFindLongestRunSet@8 +;RtlFindMessage RtlFindSetBits=RtlFindSetBits@12 RtlFindSetBitsAndClear=RtlFindSetBitsAndClear@12 +;RtlFlushPropertySet +;RtlFormatCurrentUserKeyPath +;RtlFormatMessage RtlFreeAnsiString=RtlFreeAnsiString@4 +;RtlFreeHandle RtlFreeHeap=RtlFreeHeap@12 RtlFreeSid=RtlFreeSid@4 RtlFreeUnicodeString=RtlFreeUnicodeString@4 RtlFreeUserThreadStack=RtlFreeUserThreadStack@8 +;RtlGenerate8dot3Name RtlGetAce=RtlGetAce@12 +;RtlGetCallersAddress +;RtlGetCompressionWorkSpaceSize RtlGetControlSecurityDescriptor=RtlGetControlSecurityDescriptor@12 RtlGetCurrentDirectory_U=RtlGetCurrentDirectory_U@8 RtlGetDaclSecurityDescriptor=RtlGetDaclSecurityDescriptor@16 +;RtlGetElementGenericTable RtlGetFullPathName_U=RtlGetFullPathName_U@16 RtlGetGroupSecurityDescriptor=RtlGetGroupSecurityDescriptor@12 RtlGetLongestNtPathLength=RtlGetLongestNtPathLength@0 +RtlGetNtGlobalFlags=RtlGetNtGlobalFlags@0 +RtlGetNtProductType=RtlGetNtProductType@4 RtlGetOwnerSecurityDescriptor=RtlGetOwnerSecurityDescriptor@12 RtlGetProcessHeaps=RtlGetProcessHeaps@8 RtlGetProcessHeap=RtlGetProcessHeap@0 RtlGetSaclSecurityDescriptor=RtlGetSaclSecurityDescriptor@16 +;RtlGetUserInfoHeap +;RtlGuidToPropertySetName RtlIdentifierAuthoritySid=RtlIdentifierAuthoritySid@4 RtlImageDirectoryEntryToData=RtlImageDirectoryEntryToData@16 RtlImageNtHeader=RtlImageNtHeader@4 RtlImageRvaToSection=RtlImageRvaToSection@12 RtlImageRvaToVa=RtlImageRvaToVa@16 +;RtlImpersonateSelf RtlInitAnsiString=RtlInitAnsiString@8 +;RtlInitCodePageTable +;RtlInitNlsTables RtlInitString=RtlInitString@8 RtlInitUnicodeString=RtlInitUnicodeString@8 +;RtlInitializeAtomPackage RtlInitializeBitMap=RtlInitializeBitMap@12 RtlInitializeContext=RtlInitializeContext@20 RtlInitializeCriticalSection=RtlInitializeCriticalSection@4 +;RtlInitializeGenericTable +;RtlInitializeHandleTable +;RtlInitializeRXact +;RtlInitializeResource RtlInitializeSid=RtlInitializeSid@12 +;RtlInsertElementGenericTable RtlIntegerToChar=RtlIntegerToChar@16 RtlIntegerToUnicodeString=RtlIntegerToUnicodeString@12 RtlIsDosDeviceName_U=RtlIsDosDeviceName_U@4 +;RtlIsGenericTableEmpty RtlIsNameLegalDOS8Dot3=RtlIsNameLegalDOS8Dot3@12 +;RtlIsTextUnicode +;RtlIsValidHandle +;RtlIsValidIndexHandle RtlLargeIntegerAdd=RtlLargeIntegerAdd@16 RtlLargeIntegerArithmeticShift=RtlLargeIntegerArithmeticShift@12 RtlLargeIntegerDivide=RtlLargeIntegerDivide@20 @@ -386,29 +465,63 @@ RtlLengthSecurityDescriptor=RtlLengthSecurityDescriptor@4 RtlLengthSid=RtlLengthSid@4 RtlLocalTimeToSystemTime=RtlLocalTimeToSystemTime@8 RtlLockHeap=RtlLockHeap@4 +;RtlLookupAtomInAtomTable +;RtlLookupElementGenericTable RtlMakeSelfRelativeSD=RtlMakeSelfRelativeSD@12 RtlMapGenericMask=RtlMapGenericMask@8 RtlMoveMemory=RtlMoveMemory@12 RtlMultiByteToUnicodeN=RtlMultiByteToUnicodeN@20 RtlMultiByteToUnicodeSize=RtlMultiByteToUnicodeSize@12 +;RtlNewInstanceSecurityObject +;RtlNewSecurityGrantedAccess +;RtlNewSecurityObject RtlNormalizeProcessParams=RtlNormalizeProcessParams@4 RtlNtStatusToDosError=RtlNtStatusToDosError@4 RtlNtStatusToPsxErrno=RtlNtStatusToPsxErrno@4 +;RtlNumberGenericTableElements RtlNumberOfClearBits=RtlNumberOfClearBits@4 RtlNumberOfSetBits=RtlNumberOfSetBits@4 RtlOemStringToUnicodeSize=RtlOemStringToUnicodeSize@4 RtlOemStringToUnicodeString=RtlOemStringToUnicodeString@12 RtlOemToUnicodeN=RtlOemToUnicodeN@20 +;RtlOpenCurrentUser +;RtlPcToFileHeader +;RtlPinAtomInAtomTable RtlPrefixString=RtlPrefixString@12 RtlPrefixUnicodeString=RtlPrefixUnicodeString@12 +;RtlPropertySetNameToGuid +;RtlProtectHeap +;RtlQueryAtomInAtomTable RtlQueryEnvironmentVariable_U=RtlQueryEnvironmentVariable_U@12 RtlQueryInformationAcl=RtlQueryInformationAcl@16 +;RtlQueryProcessBackTraceInformation +;RtlQueryProcessDebugInformation +;RtlQueryProcessHeapInformation +;RtlQueryProcessLockInformation +;RtlQueryProperties +;RtlQueryPropertyNames +;RtlQueryPropertySet +RtlQueryRegistryValues=RtlQueryRegistryValues@20 +;RtlQuerySecutityObject +;RtlQueryTagHeap +;RtlQueryTimeZoneInformation +;RtlRaiseException +;RtlRaiseStatus +;RtlRandom RtlReAllocateHeap=RtlReAllocateHeap@16 +;RtlRealPredecessor +;RtlRealSuccessor RtlReleasePebLock=RtlReleasePebLock@0 +;RtlReleaseResource +;RtlRemoteCall +;RtlResetRtlTranslations +;RtlRunDecodeUnicodeString +;RtlRunEncodeUnicodeString RtlSecondsSince1970ToTime=RtlSecondsSince1970ToTime@8 RtlSecondsSince1980ToTime=RtlSecondsSince1980ToTime@8 RtlSelfRelativeToAbsoluteSD=RtlSelfRelativeToAbsoluteSD@44 RtlSetAllBits=RtlSetAllBits@4 +;RtlSetAttributesSecurityDescriptor RtlSetBits=RtlSetBits@12 RtlSetCurrentDirectory_U=RtlSetCurrentDirectory_U@4 RtlSetCurrentEnvironment=RtlSetCurrentEnvironment@8 @@ -417,12 +530,25 @@ RtlSetEnvironmentVariable=RtlSetEnvironmentVariable@12 RtlSetGroupSecurityDescriptor=RtlSetGroupSecurityDescriptor@12 RtlSetInformationAcl=RtlSetInformationAcl@16 RtlSetOwnerSecurityDescriptor=RtlSetOwnerSecurityDescriptor@12 +;RtlSetProperties +;RtlSetPropertyNames +;RtlSetPropertySetClassId RtlSetSaclSecurityDescriptor=RtlSetSaclSecurityDescriptor@16 +;RtlSetSecurityObject +;RtlSetTimeZoneInformation +;RtlSetUnicodeCallouts +;RtlSetUserFlagsHeap +;RtlSetUserValueHeap RtlSizeHeap=RtlSizeHeap@12 +;RtlSplay +;RtlStartRXact RtlSubAuthorityCountSid=RtlSubAuthorityCountSid@4 RtlSubAuthoritySid=RtlSubAuthoritySid@8 +;RtlSubtreePredecessor +;RtlSubtreeSuccessor RtlSystemTimeToLocalTime=RtlSystemTimeToLocalTime@8 RtlTimeFieldsToTime=RtlTimeFieldsToTime@8 +;RtlTimeToElapsedTimeFields RtlTimeToSecondsSince1970=RtlTimeToSecondsSince1970@8 RtlTimeToSecondsSince1980=RtlTimeToSecondsSince1980@8 RtlTimeToTimeFields=RtlTimeToTimeFields@8 @@ -437,6 +563,7 @@ RtlUnicodeToCustomCPN=RtlUnicodeToCustomCPN@24 RtlUnicodeToMultiByteN=RtlUnicodeToMultiByteN@20 RtlUnicodeToMultiByteSize=RtlUnicodeToMultiByteSize@12 RtlUnicodeToOemN=RtlUnicodeToOemN@20 +;RtlUniform RtlUnlockHeap=RtlUnlockHeap@4 RtlUnwind=RtlUnwind@0 RtlUpcaseUnicodeChar=RtlUpcaseUnicodeChar@4 @@ -449,12 +576,24 @@ RtlUpcaseUnicodeToMultiByteN=RtlUpcaseUnicodeToMultiByteN@20 RtlUpcaseUnicodeToOemN=RtlUpcaseUnicodeToOemN@20 RtlUpperChar=RtlUpperChar@4 RtlUpperString=RtlUpperString@8 +;RtlUsageHeap RtlValidAcl=RtlValidAcl@4 RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4 RtlValidSid=RtlValidSid@4 RtlValidateHeap=RtlValidateHeap@12 RtlValidateProcessHeaps=RtlValidateProcessHeaps@0 +;RtlWalkHeap +RtlWriteRegistryValue=RtlWriteRegistryValue@24 +;RtlZeroHeap RtlZeroMemory=RtlZeroMemory@8 +;RtlpNtCreateKey +;RtlpNtEnumerateSubKey +RtlpNtMakeTemporaryKey=RtlpNtMakeTemporaryKey@4 +;RtlpNtOpenKey +;RtlpNtQueryValueKey +;RtlpNtSetValueKey +;RtlpUnWaitCriticalSection +;RtlpWaitForCriticalSection RtlxAnsiStringToUnicodeSize=RtlxAnsiStringToUnicodeSize@4 RtlxOemStringToUnicodeSize=RtlxOemStringToUnicodeSize@4 RtlxUnicodeStringToAnsiSize=RtlxUnicodeStringToAnsiSize@4 diff --git a/reactos/lib/ntdll/ldr/startup.c b/reactos/lib/ntdll/ldr/startup.c index fbf2286e0f2..eb590f739d5 100644 --- a/reactos/lib/ntdll/ldr/startup.c +++ b/reactos/lib/ntdll/ldr/startup.c @@ -1,4 +1,4 @@ -/* $Id: startup.c,v 1.27 2000/08/05 18:01:51 dwelch Exp $ +/* $Id: startup.c,v 1.28 2000/08/11 12:34:58 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -48,7 +48,7 @@ LdrInitializeThunk (ULONG Unknown1, PIMAGE_NT_HEADERS NTHeaders; PVOID ImageBase; PPEB Peb; - + DPRINT("LdrInitializeThunk()\n"); LdrDllListHead.BaseAddress = (PVOID)&_image_base__; @@ -58,7 +58,7 @@ LdrInitializeThunk (ULONG Unknown1, PEDosHeader = (PIMAGE_DOS_HEADER)LdrDllListHead.BaseAddress; LdrDllListHead.Headers = (PIMAGE_NT_HEADERS)(LdrDllListHead.BaseAddress + PEDosHeader->e_lfanew); - + Peb = (PPEB)(PEB_BASE); DPRINT("Peb %x\n", Peb); ImageBase = Peb->ImageBaseAddress; @@ -124,7 +124,7 @@ LdrInitializeThunk (ULONG Unknown1, DbgPrint("Failed to initialize image\n"); ZwTerminateProcess(NtCurrentProcess(),STATUS_UNSUCCESSFUL); } - + DbgPrint("Transferring control to image at %x\n",EntryPoint); Status = EntryPoint(Peb); ZwTerminateProcess(NtCurrentProcess(),Status); diff --git a/reactos/lib/ntdll/ldr/utils.c b/reactos/lib/ntdll/ldr/utils.c index f18476bb92f..ad2ae43b0db 100644 --- a/reactos/lib/ntdll/ldr/utils.c +++ b/reactos/lib/ntdll/ldr/utils.c @@ -1,4 +1,4 @@ -/* $Id: utils.c,v 1.28 2000/08/05 18:01:51 dwelch Exp $ +/* $Id: utils.c,v 1.29 2000/08/11 12:34:58 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -96,13 +96,15 @@ NTSTATUS LdrLoadDll (PDLL* Dll, strncpy(fqname, Name, 256); DPRINT("fqname \"%s\"\n", fqname); + /* * Open the DLL's image file. */ - - if (LdrFindDll(Dll, Name) == STATUS_SUCCESS) - return STATUS_SUCCESS; - + if (LdrFindDll(Dll, Name) == STATUS_SUCCESS) + { + DPRINT ("DLL %s already loaded.\n"); + return STATUS_SUCCESS; + } RtlInitAnsiString( & AnsiString, @@ -164,19 +166,16 @@ NTSTATUS LdrLoadDll (PDLL* Dll, /* * Check it is a PE image file. */ - if ( (DosHeader->e_magic != IMAGE_DOS_MAGIC) - || (DosHeader->e_lfanew == 0L) -// || (*(PULONG)((PUCHAR)BlockBuffer + DosHeader->e_lfanew) != IMAGE_PE_MAGIC) - || (*(PULONG)(NTHeaders) != IMAGE_PE_MAGIC) - ) + if ((DosHeader->e_magic != IMAGE_DOS_MAGIC) + || (DosHeader->e_lfanew == 0L) + || (*(PULONG)(NTHeaders) != IMAGE_PE_MAGIC)) { DPRINT("NTDLL format invalid\n"); ZwClose(FileHandle); - + return STATUS_UNSUCCESSFUL; } -// NTHeaders = (PIMAGE_NT_HEADERS) (BlockBuffer + DosHeader->e_lfanew); ImageBase = (PVOID) NTHeaders->OptionalHeader.ImageBase; ImageSize = NTHeaders->OptionalHeader.SizeOfImage; @@ -319,27 +318,27 @@ static NTSTATUS LdrFindDll(PDLL* Dll, PCHAR Name) .VirtualAddress; ExportDir = (PIMAGE_EXPORT_DIRECTORY) ((ULONG)ExportDir + (ULONG)current->BaseAddress); - + DPRINT("Scanning %x %x %x\n",ExportDir->Name, current->BaseAddress, (ExportDir->Name + current->BaseAddress)); DPRINT("Scanning %s %s\n", ExportDir->Name + current->BaseAddress, Name); - + if (_stricmp(ExportDir->Name + current->BaseAddress, Name) == 0) { *Dll = current; current->ReferenceCount++; return STATUS_SUCCESS; } - + current = current->Next; } while (current != & LdrDllListHead); DPRINT("Failed to find dll %s\n",Name); - return -1; + return STATUS_UNSUCCESSFUL; } @@ -363,14 +362,13 @@ NTSTATUS LdrMapSections(HANDLE ProcessHandle, HANDLE SectionHandle, PIMAGE_NT_HEADERS NTHeaders) { - ULONG i; + ULONG i; NTSTATUS Status; - - + for (i = 0; (i < NTHeaders->FileHeader.NumberOfSections); i++) { PIMAGE_SECTION_HEADER Sections; - LARGE_INTEGER Offset; + LARGE_INTEGER Offset; ULONG Base; ULONG Size; @@ -694,17 +692,17 @@ static NTSTATUS LdrFixupImports(PIMAGE_NT_HEADERS NTHeaders, .DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT] .VirtualAddress); DPRINT("ImportModuleDirectory %x\n", ImportModuleDirectory); - + while (ImportModuleDirectory->dwRVAModuleName) { - PVOID * ImportAddressList; + PVOID * ImportAddressList; PULONG FunctionNameList; DWORD pName; PWORD pHint; - + DPRINT("ImportModule->Directory->dwRVAModuleName %s\n", (PCHAR)(ImageBase + ImportModuleDirectory->dwRVAModuleName)); - + Status = LdrLoadDll(&Module, (PCHAR)(ImageBase +ImportModuleDirectory->dwRVAModuleName)); @@ -712,6 +710,7 @@ static NTSTATUS LdrFixupImports(PIMAGE_NT_HEADERS NTHeaders, { return Status; } + /* * Get the import address list. */ @@ -824,7 +823,7 @@ PEPFUNC LdrPEStartup (PVOID ImageBase, */ DosHeader = (PIMAGE_DOS_HEADER) ImageBase; NTHeaders = (PIMAGE_NT_HEADERS) (ImageBase + DosHeader->e_lfanew); - + /* * Initialize image sections. */ @@ -835,7 +834,7 @@ PEPFUNC LdrPEStartup (PVOID ImageBase, SectionHandle, NTHeaders); } - + /* * If the base address is different from the * one the DLL is actually loaded, perform any @@ -850,7 +849,7 @@ PEPFUNC LdrPEStartup (PVOID ImageBase, return NULL; } } - + /* * If the DLL's imports symbols from other * modules, fixup the imported calls entry points. @@ -866,7 +865,7 @@ PEPFUNC LdrPEStartup (PVOID ImageBase, return NULL; } } - + /* * Compute the DLL's entry point's address. */ @@ -879,6 +878,7 @@ PEPFUNC LdrPEStartup (PVOID ImageBase, return EntryPoint; } + NTSTATUS LdrUnloadDll(PDLL Dll) { PDLLMAIN_FUNC Entrypoint; @@ -1080,11 +1080,13 @@ NTSTATUS LdrAccessResource(DLL *Dll, IMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntr NTSTATUS STDCALL LdrDisableThreadCalloutsForDll ( - PVOID IN ImageBase, - BOOLEAN IN Disable + IN PVOID BaseAddress, + IN BOOLEAN Disable ) { - return STATUS_NOT_IMPLEMENTED; + /* FIXME: implement it! */ + + return STATUS_SUCCESS; } @@ -1100,6 +1102,9 @@ LdrGetProcedureAddress (IN PVOID BaseAddress, PULONG AddressPtr; ULONG i = 0; + DPRINT("LdrGetProcedureAddress (BaseAddress %x Name %Z Ordinal %lu ProcedureAddress %x)\n", + BaseAddress, Name, Ordinal, ProcedureAddress); + /* Get the pointer to the export directory */ ExportDir = (PIMAGE_EXPORT_DIRECTORY) RtlImageDirectoryEntryToData (BaseAddress, @@ -1107,6 +1112,8 @@ LdrGetProcedureAddress (IN PVOID BaseAddress, IMAGE_DIRECTORY_ENTRY_EXPORT, &i); + DPRINT("ExportDir %x i %lu\n", ExportDir, i); + if (!ExportDir || !i || !ProcedureAddress) { return STATUS_INVALID_PARAMETER; diff --git a/reactos/lib/ntdll/makefile b/reactos/lib/ntdll/makefile index 3c91ea85c18..aa9cf810d64 100644 --- a/reactos/lib/ntdll/makefile +++ b/reactos/lib/ntdll/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.50 2000/08/05 18:01:50 dwelch Exp $ +# $Id: makefile,v 1.51 2000/08/11 12:33:18 ekohl Exp $ # # ReactOS Operating System # @@ -21,7 +21,8 @@ RTL_OBJECTS = rtl/critical.o rtl/error.o rtl/heap.o rtl/largeint.o \ rtl/math.o rtl/mem.o rtl/nls.o rtl/process.o rtl/sd.o \ rtl/thread.o rtl/unicode.o rtl/env.o rtl/path.o rtl/ppb.o \ rtl/bitmap.o rtl/time.o rtl/acl.o rtl/sid.o rtl/image.o \ - rtl/access.o rtl/apc.o rtl/callback.o rtl/luid.o + rtl/access.o rtl/apc.o rtl/callback.o rtl/luid.o rtl/misc.o \ + rtl/registry.o STDIO_OBJECTS = stdio/sprintf.o stdio/swprintf.o @@ -103,7 +104,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/ntdll/rtl/image.c b/reactos/lib/ntdll/rtl/image.c index f78b78e336a..d5542bf419b 100644 --- a/reactos/lib/ntdll/rtl/image.c +++ b/reactos/lib/ntdll/rtl/image.c @@ -1,34 +1,40 @@ -/* $Id: image.c,v 1.1 2000/03/18 13:56:01 ekohl Exp $ +/* $Id: image.c,v 1.2 2000/08/11 12:35:47 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: lib/ntdll/rtl/image.c * PURPOSE: Image handling functions + * PROGRAMMER: Eric Kohl * UPDATE HISTORY: - * 17/03/2000 Created by Eric Kohl + * 17/03/2000 Created */ #include #include +#define NDEBUG +#include /* FUNCTIONS ****************************************************************/ -PIMAGE_NT_HEADERS -STDCALL -RtlImageNtHeader ( - PVOID BaseAddress - ) +PIMAGE_NT_HEADERS STDCALL +RtlImageNtHeader (IN PVOID BaseAddress) { PIMAGE_NT_HEADERS NtHeader; PIMAGE_DOS_HEADER DosHeader = (PIMAGE_DOS_HEADER)BaseAddress; - if (DosHeader && DosHeader->e_magic == IMAGE_DOS_SIGNATURE) + if (DosHeader && DosHeader->e_magic != IMAGE_DOS_SIGNATURE) { + DPRINT1("DosHeader->e_magic %x\n", DosHeader->e_magic); + DPRINT1("NtHeader %x\n", (BaseAddress + DosHeader->e_lfanew)); + } + +// if (DosHeader && DosHeader->e_magic == IMAGE_DOS_SIGNATURE) +// { NtHeader = (PIMAGE_NT_HEADERS)(BaseAddress + DosHeader->e_lfanew); if (NtHeader->Signature == IMAGE_NT_SIGNATURE) return NtHeader; - } +// } return NULL; } diff --git a/reactos/lib/ntdll/rtl/misc.c b/reactos/lib/ntdll/rtl/misc.c new file mode 100644 index 00000000000..3cff8d17f2a --- /dev/null +++ b/reactos/lib/ntdll/rtl/misc.c @@ -0,0 +1,88 @@ +/* $Id: misc.c,v 1.1 2000/08/11 12:35:47 ekohl Exp $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: Various functions + * FILE: lib/ntdll/rtl/misc.c + * PROGRAMER: Eric Kohl + * REVISION HISTORY: + * 10/08/2000: Created + */ + +/* INCLUDES *****************************************************************/ + +#include +#include + +/* GLOBALS ******************************************************************/ + +extern ULONG NtGlobalFlag; +static ULONG NtProductType = 0; + +/* FUNCTIONS ****************************************************************/ + +/********************************************************************** + * NAME EXPORTED + * RtlGetNtGlobalFlags + * + * DESCRIPTION + * Retrieves the global os flags. + * + * ARGUMENTS + * None + * + * RETURN VALUE + * global flags + * + * REVISIONS + * 2000-08-10 ekohl + */ + +ULONG STDCALL +RtlGetNtGlobalFlags(VOID) +{ + return (NtGlobalFlag); +} + + +/********************************************************************** + * NAME EXPORTED + * RtlGetNtProductType + * + * DESCRIPTION + * Retrieves the OS product type. + * + * ARGUMENTS + * ProductType Pointer to the product type variable. + * + * RETURN VALUE + * TRUE if successful, otherwise FALSE + * + * NOTE + * ProductType can be one of the following values: + * 1 Workstation (Winnt) + * 2 Server (Lanmannt) + * 3 Advanced Server (Servernt) + * + * REVISIONS + * 2000-08-10 ekohl + */ + +BOOLEAN STDCALL +RtlGetNtProductType(PULONG ProductType) +{ + if (NtProductType != 0) + { + *ProductType = NtProductType; + return TRUE; + } + + /* FIXME: read product type from registry */ + NtProductType = 1; /* Workstation */ + + *ProductType = NtProductType; + + return TRUE; +} + +/* EOF */ diff --git a/reactos/lib/ntdll/rtl/registry.c b/reactos/lib/ntdll/rtl/registry.c new file mode 100644 index 00000000000..59b5f182a7a --- /dev/null +++ b/reactos/lib/ntdll/rtl/registry.c @@ -0,0 +1,95 @@ +/* $Id: registry.c,v 1.1 2000/08/11 12:35:47 ekohl Exp $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: Rtl registry functions + * FILE: lib/ntdll/rtl/registry.c + * PROGRAMER: Eric Kohl + * REVISION HISTORY: + * 2000/08/11: Created + */ + +/* INCLUDES *****************************************************************/ + +#include + +#define NDEBUG +#include + + +/* FUNCTIONS ***************************************************************/ + +NTSTATUS +STDCALL +RtlCheckRegistryKey ( + IN ULONG RelativeTo, + IN PWSTR Path + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + + +NTSTATUS +STDCALL +RtlCreateRegistryKey ( + IN ULONG RelativeTo, + IN PWSTR Path + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + + +NTSTATUS +STDCALL +RtlDeleteRegistryValue ( + IN ULONG RelativeTo, + IN PWSTR Path, + IN PWSTR ValueName + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + + +NTSTATUS +STDCALL +RtlQueryRegistryValues ( + IN ULONG RelativeTo, + IN PWSTR Path, + IN PRTL_QUERY_REGISTRY_TABLE QueryTable, + IN PVOID Context, + IN PVOID Environment + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + + +NTSTATUS +STDCALL +RtlWriteRegistryValue ( + IN ULONG RelativeTo, + IN PWSTR Path, + IN PWSTR ValueName, + IN ULONG ValueType, + IN PVOID ValueData, + IN ULONG ValueLength + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS STDCALL +RtlpNtMakeTemporaryKey(HANDLE KeyHandle) +{ + return NtDeleteKey(KeyHandle); +} + +/* EOF */ diff --git a/reactos/lib/ntdll/stubs/stubs.c b/reactos/lib/ntdll/stubs/stubs.c index 3ef6a3cba0e..d5e7364b14d 100644 --- a/reactos/lib/ntdll/stubs/stubs.c +++ b/reactos/lib/ntdll/stubs/stubs.c @@ -31,10 +31,7 @@ STUB(KiUserExceptionDispatcher) STUB(LdrEnumResources) STUB(LdrFindEntryForAddress) STUB(LdrFindResourceDirectory_U) - STUB(LdrGetDllHandle) -//STUB(LdrGetProcedureAddress) -STUB(LdrInitializeThunk) STUB(LdrProcessRelocationBlock) STUB(LdrQueryImageFileExecutionOptions) STUB(LdrQueryProcessModuleInformation) diff --git a/reactos/lib/psxdll/makefile b/reactos/lib/psxdll/makefile index 5c2907e8c8f..8238f7ed860 100644 --- a/reactos/lib/psxdll/makefile +++ b/reactos/lib/psxdll/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.6 2000/02/20 22:52:49 ea Exp $ +# $Id: makefile,v 1.7 2000/08/11 12:37:11 ekohl Exp $ # # ReactOS psxdll.dll makefile # @@ -108,7 +108,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll +install: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/rpcrt4/Makefile b/reactos/lib/rpcrt4/Makefile index 162eb825bb9..2ce28028a3e 100644 --- a/reactos/lib/rpcrt4/Makefile +++ b/reactos/lib/rpcrt4/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 2000/04/07 02:23:58 dwelch Exp $ +# $Id: Makefile,v 1.2 2000/08/11 12:37:21 ekohl Exp $ # # ReactOS Operating System # @@ -138,7 +138,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/lib/user32/makefile_rex b/reactos/lib/user32/makefile_rex index 9cb71077e46..d7ac2e71c1f 100644 --- a/reactos/lib/user32/makefile_rex +++ b/reactos/lib/user32/makefile_rex @@ -1,4 +1,4 @@ -# $Id: makefile_rex,v 1.9 2000/04/12 22:40:38 ariadne Exp $ +# $Id: makefile_rex,v 1.10 2000/08/11 12:37:32 ekohl Exp $ # # ReactOS Operating System # @@ -107,4 +107,22 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll + +$(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll +ifeq ($(DOSCLI),yes) + $(CP) $(TARGET).dll $(FLOPPY_DIR)\dlls\$(TARGET).dll +else + $(CP) $(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll +endif + +dist: $(DIST_DIR)/dlls/$(TARGET).dll + +$(DIST_DIR)/dlls/$(TARGET).dll: $(TARGET).dll +ifeq ($(DOSCLI),yes) + $(CP) $(TARGET).dll ..\..\$(DIST_DIR)\dlls\$(TARGET).dll +else + $(CP) $(TARGET).dll ../../$(DIST_DIR)/dlls/$(TARGET).dll +endif + # EOF diff --git a/reactos/lib/version/makefile b/reactos/lib/version/makefile index 742931cbb6a..96d42f709d4 100644 --- a/reactos/lib/version/makefile +++ b/reactos/lib/version/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.2 1999/08/29 13:44:58 dwelch Exp $ +# $Id: makefile,v 1.3 2000/08/11 12:37:42 ekohl Exp $ # # Makefile for ReactOS version.dll # @@ -77,7 +77,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/dlls/$(TARGET).dll +install: $(FLOPPY_DIR)/dlls/$(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll ifeq ($(DOSCLI),yes) diff --git a/reactos/loaders/dos/makefile b/reactos/loaders/dos/makefile index 989b59a80bf..7d70f1b811d 100644 --- a/reactos/loaders/dos/makefile +++ b/reactos/loaders/dos/makefile @@ -12,7 +12,7 @@ clean: .PHONY: clean -floppy: $(FLOPPY_DIR)/loadros.com +install: $(FLOPPY_DIR)/loadros.com $(FLOPPY_DIR)/loadros.com: loadros.com ifeq ($(DOSCLI),yes) diff --git a/reactos/ntoskrnl/cm/registry.c b/reactos/ntoskrnl/cm/registry.c index 99c18646ec0..49fe753b6f3 100644 --- a/reactos/ntoskrnl/cm/registry.c +++ b/reactos/ntoskrnl/cm/registry.c @@ -1,4 +1,4 @@ -/* $Id: registry.c,v 1.24 2000/08/11 08:17:41 jean Exp $ +/* $Id: registry.c,v 1.25 2000/08/11 12:39:25 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -19,7 +19,7 @@ //#define NDEBUG #include -#define PROTO_REG 1 /* Comment out to disable */ +//#define PROTO_REG 1 /* Comment out to disable */ /* ----------------------------------------------------- Typedefs */ @@ -38,7 +38,7 @@ #define REG_ROOT_KEY_BLOCK_TYPE 0x2c #define REG_ROOT_KEY_NAME L"\\Registry" -#define SYSTEM_REG_FILE L"\\SystemDir\\System32\\Config\\SYSTEM.DAT" +#define SYSTEM_REG_FILE L"\\SystemRoot\\System32\\Config\\SYSTEM.DAT" // BLOCK_OFFSET = offset in file after header block @@ -1215,12 +1215,13 @@ NtNotifyChangeKey ( NTSTATUS STDCALL NtQueryMultipleValueKey ( - IN HANDLE KeyHandle, - IN PWVALENT ListOfValuesToQuery, - IN ULONG NumberOfItems, - OUT PVOID MultipleValueInformation, - IN ULONG Length, - OUT PULONG ReturnLength) + IN HANDLE KeyHandle, + IN PWVALENT ListOfValuesToQuery, + IN ULONG NumberOfItems, + OUT PVOID MultipleValueInformation, + IN ULONG Length, + OUT PULONG ReturnLength + ) { UNIMPLEMENTED; } @@ -1229,7 +1230,7 @@ NtQueryMultipleValueKey ( NTSTATUS STDCALL NtReplaceKey ( - IN POBJECT_ATTRIBUTES ObjectAttributes, + IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE Key, IN POBJECT_ATTRIBUTES ReplacedObjectAttributes ) @@ -1294,18 +1295,18 @@ NtInitializeRegistry ( } -NTSTATUS +NTSTATUS STDCALL RtlCheckRegistryKey ( - ULONG RelativeTo, - PWSTR Path + IN ULONG RelativeTo, + IN PWSTR Path ) { UNIMPLEMENTED; } -NTSTATUS +NTSTATUS STDCALL RtlCreateRegistryKey ( IN ULONG RelativeTo, @@ -1316,10 +1317,10 @@ RtlCreateRegistryKey ( } -NTSTATUS +NTSTATUS STDCALL RtlDeleteRegistryValue ( - IN ULONG RelativeTo, + IN ULONG RelativeTo, IN PWSTR Path, IN PWSTR ValueName ) @@ -1328,29 +1329,29 @@ RtlDeleteRegistryValue ( } -NTSTATUS +NTSTATUS STDCALL RtlQueryRegistryValues ( IN ULONG RelativeTo, IN PWSTR Path, - PRTL_QUERY_REGISTRY_TABLE QueryTable, - PVOID Context, - PVOID Environment + IN PRTL_QUERY_REGISTRY_TABLE QueryTable, + IN PVOID Context, + IN PVOID Environment ) { UNIMPLEMENTED; } -NTSTATUS +NTSTATUS STDCALL RtlWriteRegistryValue ( - ULONG RelativeTo, - PWSTR Path, - PWSTR ValueName, - ULONG ValueType, - PVOID ValueData, - ULONG ValueLength + IN ULONG RelativeTo, + IN PWSTR Path, + IN PWSTR ValueName, + IN ULONG ValueType, + IN PVOID ValueData, + IN ULONG ValueLength ) { UNIMPLEMENTED; @@ -1794,7 +1795,7 @@ CHECKPOINT; CmiReleaseBlock(RegistryFile, CurKeyBlock); CurKeyBlock = SubKeyBlock; - Remainder = NextSlash + 1; + Remainder = NextSlash + 1; } CHECKPOINT; if (NT_SUCCESS(Status)) diff --git a/reactos/ntoskrnl/io/xhaldrv.c b/reactos/ntoskrnl/io/xhaldrv.c index 10648e35670..d3072289ffc 100644 --- a/reactos/ntoskrnl/io/xhaldrv.c +++ b/reactos/ntoskrnl/io/xhaldrv.c @@ -1,4 +1,4 @@ -/* $Id: xhaldrv.c,v 1.1 2000/06/30 22:52:49 ekohl Exp $ +/* $Id: xhaldrv.c,v 1.2 2000/08/11 12:41:06 ekohl Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -169,8 +169,6 @@ xHalIoAssignDriveLetters ( NtClose (FileHandle); } } - ExFreePool (Buffer2); - ExFreePool (Buffer1); // Assign pre-assigned (registry) partitions @@ -183,11 +181,52 @@ xHalIoAssignDriveLetters ( // Assign floppy drives DPRINT("Floppy drives: %d\n", ConfigInfo->FloppyCount); + for (i = 0; i < ConfigInfo->FloppyCount; i++) + { + swprintf (Buffer1, + L"\\Device\\Floppy%d", + i); + RtlInitUnicodeString (&UnicodeString1, + Buffer1); + + InitializeObjectAttributes (&ObjectAttributes, + &UnicodeString1, + 0, + NULL, + NULL); + + if (i < 2) + { + /* drives A: and B: */ + swprintf (Buffer2, + L"\\??\\%C:", + L'A' + i); + } + else + { + /* FIXME: append other floppy drives */ + break; + } + RtlInitUnicodeString (&UnicodeString2, + Buffer2); + + DPRINT ("Creating link: %S ==> %S\n", + Buffer2, + Buffer1); + + IoCreateSymbolicLink (&UnicodeString2, + &UnicodeString1); + } + + // Assign cdrom drives DPRINT("CD-Rom drives: %d\n", ConfigInfo->CDRomCount); // Any more ?? + + ExFreePool (Buffer2); + ExFreePool (Buffer1); } /* EOF */ \ No newline at end of file diff --git a/reactos/ntoskrnl/makefile_rex b/reactos/ntoskrnl/makefile_rex index 3455ac27ebf..b924f5a2e20 100644 --- a/reactos/ntoskrnl/makefile_rex +++ b/reactos/ntoskrnl/makefile_rex @@ -1,4 +1,4 @@ -# $Id: makefile_rex,v 1.82 2000/07/10 21:47:36 ekohl Exp $ +# $Id: makefile_rex,v 1.83 2000/08/11 12:38:45 ekohl Exp $ # # ReactOS Operating System # @@ -534,7 +534,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/$(TARGETNAME).exe +install: $(FLOPPY_DIR)/$(TARGETNAME).exe $(FLOPPY_DIR)/$(TARGETNAME).exe: $(TARGETNAME).exe ifeq ($(DOSCLI),yes) diff --git a/reactos/ntoskrnl/ntoskrnl.def b/reactos/ntoskrnl/ntoskrnl.def index 3886591b558..dda359c6c98 100644 --- a/reactos/ntoskrnl/ntoskrnl.def +++ b/reactos/ntoskrnl/ntoskrnl.def @@ -1,4 +1,4 @@ -; $Id: ntoskrnl.def,v 1.84 2000/07/10 21:47:36 ekohl Exp $ +; $Id: ntoskrnl.def,v 1.85 2000/08/11 12:38:45 ekohl Exp $ ; ; reactos/ntoskrnl/ntoskrnl.def ; @@ -631,7 +631,7 @@ RtlAreBitsSet@12 RtlAssert@16 ;RtlCaptureStackBackTrace RtlCharToInteger@12 -;RtlCheckRegistryKey +RtlCheckRegistryKey@8 RtlClearAllBits@4 RtlClearBits@12 RtlCompareMemory@12 @@ -650,7 +650,7 @@ RtlCopyUnicodeString@8 RtlCreateAcl@12 ;RtlCreateAtomTable ;RtlCreateHeap -;RtlCreateRegistryKey +RtlCreateRegistryKey@8 RtlCreateSecurityDescriptor@8 RtlCreateUnicodeString@8 RtlCustomCPToUnicodeN@24 @@ -661,7 +661,7 @@ RtlCustomCPToUnicodeN@24 ;RtlDeleteAtomFromAtomTable ;RtlDeleteElementGenericTable ;RtlDeleteNoSplay -;RtlDeleteRegisterValue +RtlDeleteRegistryValue@12 ;RtlDescribeChunk ;RtlDestroyAtomTable ;RtlDestroyHeap @@ -748,7 +748,7 @@ RtlOemToUnicodeN@20 RtlPrefixString@12 RtlPrefixUnicodeString@12 ;RtlQueryAtomInAtomTable -;RtlQueryRegistryValues +RtlQueryRegistryValues=RtlQueryRegistryValues@20 ;RtlQueryTimeZoneInformation ;RtlRaiseException ;RtlRandom @@ -793,7 +793,7 @@ RtlUpperChar@4 RtlUpperString@8 RtlValidSecurityDescriptor@4 RtlValidSid@4 -;RtlWriteRegistryValue +RtlWriteRegistryValue@24 ;RtlZeroHeap RtlZeroMemory@8 RtlxAnsiStringToUnicodeSize@4 @@ -1016,13 +1016,13 @@ HalAllProcessorsStarted@0 HalAllocateCommonBuffer@16 ;HalAllocateCrashDumpRegisters@8 HalAssignSlotResources@32 -;HalBeginSystemInterrupt@12 +HalBeginSystemInterrupt@12 ;HalCalibratePerformanceCounter@4 ;@HalClearSoftwareInterrupt@4 -;HalDisableSystemInterrupt@8 +HalDisableSystemInterrupt@8 HalDisplayString@4 -;HalEnableSystemInterrupt@12 -;HalEndSystemInterrupt@8 +HalEnableSystemInterrupt@12 +HalEndSystemInterrupt@8 HalFlushCommonBuffer@32 HalFreeCommonBuffer@24 HalGetAdapter@8 diff --git a/reactos/ntoskrnl/ntoskrnl.edf b/reactos/ntoskrnl/ntoskrnl.edf index fccf1dfe9d2..647511b6626 100644 --- a/reactos/ntoskrnl/ntoskrnl.edf +++ b/reactos/ntoskrnl/ntoskrnl.edf @@ -1,4 +1,4 @@ -; $Id: ntoskrnl.edf,v 1.71 2000/07/10 21:47:36 ekohl Exp $ +; $Id: ntoskrnl.edf,v 1.72 2000/08/11 12:38:45 ekohl Exp $ ; ; reactos/ntoskrnl/ntoskrnl.def ; @@ -630,7 +630,7 @@ RtlAreBitsSet=RtlAreBitsSet@12 RtlAssert=RtlAssert@16 ;RtlCaptureStackBackTrace RtlCharToInteger=RtlCharToInteger@12 -;RtlCheckRegistryKey +RtlCheckRegistryKey=RtlCheckRegistryKey@8 RtlClearAllBits=RtlClearAllBits@4 RtlClearBits=RtlClearBits@12 RtlCompareMemory=RtlCompareMemory@12 @@ -649,7 +649,7 @@ RtlCopyUnicodeString=RtlCopyUnicodeString@8 RtlCreateAcl=RtlCreateAcl@12 ;RtlCreateAtomTable ;RtlCreateHeap -;RtlCreateRegistryKey +RtlCreateRegistryKey=RtlCreateRegistryKey@8 RtlCreateSecurityDescriptor=RtlCreateSecurityDescriptor@8 RtlCreateUnicodeString=RtlCreateUnicodeString@8 RtlCustomCPToUnicodeN=RtlCustomCPToUnicodeN@24 @@ -660,7 +660,7 @@ RtlCustomCPToUnicodeN=RtlCustomCPToUnicodeN@24 ;RtlDeleteAtomFromAtomTable ;RtlDeleteElementGenericTable ;RtlDeleteNoSplay -;RtlDeleteRegisterValue +RtlDeleteRegistryValue=RtlDeleteRegistryValue@12 ;RtlDescribeChunk ;RtlDestroyAtomTable ;RtlDestroyHeap @@ -746,7 +746,7 @@ RtlOemStringToUnicodeString=RtlOemStringToUnicodeString@12 RtlPrefixString=RtlPrefixString@12 RtlPrefixUnicodeString=RtlPrefixUnicodeString@12 ;RtlQueryAtomInAtomTable -;RtlQueryRegistryValues +RtlQueryRegistryValues=RtlQueryRegistryValues@20 ;RtlQueryTimeZoneInformation ;RtlRaiseException ;RtlRandom @@ -791,7 +791,7 @@ RtlUpperChar=RtlUpperChar@4 RtlUpperString=RtlUpperString@8 RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4 RtlValidSid=RtlValidSid@4 -;RtlWriteRegistryValue +RtlWriteRegistryValue=RtlWriteRegistryValue@24 ;RtlZeroHeap RtlZeroMemory=RtlZeroMemory@8 RtlxAnsiStringToUnicodeSize=RtlxAnsiStringToUnicodeSize@4 @@ -1014,14 +1014,14 @@ HalAllProcessorsStarted=HalAllProcessorsStarted@0 HalAllocateCommonBuffer=HalAllocateCommonBuffer@16 ;HalAllocateCrashDumpRegisters=HalAllocateCrashDumpRegisters@8 HalAssignSlotResource=HalAssignSlotResources@32 -;HalBeginSystemInterrupt=HalBeginSystemInterrupt@12 +HalBeginSystemInterrupt=HalBeginSystemInterrupt@12 ;HalCalibratePerformanceCounter=HalCalibratePerformanceCounter@4 ;HalClearSoftwareInterrupt=@HalClearSoftwareInterrupt@4 ;HalClearSoftwareInterrupt=HalClearSoftwareInterrupt@4 -;HalDisableSystemInterrupt=HalDisableSystemInterrupt@8 +HalDisableSystemInterrupt=HalDisableSystemInterrupt@8 HalDisplayString=HalDisplayString@4 -;HalEnableSystemInterrupt=HalEnableSystemInterrupt@12 -;HalEndSystemInterrupt=HalEndSystemInterrupt@8 +HalEnableSystemInterrupt=HalEnableSystemInterrupt@12 +HalEndSystemInterrupt=HalEndSystemInterrupt@8 HalFlushCommonBuffer=HalFlushCommonBuffer@32 HalFreeCommonBuffer=HalFreeCommonBuffer@24 HalGetAdapter=HalGetAdapter@8 diff --git a/reactos/subsys/csrss/makefile b/reactos/subsys/csrss/makefile index 811f351ae67..1de2cbfb4b8 100644 --- a/reactos/subsys/csrss/makefile +++ b/reactos/subsys/csrss/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.7 2000/08/05 18:01:57 dwelch Exp $ +# $Id: makefile,v 1.8 2000/08/11 12:46:24 ekohl Exp $ # # CSRSS: Client/server runtime subsystem # @@ -44,7 +44,7 @@ $(TARGET).exe: $(OBJECTS) $(LIBS) $(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym -floppy: $(FLOPPY_DIR)/subsys/$(TARGET).exe +install: $(FLOPPY_DIR)/subsys/$(TARGET).exe $(FLOPPY_DIR)/subsys/$(TARGET).exe: $(TARGET).exe ifeq ($(DOSCLI),yes) diff --git a/reactos/subsys/smss/makefile b/reactos/subsys/smss/makefile index ae6038c75fd..f1a6b8f90c9 100644 --- a/reactos/subsys/smss/makefile +++ b/reactos/subsys/smss/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.3 1999/12/01 15:18:54 ekohl Exp $ +# $Id: makefile,v 1.4 2000/08/11 12:46:37 ekohl Exp $ # # Session Manager # @@ -38,7 +38,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/subsys/$(TARGET).exe +install: $(FLOPPY_DIR)/subsys/$(TARGET).exe $(FLOPPY_DIR)/subsys/$(TARGET).exe: $(TARGET).exe ifeq ($(DOSCLI),yes) diff --git a/reactos/subsys/win32k/makefile b/reactos/subsys/win32k/makefile index 391b7fda37f..977c29b4f65 100644 --- a/reactos/subsys/win32k/makefile +++ b/reactos/subsys/win32k/makefile @@ -1,4 +1,4 @@ -# $Id: makefile,v 1.24 2000/06/29 23:35:51 dwelch Exp $ +# $Id: makefile,v 1.25 2000/08/11 12:46:47 ekohl Exp $ # # WIN32K.SYS build spec # @@ -101,7 +101,7 @@ $(CLEAN_FILES:%=%_clean): %_clean: .PHONY: clean $(CLEAN_FILES:%=%_clean) -floppy: $(FLOPPY_DIR)/drivers/$(TARGET).sys +install: $(FLOPPY_DIR)/drivers/$(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys ifeq ($(DOSCLI),yes)