- Synchronize up to trunk's revision r57864.
[reactos.git] / base / system / lsass / lsass.c
1 /*
2 * reactos/subsys/system/lsass/lsass.c
3 *
4 * ReactOS Operating System
5 *
6 * --------------------------------------------------------------------
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 *
22 * --------------------------------------------------------------------
23 *
24 * 19990704 (Emanuele Aliberti)
25 * Compiled successfully with egcs 1.1.2
26 */
27 #define WIN32_NO_STATUS
28 #include <windows.h>
29 #define NTOS_MODE_USER
30 #include <ndk/psfuncs.h>
31
32 #include <lsass/lsasrv.h>
33 #include <samsrv/samsrv.h>
34 #include <lsass/lsass.h>
35
36 #define NDEBUG
37 #include <debug.h>
38
39 INT WINAPI
40 wWinMain(IN HINSTANCE hInstance,
41 IN HINSTANCE hPrevInstance,
42 IN LPWSTR lpCmdLine,
43 IN INT nShowCmd)
44 {
45 NTSTATUS Status = STATUS_SUCCESS;
46
47 DPRINT("Local Security Authority Subsystem\n");
48 DPRINT(" Initializing...\n");
49
50 /* Initialize the LSA server DLL. */
51 Status = LsapInitLsa();
52 if (!NT_SUCCESS(Status))
53 {
54 DPRINT1("LsapInitLsa() failed (Status 0x%08lX)\n", Status);
55 goto ByeBye;
56 }
57
58 /* Start the Netlogon service. */
59 Status = ServiceInit();
60 if (!NT_SUCCESS(Status))
61 {
62 DPRINT1("ServiceInit() failed (Status 0x%08lX)\n", Status);
63 goto ByeBye;
64 }
65
66 /* Initialize the SAM server DLL. */
67 Status = SamIInitialize();
68 if (!NT_SUCCESS(Status))
69 {
70 DPRINT1("SamIInitialize() failed (Status 0x%08lX)\n", Status);
71 goto ByeBye;
72 }
73
74 /* FIXME: More initialization */
75
76 DPRINT(" Done...\n");
77
78 ByeBye:
79 NtTerminateThread(NtCurrentThread(), Status);
80
81 return 0;
82 }
83
84 /* EOF */