2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
15 #include "afs_config.h"
19 * DEFINITIONS ________________________________________________________________
26 #define csecPROBE_MIN 1
27 #define csecPROBE_MAX 600
29 #define cTHREADS_MIN 1
30 #define cTHREADS_MAX 128
32 #define cDAEMONS_MIN 1
33 #define cDAEMONS_MAX 128
37 BOOL fFirstTime = TRUE;
42 TCHAR szSysName[ MAX_PATH ];
43 TCHAR szRootVolume[ MAX_PATH ];
44 TCHAR szMountDir[ MAX_PATH ];
48 * PROTOTYPES _________________________________________________________________
52 void Misc_OnInitDialog (HWND hDlg);
53 void Misc_OnOK(HWND hDlg);
54 void Misc_OnCancel(HWND hDlg);
59 * ROUTINES ___________________________________________________________________
63 BOOL CALLBACK Misc_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
68 Misc_OnInitDialog (hDlg);
71 case WM_CTLCOLORSTATIC:
72 if ((HWND)lp == GetDlgItem (hDlg, IDC_CHUNK_SIZE))
74 if (IsWindowEnabled ((HWND)lp))
76 static HBRUSH hbrStatic = CreateSolidBrush (GetSysColor (COLOR_WINDOW));
77 SetTextColor ((HDC)wp, GetSysColor (COLOR_WINDOWTEXT));
78 SetBkColor ((HDC)wp, GetSysColor (COLOR_WINDOW));
79 return (BOOL)hbrStatic;
88 Misc_DlgProc (hDlg, WM_HELP, 0, 0);
102 WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_ADVANCED_MISC);
110 void Misc_OnInitDialog (HWND hDlg)
113 Config_GetLanAdapter(&g.Configuration.nLanAdapter);
114 Config_GetProbeInt (&g.Configuration.csecProbe);
115 Config_GetNumThreads (&g.Configuration.nThreads);
116 Config_GetNumDaemons (&g.Configuration.nDaemons);
117 Config_GetSysName (g.Configuration.szSysName);
118 Config_GetRootVolume (g.Configuration.szRootVolume);
119 Config_GetMountRoot (g.Configuration.szMountDir);
121 nLanAdapter = g.Configuration.nLanAdapter;
122 csecProbe = g.Configuration.csecProbe;
123 nThreads = g.Configuration.nThreads;
124 nDaemons = g.Configuration.nDaemons;
125 lstrcpy(szSysName, g.Configuration.szSysName);
126 lstrcpy(szRootVolume, g.Configuration.szRootVolume);
127 lstrcpy(szMountDir, g.Configuration.szMountDir);
132 CreateSpinner (GetDlgItem (hDlg, IDC_LAN_ADAPTER), 10, FALSE, nLANA_MIN, nLanAdapter, nLANA_MAX);
133 CreateSpinner (GetDlgItem (hDlg, IDC_PROBE), 10, FALSE, csecPROBE_MIN, csecProbe, csecPROBE_MAX);
134 CreateSpinner (GetDlgItem (hDlg, IDC_THREADS), 10, FALSE, cTHREADS_MIN, nThreads, cTHREADS_MAX);
135 CreateSpinner (GetDlgItem (hDlg, IDC_DAEMONS), 10, FALSE, cDAEMONS_MIN, nDaemons, cDAEMONS_MAX);
137 SetDlgItemText (hDlg, IDC_SYSNAME, szSysName);
138 SetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume);
139 SetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir);
142 void Misc_OnOK (HWND hDlg)
144 nLanAdapter = SP_GetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER));
146 csecProbe = SP_GetPos (GetDlgItem (hDlg, IDC_PROBE));
148 nThreads = SP_GetPos (GetDlgItem (hDlg, IDC_THREADS));
150 nDaemons = SP_GetPos (GetDlgItem (hDlg, IDC_DAEMONS));
152 GetDlgItemText (hDlg, IDC_SYSNAME, szSysName, sizeof(szSysName));
153 GetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume, sizeof(szRootVolume));
154 GetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir, sizeof(szMountDir));
156 EndDialog(hDlg, IDOK);
165 if (nLanAdapter != g.Configuration.nLanAdapter) {
166 if (!Config_SetLanAdapter (nLanAdapter))
168 g.Configuration.nLanAdapter = nLanAdapter;
171 if (csecProbe != g.Configuration.csecProbe) {
172 if (!Config_SetProbeInt (csecProbe))
174 g.Configuration.csecProbe = csecProbe;
177 if (nThreads != g.Configuration.nThreads) {
178 if (!Config_SetNumThreads (nThreads))
180 g.Configuration.nThreads = nThreads;
183 if (nDaemons != g.Configuration.nDaemons) {
184 if (!Config_SetNumDaemons (nDaemons))
186 g.Configuration.nDaemons = nDaemons;
189 if (lstrcmp(szSysName, g.Configuration.szSysName) != 0) {
190 if (!Config_SetSysName (szSysName))
192 lstrcpy(g.Configuration.szSysName, szSysName);
195 if (lstrcmp(szRootVolume, g.Configuration.szRootVolume) != 0) {
196 if (!Config_SetRootVolume (szRootVolume))
198 lstrcpy(g.Configuration.szRootVolume, szRootVolume);
201 if (lstrcmp(szMountDir, g.Configuration.szMountDir) != 0) {
202 if (!Config_SetMountRoot (szMountDir))
204 lstrcpy(g.Configuration.szMountDir, szMountDir);
210 void Misc_OnCancel(HWND hDlg)
214 EndDialog(hDlg, IDCANCEL);