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