ReactOS  0.4.12-dev-102-g4b7f1e0
precomp.h File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <wincon.h>
#include <shlobj.h>
#include <stdio.h>
#include <wincrypt.h>
#include "rdesktop.h"
#include "resource.h"
Include dependency graph for precomp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _SETTINGS
 
struct  _RDPSETTINGS
 
struct  _RESOLUTION_INFO
 
struct  _SETTINGS_ENTRY
 
struct  _DISPLAY_DEVICE_ENTRY
 
struct  _INFO
 

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COM_NO_WINDOWS_H
 
#define __TODO_MSTSC_H
 
#define RDP_LOGON_NORMAL   (RDP_INFO_MOUSE | RDP_INFO_DISABLECTRLALTDEL | RDP_INFO_UNICODE | RDP_INFO_MAXIMIZESHELL)
 
#define IS_PERSISTENT(id)   (id < 8 && g_pstcache_fd[id] > 0)
 
#define MAXKEY   256
 
#define MAXVALUE   256
 
#define NUM_SETTINGS   6
 

Typedefs

typedef struct _SETTINGS SETTINGS
 
typedef struct _SETTINGSPSETTINGS
 
typedef struct _RDPSETTINGS RDPSETTINGS
 
typedef struct _RDPSETTINGSPRDPSETTINGS
 
typedef struct _RESOLUTION_INFO RESOLUTION_INFO
 
typedef struct _RESOLUTION_INFOPRESOLUTION_INFO
 
typedef struct _SETTINGS_ENTRY SETTINGS_ENTRY
 
typedef struct _SETTINGS_ENTRYPSETTINGS_ENTRY
 
typedef struct _DISPLAY_DEVICE_ENTRY DISPLAY_DEVICE_ENTRY
 
typedef struct _DISPLAY_DEVICE_ENTRYPDISPLAY_DEVICE_ENTRY
 
typedef struct _INFO INFO
 
typedef struct _INFOPINFO
 

Functions

BOOL InitRdpSettings (PRDPSETTINGS pRdpSettings)
 
BOOL OpenRDPConnectDialog (HINSTANCE hInstance, PRDPSETTINGS pRdpSettings)
 
BOOL LoadRdpSettingsFromFile (PRDPSETTINGS pRdpSettings, LPWSTR lpFile)
 
BOOL SaveRdpSettingsToFile (LPWSTR lpFile, PRDPSETTINGS pRdpSettings)
 
INT GetIntegerFromSettings (PRDPSETTINGS pSettings, LPWSTR lpValue)
 
LPWSTR GetStringFromSettings (PRDPSETTINGS pSettings, LPWSTR lpValue)
 
BOOL SetIntegerToSettings (PRDPSETTINGS pRdpSettings, LPWSTR lpKey, INT Value)
 
BOOL SetStringToSettings (PRDPSETTINGS pRdpSettings, LPWSTR lpKey, LPWSTR lpValue)
 
VOID SaveAllSettings (PINFO pInfo)
 

Variables

LPWSTR lpSettings []
 

Macro Definition Documentation

◆ __TODO_MSTSC_H

#define __TODO_MSTSC_H

Definition at line 22 of file precomp.h.

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 7 of file precomp.h.

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 8 of file precomp.h.

◆ IS_PERSISTENT

#define IS_PERSISTENT (   id)    (id < 8 && g_pstcache_fd[id] > 0)

Definition at line 26 of file precomp.h.

◆ MAXKEY

#define MAXKEY   256

Definition at line 28 of file precomp.h.

Referenced by WriteRdpFile().

◆ MAXVALUE

#define MAXVALUE   256

Definition at line 29 of file precomp.h.

Referenced by LoadUsernameHint(), SaveAllSettings(), WriteRdpFile(), and wWinMain().

◆ NUM_SETTINGS

#define NUM_SETTINGS   6

Definition at line 30 of file precomp.h.

Referenced by InitRdpSettings(), and WriteRdpFile().

◆ RDP_LOGON_NORMAL

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 6 of file precomp.h.

Typedef Documentation

◆ DISPLAY_DEVICE_ENTRY

◆ INFO

typedef struct _INFO INFO

◆ PDISPLAY_DEVICE_ENTRY

◆ PINFO

typedef struct _INFO * PINFO

◆ PRDPSETTINGS

◆ PRESOLUTION_INFO

◆ PSETTINGS

◆ PSETTINGS_ENTRY

◆ RDPSETTINGS

◆ RESOLUTION_INFO

◆ SETTINGS

◆ SETTINGS_ENTRY

Function Documentation

◆ GetIntegerFromSettings()

INT GetIntegerFromSettings ( PRDPSETTINGS  pSettings,
LPWSTR  lpValue 
)

Definition at line 144 of file settings.c.

Referenced by ReLoadDisplayPage(), and wWinMain().

146 {
147  INT Value = -1;
148 
149  if (pRdpSettings)
150  {
151  INT i;
152 
153  for (i = 0; i < pRdpSettings->NumSettings; i++)
154  {
155  if (wcscmp(pRdpSettings->pSettings[i].Key, lpKey) == 0)
156  {
157  if (pRdpSettings->pSettings[i].Type == L'i')
158  {
159  Value = pRdpSettings->pSettings[i].Value.i;
160  break;
161  }
162  }
163  }
164  }
165 
166  return Value;
167 }
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2327
int32_t INT
Definition: typedefs.h:56
GLenum GLclampf GLint i
Definition: glfuncs.h:14
static const WCHAR L[]
Definition: oid.c:1087
static LPCTSTR lpKey
Definition: virtmem.c:13
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)

◆ GetStringFromSettings()

LPWSTR GetStringFromSettings ( PRDPSETTINGS  pSettings,
LPWSTR  lpValue 
)

Definition at line 171 of file settings.c.

Referenced by ReLoadGeneralPage(), and wWinMain().

173 {
174  LPWSTR lpValue = NULL;
175 
176  if (pRdpSettings)
177  {
178  INT i;
179 
180  for (i = 0; i < pRdpSettings->NumSettings; i++)
181  {
182  if (wcscmp(pRdpSettings->pSettings[i].Key, lpKey) == 0)
183  {
184  if (pRdpSettings->pSettings[i].Type == L's')
185  {
186  lpValue = pRdpSettings->pSettings[i].Value.s;
187  break;
188  }
189  }
190  }
191  }
192 
193  return lpValue;
194 }
int32_t INT
Definition: typedefs.h:56
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR L[]
Definition: oid.c:1087
static LPCTSTR lpKey
Definition: virtmem.c:13
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ InitRdpSettings()

BOOL InitRdpSettings ( PRDPSETTINGS  pRdpSettings)

Definition at line 475 of file settings.c.

Referenced by wWinMain().

476 {
477  BOOL bRet = FALSE;
478 
479  pRdpSettings->pSettings = HeapAlloc(GetProcessHeap(),
480  0,
481  sizeof(SETTINGS) * NUM_SETTINGS);
482  if (pRdpSettings->pSettings)
483  {
484  INT i;
485 
486  for (i = 0; i < NUM_SETTINGS; i++)
487  {
488  wcscpy(pRdpSettings->pSettings[i].Key, lpSettings[i]);
489  pRdpSettings->pSettings[i].Type = (WCHAR)0;
490  pRdpSettings->pSettings[i].Value.i = 0;
491  }
492 
493  pRdpSettings->NumSettings = NUM_SETTINGS;
494 
495  bRet = TRUE;
496  }
497 
498  return bRet;
499 }
#define TRUE
Definition: types.h:120
LPWSTR lpSettings[NUM_SETTINGS]
Definition: settings.c:5
#define WCHAR
Definition: msvc.h:43
int32_t INT
Definition: typedefs.h:56
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define NUM_SETTINGS
Definition: precomp.h:30
union _SETTINGS::@13 Value
unsigned int BOOL
Definition: ntddk_ex.h:94
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
PSETTINGS pSettings
Definition: precomp.h:45
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
INT i
Definition: precomp.h:38
WCHAR Type
Definition: precomp.h:36
WCHAR Key[MAXKEY]
Definition: precomp.h:35
INT NumSettings
Definition: precomp.h:46

◆ LoadRdpSettingsFromFile()

BOOL LoadRdpSettingsFromFile ( PRDPSETTINGS  pRdpSettings,
LPWSTR  lpFile 
)

Definition at line 418 of file settings.c.

Referenced by DoOpenFile(), ParseCommandLine(), and wWinMain().

420 {
421  WCHAR pszPath[MAX_PATH];
422  HANDLE hFile;
423  BOOL bRet = FALSE;
424 
425  /* use default file */
426  if (lpFile == NULL)
427  {
428  HRESULT hr;
429  LPITEMIDLIST lpidl= NULL;
430 
433  NULL,
434  0,
435  &lpidl);
436  if (hr == S_OK)
437  {
438  if (SHGetPathFromIDListW(lpidl, pszPath))
439  {
440  wcscat(pszPath, L"\\Default.rdp");
441  lpFile = pszPath;
442  CoTaskMemFree(lpidl);
443  }
444  }
445  }
446 
447  if (lpFile)
448  {
449  LPWSTR lpBuffer = NULL;
450 
451  hFile = OpenRdpFile(lpFile, FALSE);
452  if (hFile)
453  {
454  lpBuffer = ReadRdpFile(hFile);
455  if (lpBuffer)
456  {
457  ParseSettings(pRdpSettings, lpBuffer);
458 
460  0,
461  lpBuffer);
462 
463  bRet = TRUE;
464  }
465 
466  CloseRdpFile(hFile);
467  }
468  }
469 
470  return bRet;
471 }
#define TRUE
Definition: types.h:120
static LPWSTR ReadRdpFile(HANDLE hFile)
Definition: settings.c:300
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:422
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1280
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:163
static HANDLE OpenRdpFile(LPWSTR path, BOOL bWrite)
Definition: settings.c:342
smooth NULL
Definition: ftsmooth.c:416
static VOID CloseRdpFile(HANDLE hFile)
Definition: settings.c:362
unsigned int BOOL
Definition: ntddk_ex.h:94
#define GetProcessHeap()
Definition: compat.h:395
LONG HRESULT
Definition: typedefs.h:77
#define MAX_PATH
Definition: compat.h:26
static const WCHAR L[]
Definition: oid.c:1087
_In_ HANDLE hFile
Definition: mswsock.h:90
static VOID ParseSettings(PRDPSETTINGS pRdpSettings, LPWSTR lpBuffer)
Definition: settings.c:244
#define S_OK
Definition: intsafe.h:59
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
#define CSIDL_PERSONAL
Definition: shlobj.h:1993
HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl)
Definition: shellpath.c:2598
WCHAR * LPWSTR
Definition: xmlstorage.h:184
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ OpenRDPConnectDialog()

BOOL OpenRDPConnectDialog ( HINSTANCE  hInstance,
PRDPSETTINGS  pRdpSettings 
)

Definition at line 1335 of file connectdialog.c.

Referenced by wWinMain().

1337 {
1338  INITCOMMONCONTROLSEX iccx;
1339 
1340  hInst = hInstance;
1341 
1342  iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
1343  iccx.dwICC = ICC_TAB_CLASSES;
1344  InitCommonControlsEx(&iccx);
1345 
1346  return (DialogBoxParamW(hInst,
1348  NULL,
1349  DlgProc,
1350  (LPARAM)pRdpSettings) == IDOK);
1351 }
#define IDOK
Definition: winuser.h:824
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
struct tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX
HINSTANCE hInstance
Definition: charmap.c:20
LONG_PTR LPARAM
Definition: windef.h:208
smooth NULL
Definition: ftsmooth.c:416
HINSTANCE hInst
Definition: connectdialog.c:28
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
Definition: commctrl.c:893
#define IDD_CONNECTDIALOG
Definition: resource.h:11
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
static INT_PTR CALLBACK DlgProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
#define ICC_TAB_CLASSES
Definition: commctrl.h:61

◆ SaveAllSettings()

VOID SaveAllSettings ( PINFO  pInfo)

Definition at line 16 of file settings.c.

Referenced by DlgProc(), DoSaveAs(), and GeneralDlgProc().

17 {
18  INT ret;
19  WCHAR szValue[MAXVALUE];
20 
21  /* server */
22  if (GetDlgItemText(pInfo->hGeneralPage,
24  szValue,
25  MAXVALUE))
26  {
28  L"full address",
29  szValue);
30  }
31 
32  /* resolution and fullscreen*/
33  ret = SendDlgItemMessage(pInfo->hDisplayPage,
35  TBM_GETPOS,
36  0,
37  0);
38  if (ret != -1)
39  {
41  L"screen mode id",
42  (ret == SendDlgItemMessageW(pInfo->hDisplayPage, IDC_GEOSLIDER, TBM_GETRANGEMAX, 0, 0)) ? 2 : 1);
44  L"desktopwidth",
47  L"desktopheight",
49  }
50 
51  /* bpp */
52  ret = SendDlgItemMessage(pInfo->hDisplayPage,
55  0,
56  0);
57  if (ret != CB_ERR)
58  {
59  ret = SendDlgItemMessage(pInfo->hDisplayPage,
62  ret,
63  0);
64  if (ret != CB_ERR)
65  {
67  L"session bpp",
68  ret);
69  }
70  }
71 
72  /* user name */
73  if (GetDlgItemText(pInfo->hGeneralPage,
75  szValue,
76  MAXVALUE))
77  {
79  L"username",
80  szValue);
81  }
82 }
BOOL SetIntegerToSettings(PRDPSETTINGS pRdpSettings, LPWSTR lpKey, INT Value)
Definition: settings.c:86
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define CB_GETITEMDATA
Definition: winuser.h:1911
#define TBM_GETRANGEMAX
Definition: commctrl.h:2003
#define IDC_NAMEEDIT
Definition: resource.h:22
#define SendDlgItemMessage
Definition: winuser.h:5708
PDISPLAY_DEVICE_ENTRY DisplayDeviceList
Definition: precomp.h:86
int32_t INT
Definition: typedefs.h:56
BOOL SetStringToSettings(PRDPSETTINGS pRdpSettings, LPWSTR lpKey, LPWSTR lpValue)
Definition: settings.c:115
HWND hGeneralPage
Definition: precomp.h:90
#define CB_GETCURSEL
Definition: winuser.h:1904
#define TBM_GETPOS
Definition: commctrl.h:2001
#define IDC_GEOSLIDER
Definition: resource.h:19
#define CB_ERR
Definition: winuser.h:2389
PRDPSETTINGS pRdpSettings
Definition: precomp.h:85
#define GetDlgItemText
Definition: winuser.h:5651
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define IDC_SERVERCOMBO
Definition: resource.h:15
int ret
static const WCHAR L[]
Definition: oid.c:1087
#define IDC_BPPCOMBO
Definition: resource.h:20
DWORD dmPelsWidth
Definition: precomp.h:54
PRESOLUTION_INFO Resolutions
Definition: precomp.h:77
DWORD dmPelsHeight
Definition: precomp.h:55
HWND hDisplayPage
Definition: precomp.h:91
#define MAXVALUE
Definition: precomp.h:29

◆ SaveRdpSettingsToFile()

BOOL SaveRdpSettingsToFile ( LPWSTR  lpFile,
PRDPSETTINGS  pRdpSettings 
)

Definition at line 370 of file settings.c.

Referenced by DlgProc(), DoSaveAs(), and GeneralDlgProc().

372 {
373  WCHAR pszPath[MAX_PATH];
374  HANDLE hFile;
375  BOOL bRet = FALSE;
376 
377  /* use default file */
378  if (lpFile == NULL)
379  {
380  HRESULT hr;
381  LPITEMIDLIST lpidl= NULL;
382 
385  NULL,
386  0,
387  &lpidl);
388  if (hr == S_OK)
389  {
390  if (SHGetPathFromIDListW(lpidl, pszPath))
391  {
392  wcscat(pszPath, L"\\Default.rdp");
393  lpFile = pszPath;
394  CoTaskMemFree(lpidl);
395  }
396  }
397  }
398 
399  if (lpFile)
400  {
401  hFile = OpenRdpFile(lpFile, TRUE);
402  if (hFile)
403  {
404  if (WriteRdpFile(hFile, pRdpSettings))
405  {
406  bRet = TRUE;
407  }
408 
409  CloseRdpFile(hFile);
410  }
411  }
412 
413  return bRet;
414 }
#define TRUE
Definition: types.h:120
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:422
__wchar_t WCHAR
Definition: xmlstorage.h:180
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1280
static HANDLE OpenRdpFile(LPWSTR path, BOOL bWrite)
Definition: settings.c:342
smooth NULL
Definition: ftsmooth.c:416
static VOID CloseRdpFile(HANDLE hFile)
Definition: settings.c:362
unsigned int BOOL
Definition: ntddk_ex.h:94
LONG HRESULT
Definition: typedefs.h:77
#define MAX_PATH
Definition: compat.h:26
static const WCHAR L[]
Definition: oid.c:1087
_In_ HANDLE hFile
Definition: mswsock.h:90
#define S_OK
Definition: intsafe.h:59
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static BOOL WriteRdpFile(HANDLE hFile, PRDPSETTINGS pRdpSettings)
Definition: settings.c:198
#define CSIDL_PERSONAL
Definition: shlobj.h:1993
HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl)
Definition: shellpath.c:2598
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41

◆ SetIntegerToSettings()

BOOL SetIntegerToSettings ( PRDPSETTINGS  pRdpSettings,
LPWSTR  lpKey,
INT  Value 
)

Definition at line 86 of file settings.c.

Referenced by ParseCommandLine(), and SaveAllSettings().

89 {
90  BOOL bRet = FALSE;
91 
92  if (pRdpSettings)
93  {
94  INT i;
95 
96  for (i = 0; i < pRdpSettings->NumSettings; i++)
97  {
98  if (wcscmp(pRdpSettings->pSettings[i].Key, lpKey) == 0)
99  {
100  if (pRdpSettings->pSettings[i].Type == 0)
101  pRdpSettings->pSettings[i].Type = L'i';
102 
103  pRdpSettings->pSettings[i].Value.i = Value;
104  bRet = TRUE;
105  break;
106  }
107  }
108  }
109 
110  return bRet;
111 }
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2327
#define TRUE
Definition: types.h:120
int32_t INT
Definition: typedefs.h:56
GLenum GLclampf GLint i
Definition: glfuncs.h:14
union _SETTINGS::@13 Value
unsigned int BOOL
Definition: ntddk_ex.h:94
PSETTINGS pSettings
Definition: precomp.h:45
INT i
Definition: precomp.h:38
static const WCHAR L[]
Definition: oid.c:1087
static LPCTSTR lpKey
Definition: virtmem.c:13
WCHAR Type
Definition: precomp.h:36
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
WCHAR Key[MAXKEY]
Definition: precomp.h:35
INT NumSettings
Definition: precomp.h:46

◆ SetStringToSettings()

BOOL SetStringToSettings ( PRDPSETTINGS  pRdpSettings,
LPWSTR  lpKey,
LPWSTR  lpValue 
)

Definition at line 115 of file settings.c.

Referenced by ParseCommandLine(), and SaveAllSettings().

118 {
119  BOOL bRet = FALSE;
120 
121  if (pRdpSettings)
122  {
123  INT i;
124 
125  for (i = 0; i < pRdpSettings->NumSettings; i++)
126  {
127  if (wcscmp(pRdpSettings->pSettings[i].Key, lpKey) == 0)
128  {
129  if (pRdpSettings->pSettings[i].Type == 0)
130  pRdpSettings->pSettings[i].Type = L's';
131 
132  wcscpy(pRdpSettings->pSettings[i].Value.s, lpValue);
133  bRet = TRUE;
134  break;
135  }
136  }
137  }
138 
139  return bRet;
140 }
#define TRUE
Definition: types.h:120
int32_t INT
Definition: typedefs.h:56
GLenum GLclampf GLint i
Definition: glfuncs.h:14
union _SETTINGS::@13 Value
unsigned int BOOL
Definition: ntddk_ex.h:94
PSETTINGS pSettings
Definition: precomp.h:45
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static const WCHAR L[]
Definition: oid.c:1087
static LPCTSTR lpKey
Definition: virtmem.c:13
WCHAR Type
Definition: precomp.h:36
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
WCHAR Key[MAXKEY]
Definition: precomp.h:35
INT NumSettings
Definition: precomp.h:46
WCHAR s[MAXVALUE]
Definition: precomp.h:39

Variable Documentation

◆ lpSettings

LPWSTR lpSettings[]

Definition at line 5 of file settings.c.

Referenced by InitRdpSettings(), and WriteRdpFile().