1 /* $Id: lpcproto.h,v 1.2 2002/04/07 13:56:16 ea Exp $
3 * ReactOS POSIX+ Environment Subsystem
4 * LPC protocol spoken by PSXSS.EXE, PSXDLL.DLL, CSRTERM.EXE.
6 #ifndef _PSX_LPCPROTO_H
7 #define _PSX_LPCPROTO_H
12 #define PRIVATE static
15 /* Protocol version */
16 #define PSX_LPC_PROTOCOL_VERSION 1
18 /* POSIX+ system name space */
19 #define PSX_NS_SUBSYSTEM_DIRECTORY_NAME L"POSIX+"
20 #define PSX_NS_SESSION_DIRECTORY_NAME L"Sessions"
21 #define PSX_NS_SYSTEM_DIRECTORY_NAME L"System"
22 #define PSX_NS_API_PORT_NAME L"ApiPort"
23 #define PSX_NS_SBAPI_PORT_NAME L"SbApiPort"
24 #define PSX_NS_SESSIONAPI_PORT_NAME L"SessionPort"
25 #define PSX_NS_API_PORT_TEMPLATE L"\\%s\\%s"
26 #define PSX_NS_SESSION_PORT_TEMPLATE L"\\%s\\%s\\P%d"
27 #define PSX_NS_SESSION_DATA_TEMPLATE L"\\%s\\%s\\D%d"
29 /* ConnectData protocol */
32 PSX_CONNECTION_TYPE_PROCESS
,
33 PSX_CONNECTION_TYPE_TERMINAL
34 } PSX_CONNECTION_TYPE
;
36 typedef struct _PSX_CONNECT_PORT_DATA
38 PSX_CONNECTION_TYPE ConnectionType
; /* IN OUT */
39 ULONG Version
; /* IN OUT */
40 ULONG PortIdentifier
; /* OUT */
41 } PSX_CONNECT_PORT_DATA
;
43 /* LPC message subsystem-specific header */
45 typedef struct _PSX_MESSAGE_HEADER
50 } PSX_MESSAGE_HEADER
, * PPSX_MESSAGE_HEADER
;
52 typedef PSX_MESSAGE_HEADER PSX_MESSAGE
, * PPSX_MESSAGE
;
54 #define PSX_MAX_LPC_DATA_SIZE 128 /* compute it*/
56 typedef struct _PSX_MAX_MESSAGE
58 LPC_MESSAGE_HEADER Header
;
59 PSX_MESSAGE_HEADER PsxHeader
;
60 BYTE Data
[PSX_MAX_LPC_DATA_SIZE
];
61 } PSX_MAX_MESSAGE
, * PPSX_MAX_MESSAGE
;
65 /* \POSIX+\SessionPort API */
68 PSX_TERMINAL_INTERRUPT
,
69 PSX_TERMINAL_SESSION_STATUS_REQUEST
72 typedef struct _PSX_TERMINAL_READ
74 LPC_MESSAGE_HEADER Header
;
75 PSX_MESSAGE_HEADER PsxHeader
;
77 CHAR Buffer
[80]; /* FIXME! */
78 } PSX_TERMINAL_READ
, * PPSX_TERMINAL_READ
;
80 /* System I/O (system calls) */
82 #include <psx/syscall.h>
84 #endif /* ndef _PSX_LPCPROTO_H */