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
);