First attempt to convert the VMS demo server.

Note: it does NOT work.

svn path=/trunk/; revision=17279
This commit is contained in:
Emanuele Aliberti 2005-08-11 08:46:57 +00:00
parent e1b5e79e30
commit 2b0800d266
26 changed files with 752 additions and 724 deletions

View file

@ -1,68 +1,78 @@
/* $Id: $
*
* init.c - VMS Enviroment Subsystem Server - Initialization
*
* 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
* 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.
*
* --------------------------------------------------------------------
*/
#define __USE_NT_LPC__
#include "vmsss.h"
//#define NDEBUG
#include <debug.h>
/**********************************************************************
* NAME PRIVATE
* VmspCreatePort/1
*/
NTSTATUS VmsRunServer (VOID)
{
NTSTATUS Status = STATUS_SUCCESS;
LPC_MAX_MESSAGE Request;
PLPC_MESSAGE Reply = NULL;
ULONG MessageType = 0;
while (TRUE)
{
Status = NtReplyWaitReceivePort (VmsApiPort,
0,
Reply,
& Request);
if(NT_SUCCESS(Status))
{
MessageType = PORT_MESSAGE_TYPE(Request);
DPRINT("VMS: %s received a message (Type=%d)\n",
__FUNCTION__, MessageType);
switch(MessageType)
{
default:
continue;
}
}else{
DPRINT("VMS: %s: NtReplyWaitReceivePort failed (Status=%08lx)\n",
__FUNCTION__, Status);
}
}
return Status;
}
/* EOF */
/* $Id$
*
* server.c - VMS Enviroment Subsystem Server - Initialization
*
* 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
* 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 "vmssrv.h"
//#define NDEBUG
#include <debug.h>
HANDLE VmsApiPort = NULL;
/**********************************************************************
* NAME PRIVATE
* VmspCreatePort/1
*/
NTSTATUS VmsStaticServerThread (PVOID x)
{
NTSTATUS Status = STATUS_SUCCESS;
LPC_MAX_MESSAGE Request;
PPORT_MESSAGE Reply = NULL;
ULONG MessageType = 0;
while (TRUE)
{
Status = NtReplyWaitReceivePort (VmsApiPort,
0,
Reply,
(PPORT_MESSAGE) & Request);
if(NT_SUCCESS(Status))
{
MessageType = Request.Header.u2.s2.Type;
DPRINT("VMS: %s received a message (Type=%d)\n",
__FUNCTION__, MessageType);
switch(MessageType)
{
default:
continue;
}
}else{
DPRINT("VMS: %s: NtReplyWaitReceivePort failed (Status=%08lx)\n",
__FUNCTION__, Status);
}
}
return Status;
}
/*=====================================================================
* PUBLIC API
*===================================================================*/
NTSTATUS STDCALL ServerDllInitialization (ULONG ArgumentCount,
LPWSTR *Argument)
{
return CsrAddStaticServerThread ();
}
/* EOF */