1 /* $Id: init.c,v 1.5 2002/10/29 04:45:33 rex Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS POSIX+ Subsystem
5 * FILE: reactos/subsys/psx/lib/psxdll/misc/init.c
6 * PURPOSE: Client initialization
7 * PROGRAMMER: Emanuele Aliberti
11 #define NTOS_MODE_USER
13 #include <psx/lpcproto.h>
17 char *** _environ
= NULL
;
18 HANDLE ApiPort
= INVALID_HANDLE_VALUE
;
20 * Called by startup code in crt0.o, where real
21 * errno and _environ are actually defined.
23 VOID STDCALL
__PdxInitializeData (int * errno_arg
, char *** environ_arg
)
26 _environ
= environ_arg
;
29 * Called by DLL's entry point when reason==PROCESS_ATTACH.
31 NTSTATUS STDCALL
PsxConnectApiPort (VOID
)
33 UNICODE_STRING usApiPortName
;
34 LPWSTR wsApiPortName
= L
"\\"PSX_NS_SUBSYSTEM_DIRECTORY_NAME
"\\"PSX_NS_API_PORT_NAME
;
35 SECURITY_QUALITY_OF_SERVICE Sqos
;
36 ULONG MaxMessageSize
= 0;
38 PSX_CONNECT_PORT_DATA ConnectData
;
39 ULONG ConnectDataLength
= sizeof ConnectData
;
41 RtlInitUnicodeString (& usApiPortName
, wsApiPortName
);
42 RtlZeroMemory (& Sqos
, sizeof Sqos
);
43 ConnectData
.ConnectionType
= PSX_CONNECTION_TYPE_PROCESS
;
44 ConnectData
.Version
= PSX_LPC_PROTOCOL_VERSION
;
45 ConnectData
.PortIdentifier
= 0;
46 Status
= NtConnectPort (
56 if (!NT_SUCCESS(Status
))
58 /* TODO: emit a diagnostic message */
61 /* TODO: save returned data */
62 return STATUS_SUCCESS
;