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);
99 if (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))
103 SP_SetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER),nLanAdapter);
104 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
109 WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_ADVANCED_MISC);
117 void Misc_OnInitDialog (HWND hDlg)
120 Config_GetLanAdapter(&g.Configuration.nLanAdapter);
121 Config_GetProbeInt (&g.Configuration.csecProbe);
122 Config_GetNumThreads (&g.Configuration.nThreads);
123 Config_GetNumDaemons (&g.Configuration.nDaemons);
124 Config_GetSysName (g.Configuration.szSysName);
125 Config_GetRootVolume (g.Configuration.szRootVolume);
126 Config_GetMountRoot (g.Configuration.szMountDir);
128 nLanAdapter = g.Configuration.nLanAdapter;
129 csecProbe = g.Configuration.csecProbe;
130 nThreads = g.Configuration.nThreads;
131 nDaemons = g.Configuration.nDaemons;
132 lstrcpy(szSysName, g.Configuration.szSysName);
133 lstrcpy(szRootVolume, g.Configuration.szRootVolume);
134 lstrcpy(szMountDir, g.Configuration.szMountDir);
139 CreateSpinner (GetDlgItem (hDlg, IDC_LAN_ADAPTER), 99, FALSE, nLANA_MIN, nLanAdapter, nLANA_MAX);
140 CreateSpinner (GetDlgItem (hDlg, IDC_PROBE), 10, FALSE, csecPROBE_MIN, csecProbe, csecPROBE_MAX);
141 CreateSpinner (GetDlgItem (hDlg, IDC_THREADS), 10, FALSE, cTHREADS_MIN, nThreads, cTHREADS_MAX);
142 CreateSpinner (GetDlgItem (hDlg, IDC_DAEMONS), 10, FALSE, cDAEMONS_MIN, nDaemons, cDAEMONS_MAX);
144 SetDlgItemText (hDlg, IDC_SYSNAME, szSysName);
145 SetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume);
146 SetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir);
147 CheckDlgButton (hDlg, IDC_AUTOLANA, (nLanAdapter==-1));
148 EnableWindow(GetDlgItem(hDlg,IDC_LAN_ADAPTER),(nLanAdapter!=-1));
151 void Misc_OnOK (HWND hDlg)
153 nLanAdapter = (IsDlgButtonChecked(hDlg,IDC_AUTOLANA))?-1
154 :SP_GetPos (GetDlgItem (hDlg, IDC_LAN_ADAPTER));
156 csecProbe = SP_GetPos (GetDlgItem (hDlg, IDC_PROBE));
158 nThreads = SP_GetPos (GetDlgItem (hDlg, IDC_THREADS));
160 nDaemons = SP_GetPos (GetDlgItem (hDlg, IDC_DAEMONS));
162 GetDlgItemText (hDlg, IDC_SYSNAME, szSysName, sizeof(szSysName));
163 GetDlgItemText (hDlg, IDC_ROOTVOLUME, szRootVolume, sizeof(szRootVolume));
164 GetDlgItemText (hDlg, IDC_MOUNTDIR, szMountDir, sizeof(szMountDir));
166 EndDialog(hDlg, IDOK);
175 if (nLanAdapter != g.Configuration.nLanAdapter) {
176 if (!Config_SetLanAdapter (nLanAdapter))
178 g.Configuration.nLanAdapter = nLanAdapter;
181 if (csecProbe != g.Configuration.csecProbe) {
182 if (!Config_SetProbeInt (csecProbe))
184 g.Configuration.csecProbe = csecProbe;
187 if (nThreads != g.Configuration.nThreads) {
188 if (!Config_SetNumThreads (nThreads))
190 g.Configuration.nThreads = nThreads;
193 if (nDaemons != g.Configuration.nDaemons) {
194 if (!Config_SetNumDaemons (nDaemons))
196 g.Configuration.nDaemons = nDaemons;
199 if (lstrcmp(szSysName, g.Configuration.szSysName) != 0) {
200 if (!Config_SetSysName (szSysName))
202 lstrcpy(g.Configuration.szSysName, szSysName);
205 if (lstrcmp(szRootVolume, g.Configuration.szRootVolume) != 0) {
206 if (!Config_SetRootVolume (szRootVolume))
208 lstrcpy(g.Configuration.szRootVolume, szRootVolume);
211 if (lstrcmp(szMountDir, g.Configuration.szMountDir) != 0) {
212 if (!Config_SetMountRoot (szMountDir))
214 lstrcpy(g.Configuration.szMountDir, szMountDir);
220 void Misc_OnCancel(HWND hDlg)
224 EndDialog(hDlg, IDCANCEL);