From 5df400b823e59c5937bf0d30146f16dfbc4f908d Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Sun, 2 Oct 2005 08:40:49 +0000 Subject: [PATCH] - Fix gcc compilation issues - Fix most ld linking issues. svn path=/trunk/; revision=18205 --- reactos/subsys/csr/csr.xml | 2 - reactos/subsys/csr/csrsrv/api.c | 4 +- reactos/subsys/csr/csrsrv/csrsrv.def | 70 ++++++++++++++-------------- reactos/subsys/csr/csrsrv/csrsrv.xml | 7 +-- reactos/subsys/csr/csrsrv/init.c | 16 +++---- reactos/subsys/csr/csrsrv/srv.h | 9 ++++ reactos/subsys/csr/main.c | 15 ++++-- 7 files changed, 69 insertions(+), 54 deletions(-) diff --git a/reactos/subsys/csr/csr.xml b/reactos/subsys/csr/csr.xml index fc4534b00d9..cef3528a4cc 100644 --- a/reactos/subsys/csr/csr.xml +++ b/reactos/subsys/csr/csr.xml @@ -6,8 +6,6 @@ ntdll csrsrv main.c - args.c - csr.rc diff --git a/reactos/subsys/csr/csrsrv/api.c b/reactos/subsys/csr/csrsrv/api.c index 221e033a1ad..ba7ccf5febf 100644 --- a/reactos/subsys/csr/csrsrv/api.c +++ b/reactos/subsys/csr/csrsrv/api.c @@ -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++; diff --git a/reactos/subsys/csr/csrsrv/csrsrv.def b/reactos/subsys/csr/csrsrv/csrsrv.def index 0efc417b237..e0577498c78 100644 --- a/reactos/subsys/csr/csrsrv/csrsrv.def +++ b/reactos/subsys/csr/csrsrv/csrsrv.def @@ -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 diff --git a/reactos/subsys/csr/csrsrv/csrsrv.xml b/reactos/subsys/csr/csrsrv/csrsrv.xml index 727f78d605a..a1d3990cb6c 100644 --- a/reactos/subsys/csr/csrsrv/csrsrv.xml +++ b/reactos/subsys/csr/csrsrv/csrsrv.xml @@ -5,13 +5,14 @@ ntdll - debug.c - dllmain.c + pseh + intrlck + api.c init.c process.c server.c session.c thread.c wait.c - csrsrv.rc + srv.h diff --git a/reactos/subsys/csr/csrsrv/init.c b/reactos/subsys/csr/csrsrv/init.c index 6dabddaf0dc..87b97b8363f 100644 --- a/reactos/subsys/csr/csrsrv/init.c +++ b/reactos/subsys/csr/csrsrv/init.c @@ -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 | diff --git a/reactos/subsys/csr/csrsrv/srv.h b/reactos/subsys/csr/csrsrv/srv.h index d1b0550b1f0..a4cdea7669c 100644 --- a/reactos/subsys/csr/csrsrv/srv.h +++ b/reactos/subsys/csr/csrsrv/srv.h @@ -5,7 +5,9 @@ #define NTOS_MODE_USER #include #include +#include #include +#include /* CSR Header */ #include @@ -80,6 +82,13 @@ CsrLoadServerDll( IN ULONG ServerId ); +NTSTATUS +NTAPI +CsrServerInitialization( + ULONG ArgumentCount, + PCHAR Arguments[] +); + NTSTATUS NTAPI CsrCreateSessionObjectDirectory(IN ULONG SessionId); diff --git a/reactos/subsys/csr/main.c b/reactos/subsys/csr/main.c index 728f90edfd9..5c51433d020 100644 --- a/reactos/subsys/csr/main.c +++ b/reactos/subsys/csr/main.c @@ -31,6 +31,7 @@ #include #define NTOS_MODE_USER #include +#include #define NDEBUG #include @@ -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;