mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
Moved system applications
svn path=/trunk/; revision=1448
This commit is contained in:
parent
c40c9f88c1
commit
564101ab11
17 changed files with 380 additions and 262 deletions
|
@ -2,7 +2,7 @@ In no particular order
|
||||||
|
|
||||||
Rex Jolliff (rex@lvcablemodem.com)
|
Rex Jolliff (rex@lvcablemodem.com)
|
||||||
Boudewijn Dekker (ariadne@xs4all.nl)
|
Boudewijn Dekker (ariadne@xs4all.nl)
|
||||||
Eric Kohl (ekohl@abo.rhein-zeitung.de)
|
Eric Kohl (ekohl@rz-online.de)
|
||||||
Emanuele Aliberti (ea@iol.it)
|
Emanuele Aliberti (ea@iol.it)
|
||||||
David Welch (welch@cwcom.net)
|
David Welch (welch@cwcom.net)
|
||||||
Iwan Fatahi (i_fatahi@hotmail.com)
|
Iwan Fatahi (i_fatahi@hotmail.com)
|
||||||
|
|
|
@ -46,8 +46,12 @@ NET_DRIVERS = ndis tcpip tditest wshtcpip
|
||||||
# ne2000
|
# ne2000
|
||||||
NET_DEVICE_DRIVERS = ne2000
|
NET_DEVICE_DRIVERS = ne2000
|
||||||
|
|
||||||
|
#
|
||||||
|
# system applications (required for startup)
|
||||||
|
#
|
||||||
|
SYS_APPS = shell winlogon services
|
||||||
|
|
||||||
APPS = args hello shell test cat bench apc shm lpc thread event file gditest \
|
APPS = args hello test cat bench apc shm lpc thread event file gditest \
|
||||||
pteb consume dump_shared_data vmtest regtest
|
pteb consume dump_shared_data vmtest regtest
|
||||||
# objdir
|
# objdir
|
||||||
|
|
||||||
|
@ -57,12 +61,12 @@ NET_APPS = ping
|
||||||
|
|
||||||
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) $(NET_DRIVERS) $(NET_DEVICE_DRIVERS)
|
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(INPUT_DRIVERS) $(FS_DRIVERS) $(NET_DRIVERS) $(NET_DEVICE_DRIVERS)
|
||||||
|
|
||||||
all: buildno $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS) $(NET_APPS)
|
all: buildno $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(SYS_APPS) $(APPS) $(NET_APPS)
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
|
||||||
clean: buildno_clean $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
|
clean: buildno_clean $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
|
||||||
$(KERNEL_SERVICES:%=%_clean) $(SUBSYS:%=%_clean) $(APPS:%=%_clean)
|
$(KERNEL_SERVICES:%=%_clean) $(SUBSYS:%=%_clean) $(SYS_APPS:%=%_clean) $(APPS:%=%_clean)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
||||||
|
@ -88,11 +92,11 @@ endif
|
||||||
install: rcopy$(EXE_POSTFIX) rmkdir$(EXE_POSTFIX) make_install_dirs autoexec_install $(COMPONENTS:%=%_install) \
|
install: rcopy$(EXE_POSTFIX) rmkdir$(EXE_POSTFIX) make_install_dirs autoexec_install $(COMPONENTS:%=%_install) \
|
||||||
$(DLLS:%=%_install) $(LOADERS:%=%_install) \
|
$(DLLS:%=%_install) $(LOADERS:%=%_install) \
|
||||||
$(KERNEL_SERVICES:%=%_install) $(SUBSYS:%=%_install) \
|
$(KERNEL_SERVICES:%=%_install) $(SUBSYS:%=%_install) \
|
||||||
$(APPS:%=%_install)
|
$(SYS_APPS:%=%_install) $(APPS:%=%_install)
|
||||||
|
|
||||||
dist: rcopy$(EXE_POSTFIX) clean_dist_dir make_dist_dirs $(COMPONENTS:%=%_dist) $(DLLS:%=%_dist) \
|
dist: rcopy$(EXE_POSTFIX) clean_dist_dir make_dist_dirs $(COMPONENTS:%=%_dist) $(DLLS:%=%_dist) \
|
||||||
$(LOADERS:%=%_dist) $(KERNEL_SERVICES:%=%_dist) $(SUBSYS:%=%_dist) \
|
$(LOADERS:%=%_dist) $(KERNEL_SERVICES:%=%_dist) $(SUBSYS:%=%_dist) \
|
||||||
$(APPS:%=%_dist)
|
$(SYS_APPS:%=%_dist) $(APPS:%=%_dist)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build number generator
|
# Build number generator
|
||||||
|
@ -109,6 +113,23 @@ buildno_install:
|
||||||
|
|
||||||
.PHONY: buildno buildno_clean buildno_dist buildno_install
|
.PHONY: buildno buildno_clean buildno_dist buildno_install
|
||||||
|
|
||||||
|
#
|
||||||
|
# System Applications
|
||||||
|
#
|
||||||
|
$(SYS_APPS): %:
|
||||||
|
make -C apps/system/$*
|
||||||
|
|
||||||
|
$(SYS_APPS:%=%_clean): %_clean:
|
||||||
|
make -C apps/system/$* clean
|
||||||
|
|
||||||
|
$(SYS_APPS:%=%_dist): %_dist:
|
||||||
|
make -C apps/system/$* dist
|
||||||
|
|
||||||
|
$(SYS_APPS:%=%_install): %_install:
|
||||||
|
make -C apps/system/$* install
|
||||||
|
|
||||||
|
.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_dist)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Applications
|
# Applications
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
PATH_TO_TOP = ../..
|
|
||||||
|
|
||||||
OBJECTS= shell.o
|
|
||||||
PROGS= shell.exe
|
|
||||||
LIBS= ../../lib/kernel32/kernel32.a ../../lib/ntdll/ntdll.a
|
|
||||||
CLEAN_FILES= shell.o shell.exe shell.sym
|
|
||||||
|
|
||||||
BASE_CFLAGS = -I../../include
|
|
||||||
|
|
||||||
all: shell.exe
|
|
||||||
|
|
||||||
clean: $(CLEAN_FILES:%=%_clean)
|
|
||||||
|
|
||||||
$(CLEAN_FILES:%=%_clean): %_clean:
|
|
||||||
- $(RM) $*
|
|
||||||
|
|
||||||
.phony: clean $(CLEAN_FILES:%=%_clean)
|
|
||||||
|
|
||||||
install: $(PROGS:%=$(FLOPPY_DIR)/apps/%)
|
|
||||||
|
|
||||||
$(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
|
|
||||||
$(CP) $* $(FLOPPY_DIR)/apps/$*
|
|
||||||
|
|
||||||
dist: $(PROGS:%=../../$(DIST_DIR)/apps/%)
|
|
||||||
|
|
||||||
$(PROGS:%=../../$(DIST_DIR)/apps/%): ../../$(DIST_DIR)/apps/%: %
|
|
||||||
$(CP) $* ../../$(DIST_DIR)/apps/$*
|
|
||||||
|
|
||||||
shell.exe: $(OBJECTS) $(LIBS)
|
|
||||||
$(CC) $(OBJECTS) $(LIBS) -lgcc -o shell.exe
|
|
||||||
$(NM) --numeric-sort shell.exe > shell.sym
|
|
||||||
|
|
||||||
include ../../rules.mak
|
|
|
@ -1,22 +1,24 @@
|
||||||
DIRECTORIES
|
DIRECTORIES
|
||||||
|
|
||||||
system : compiled versions of the various system components and
|
apps : applications (base directory)
|
||||||
libraries
|
apps/net : network applications
|
||||||
ntoskrnl : kernel source
|
apps/system : system applications (required for startup)
|
||||||
ntoskrnl/hal : hardware abstraction layer source
|
doc : documentation
|
||||||
ntoskrnl/mm : memory managment subsystem source
|
|
||||||
ntoskrnl/io : IO manager subsystem source
|
|
||||||
ntoskrnl/ke : kernel source
|
|
||||||
include : win32 headers
|
include : win32 headers
|
||||||
include/internal : kernel private header files
|
include/internal : kernel private header files
|
||||||
include/ntdll : system library private header files
|
include/ntdll : system library private header files
|
||||||
include/kernel32 : system library private header files
|
include/kernel32 : system library private header files
|
||||||
include/ddk : header files for modules
|
include/ddk : header files for modules
|
||||||
lib/ntdll : NT dll source
|
lib/advapi32 : advapi32 source
|
||||||
lib/kernel32 : kernel32 source
|
lib/kernel32 : kernel32 source
|
||||||
doc : documentation
|
lib/ntdll : NT dll source
|
||||||
loaders/dos : DOS based loader
|
loaders/dos : DOS based loader
|
||||||
loaders/boot : boot loader
|
loaders/boot : boot loader
|
||||||
|
ntoskrnl : kernel source
|
||||||
|
ntoskrnl/hal : hardware abstraction layer source
|
||||||
|
ntoskrnl/mm : memory managment subsystem source
|
||||||
|
ntoskrnl/io : IO manager subsystem source
|
||||||
|
ntoskrnl/ke : kernel source
|
||||||
services : various services (device drivers, filesystems etc)
|
services : various services (device drivers, filesystems etc)
|
||||||
services/dd : device drivers
|
services/dd : device drivers
|
||||||
services/fs : file systems
|
services/fs : file systems
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
# $Id: makefile,v 1.3 2000/11/20 19:59:13 ekohl Exp $
|
|
||||||
#
|
|
||||||
# CSRSS: Client/server runtime subsystem
|
|
||||||
#
|
|
||||||
# ReactOS Operating System
|
|
||||||
#
|
|
||||||
TARGET = services
|
|
||||||
|
|
||||||
BASE_CFLAGS = -I../../include -I.
|
|
||||||
|
|
||||||
OBJECTS =
|
|
||||||
|
|
||||||
LIBS = ../../lib/ntdll/ntdll.a
|
|
||||||
|
|
||||||
all: $(TARGET).exe
|
|
||||||
|
|
||||||
.phony: all
|
|
||||||
|
|
||||||
clean:
|
|
||||||
- $(RM) api/*.o
|
|
||||||
- $(RM) sbapi/*.o
|
|
||||||
- $(RM) *.o
|
|
||||||
- $(RM) $(TARGET).exe
|
|
||||||
- $(RM) $(TARGET).sym
|
|
||||||
- $(RM) $(TARGET).coff
|
|
||||||
|
|
||||||
.phony: clean
|
|
||||||
|
|
||||||
$(TARGET).coff: $(TARGET).rc
|
|
||||||
$(RC) $(TARGET).rc $(TARGET).coff
|
|
||||||
|
|
||||||
$(TARGET).exe: $(OBJECTS) $(LIBS)
|
|
||||||
$(LD) \
|
|
||||||
$(OBJECTS) \
|
|
||||||
$(LIBS) \
|
|
||||||
-o $(TARGET).exe \
|
|
||||||
--subsystem native
|
|
||||||
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
|
||||||
|
|
||||||
|
|
||||||
install: $(FLOPPY_DIR)/subsys/$(TARGET).exe
|
|
||||||
|
|
||||||
$(FLOPPY_DIR)/subsys/$(TARGET).exe: $(TARGET).exe
|
|
||||||
$(CP) $(TARGET).exe $(FLOPPY_DIR)/subsys/$(TARGET).exe
|
|
||||||
|
|
||||||
|
|
||||||
dist: $(DIST_DIR)/subsys/$(TARGET).exe
|
|
||||||
|
|
||||||
$(DIST_DIR)/subsys/$(TARGET).exe: $(TARGET).exe
|
|
||||||
$(CP) $(TARGET).exe ../../$(DIST_DIR)/subsys/$(TARGET).exe
|
|
||||||
|
|
||||||
|
|
||||||
include ../../rules.mak
|
|
||||||
|
|
||||||
# EOF
|
|
|
@ -1,77 +0,0 @@
|
||||||
/* $Id: services.c,v 1.1 2000/03/26 22:00:09 dwelch Exp $
|
|
||||||
*
|
|
||||||
* service control manager
|
|
||||||
*
|
|
||||||
* ReactOS Operating System
|
|
||||||
*
|
|
||||||
* --------------------------------------------------------------------
|
|
||||||
*
|
|
||||||
* This software is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation; either version 2 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This software is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Library General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this software; see the file COPYING.LIB. If not, write
|
|
||||||
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
|
|
||||||
* MA 02139, USA.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <ddk/ntddk.h>
|
|
||||||
#include <ntdll/rtl.h>
|
|
||||||
#include <services/services.h>
|
|
||||||
|
|
||||||
VOID ServicesInitialization(VOID)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Native process' entry point */
|
|
||||||
|
|
||||||
VOID NtProcessStartup(PPEB Peb)
|
|
||||||
{
|
|
||||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
|
||||||
HANDLE ServicesInitEvent;
|
|
||||||
UNICODE_STRING UnicodeString;
|
|
||||||
NTSTATUS Status;
|
|
||||||
|
|
||||||
DisplayString(L"Service Control Manager\n");
|
|
||||||
|
|
||||||
RtlInitUnicodeString(&UnicodeString,
|
|
||||||
L"\\ServicesInitDone");
|
|
||||||
InitializeObjectAttributes(&ObjectAttributes,
|
|
||||||
&UnicodeString,
|
|
||||||
EVENT_ALL_ACCESS,
|
|
||||||
0,
|
|
||||||
NULL);
|
|
||||||
Status = NtOpenEvent(&ServicesInitEvent,
|
|
||||||
EVENT_ALL_ACCESS,
|
|
||||||
&ObjectAttributes);
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
DbgPrint("SERVICES: Failed to open notification event\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
Status = ServicesInitialization ();
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
DisplayString( L"SERVICES: Subsystem failed to initialize.\n" );
|
|
||||||
|
|
||||||
NtTerminateProcess(NtCurrentProcess(), Status);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DisplayString( L"CSR: Subsystem initialized.\n" );
|
|
||||||
|
|
||||||
NtSetEvent(ServicesInitEvent, NULL);
|
|
||||||
NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EOF */
|
|
|
@ -1,23 +0,0 @@
|
||||||
/* $Id: init.c,v 1.2 1999/07/17 23:10:29 ea Exp $
|
|
||||||
*
|
|
||||||
* reactos/services/winlogon/init.c
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include <windows.h>
|
|
||||||
|
|
||||||
BOOL
|
|
||||||
Initialize(VOID)
|
|
||||||
{
|
|
||||||
/* SERVICES CONTROLLER */
|
|
||||||
NtCreateProcess(
|
|
||||||
L"\\\\??\\C:\\reactos\\system\\services.exe"
|
|
||||||
);
|
|
||||||
/* LOCAL SECURITY AUTORITY SUBSYSTEM */
|
|
||||||
NtCreateProcess(
|
|
||||||
L"\\\\??\\C:\\reactos\\system\\lsass.exe"
|
|
||||||
);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
|
|
@ -1,37 +0,0 @@
|
||||||
# $Id: makefile,v 1.3 2000/08/12 19:33:23 dwelch Exp $
|
|
||||||
#
|
|
||||||
# Logon/login Application
|
|
||||||
#
|
|
||||||
# ReactOS Operating System
|
|
||||||
#
|
|
||||||
TARGET = winlogon
|
|
||||||
|
|
||||||
BASE_CFLAGS = -I../../include
|
|
||||||
|
|
||||||
OBJECTS = winlogon.o $(TARGET).coff
|
|
||||||
|
|
||||||
LIBS = -lkernel32 ../../lib/ntdll/ntdll.a
|
|
||||||
|
|
||||||
all: $(TARGET).exe
|
|
||||||
|
|
||||||
.phony: all
|
|
||||||
|
|
||||||
clean:
|
|
||||||
- $(RM) $(TARGET).o
|
|
||||||
- $(RM) $(TARGET).exe
|
|
||||||
- $(RM) $(TARGET).sym
|
|
||||||
- $(RM) $(TARGET).coff
|
|
||||||
|
|
||||||
.phony: clean
|
|
||||||
|
|
||||||
$(TARGET).coff: $(TARGET).rc
|
|
||||||
$(RC) $(TARGET).rc $(TARGET).coff
|
|
||||||
|
|
||||||
$(TARGET).exe: $(OBJECTS)
|
|
||||||
$(CC) \
|
|
||||||
$(OBJECTS) \
|
|
||||||
$(LIBS) \
|
|
||||||
-o $(TARGET).exe
|
|
||||||
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
|
||||||
|
|
||||||
include ../../rules.mak
|
|
45
reactos/subsys/system/services/makefile
Normal file
45
reactos/subsys/system/services/makefile
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# $Id: makefile,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
|
#
|
||||||
|
# Services: Service control manager (SCM)
|
||||||
|
#
|
||||||
|
# ReactOS Operating System
|
||||||
|
#
|
||||||
|
TARGET = services
|
||||||
|
PROGS = services.exe
|
||||||
|
|
||||||
|
PATH_TO_TOP = ../../..
|
||||||
|
|
||||||
|
OBJECTS = services.o services.coff
|
||||||
|
LIBS = ../../../lib/kernel32/kernel32.a ../../../lib/ntdll/ntdll.a
|
||||||
|
CLEAN_FILES = services.o services.coff services.exe services.sym
|
||||||
|
|
||||||
|
BASE_CFLAGS = -I../../../include
|
||||||
|
|
||||||
|
all: services.exe
|
||||||
|
|
||||||
|
$(TARGET).coff: $(TARGET).rc
|
||||||
|
$(RC) $(TARGET).rc $(TARGET).coff
|
||||||
|
|
||||||
|
$(TARGET).exe: $(OBJECTS) $(LIBS)
|
||||||
|
$(CC) $(OBJECTS) $(LIBS) -o $(TARGET).exe
|
||||||
|
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
||||||
|
|
||||||
|
clean: $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
$(CLEAN_FILES:%=%_clean): %_clean:
|
||||||
|
- $(RM) $*
|
||||||
|
|
||||||
|
.phony: clean $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
install: $(PROGS:%=$(FLOPPY_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
|
||||||
|
$(CP) $* $(FLOPPY_DIR)/apps/$*
|
||||||
|
|
||||||
|
dist: $(PROGS:%=../../../$(DIST_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=../../../$(DIST_DIR)/apps/%): ../../../$(DIST_DIR)/apps/%: %
|
||||||
|
$(CP) $* ../../../$(DIST_DIR)/apps/$*
|
||||||
|
|
||||||
|
|
||||||
|
include $(PATH_TO_TOP)/rules.mak
|
134
reactos/subsys/system/services/services.c
Normal file
134
reactos/subsys/system/services/services.c
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
/* $Id: services.c,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
|
*
|
||||||
|
* service control manager
|
||||||
|
*
|
||||||
|
* ReactOS Operating System
|
||||||
|
*
|
||||||
|
* --------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* This software is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this software; see the file COPYING.LIB. If not, write
|
||||||
|
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
|
||||||
|
* MA 02139, USA.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* NOTE:
|
||||||
|
* - Services.exe is NOT a native application, it is a GUI app.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* INCLUDES *****************************************************************/
|
||||||
|
|
||||||
|
#define NTOS_MODE_USER
|
||||||
|
#include <ntos.h>
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#include <services/services.h>
|
||||||
|
|
||||||
|
/* GLOBALS ******************************************************************/
|
||||||
|
|
||||||
|
HANDLE OutputHandle;
|
||||||
|
|
||||||
|
|
||||||
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
void PrintString (char* fmt,...)
|
||||||
|
{
|
||||||
|
char buffer[512];
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vsprintf(buffer, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
WriteConsoleA(OutputHandle, buffer, strlen(buffer), NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL ScmCreateStartEvent(PHANDLE StartEvent)
|
||||||
|
{
|
||||||
|
HANDLE hEvent;
|
||||||
|
|
||||||
|
hEvent = CreateEvent(NULL,
|
||||||
|
TRUE,
|
||||||
|
FALSE,
|
||||||
|
_T("SvcctrlStartEvent_A3725DX"));
|
||||||
|
if (hEvent == NULL)
|
||||||
|
{
|
||||||
|
if (GetLastError() == ERROR_ALREADY_EXISTS)
|
||||||
|
{
|
||||||
|
hEvent = OpenEvent(EVENT_ALL_ACCESS,
|
||||||
|
FALSE,
|
||||||
|
_T("SvcctrlStartEvent_A3725DX"));
|
||||||
|
if (hEvent == NULL)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*StartEvent = hEvent;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//int main (int argc, char *argv[])
|
||||||
|
int STDCALL
|
||||||
|
WinMain(HINSTANCE hInstance,
|
||||||
|
HINSTANCE hPrevInstance,
|
||||||
|
LPSTR lpCmdLine,
|
||||||
|
int nShowCmd)
|
||||||
|
{
|
||||||
|
HANDLE hScmStartEvent;
|
||||||
|
|
||||||
|
AllocConsole();
|
||||||
|
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
|
|
||||||
|
PrintString("Service Control Manager\n");
|
||||||
|
|
||||||
|
/* Create start event */
|
||||||
|
if (!ScmCreateStartEvent(&hScmStartEvent))
|
||||||
|
{
|
||||||
|
PrintString("SERVICES: Failed to create start event\n");
|
||||||
|
ExitThread(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* FIXME: more initialization */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PrintString("SERVICES: Initialized.\n");
|
||||||
|
|
||||||
|
/* Signal start event */
|
||||||
|
SetEvent(hScmStartEvent);
|
||||||
|
|
||||||
|
|
||||||
|
/* FIXME: more to do ? */
|
||||||
|
|
||||||
|
|
||||||
|
PrintString("SERVICES: Running.\n");
|
||||||
|
|
||||||
|
ExitThread (0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* EOF */
|
|
@ -1,5 +1,5 @@
|
||||||
#include "../../include/defines.h"
|
#include "../../../include/defines.h"
|
||||||
#include "../../include/reactos/resource.h"
|
#include "../../../include/reactos/resource.h"
|
||||||
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
|
@ -21,11 +21,11 @@ BEGIN
|
||||||
BLOCK "040904b0"
|
BLOCK "040904b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||||
VALUE "FileDescription", "Client/Server Runtime Process\0"
|
VALUE "FileDescription", "Service Control Manager\0"
|
||||||
VALUE "FileVersion", RES_STR_FILE_VERSION
|
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||||
VALUE "InternalName", "CSRSs and CSRSrv\0"
|
VALUE "InternalName", "Services\0"
|
||||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||||
VALUE "OriginalFilename", "CSRSs.exe and CSRSrv.dll\0"
|
VALUE "OriginalFilename", "Services.exe\0"
|
||||||
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||||
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||||
END
|
END
|
45
reactos/subsys/system/shell/makefile
Normal file
45
reactos/subsys/system/shell/makefile
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# $Id: makefile,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
|
#
|
||||||
|
# Shell: Simple shell application
|
||||||
|
#
|
||||||
|
# ReactOS Operating System
|
||||||
|
#
|
||||||
|
TARGET = shell
|
||||||
|
PROGS = shell.exe
|
||||||
|
|
||||||
|
PATH_TO_TOP = ../../..
|
||||||
|
|
||||||
|
OBJECTS= shell.o shell.coff
|
||||||
|
LIBS= ../../../lib/kernel32/kernel32.a ../../../lib/ntdll/ntdll.a
|
||||||
|
CLEAN_FILES= shell.o shell.coff shell.exe shell.sym
|
||||||
|
|
||||||
|
BASE_CFLAGS = -I../../../include
|
||||||
|
|
||||||
|
all: shell.exe
|
||||||
|
|
||||||
|
$(TARGET).coff: $(TARGET).rc
|
||||||
|
$(RC) $(TARGET).rc $(TARGET).coff
|
||||||
|
|
||||||
|
shell.exe: $(OBJECTS) $(LIBS)
|
||||||
|
$(CC) $(OBJECTS) $(LIBS) -lgcc -o shell.exe
|
||||||
|
$(NM) --numeric-sort shell.exe > shell.sym
|
||||||
|
|
||||||
|
clean: $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
$(CLEAN_FILES:%=%_clean): %_clean:
|
||||||
|
- $(RM) $*
|
||||||
|
|
||||||
|
.phony: clean $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
install: $(PROGS:%=$(FLOPPY_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
|
||||||
|
$(CP) $* $(FLOPPY_DIR)/apps/$*
|
||||||
|
|
||||||
|
dist: $(PROGS:%=../../../$(DIST_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=../../../$(DIST_DIR)/apps/%): ../../../$(DIST_DIR)/apps/%: %
|
||||||
|
$(CP) $* ../../../$(DIST_DIR)/apps/$*
|
||||||
|
|
||||||
|
|
||||||
|
include $(PATH_TO_TOP)/rules.mak
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: shell.c,v 1.41 2000/07/11 04:40:00 phreak Exp $
|
/* $Id: shell.c,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
*
|
*
|
||||||
* PROJECT : ReactOS Operating System
|
* PROJECT : ReactOS Operating System
|
||||||
* DESCRIPTION: ReactOS' Native Shell
|
* DESCRIPTION: ReactOS' Native Shell
|
38
reactos/subsys/system/shell/shell.rc
Normal file
38
reactos/subsys/system/shell/shell.rc
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#include "../../../include/defines.h"
|
||||||
|
#include "../../../include/reactos/resource.h"
|
||||||
|
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
|
||||||
|
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x40004L
|
||||||
|
FILETYPE 0x2L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||||
|
VALUE "FileDescription", "ReactOS Simple Shell\0"
|
||||||
|
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||||
|
VALUE "InternalName", "shell\0"
|
||||||
|
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||||
|
VALUE "OriginalFilename", "shell.exe\0"
|
||||||
|
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||||
|
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
58
reactos/subsys/system/winlogon/makefile
Normal file
58
reactos/subsys/system/winlogon/makefile
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# $Id: makefile,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
|
#
|
||||||
|
# Logon/login Application
|
||||||
|
#
|
||||||
|
# ReactOS Operating System
|
||||||
|
#
|
||||||
|
TARGET = winlogon
|
||||||
|
PROGS = winlogon.exe
|
||||||
|
|
||||||
|
PATH_TO_TOP = ../../..
|
||||||
|
|
||||||
|
BASE_CFLAGS = -I../../include
|
||||||
|
|
||||||
|
OBJECTS = winlogon.o $(TARGET).coff
|
||||||
|
|
||||||
|
LIBS = ../../../lib/kernel32/kernel32.a ../../../lib/ntdll/ntdll.a
|
||||||
|
|
||||||
|
all: $(TARGET).exe
|
||||||
|
|
||||||
|
.phony: all
|
||||||
|
|
||||||
|
clean:
|
||||||
|
- $(RM) *.o
|
||||||
|
- $(RM) $(TARGET).exe
|
||||||
|
- $(RM) $(TARGET).sym
|
||||||
|
- $(RM) $(TARGET).coff
|
||||||
|
|
||||||
|
.phony: clean
|
||||||
|
|
||||||
|
$(TARGET).coff: $(TARGET).rc
|
||||||
|
$(RC) $(TARGET).rc $(TARGET).coff
|
||||||
|
|
||||||
|
$(TARGET).exe: $(OBJECTS)
|
||||||
|
$(CC) \
|
||||||
|
$(OBJECTS) \
|
||||||
|
$(LIBS) \
|
||||||
|
-o $(TARGET).exe
|
||||||
|
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
||||||
|
|
||||||
|
clean: $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
$(CLEAN_FILES:%=%_clean): %_clean:
|
||||||
|
- $(RM) $*
|
||||||
|
|
||||||
|
.phony: clean $(CLEAN_FILES:%=%_clean)
|
||||||
|
|
||||||
|
install: $(PROGS:%=$(FLOPPY_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
|
||||||
|
$(CP) $* $(FLOPPY_DIR)/apps/$*
|
||||||
|
|
||||||
|
dist: $(PROGS:%=../../../$(DIST_DIR)/apps/%)
|
||||||
|
|
||||||
|
$(PROGS:%=../../../$(DIST_DIR)/apps/%): ../../../$(DIST_DIR)/apps/%: %
|
||||||
|
$(CP) $* ../../../$(DIST_DIR)/apps/$*
|
||||||
|
|
||||||
|
|
||||||
|
include $(PATH_TO_TOP)/rules.mak
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: winlogon.c,v 1.6 2000/08/12 19:33:23 dwelch Exp $
|
/* $Id: winlogon.c,v 1.1 2000/12/05 02:38:08 ekohl Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -31,9 +31,9 @@ BOOLEAN StartServices(VOID)
|
||||||
PROCESS_INFORMATION ProcessInformation;
|
PROCESS_INFORMATION ProcessInformation;
|
||||||
|
|
||||||
ServicesInitEvent = CreateEvent(NULL,
|
ServicesInitEvent = CreateEvent(NULL,
|
||||||
TRUE,
|
TRUE,
|
||||||
FALSE,
|
FALSE,
|
||||||
"\\ServicesInitDone");
|
"\\ServicesInitDone");
|
||||||
|
|
||||||
if (ServicesInitEvent == NULL)
|
if (ServicesInitEvent == NULL)
|
||||||
{
|
{
|
||||||
|
@ -85,7 +85,7 @@ BOOLEAN StartLsass(VOID)
|
||||||
LsassInitEvent = CreateEvent(NULL,
|
LsassInitEvent = CreateEvent(NULL,
|
||||||
TRUE,
|
TRUE,
|
||||||
FALSE,
|
FALSE,
|
||||||
"\\LsassInitDone");
|
"\\LsassInitDone");
|
||||||
|
|
||||||
if (LsassInitEvent == NULL)
|
if (LsassInitEvent == NULL)
|
||||||
{
|
{
|
||||||
|
@ -160,9 +160,9 @@ VOID DoLoginUser(PCHAR Name, PCHAR Password)
|
||||||
}
|
}
|
||||||
|
|
||||||
int STDCALL
|
int STDCALL
|
||||||
WinMain(HINSTANCE hInstance,
|
WinMain(HINSTANCE hInstance,
|
||||||
HINSTANCE hPrevInstance,
|
HINSTANCE hPrevInstance,
|
||||||
LPSTR lpCmdLine,
|
LPSTR lpCmdLine,
|
||||||
int nShowCmd)
|
int nShowCmd)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -173,7 +173,7 @@ WinMain(HINSTANCE hInstance,
|
||||||
#endif
|
#endif
|
||||||
CHAR LoginPrompt[] = "login:";
|
CHAR LoginPrompt[] = "login:";
|
||||||
CHAR PasswordPrompt[] = "password:";
|
CHAR PasswordPrompt[] = "password:";
|
||||||
ULONG Result;
|
DWORD Result;
|
||||||
CHAR LoginName[255];
|
CHAR LoginName[255];
|
||||||
CHAR Password[255];
|
CHAR Password[255];
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
@ -182,9 +182,10 @@ WinMain(HINSTANCE hInstance,
|
||||||
* FIXME: Create WindowStations here. At the moment lsass and services
|
* FIXME: Create WindowStations here. At the moment lsass and services
|
||||||
* share ours
|
* share ours
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
StartLsass();
|
StartLsass();
|
||||||
StartServices();
|
StartServices();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* FIXME: What name does the real WinLogon use? */
|
/* FIXME: What name does the real WinLogon use? */
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -206,7 +207,8 @@ WinMain(HINSTANCE hInstance,
|
||||||
/* Display login prompt */
|
/* Display login prompt */
|
||||||
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),
|
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),
|
||||||
LoginPrompt,
|
LoginPrompt,
|
||||||
wcslen(LoginPrompt),
|
// wcslen(LoginPrompt),
|
||||||
|
strlen(LoginPrompt),
|
||||||
&Result,
|
&Result,
|
||||||
NULL);
|
NULL);
|
||||||
i = 0;
|
i = 0;
|
||||||
|
@ -224,7 +226,8 @@ WinMain(HINSTANCE hInstance,
|
||||||
/* Display password prompt */
|
/* Display password prompt */
|
||||||
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),
|
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),
|
||||||
PasswordPrompt,
|
PasswordPrompt,
|
||||||
wcslen(PasswordPrompt),
|
// wcslen(PasswordPrompt),
|
||||||
|
strlen(PasswordPrompt),
|
||||||
&Result,
|
&Result,
|
||||||
NULL);
|
NULL);
|
||||||
i = 0;
|
i = 0;
|
|
@ -1,5 +1,5 @@
|
||||||
#include "../../include/defines.h"
|
#include "../../../include/defines.h"
|
||||||
#include "../../include/reactos/resource.h"
|
#include "../../../include/reactos/resource.h"
|
||||||
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
Loading…
Reference in a new issue