A do-nothing crt0 for native NT processes. (see note by A.Ionescu in reactos/subsys/crt/main.c) Modified: trunk/reactos/lib/directory.xml Added: trunk/reactos/lib/ntrt0lib/ Added: trunk/reactos/lib/ntrt0lib/args.c Added: trunk/reactos/lib/ntrt0lib/entry_point.c Added: trunk/reactos/lib/ntrt0lib/ntrt0.h Added: trunk/reactos/lib/ntrt0lib/ntrt0lib.xml _____
Modified: trunk/reactos/lib/directory.xml --- trunk/reactos/lib/directory.xml 2005-10-02 15:59:15 UTC (rev 18218) +++ trunk/reactos/lib/directory.xml 2005-10-02 16:09:30 UTC (rev 18219) @@ -170,6 +170,9 @@
<directory name="newdev"> <xi:include href="newdev/newdev.xml" /> </directory> +<directory name="ntrt0lib"> + <xi:include href="ntrt0lib/ntrt0lib.xml" /> +</directory> <directory name="ntdll"> <xi:include href="ntdll/ntdll.xml" /> </directory> _____
Added: trunk/reactos/lib/ntrt0lib/args.c --- trunk/reactos/lib/ntrt0lib/args.c 2005-10-02 15:59:15 UTC (rev 18218) +++ trunk/reactos/lib/ntrt0lib/args.c 2005-10-02 16:09:30 UTC (rev 18219) @@ -0,0 +1,21 @@
+/* $Id$ + * + * ReactOS Operating System + */ +#include "ntrt0.h" + +#define NDEBUG +#include <debug.h> + +/********************************************************************** + * NAME + * NtRtParseCommandLine/2 + */ +NTSTATUS STDCALL NtRtParseCommandLine (PPEB Peb, int * argc, char ** argv) +{ + *argc=0; + argv[0]=NULL; + //TODO + return STATUS_SUCCESS; +} +/* EOF */ Property changes on: trunk/reactos/lib/ntrt0lib/args.c ___________________________________________________________________ Name: svn:keywords + author date id revision Name: svn:eol-style + native _____
Added: trunk/reactos/lib/ntrt0lib/entry_point.c --- trunk/reactos/lib/ntrt0lib/entry_point.c 2005-10-02 15:59:15 UTC (rev 18218) +++ trunk/reactos/lib/ntrt0lib/entry_point.c 2005-10-02 16:09:30 UTC (rev 18219) @@ -0,0 +1,40 @@
+/* $Id$ + * + * ReactOS Operating System + */ +#include "ntrt0.h" + +#define NDEBUG +#include <debug.h> + +#ifdef NDEBUG +#define NTRT_DEBUG_FLAG 0 +#else +#define NTRT_DEBUG_FLAG 1 +#endif + +int argc = 0; +char * argv [32] = {NULL}; +char * envp = NULL; + +/* Native process' entry point */ + +VOID STDCALL NtProcessStartup (PPEB Peb) +{ + NTSTATUS Status = STATUS_SUCCESS; + + /* + * Parse the command line. + */ + Status = NtRtParseCommandLine (Peb, & argc, argv); + if (STATUS_SUCCESS != Status) + { + DPRINT1("NT: %s: NtRtParseCommandLine failed (Status=0x%08lx)\n", + __FUNCTION__, Status); + } + /* + * Call the user main + */ + (void) _main (argc, argv, & envp, NTRT_DEBUG_FLAG); +} +/* EOF */ Property changes on: trunk/reactos/lib/ntrt0lib/entry_point.c ___________________________________________________________________ Name: svn:keywords + author date id revision Name: svn:eol-style + native _____
Added: trunk/reactos/lib/ntrt0lib/ntrt0.h --- trunk/reactos/lib/ntrt0lib/ntrt0.h 2005-10-02 15:59:15 UTC (rev 18218) +++ trunk/reactos/lib/ntrt0lib/ntrt0.h 2005-10-02 16:09:30 UTC (rev 18219) @@ -0,0 +1,16 @@
+#if !defined(_NTRT0_H) +#define _NTRT0_H + +/* PSDK/NDK Headers */ +#include <stdio.h> +#include <windows.h> + +#define NTOS_MODE_USER +#include <ndk/ntndk.h> + +extern int _cdecl _main(int,char**,char**,int); + +NTSTATUS STDCALL NtRtParseCommandLine (PPEB,int*,char**); + +#endif /* !def _NTRT0_H */ + Property changes on: trunk/reactos/lib/ntrt0lib/ntrt0.h ___________________________________________________________________ Name: svn:keywords + author date id revision Name: svn:eol-style + native _____
Added: trunk/reactos/lib/ntrt0lib/ntrt0lib.xml --- trunk/reactos/lib/ntrt0lib/ntrt0lib.xml 2005-10-02 15:59:15 UTC (rev 18218) +++ trunk/reactos/lib/ntrt0lib/ntrt0lib.xml 2005-10-02 16:09:30 UTC (rev 18219) @@ -0,0 +1,5 @@
+<module name="ntrt0lib" type="staticlibrary"> + <define name="_DISABLE_TIDENTS" /> + <file>args.c</file> + <file>entry_point.c</file> +</module> Property changes on: trunk/reactos/lib/ntrt0lib/ntrt0lib.xml ___________________________________________________________________ Name: svn:keywords + author date id revision Name: svn:eol-style + native