Windows: AFSTearDownExtents may experience active extents
[openafs.git] / src / WINNT / afssvrmgr / task.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
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
8  */
9
10 #ifndef TASK_H
11 #define TASK_H
12
13
14 /*
15  * PROTOTYPES _________________________________________________________________
16  *
17  */
18
19 typedef struct
20    {
21    HWND hParent;
22    POINT ptScreen;
23    LPIDENT lpi;
24    } MENUTASK, *LPMENUTASK;
25
26 typedef struct
27    {
28    HWND hCombo;
29    LPIDENT lpiSelect;
30    } SVR_ENUM_TO_COMBOBOX_PACKET, *LPSVR_ENUM_TO_COMBOBOX_PACKET;
31
32 typedef struct
33    {
34    HWND hList;
35    LPIDENT lpiServer;
36    LPIDENT lpiSelect;
37    LPVIEWINFO lpvi;
38    } AGG_ENUM_TO_LISTVIEW_PACKET, *LPAGG_ENUM_TO_LISTVIEW_PACKET;
39
40 typedef struct
41    {
42    HWND hCombo;
43    LPIDENT lpiServer;
44    LPIDENT lpiSelect;
45    } AGG_ENUM_TO_COMBOBOX_PACKET, *LPAGG_ENUM_TO_COMBOBOX_PACKET;
46
47 typedef struct
48    {
49    HWND hCombo;
50    LPIDENT lpiServer;
51    LPIDENT lpiAggregate;
52    LPIDENT lpiSelect;
53    } SET_ENUM_TO_COMBOBOX_PACKET, *LPSET_ENUM_TO_COMBOBOX_PACKET;
54
55 typedef struct
56    {
57    TCHAR szFileset[ cchRESOURCE ];
58    } SET_LOOKUP_PACKET, *LPSET_LOOKUP_PACKET;
59
60 typedef struct
61    {
62    TCHAR szCell[ cchNAME ];
63    LPSUBSET sub;
64    BOOL fCloseAppOnFail;
65    UINT_PTR hCreds;
66    } OPENCELL_PACKET, *LPOPENCELL_PACKET;
67
68 typedef struct
69    {
70    HWND hList;
71    LPSUBSET sub;
72    } SUBSET_TO_LIST_PACKET, *LPSUBSET_TO_LIST_PACKET;
73
74 typedef enum
75    {
76 #ifdef DEBUG
77    taskEXPORTCELL,      // lp = (LPTSTR)pszFileName
78 #endif
79    taskOPENCELL,        // lp = new OPENCELL_PACKET
80    taskOPENEDCELL,      // lp = (LPIDENT)lpiCellOpened
81    taskCLOSEDCELL,      // lp = (LPIDENT)lpiCellClosed
82    taskREFRESH, // lp = (LPIDENT)lpiToRefresh
83    taskREFRESH_CREDS,   // lp = (LPIDENT)lpiCellToRefresh
84    taskSUBSET_TO_LIST,  // lp = new SUBSET_TO_LIST_PACKET
85    taskAPPLY_SUBSET,    // lp = (LPSUBSET)subNew
86    taskSVR_PROP_INIT,   // lp = (LPIDENT)lpiServer
87    taskSVR_SCOUT_INIT,  // lp = (LPIDENT)lpiServer
88    taskSVR_SCOUT_APPLY, // lp = new SVR_SCOUT_APPLY_PACKET
89    taskSVR_ENUM_TO_COMBOBOX,    // lp = new SVR_ENUM_TO_COMBOBOX_PACKET
90    taskSVR_GETWINDOWPOS,        // lp = (LPIDENT)lpiServer
91    taskSVR_SETWINDOWPOS,        // lp = new SVR_SETWINDOWPOS_PARAMS
92    taskSVR_SYNCVLDB,    // lp = new SVR_SYNCVLDB_PARAMS
93    taskSVR_SALVAGE,     // lp = new SVR_SALVAGE_PARAMS
94    taskSVR_INSTALL,     // lp = new SVR_INSTALL_PARAMS
95    taskSVR_UNINSTALL,   // lp = new SVR_UNINSTALL_PARAMS
96    taskSVR_PRUNE,       // lp = new SVR_PRUNE_PARAMS
97    taskSVR_GETDATES,    // lp = new SVR_GETDATES_PARAMS
98    taskSVR_EXECUTE,     // lp = new SVR_EXECUTE_PARAMS
99    taskSVR_SETAUTH,     // lp = new SVR_SETAUTH_PARAMS
100    taskSVR_ADMLIST_OPEN,        // lp = (LPIDENT)lpiServer
101    taskSVR_ADMLIST_SAVE,        // lp = AfsClass_AdminList_Copy(lpList)
102    taskSVR_KEYLIST_OPEN,        // lp = (LPIDENT)lpiServer
103    taskSVR_KEY_CREATE,  // lp = LPKEY_CREATE_PARAMS
104    taskSVR_KEY_DELETE,  // lp = LPKEY_DELETE_PARAMS
105    taskSVR_GETRANDOMKEY,        // lp = (LPIDENT)lpiServer
106    taskSVR_HOSTLIST_OPEN,       // lp = (LPIDENT)lpiServer
107    taskSVR_HOSTLIST_SAVE,       // lp = AfsClass_HostList_Copy(lpList)
108    taskSVR_MONITOR_ONOFF,       // lp = (LPIDENT)lpiServer
109    taskSVR_CHANGEADDR,  // lp = new SVR_CHANGEADDR_PARAMS
110    taskSVC_MENU,        // lp = new MENUTASK
111    taskSVC_PROP_INIT,   // lp = (LPIDENT)lpiService
112    taskSVC_PROP_APPLY,  // lp = new SVC_PROP_APPLY_PACKET
113    taskSVC_START,       // lp = new SVC_START_PARAMS
114    taskSVC_STOP,        // lp = new SVC_STOP_PARAMS
115    taskSVC_RESTART,     // lp = (LPIDENT)lpiService
116    taskSVC_FINDLOG,     // lp = (LPIDENT)lpiService
117    taskSVC_VIEWLOG,     // lp = new LPSVC_VIEWLOG_PACKET
118    taskSVC_CREATE,      // lp = new LPSVC_CREATE_PARAMS
119    taskSVC_DELETE,      // lp = (LPIDENT)lpiService
120    taskSVC_GETRESTARTTIMES,     // lp = new SVC_RESTARTTIMES_PARAMS
121    taskSVC_SETRESTARTTIMES,     // lp = new SVC_RESTARTTIMES_PARAMS
122    taskAGG_PROP_INIT,   // lp = (LPIDENT)lpiAggregate
123    taskAGG_PROP_APPLY,  // lp = new AGG_PROP_APPLY_PACKET
124    taskAGG_FIND_QUOTA_LIMITS,   // lp = (LPIDENT)lpiAggregate
125    taskAGG_ENUM_TO_LISTVIEW,    // lp = new AGG_ENUM_TO_LISTVIEW_PACKET
126    taskAGG_ENUM_TO_COMBOBOX,    // lp = new AGG_ENUM_TO_COMBOBOX_PACKET
127    taskAGG_FIND_GHOST,  // lp = (LPIDENT)lpiAggregate
128    taskSET_ENUM_TO_COMBOBOX,    // lp = new SET_ENUM_TO_COMBOBOX_PACKET
129    taskSET_FIND_GHOST,  // lp = (LPIDENT)lpiFileset
130    taskSET_CREATE,      // lp = new SET_CREATE_PARAMS
131    taskSET_DELETE,      // lp = new SET_DELETE_PARAMS
132    taskSET_MOVE,        // lp = new SET_MOVE_PARAMS
133    taskSET_MOVETO_INIT, // lp = (LPIDENT)lpiFileset
134    taskSET_PROP_INIT,   // lp = (LPIDENT)lpiFileset
135    taskSET_PROP_APPLY,  // lp = new SET_PROP_APPLY_PARAMS
136    taskSET_SETQUOTA_INIT,       // lp = (LPIDENT)lpiFileset
137    taskSET_SETQUOTA_APPLY,      // lp = new SET_SETQUOTA_APPLY_PARAMS
138    taskSET_REPPROP_INIT,        // lp = (LPIDENT)lpiFileset
139    taskSET_SELECT,      // lp = (LPIDENT)lpiFileset
140    taskSET_BEGINDRAG,   // lp = (LPIDENT)lpiFileset
141    taskSET_DRAGMENU,    // lp = (LPMENUTASK)new MENUTASK
142    taskSET_MENU,        // lp = (LPMENUTASK)new MENUTASK
143    taskSET_LOCK,        // lp = (LPIDENT)lpiFileset
144    taskSET_UNLOCK,      // lp = (LPIDENT)lpi (set,agg,svr,cell)
145    taskSET_CREATEREP,   // lp = new SET_CREATEREP_PARAMS
146    taskSET_RENAME_INIT, // lp = new SET_RENAME_INIT_PARAMS
147    taskSET_RENAME_APPLY,        // lp = new SET_RENAME_APPLY_PARAMS
148    taskSET_RELEASE,     // lp = new SET_RELEASE_PARAMS
149    taskSET_CLONE,       // lp = (LPIDENT)lpiRW
150    taskSET_CLONESYS,    // lp = new SET_CLONESYS_PARAMS
151    taskSET_DUMP,        // lp = new SET_DUMP_PARAMS
152    taskSET_RESTORE,     // lp = new SET_RESTORE_PARAMS
153    taskSET_LOOKUP,      // lp = new SET_LOOKUP_PACKET
154    taskEXPIRED_CREDS,   // lp = unused
155    } TASK;
156
157 typedef struct
158    {
159    LPIDENT lpiCell;     // what was found out?
160    LPTSTR pszText1;
161    LPTSTR pszText2;     // these parameters are filled in
162    LPTSTR pszText3;     // selectively, depending upon the
163    ALERT alert;
164    LPIDENT lpi;
165    SERVERSTATUS ss;
166    SERVICESTATUS cs;
167    AGGREGATESTATUS as;
168    FILESETSTATUS fs;
169    LPSERVER_PREF lpsp;
170    LPSERVICE_PREF lpcp;
171    LPAGGREGATE_PREF lpap;
172    LPFILESET_PREF lpfp;
173    size_t nAggr;
174    MENUTASK mt;
175    size_t ckMin;
176    size_t ckMax;
177    size_t ckCapacity;
178    size_t ckAllocation;
179    short wGhost;
180    RECT rWindow;
181    size_t nFilesets;
182    LPADMINLIST lpAdmList;
183    LPHOSTLIST lpHostList;
184    BOOL fHasReplicas;
185    LPKEYLIST lpKeyList;
186    ENCRYPTIONKEY key;
187    } TASKPACKETDATA, *LPTASKPACKETDATA;
188
189 #define TASKDATA(_ptp) ((LPTASKPACKETDATA)(ptp->pReturn))
190
191
192 LPTASKPACKET CreateTaskPacket (int idTask, HWND hReply, PVOID lpUser);
193 void FreeTaskPacket (LPTASKPACKET ptp);
194 void PerformTask (LPTASKPACKET ptp);
195
196
197 #endif
198