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
10 #ifndef TRANSARC_AFS_PTS_ADMIN_H
11 #define TRANSARC_AFS_PTS_ADMIN_H
13 #include <afs/param.h>
14 #include <afs/afs_Admin.h>
16 #define PTS_MAX_NAME_LEN 64
17 #define PTS_MAX_GROUPS 5000
20 PTS_USER_OWNER_ACCESS,
21 PTS_USER_ANYUSER_ACCESS
22 } pts_userAccess_t, *pts_userAccess_p;
25 PTS_GROUP_OWNER_ACCESS = 10,
27 PTS_GROUP_ANYUSER_ACCESS
28 } pts_groupAccess_t, *pts_groupAccess_p;
30 typedef struct pts_UserEntry {
31 int groupCreationQuota;
32 int groupMembershipCount;
36 pts_userAccess_t listStatus;
37 pts_userAccess_t listGroupsOwned;
38 pts_userAccess_t listMembership;
39 char name[PTS_MAX_NAME_LEN];
40 char owner[PTS_MAX_NAME_LEN];
41 char creator[PTS_MAX_NAME_LEN];
42 } pts_UserEntry_t, *pts_UserEntry_p;
45 PTS_USER_UPDATE_GROUP_CREATE_QUOTA = 0x1,
46 PTS_USER_UPDATE_PERMISSIONS = 0x2
47 } pts_UserUpdateFlag_t, *pts_UserUpdateFlag_p;
49 typedef struct pts_UserUpdateEntry {
50 pts_UserUpdateFlag_t flag;
51 int groupCreationQuota;
52 pts_userAccess_t listStatus;
53 pts_userAccess_t listGroupsOwned;
54 pts_userAccess_t listMembership;
55 } pts_UserUpdateEntry_t, *pts_UserUpdateEntry_p;
57 typedef struct pts_GroupEntry {
62 pts_groupAccess_t listStatus;
63 pts_groupAccess_t listGroupsOwned;
64 pts_groupAccess_t listMembership;
65 pts_groupAccess_t listAdd;
66 pts_groupAccess_t listDelete;
67 char name[PTS_MAX_NAME_LEN];
68 char owner[PTS_MAX_NAME_LEN];
69 char creator[PTS_MAX_NAME_LEN];
70 } pts_GroupEntry_t, *pts_GroupEntry_p;
72 typedef struct pts_GroupUpdateEntry {
73 pts_groupAccess_t listStatus;
74 pts_groupAccess_t listGroupsOwned;
75 pts_groupAccess_t listMembership;
76 pts_groupAccess_t listAdd;
77 pts_groupAccess_t listDelete;
78 } pts_GroupUpdateEntry_t, *pts_GroupUpdateEntry_p;
80 extern int ADMINAPI pts_GroupMemberAdd(
81 const void *cellHandle,
83 const char *groupName,
87 extern int ADMINAPI pts_GroupOwnerChange(
88 const void *cellHandle,
89 const char *targetGroup,
94 extern int ADMINAPI pts_GroupCreate(
95 const void *cellHandle,
102 extern int ADMINAPI pts_GroupGet(
103 const void *cellHandle,
104 const char *groupName,
105 pts_GroupEntry_p groupP,
109 extern int ADMINAPI pts_GroupDelete(
110 const void *cellHandle,
111 const char *groupName,
115 extern int ADMINAPI pts_GroupMaxGet(
116 const void *cellHandle,
121 extern int ADMINAPI pts_GroupMaxSet(
122 const void *cellHandle,
127 extern int ADMINAPI pts_GroupMemberListBegin(
128 const void *cellHandle,
129 const char *groupName,
134 extern int ADMINAPI pts_GroupMemberListNext(
135 const void *iterationId,
140 extern int ADMINAPI pts_GroupMemberListDone(
141 const void *iterationId,
145 extern int ADMINAPI pts_GroupMemberRemove(
146 const void *cellHandle,
147 const char *userName,
148 const char *groupName,
152 extern int ADMINAPI pts_GroupRename(
153 const void *cellHandle,
159 extern int ADMINAPI pts_GroupModify(
160 const void *cellHandle,
161 const char *groupName,
162 const pts_GroupUpdateEntry_p newEntryP,
166 extern int ADMINAPI pts_UserCreate(
167 const void *cellHandle,
168 const char *userName,
173 extern int ADMINAPI pts_UserDelete(
174 const void *cellHandle,
175 const char *userName,
179 extern int ADMINAPI pts_UserGet(
180 const void *cellHandle,
181 const char *userName,
182 pts_UserEntry_p userP,
186 extern int ADMINAPI pts_UserRename(
187 const void *cellHandle,
193 extern int ADMINAPI pts_UserModify(
194 const void *cellHandle,
195 const char *userName,
196 const pts_UserUpdateEntry_p newEntryP,
200 extern int ADMINAPI pts_UserMaxGet(
201 const void *cellHandle,
206 extern int ADMINAPI pts_UserMaxSet(
207 const void *cellHandle,
212 extern int ADMINAPI pts_UserMemberListBegin(
213 const void *cellHandle,
214 const char *userName,
219 extern int ADMINAPI pts_UserMemberListNext(
220 const void *iterationId,
225 extern int ADMINAPI pts_UserMemberListDone(
226 const void *iterationId,
230 extern int ADMINAPI pts_OwnedGroupListBegin(
231 const void *cellHandle,
232 const char *userName,
237 extern int ADMINAPI pts_OwnedGroupListNext(
238 const void *iterationId,
243 extern int ADMINAPI pts_OwnedGroupListDone(
244 const void *iterationId,
248 extern int ADMINAPI pts_UserListBegin(
249 const void *cellHandle,
254 extern int ADMINAPI pts_UserListNext(
255 const void *iterationId,
260 extern int ADMINAPI pts_UserListDone(
261 const void *iterationId,
265 extern int ADMINAPI pts_GroupListBegin(
266 const void *cellHandle,
271 extern int ADMINAPI pts_GroupListNext(
272 const void *iterationId,
277 extern int ADMINAPI pts_GroupListDone(
278 const void *iterationId,
282 #endif /* TRANSARC_AFS_PTS_ADMIN_H */