Minor change.

svn path=/trunk/; revision=2828
This commit is contained in:
Emanuele Aliberti 2002-04-07 13:56:16 +00:00
parent 8c130e007e
commit 6bdcbd1bb7

View file

@ -1,13 +1,20 @@
/* $Id: lpcproto.h,v 1.1 2002/03/17 22:19:37 ea Exp $ /* $Id: lpcproto.h,v 1.2 2002/04/07 13:56:16 ea Exp $
* *
* ReactOS POSIX+ Environment Subsystem * ReactOS POSIX+ Environment Subsystem
* LPC protocol spoken by PSXSS.EXE, PSXDLL.DLL, CSRTERM.EXE. * LPC protocol spoken by PSXSS.EXE, PSXDLL.DLL, CSRTERM.EXE.
*/ */
#ifndef _PSX_LPCPROTO_H #ifndef _PSX_LPCPROTO_H
#define _PSX_LPCPROTO_H #define _PSX_LPCPROTO_H
#include <napi/lpc.h> #include <napi/lpc.h>
#ifndef PRIVATE
#define PRIVATE static
#endif
/* Protocol version */ /* Protocol version */
#define PSX_LPC_PROTOCOL_VERSION 1 #define PSX_LPC_PROTOCOL_VERSION 1
/* POSIX+ system name space */ /* POSIX+ system name space */
#define PSX_NS_SUBSYSTEM_DIRECTORY_NAME L"POSIX+" #define PSX_NS_SUBSYSTEM_DIRECTORY_NAME L"POSIX+"
#define PSX_NS_SESSION_DIRECTORY_NAME L"Sessions" #define PSX_NS_SESSION_DIRECTORY_NAME L"Sessions"
@ -18,38 +25,50 @@
#define PSX_NS_API_PORT_TEMPLATE L"\\%s\\%s" #define PSX_NS_API_PORT_TEMPLATE L"\\%s\\%s"
#define PSX_NS_SESSION_PORT_TEMPLATE L"\\%s\\%s\\P%d" #define PSX_NS_SESSION_PORT_TEMPLATE L"\\%s\\%s\\P%d"
#define PSX_NS_SESSION_DATA_TEMPLATE L"\\%s\\%s\\D%d" #define PSX_NS_SESSION_DATA_TEMPLATE L"\\%s\\%s\\D%d"
/* ConnectData protocol */ /* ConnectData protocol */
typedef enum { typedef enum {
PSX_CONNECTION_TYPE_PROCESS, PSX_CONNECTION_TYPE_PROCESS,
PSX_CONNECTION_TYPE_TERMINAL PSX_CONNECTION_TYPE_TERMINAL
} PSX_CONNECTION_TYPE; } PSX_CONNECTION_TYPE;
typedef struct _PSX_CONNECT_PORT_DATA typedef struct _PSX_CONNECT_PORT_DATA
{ {
PSX_CONNECTION_TYPE ConnectionType; /* IN OUT */ PSX_CONNECTION_TYPE ConnectionType; /* IN OUT */
ULONG Version; /* IN OUT */ ULONG Version; /* IN OUT */
ULONG PortIdentifier; /* OUT */ ULONG PortIdentifier; /* OUT */
} PSX_CONNECT_PORT_DATA; } PSX_CONNECT_PORT_DATA;
/* LPC message subsystem-specific header */ /* LPC message subsystem-specific header */
typedef struct _PSX_MESSAGE_HEADER typedef struct _PSX_MESSAGE_HEADER
{ {
WORD Context; WORD Context;
WORD Procedure; WORD Procedure;
NTSTATUS Status; NTSTATUS Status;
} PSX_MESSAGE_HEADER, * PPSX_MESSAGE_HEADER; } PSX_MESSAGE_HEADER, * PPSX_MESSAGE_HEADER;
typedef PSX_MESSAGE_HEADER PSX_MESSAGE, * PPSX_MESSAGE; typedef PSX_MESSAGE_HEADER PSX_MESSAGE, * PPSX_MESSAGE;
#define PSX_MAX_LPC_DATA_SIZE 128 /* compute it*/ #define PSX_MAX_LPC_DATA_SIZE 128 /* compute it*/
typedef struct _PSX_MAX_MESSAGE typedef struct _PSX_MAX_MESSAGE
{ {
LPC_MESSAGE_HEADER Header; LPC_MESSAGE_HEADER Header;
PSX_MESSAGE_HEADER PsxHeader; PSX_MESSAGE_HEADER PsxHeader;
BYTE Data [PSX_MAX_LPC_DATA_SIZE]; BYTE Data [PSX_MAX_LPC_DATA_SIZE];
} PSX_MAX_MESSAGE, * PPSX_MAX_MESSAGE; } PSX_MAX_MESSAGE, * PPSX_MAX_MESSAGE;
/* Terminal I/O */ /* Terminal I/O */
/* \POSIX+\SessionPort API */ /* \POSIX+\SessionPort API */
typedef enum { typedef enum {
PSX_TERMINAL_INTERRUPT, PSX_TERMINAL_INTERRUPT,
PSX_TERMINAL_SESSION_STATUS_REQUEST PSX_TERMINAL_SESSION_STATUS_REQUEST
} PSX_TERMINAL_API; } PSX_TERMINAL_API;
typedef struct _PSX_TERMINAL_READ typedef struct _PSX_TERMINAL_READ
{ {
LPC_MESSAGE_HEADER Header; LPC_MESSAGE_HEADER Header;
@ -57,6 +76,9 @@ typedef struct _PSX_TERMINAL_READ
ULONG Size; ULONG Size;
CHAR Buffer [80]; /* FIXME! */ CHAR Buffer [80]; /* FIXME! */
} PSX_TERMINAL_READ, * PPSX_TERMINAL_READ; } PSX_TERMINAL_READ, * PPSX_TERMINAL_READ;
/* System I/O (system calls) */ /* System I/O (system calls) */
/* #include <psx/syscall.h> */
#include <psx/syscall.h>
#endif /* ndef _PSX_LPCPROTO_H */ #endif /* ndef _PSX_LPCPROTO_H */