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;
44 TCHAR szSysName[ MAX_PATH ];
45 TCHAR szRootVolume[ MAX_PATH ];
46 TCHAR szMountDir[ MAX_PATH ];
50 * PROTOTYPES _________________________________________________________________
54 void Misc_OnInitDialog (HWND hDlg);
55 void Misc_OnOK(HWND hDlg);
56 void Misc_OnCancel(HWND hDlg);
61 * ROUTINES ___________________________________________________________________
65 BOOL CALLBACK Misc_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
70 Misc_OnInitDialog (hDlg);
73 case WM_CTLCOLORSTATIC:
74 if ((HWND)lp == GetDlgItem (hDlg, IDC_CHUNK_SIZE))
76 if (IsWindowEnabled ((HWND)lp))
78 static HBRUSH hbrStatic = CreateSolidBrush (GetSysColor (COLOR_WINDOW));
79 SetTextColor ((HDC)wp, GetSysColor (COLOR_WINDOWTEXT));
80 SetBkColor ((HDC)wp, GetSysColor (COLOR_WINDOW));
81 return (BOOL)hbrStatic;
90 Misc_DlgProc (hDlg, WM_HELP, 0, 0);
102 if (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))
106 SP_SetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER),nLanAdapter);
107 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
113 WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_ADVANCED_MISC);
121 void Misc_OnInitDialog (HWND hDlg)
125 Config_GetLanAdapter(&g.Configuration.nLanAdapter);
127 Config_GetProbeInt (&g.Configuration.csecProbe);
128 Config_GetNumThreads (&g.Configuration.nThreads);
129 Config_GetNumDaemons (&g.Configuration.nDaemons);
130 Config_GetSysName (g.Configuration.szSysName);
131 Config_GetRootVolume (g.Configuration.szRootVolume);
132 Config_GetMountRoot (g.Configuration.szMountDir);
135 nLanAdapter = g.Configuration.nLanAdapter;
137 csecProbe = g.Configuration.csecProbe;
138 nThreads = g.Configuration.nThreads;
139 nDaemons = g.Configuration.nDaemons;
140 lstrcpy(szSysName, g.Configuration.szSysName);
141 lstrcpy(szRootVolume, g.Configuration.szRootVolume);
142 lstrcpy(szMountDir, g.Configuration.szMountDir);
148 CreateSpinner (GetDlgItem (hDlg, IDC_LAN_ADAPTER), 99, FALSE, nLANA_MIN, nLanAdapter, nLANA_MAX);
150 CreateSpinner (GetDlgItem (hDlg, IDC_PROBE), 10, FALSE, csecPROBE_MIN, csecProbe, csecPROBE_MAX);
151 CreateSpinner (GetDlgItem (hDlg, IDC_THREADS), 10, FALSE, cTHREADS_MIN, nThreads, cTHREADS_MAX);
152 CreateSpinner (GetDlgItem (hDlg, IDC_DAEMONS), 10, FALSE, cDAEMONS_MIN, nDaemons, cDAEMONS_MAX);
154 SetDlgItemText (hDlg, IDC_SYSNAME, szSysName);
155 SetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume);
156 SetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir);
158 CheckDlgButton (hDlg, IDC_AUTOLANA, (nLanAdapter==-1));
159 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
163 void Misc_OnOK (HWND hDlg)
166 nLanAdapter = (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))?-1
167 :SP_GetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER));
169 csecProbe = SP_GetPos (GetDlgItem (hDlg, IDC_PROBE));
171 nThreads = SP_GetPos (GetDlgItem (hDlg, IDC_THREADS));
173 nDaemons = SP_GetPos (GetDlgItem (hDlg, IDC_DAEMONS));
175 GetDlgItemText (hDlg, IDC_SYSNAME, szSysName, sizeof(szSysName));
176 GetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume, sizeof(szRootVolume));
177 GetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir, sizeof(szMountDir));
179 EndDialog(hDlg, IDOK);
189 if (nLanAdapter != g.Configuration.nLanAdapter) {
190 if (!Config_SetLanAdapter (nLanAdapter))
192 g.Configuration.nLanAdapter = nLanAdapter;
196 if (csecProbe != g.Configuration.csecProbe) {
197 if (!Config_SetProbeInt (csecProbe))
199 g.Configuration.csecProbe = csecProbe;
202 if (nThreads != g.Configuration.nThreads) {
203 if (!Config_SetNumThreads (nThreads))
205 g.Configuration.nThreads = nThreads;
208 if (nDaemons != g.Configuration.nDaemons) {
209 if (!Config_SetNumDaemons (nDaemons))
211 g.Configuration.nDaemons = nDaemons;
214 if (lstrcmp(szSysName, g.Configuration.szSysName) != 0) {
215 if (!Config_SetSysName (szSysName))
217 lstrcpy(g.Configuration.szSysName, szSysName);
220 if (lstrcmp(szRootVolume, g.Configuration.szRootVolume) != 0) {
221 if (!Config_SetRootVolume (szRootVolume))
223 lstrcpy(g.Configuration.szRootVolume, szRootVolume);
226 if (lstrcmp(szMountDir, g.Configuration.szMountDir) != 0) {
227 if (!Config_SetMountRoot (szMountDir))
229 lstrcpy(g.Configuration.szMountDir, szMountDir);
235 void Misc_OnCancel(HWND hDlg)
239 EndDialog(hDlg, IDCANCEL);