LINUX: afs_create infinite fetchStatus loop
[pkg-k5-afs_openafs.git] / src / WINNT / afsusrmgr / task.h
blob4526e2e53c8fc901eec84acc3f00df7ae1560f09
1 /*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
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 */
10 #ifndef TASK_H
11 #define TASK_H
15 * PROTOTYPES _________________________________________________________________
19 typedef struct
21 TCHAR szCell[ cchNAME ];
22 BOOL fCloseAppOnFail;
23 UINT_PTR hCreds;
24 } OPENCELL_PARAMS, *LPOPENCELL_PARAMS;
26 typedef struct
28 ASID idUser;
29 AFSADMSVR_CHANGEUSER_PARAMS NewProperties;
30 } USER_CHANGE_PARAMS, *LPUSER_CHANGE_PARAMS;
32 typedef struct
34 LPASIDLIST pUsers;
35 LPASIDLIST pGroups;
36 BOOL fMembership;
37 } USER_GROUPLIST_SET_PARAMS, *LPUSER_GROUPLIST_SET_PARAMS;
39 typedef struct
41 ASID idUser;
42 int keyVersion;
43 TCHAR keyString[ cchRESOURCE ];
44 BYTE keyData[ ENCRYPTIONKEYLENGTH ];
45 } USER_CPW_PARAMS, *LPUSER_CPW_PARAMS;
47 typedef struct
49 LPTSTR mszNames;
50 TCHAR szPassword[ cchRESOURCE ];
51 UINT_PTR idUser;
52 AFSADMSVR_CHANGEUSER_PARAMS Properties;
53 LPASIDLIST pGroupsMember;
54 LPASIDLIST pGroupsOwner;
55 BOOL fCreateKAS;
56 BOOL fCreatePTS;
57 } USER_CREATE_PARAMS, *LPUSER_CREATE_PARAMS;
59 typedef struct
61 LPASIDLIST pUserList;
62 BOOL fDeleteKAS;
63 BOOL fDeletePTS;
64 } USER_DELETE_PARAMS, *LPUSER_DELETE_PARAMS;
66 typedef struct
68 ASID idGroup;
69 AFSADMSVR_CHANGEGROUP_PARAMS NewProperties;
70 } GROUP_CHANGE_PARAMS, *LPGROUP_CHANGE_PARAMS;
72 typedef struct
74 LPASIDLIST pUserList;
75 BOOL fMembership;
76 } GROUP_SEARCH_PARAMS, *LPGROUP_SEARCH_PARAMS;
78 typedef struct
80 LPASIDLIST pGroups;
81 LPASIDLIST pMembers;
82 } GROUP_MEMBERS_SET_PARAMS, *LPGROUP_MEMBERS_SET_PARAMS;
84 typedef struct
86 ASID idGroup;
87 TCHAR szNewName[ cchNAME ];
88 } GROUP_RENAME_PARAMS, *LPGROUP_RENAME_PARAMS;
90 typedef struct
92 ASID idGroup;
93 LPASIDLIST pOwnedGroups;
94 } GROUP_OWNED_SET_PARAMS, *LPGROUP_OWNED_SET_PARAMS;
96 typedef struct
98 LPTSTR mszNames;
99 TCHAR szOwner[ cchNAME ];
100 UINT_PTR idGroup;
101 AFSADMSVR_CHANGEGROUP_PARAMS Properties;
102 LPASIDLIST pMembers;
103 LPASIDLIST pGroupsOwner;
104 } GROUP_CREATE_PARAMS, *LPGROUP_CREATE_PARAMS;
106 typedef struct
108 LPCTSTR pszNames;
109 ASOBJTYPE Type;
110 } LIST_TRANSLATE_PARAMS, *LPLIST_TRANSLATE_PARAMS;
112 typedef struct
114 HWND hNotify;
115 LPASIDLIST pAsidList;
116 } OBJECT_LISTEN_PARAMS, *LPOBJECT_LISTEN_PARAMS;
118 typedef struct
120 ASID idCell;
121 UINT_PTR idUserMax;
122 UINT_PTR idGroupMax;
123 } CELL_CHANGE_PARAMS, *LPCELL_CHANGE_PARAMS;
125 typedef enum
127 taskOPENCELL, // lp = new OPENCELL_PARAMS
128 taskUPD_CREDS, // lp = unused
129 taskUPD_USERS, // lp = unused
130 taskUPD_GROUPS, // lp = unused
131 taskUPD_MACHINES, // lp = unused
132 taskREFRESH, // lp = (ASID)idRefreshScope
133 taskREFRESHMULT, // lp = scope (from asc_AsidListCreate)
134 taskGET_ACTIONS, // lp = unused
135 taskGET_RANDOM_KEY, // lp = unused
136 taskUSER_CHANGE, // lp = new USER_CHANGE_PARAMS
137 taskUSER_FIND, // lp = CloneString(szUserName)
138 taskUSER_ENUM, // lp = CloneString(szPattern) or NULL
139 taskUSER_GROUPLIST_SET, // lp = new USER_GROUPLIST_SET_PARAMS
140 taskUSER_CPW, // lp = new USER_CPW_PARAMS
141 taskUSER_UNLOCK, // lp = users (from asc_AsidListCreate)
142 taskUSER_CREATE, // lp = new USER_CREATE_PARAMS
143 taskUSER_DELETE, // lp = new USER_DELETE_PARAMS
144 taskGROUP_CHANGE, // lp = new GROUP_CHANGE_PARAMS
145 taskGROUP_SEARCH, // lp = new GROUP_SEARCH_PARAMS
146 taskGROUP_MEMBERS_GET, // lp = groups (from asc_AsidListCreate)
147 taskGROUP_MEMBERS_SET, // lp = new GROUP_MEMBERS_SET_PARAMS
148 taskGROUP_ENUM, // lp = CloneString(szPattern) or NULL
149 taskGROUP_RENAME, // lp = new GROUP_RENAME_PARAMS
150 taskGROUP_OWNED_GET, // lp = (ASID)idGroup
151 taskGROUP_OWNED_SET, // lp = new GROUP_OWNED_SET_PARAMS
152 taskGROUP_CREATE, // lp = new GROUP_CREATE_PARAMS
153 taskGROUP_DELETE, // lp = groups (from asc_AsidListCreate)
154 taskCELL_CHANGE, // lp = new CELL_CHANGE_PARAMS
155 taskLIST_TRANSLATE, // lp = new LIST_TRANSLATE_PARAMS
156 taskOBJECT_LISTEN, // lp = new OBJECT_LISTEN_PARAMS
157 taskOBJECT_GET, // lp = (ASID)idObject
158 taskSET_REFRESH, // lp = unused
159 taskEXPIRED_CREDS // lp = unused
160 } TASK;
162 typedef struct
164 ASID idCell; // what was found out?
165 LPASIDLIST pAsidList;
166 LPASACTIONLIST pActionList;
167 TCHAR szPattern[ cchNAME ];
168 ASID idObject;
169 ASOBJTYPE Type;
170 ASOBJPROP Properties;
171 BOOL fMembership;
172 BYTE key[ ENCRYPTIONKEYLENGTH ];
173 } TASKPACKETDATA, *LPTASKPACKETDATA;
175 #define TASKDATA(_ptp) ((LPTASKPACKETDATA)(ptp->pReturn))
178 LPTASKPACKET CreateTaskPacket (int idTask, HWND hReply, PVOID lpUser);
179 void FreeTaskPacket (LPTASKPACKET ptp);
180 void PerformTask (LPTASKPACKET ptp);
183 #endif