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
15 * INCLUSIONS _________________________________________________________________
19 #include <WINNT/TaLocale.h>
20 #undef REALLOC /* RT ticket 2120; So we can redefine it later */
26 #include <WINNT/al_wizard.h>
30 #include <osithrdnt.h>
37 #include "checklist.h"
51 * REG PATHS __________________________________________________________________
55 #define REGSTR_PATH_AFS TEXT("Software\\TransarcCorporation\\AFS Client\\CurrentVersion")
56 #define REGSTR_PATH_AFSCREDS TEXT("Software\\TransarcCorporation\\AFS Client\\AfsCreds")
57 #define REGSTR_PATH_OPENAFS_CLIENT TEXT("SOFTWARE\\OpenAFS\\Client")
58 #define REGSTR_PATH_OPENAFS_CLIENT_REMIND TEXT("SOFTWARE\\OpenAFS\\Client\\Reminders")
60 #define REGVAL_AFS_TITLE TEXT("Title")
61 #define REGVAL_AFS_VERSION TEXT("VersionString")
62 #define REGVAL_AFS_PATCH TEXT("PatchLevel")
63 #define REGVAL_AFS_PATH TEXT("PathName")
65 #define cszSHORTCUT_NAME TEXT("AFS Credentials.lnk")
67 #define AFSCREDS_SHORTCUT_OPTIONS TEXT("-A -M -N -Q")
70 * VARIABLES __________________________________________________________________
76 TCHAR szCell[ MAX_PATH ];
77 TCHAR szUser[ MAX_PATH ];
92 TCHAR szHelpFile[ MAX_PATH ];
93 osi_mutex_t expirationCheckLock;
94 osi_mutex_t credsLock;
101 * TIMING _____________________________________________________________________
105 #define cminREMIND_TEST 1 // test every minute for expired creds
106 #define cminREMIND_WARN 15 // warn if creds expire in 15 minutes
107 #define cminRENEW 20 // renew creds when there are 20 minutes remaining
108 #define cminMINLIFE 30 // minimum life of Kerberos creds
110 #define cmsecMOUSEOVER 1000 // retest freq when mouse is over tray icon
111 #define cmsecSERVICE 2000 // retest freq when starting/stopping service
113 #define c100ns1SECOND (LONGLONG)10000000
114 #define cmsec1SECOND 1000
115 #define cmsec1MINUTE 60000
116 #define csec1MINUTE 60
119 #define ID_REMIND_TIMER 1000
120 #define ID_SERVICE_TIMER 1001
121 #define ID_WIZARD_TIMER 1002
125 * MACROS _____________________________________________________________________
130 #define FileExists(_psz) ((GetFileAttributes (_psz) == 0xFFFFFFFF) ? FALSE : TRUE)
134 #define THIS_HINST (HINSTANCE)GetModuleHandle(NULL)
138 #define iswhite(_ch) ( ((_ch)==TEXT(' ')) || ((_ch)==TEXT('\t')) || ((_ch)==TEXT('\r')) || ((_ch)==TEXT('\n')) )
142 #define cxRECT(_r) ((_r).right - (_r).left)
146 #define cyRECT(_r) ((_r).bottom - (_r).top)
150 #define REALLOC(_a,_c,_r,_i) AfsCredsReallocFunction ((LPVOID*)&_a,sizeof(*_a),&_c,_r,_i)
155 * PROTOTYPES _________________________________________________________________
161 BOOL AfsCredsReallocFunction (LPVOID *ppTarget, size_t cbElement, size_t *pcTarget, size_t cReq, size_t cInc);
163 void LoadRemind (size_t iCreds);
164 void SaveRemind (size_t iCreds);
166 void TimeToSystemTime (SYSTEMTIME *pst, time_t TimeT);
168 LPARAM GetTabParam (HWND hTab, int iTab);
169 HWND GetTabChild (HWND hTab);