ReactOS  0.4.14-dev-342-gdc047f9
setup.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS GUI/console setup
4  * FILE: base/setup/setup/setup.c
5  * PURPOSE: Second stage setup
6  * PROGRAMMER: Eric Kohl
7  */
8 
9 #include <stdarg.h>
10 #include <windef.h>
11 #include <winbase.h>
12 
13 #define NDEBUG
14 #include <debug.h>
15 
17 
18 /* FUNCTIONS ****************************************************************/
19 
20 static
21 INT
23 {
24  INT RetVal;
25  HMODULE hDll;
27 
28  hDll = LoadLibraryW(L"syssetup.dll");
29  if (hDll == NULL)
30  {
31  DPRINT("Failed to load 'syssetup.dll'!\n");
32  return GetLastError();
33  }
34  DPRINT("Loaded 'syssetup.dll'!\n");
35 
36  /* Call the standard Windows-compatible export */
37  InstallReactOS = (PINSTALL_REACTOS)GetProcAddress(hDll, "InstallWindowsNt");
38  if (InstallReactOS == NULL)
39  {
40  RetVal = GetLastError();
41  DPRINT("Failed to get address for 'InstallWindowsNt()'!\n");
42  }
43  else
44  {
45  RetVal = InstallReactOS(argc, argv);
46  }
47 
48  FreeLibrary(hDll);
49  return RetVal;
50 }
51 
52 
53 /* Called from wmainCRTStartup */
55 {
56  LPWSTR CmdLine, p;
57 
58  // NOTE: Temporary, until we correctly use argc/argv.
60  DPRINT("CmdLine: <%S>\n", CmdLine);
61 
62  p = wcschr(CmdLine, L'-');
63  if (p == NULL)
65  p++;
66 
67  // NOTE: On Windows, "mini" means "minimal UI", and can be used
68  // in addition to "newsetup"; these options are not exclusive.
69  if (_wcsicmp(p, L"newsetup") == 0 || _wcsicmp(p, L"mini") == 0)
70  {
72  }
73 
74 #if 0
75  /* Add new setup types here */
76  else if (...)
77  {
78 
79  }
80 #endif
81 
82  return 0;
83 }
84 
85 /* EOF */
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
static int argc
Definition: ServiceArgs.c:12
static DWORD InstallReactOS(VOID)
Definition: install.c:1189
#define INT
Definition: polytest.cpp:20
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define argv
Definition: mplay32.c:18
int32_t INT
Definition: typedefs.h:56
INT wmain(INT argc, WCHAR *argv[])
Definition: setup.c:54
INT(WINAPI * PINSTALL_REACTOS)(INT argc, WCHAR **argv)
Definition: setup.c:16
LPWSTR WINAPI GetCommandLineW(VOID)
Definition: proc.c:2013
#define LoadLibraryW(x)
Definition: compat.h:412
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
#define FreeLibrary(x)
Definition: compat.h:413
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define WINAPI
Definition: msvc.h:8
CHAR CmdLine[MAX_PATH]
Definition: mach.c:34
static const WCHAR L[]
Definition: oid.c:1250
static INT RunInstallReactOS(INT argc, WCHAR *argv[])
Definition: setup.c:22
#define GetProcAddress(x, y)
Definition: compat.h:418
GLfloat GLfloat p
Definition: glext.h:8902
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)