revert of mass delete of the posix subsystem. perhaps there is hope for it yet.
[reactos.git] / posix / server / misc / main.c
diff --git a/posix/server/misc/main.c b/posix/server/misc/main.c
new file mode 100644 (file)
index 0000000..cd6f080
--- /dev/null
@@ -0,0 +1,89 @@
+/* $Id: main.c,v 1.3 2002/10/29 04:45:54 rex Exp $
+ *
+ * PROJECT    : ReactOS / POSIX+ Environment Subsystem Server
+ * FILE       : reactos/subsys/psx/server/misc/main.c 
+ * DESCRIPTION: POSIX+ server main.
+ * DATE       : 2001-05-05
+ * AUTHOR     : Emanuele Aliberti <eal@users.sf.net>
+ * 
+ * --------------------------------------------------------------------
+ *
+ * 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
+ * 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. If not, write
+ * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
+ * MA 02139, USA.  
+ *
+ * --------------------------------------------------------------------
+ * 
+ *     19990605 (Emanuele Aliberti)
+ *             Compiled successfully with egcs 1.1.2
+ *      20020323 (Emanuele Aliberti)
+ *              Converted to Win32 for testing it using NT LPC.
+ */
+#include <windows.h>
+#include <reactos/buildno.h>
+#include <psxss.h>
+
+/*** EXTERNAL ********************************************************/
+
+NTSTATUS STDCALL
+PsxServerInitialization (
+    IN ULONG ArgumentCount,
+    IN PWSTR *ArgumentArray
+    );
+
+/*** ENTRY POINT *****************************************************/
+
+#ifdef __PSXSS_ON_W32__ // W32 PSXSS.EXE
+int main (int argc, char * argv[])
+{
+    INT c;
+
+    debug_print(L"POSIX+ Subsystem for ReactOS "KERNEL_RELEASE_STR);
+
+    if (STATUS_SUCCESS == PsxServerInitialization(0,NULL))
+    {
+        debug_print(L"PSXSS: server active");
+        while (TRUE)
+        {
+            c = getch();
+            if (c == 1) break;
+        }
+    }
+    else
+    {
+        debug_print(L"PSXSS: Subsystem initialization failed.\n");
+    }
+    return 0;
+}
+#else /* Native PSXSS.EXE */
+VOID NtProcessStartup (PPEB Peb)
+{
+    UNICODE_STRING Banner;
+
+    RtlInitUnicodeString (& Banner, L"POSIX+ Subsystem for ReactOS "KERNEL_RELEASE_STR);
+    NtDisplayString(& Banner);
+
+    if (STATUS_SUCCESS == PsxServerInitialization(0,NULL))
+    {
+        DbgPrint("PSXSS: server active\n");
+        /* TODO */
+    }
+    else
+    {
+        DbgPrint("PSXSS: Subsystem initialization failed.\n");
+    }
+    NtTerminateProcess (NtCurrentProcess(), 0);
+}
+#endif
+/* EOF */