-/* $Id: lpcproto.h,v 1.5 2002/10/29 04:45:13 rex Exp $
+/* $Id: lpcproto.h,v 1.6 2002/12/26 18:14:34 robd Exp $
*
* ReactOS POSIX+ Environment Subsystem
* LPC protocol spoken by PSXSS.EXE, PSXDLL.DLL, CSRTERM.EXE.
typedef struct _PSX_MAX_MESSAGE
{
- LPC_MESSAGE_HEADER Header;
+ //LPC_MESSAGE_HEADER Header;
+ LPC_MESSAGE Header;
PSX_MESSAGE_HEADER PsxHeader;
BYTE Data [PSX_MAX_LPC_DATA_SIZE];
} PSX_MAX_MESSAGE, * PPSX_MAX_MESSAGE;
typedef struct _PSX_TERMINAL_IO
{
- LPC_MESSAGE_HEADER Header;
+ //LPC_MESSAGE_HEADER Header;
+ LPC_MESSAGE Header;
PSX_MESSAGE_HEADER PsxHeader;
ULONG Size;
ULONG Offset;
-/* $Id: pdata.c,v 1.5 2002/10/29 04:45:33 rex Exp $
+/* $Id: pdata.c,v 1.6 2002/12/26 18:14:36 robd Exp $
*/
/*
* COPYRIGHT: See COPYING in the top level directory
fdDescriptor = __fdtable_entry_get(&ProcessData->FdTable, STDIN_FILENO);
if(fdDescriptor != NULL)
- (*ProcessParameters)->InputHandle = fdDescriptor->FileHandle;
+ (*ProcessParameters)->hStdInput = fdDescriptor->FileHandle;
/* standard output handle */
fdDescriptor = __fdtable_entry_get(&ProcessData->FdTable, STDOUT_FILENO);
if(fdDescriptor != NULL)
- (*ProcessParameters)->OutputHandle = fdDescriptor->FileHandle;
+ (*ProcessParameters)->hStdOutput = fdDescriptor->FileHandle;
/* standard error handle */
fdDescriptor = __fdtable_entry_get(&ProcessData->FdTable, STDERR_FILENO);
if(fdDescriptor != NULL)
- (*ProcessParameters)->ErrorHandle = fdDescriptor->FileHandle;
+ (*ProcessParameters)->hStdError = fdDescriptor->FileHandle;
/* POSIX+ and NT environments are incompatible, we set the environment to
nothing */
(*ProcessParameters)->Environment = NULL;
- (*ProcessParameters)->ConsoleHandle = (PVOID)-1;
- (*ProcessParameters)->ConsoleFlags = 0;
+/*
+typedef struct _RTL_USER_PROCESS_PARAMETERS {
+ ULONG AllocationSize;
+ ULONG Size;
+ ULONG Flags;
+ ULONG DebugFlags;
+ HANDLE hConsole;
+ ULONG ProcessGroup;
+ HANDLE hStdInput;
+ HANDLE hStdOutput;
+ HANDLE hStdError;
+ UNICODE_STRING CurrentDirectoryName;
+ HANDLE CurrentDirectoryHandle;
+ UNICODE_STRING DllPath;
+ UNICODE_STRING ImagePathName;
+ UNICODE_STRING CommandLine;
+ PWSTR Environment;
+ ULONG dwX;
+ ULONG dwY;
+ ULONG dwXSize;
+ ULONG dwYSize;
+ ULONG dwXCountChars;
+ ULONG dwYCountChars;
+ ULONG dwFillAttribute;
+ ULONG dwFlags;
+ ULONG wShowWindow;
+ UNICODE_STRING WindowTitle;
+ UNICODE_STRING DesktopInfo;
+ UNICODE_STRING ShellInfo;
+ UNICODE_STRING RuntimeInfo;
+} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
+ */
+ (*ProcessParameters)->hConsole = (PVOID)-1;
+ (*ProcessParameters)->Flags = 0;
return (STATUS_SUCCESS);
}
-/* $Id: spawn.c,v 1.8 2002/10/29 04:45:35 rex Exp $
+/* $Id: spawn.c,v 1.9 2002/12/26 18:14:36 robd Exp $
*/
/*
* COPYRIGHT: See COPYING in the top level directory
}
/* 3.3.2: process parameters */
- nDestBufferSize = pppProcessParameters->Length;
+ nDestBufferSize = pppProcessParameters->Size;
nErrCode = NtAllocateVirtualMemory
(
hProcess,
pParamsBuffer,
pppProcessParameters,
- pppProcessParameters->Length,
+ pppProcessParameters->Size,
NULL
);
NtCurrentProcess(),
ProcessData->FdTable.Descriptors[i].FileHandle,
hProcess,
- (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, InputHandle)),
+ (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, hStdInput)),
0,
0,
DUPLICATE_SAME_ACCESS | 4 /* | DUPLICATE_SAME_ATTRIBUTES */ /* FIXME */
NtCurrentProcess(),
ProcessData->FdTable.Descriptors[i].FileHandle,
hProcess,
- (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, OutputHandle)),
+ (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, hStdOutput)),
0,
0,
DUPLICATE_SAME_ACCESS | 4 /* | DUPLICATE_SAME_ATTRIBUTES */ /* FIXME */
NtCurrentProcess(),
ProcessData->FdTable.Descriptors[i].FileHandle,
hProcess,
- (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, ErrorHandle)),
+ (PHANDLE)((ULONG)pParamsBuffer + offsetof(RTL_USER_PROCESS_PARAMETERS, hStdError)),
0,
0,
DUPLICATE_SAME_ACCESS | 4 /* | DUPLICATE_SAME_ATTRIBUTES */ /* FIXME */