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
14 #include <afs/param.h>
18 #include "afs_config.h"
22 * DEFINITIONS ________________________________________________________________
29 #define csecPROBE_MIN 1
30 #define csecPROBE_MAX 600
32 #define cTHREADS_MIN 1
33 #define cTHREADS_MAX 128
35 #define cDAEMONS_MIN 1
36 #define cDAEMONS_MAX 128
40 BOOL fFirstTime = TRUE;
47 TCHAR szSysName[ MAX_PATH ];
48 TCHAR szRootVolume[ MAX_PATH ];
49 TCHAR szMountDir[ MAX_PATH ];
53 * PROTOTYPES _________________________________________________________________
57 void Misc_OnInitDialog (HWND hDlg);
58 void Misc_OnOK(HWND hDlg);
59 void Misc_OnCancel(HWND hDlg);
64 * ROUTINES ___________________________________________________________________
68 BOOL CALLBACK Misc_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
73 Misc_OnInitDialog (hDlg);
76 case WM_CTLCOLORSTATIC:
77 if ((HWND)lp == GetDlgItem (hDlg, IDC_CHUNK_SIZE))
79 if (IsWindowEnabled ((HWND)lp))
81 static HBRUSH hbrStatic = CreateSolidBrush (GetSysColor (COLOR_WINDOW));
82 SetTextColor ((HDC)wp, GetSysColor (COLOR_WINDOWTEXT));
83 SetBkColor ((HDC)wp, GetSysColor (COLOR_WINDOW));
84 return (BOOL)hbrStatic;
93 Misc_DlgProc (hDlg, WM_HELP, 0, 0);
105 if (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))
109 SP_SetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER),nLanAdapter);
110 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
116 WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_ADVANCED_MISC);
124 void Misc_OnInitDialog (HWND hDlg)
128 Config_GetLanAdapter(&g.Configuration.nLanAdapter);
130 Config_GetProbeInt (&g.Configuration.csecProbe);
131 Config_GetNumThreads (&g.Configuration.nThreads);
132 Config_GetNumDaemons (&g.Configuration.nDaemons);
133 Config_GetSysName (g.Configuration.szSysName);
134 Config_GetRootVolume (g.Configuration.szRootVolume);
135 Config_GetMountRoot (g.Configuration.szMountDir);
138 nLanAdapter = g.Configuration.nLanAdapter;
140 csecProbe = g.Configuration.csecProbe;
141 nThreads = g.Configuration.nThreads;
142 nDaemons = g.Configuration.nDaemons;
143 lstrcpy(szSysName, g.Configuration.szSysName);
144 lstrcpy(szRootVolume, g.Configuration.szRootVolume);
145 lstrcpy(szMountDir, g.Configuration.szMountDir);
151 CreateSpinner (GetDlgItem (hDlg, IDC_LAN_ADAPTER), 99, FALSE, nLANA_MIN, nLanAdapter, nLANA_MAX);
153 CreateSpinner (GetDlgItem (hDlg, IDC_PROBE), 10, FALSE, csecPROBE_MIN, csecProbe, csecPROBE_MAX);
154 CreateSpinner (GetDlgItem (hDlg, IDC_THREADS), 10, FALSE, cTHREADS_MIN, nThreads, cTHREADS_MAX);
155 CreateSpinner (GetDlgItem (hDlg, IDC_DAEMONS), 10, FALSE, cDAEMONS_MIN, nDaemons, cDAEMONS_MAX);
157 SetDlgItemText (hDlg, IDC_SYSNAME, szSysName);
158 SetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume);
159 SetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir);
161 CheckDlgButton (hDlg, IDC_AUTOLANA, (nLanAdapter==-1));
162 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
166 void Misc_OnOK (HWND hDlg)
169 nLanAdapter = (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))?-1
170 :SP_GetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER));
172 csecProbe = SP_GetPos (GetDlgItem (hDlg, IDC_PROBE));
174 nThreads = SP_GetPos (GetDlgItem (hDlg, IDC_THREADS));
176 nDaemons = SP_GetPos (GetDlgItem (hDlg, IDC_DAEMONS));
178 GetDlgItemText (hDlg, IDC_SYSNAME, szSysName, sizeof(szSysName));
179 GetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume, sizeof(szRootVolume));
180 GetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir, sizeof(szMountDir));
182 EndDialog(hDlg, IDOK);
192 if (nLanAdapter != g.Configuration.nLanAdapter) {
193 if (!Config_SetLanAdapter (nLanAdapter))
195 g.Configuration.nLanAdapter = nLanAdapter;
199 if (csecProbe != g.Configuration.csecProbe) {
200 if (!Config_SetProbeInt (csecProbe))
202 g.Configuration.csecProbe = csecProbe;
205 if (nThreads != g.Configuration.nThreads) {
206 if (!Config_SetNumThreads (nThreads))
208 g.Configuration.nThreads = nThreads;
211 if (nDaemons != g.Configuration.nDaemons) {
212 if (!Config_SetNumDaemons (nDaemons))
214 g.Configuration.nDaemons = nDaemons;
217 if (lstrcmp(szSysName, g.Configuration.szSysName) != 0) {
218 if (!Config_SetSysName (szSysName))
220 lstrcpy(g.Configuration.szSysName, szSysName);
223 if (lstrcmp(szRootVolume, g.Configuration.szRootVolume) != 0) {
224 if (!Config_SetRootVolume (szRootVolume))
226 lstrcpy(g.Configuration.szRootVolume, szRootVolume);
229 if (lstrcmp(szMountDir, g.Configuration.szMountDir) != 0) {
230 if (!Config_SetMountRoot (szMountDir))
232 lstrcpy(g.Configuration.szMountDir, szMountDir);
238 void Misc_OnCancel(HWND hDlg)
242 EndDialog(hDlg, IDCANCEL);