- Fix gcc compilation issues

- Fix most ld linking issues.

svn path=/trunk/; revision=18205
This commit is contained in:
Alex Ionescu 2005-10-02 08:40:49 +00:00
parent 29b8aa245a
commit 5df400b823
7 changed files with 69 additions and 54 deletions

View file

@ -6,8 +6,6 @@
<library>ntdll</library>
<library>csrsrv</library>
<file>main.c</file>
<file>args.c</file>
<file>csr.rc</file>
</module>
<directory name="csrsrv">
<xi:include href="csrsrv/csrsrv.xml" />

View file

@ -62,7 +62,7 @@ CsrCheckRequestThreads(VOID)
0,
0,
0,
CsrApiRequestThread,
(PVOID)CsrApiRequestThread,
NULL,
&hThread,
&ClientId);
@ -550,7 +550,7 @@ CsrApiRequestThread(IN PVOID Parameter)
{
/* Get the information and check if it matches our thread */
ClientDiedMsg = (PCLIENT_DIED_MSG)&ReceiveMsg;
if (ClientDiedMsg->CreateTime.QuadPart = CsrThread->CreateTime.QuadPart)
if (ClientDiedMsg->CreateTime.QuadPart == CsrThread->CreateTime.QuadPart)
{
/* Reference the thread */
CsrThread->ReferenceCount++;

View file

@ -1,38 +1,38 @@
LIBRARY CSRSRV
EXPORTS
CsrAddStaticServerThread
CsrCallServerFromServer
CsrConnectToUser
CsrCreateProcess
CsrCreateRemoteThread
CsrCreateThread
CsrCreateWait
CsrDebugProcess
CsrDebugProcessStop
CsrDereferenceProcess
CsrDereferenceThread
CsrDereferenceWait
CsrDestroyProcess
CsrDestroyThread
CsrExecServerThread
CsrGetProcessLuid
CsrImpersonateClient
CsrLockProcessByClientId
CsrLockThreadByClientId
CsrMoveSatisfiedWait
CsrNotifyWait
CsrPopulateDosDevices
CsrQueryApiPort
CsrReferenceThread
CsrRevertToSelf
CsrServerInitialization
CsrSetBackgroundPriority
CsrSetCallingSpooler
CsrSetForegroundPriority
CsrShutdownProcesses
CsrUnhandledExceptionFilter
CsrUnlockProcess
CsrUnlockThread
CsrValidateMessageBuffer
CsrValidateMessageString
CsrAddStaticServerThread@12
CsrCallServerFromServer@8
CsrConnectToUser@0
CsrCreateProcess@24
CsrCreateRemoteThread@8
CsrCreateThread@12
CsrCreateWait@24
CsrDebugProcess@4
CsrDebugProcessStop@4
CsrDereferenceProcess@4
CsrDereferenceThread@4
CsrDereferenceWait@4
CsrDestroyProcess@8
CsrDestroyThread@4
CsrExecServerThread@8
CsrGetProcessLuid@8
CsrImpersonateClient@4
CsrLockProcessByClientId@8
CsrLockThreadByClientId@8
CsrMoveSatisfiedWait@8
CsrNotifyWait@16
CsrPopulateDosDevices@0
CsrQueryApiPort@0
CsrReferenceThread@4
CsrRevertToSelf@0
CsrServerInitialization@8
CsrSetBackgroundPriority@4
CsrSetCallingSpooler@4
CsrSetForegroundPriority@4
CsrShutdownProcesses@8
CsrUnhandledExceptionFilter@8
CsrUnlockProcess@4
CsrUnlockThread@4
CsrValidateMessageBuffer@16
CsrValidateMessageString@8

View file

@ -5,13 +5,14 @@
<define name="_DISABLE_TIDENTS" />
<define name="__USE_W32API" />
<library>ntdll</library>
<file>debug.c</file>
<file>dllmain.c</file>
<library>pseh</library>
<library>intrlck</library>
<file>api.c</file>
<file>init.c</file>
<file>process.c</file>
<file>server.c</file>
<file>session.c</file>
<file>thread.c</file>
<file>wait.c</file>
<file>csrsrv.rc</file>
<pch>srv.h</pch>
</module>

View file

@ -362,7 +362,7 @@ NTSTATUS
NTAPI
CsrCreateLocalSystemSD(OUT PSECURITY_DESCRIPTOR *LocalSystemSd)
{
SID_IDENTIFIER_AUTHORITY NtSidAuthority = SECURITY_NT_AUTHORITY;
SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
PSID SystemSid;
ULONG SidLength;
PSECURITY_DESCRIPTOR SecurityDescriptor;
@ -460,9 +460,9 @@ NTSTATUS
NTAPI
CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
{
SID_IDENTIFIER_AUTHORITY WorldAuthority = SECURITY_WORLD_SID_AUTHORITY;
SID_IDENTIFIER_AUTHORITY CreatorAuthority = SECURITY_CREATOR_SID_AUTHORITY;
SID_IDENTIFIER_AUTHORITY NtSidAuthority = SECURITY_NT_AUTHORITY;
SID_IDENTIFIER_AUTHORITY WorldAuthority = {SECURITY_WORLD_SID_AUTHORITY};
SID_IDENTIFIER_AUTHORITY CreatorAuthority = {SECURITY_CREATOR_SID_AUTHORITY};
SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY};
PSID WorldSid, CreatorSid, AdminSid, SystemSid;
UCHAR KeyValueBuffer[0x40];
PKEY_VALUE_PARTIAL_INFORMATION KeyValuePartialInfo;
@ -589,7 +589,7 @@ CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
SystemSid);
/* Get the ACE back */
Status = RtlGetAce(Dacl, 0, (PACE*)&Ace);
Status = RtlGetAce(Dacl, 0, (PVOID*)&Ace);
/* Add some flags to it for the Admin SID */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE);
@ -601,7 +601,7 @@ CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
AdminSid);
/* Get the ACE back */
Status = RtlGetAce(Dacl, 1, (PACE*)&Ace);
Status = RtlGetAce(Dacl, 1, (PVOID*)&Ace);
/* Add some flags to it for the Creator SID */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE);
@ -613,7 +613,7 @@ CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
CreatorSid);
/* Get the ACE back */
Status = RtlGetAce(Dacl, 2, (PACE*)&Ace);
Status = RtlGetAce(Dacl, 2, (PVOID*)&Ace);
/* Add some flags to it for the SD */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE |
@ -662,7 +662,7 @@ CsrGetDosDevicesSd(OUT PSECURITY_DESCRIPTOR DosDevicesSd)
WorldSid);
/* Get the ACE back */
Status = RtlGetAce(Dacl, 2, (PACE*)&Ace);
Status = RtlGetAce(Dacl, 2, (PVOID*)&Ace);
/* Add some flags to it for the SD */
Ace->Header.AceFlags |= (OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE |

View file

@ -5,7 +5,9 @@
#define NTOS_MODE_USER
#include <stdio.h>
#include <windows.h>
#include <winnt.h>
#include <ndk/ntndk.h>
#include <helper.h>
/* CSR Header */
#include <csr/server.h>
@ -80,6 +82,13 @@ CsrLoadServerDll(
IN ULONG ServerId
);
NTSTATUS
NTAPI
CsrServerInitialization(
ULONG ArgumentCount,
PCHAR Arguments[]
);
NTSTATUS
NTAPI
CsrCreateSessionObjectDirectory(IN ULONG SessionId);

View file

@ -31,6 +31,7 @@
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <csr/server.h>
#define NDEBUG
#include <debug.h>
@ -50,12 +51,18 @@ CsrpSetDefaultProcessHardErrorMode (VOID)
sizeof(DefaultHardErrorMode));
}
/*
* Note: Standard entrypoint for Native C Programs.
* The OS backend (NtProcessStartup) which calls this routine is
* implemented in a CRT-like static library (much like mainCRTStartup).
* Do NOT manually add the NtProcessStartup entrypoint or anything else.
*/
int
_cdecl
main(int argc,
char *argv[],
char *envp[],
int DebugFlag)
_main(int argc,
char *argv[],
char *envp[],
int DebugFlag)
{
KPRIORITY BasePriority = (8 + 1) + 4;
NTSTATUS Status;