Fix some of the fallout from having rxgen-fabricated prototypes.
[openafs.git] / src / ptserver / ptint.xg
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 package PR_
11 prefix S
12 statindex 8
13
14 #include "ptopcodes.h"
15
16 const PRSUCCESS=0;
17
18 const PR_MAXNAMELEN=64;
19 const PR_MAXGROUPS=5000;
20 const PR_MAXLIST=5000;
21 const PRSIZE=10;
22 const COSIZE=39;
23
24 struct prdebugentry {
25         afs_int32 flags;
26         afs_int32 id;
27         afs_int32 cellid;
28         afs_int32 next;
29         afs_int32 reserved[5];
30         afs_int32 entries[PRSIZE];
31         afs_int32 nextID;
32         afs_int32 nextname;
33         afs_int32 owner;
34         afs_int32 creator;
35         afs_int32 ngroups;
36         afs_int32 nusers;
37         afs_int32 count;
38         afs_int32 instance;
39         afs_int32 owned;
40         afs_int32 nextOwned;
41         afs_int32 parent;
42         afs_int32 sibling;
43         afs_int32 child;
44         char name[PR_MAXNAMELEN];
45 };
46
47 struct prcheckentry {
48         afs_int32 flags;
49         afs_int32 id;
50         afs_int32 owner;
51         afs_int32 creator;
52         afs_int32 ngroups;
53         afs_int32 nusers;
54         afs_int32 count;
55         afs_int32 reserved[5];
56         char name[PR_MAXNAMELEN];
57 };      
58
59 struct prlistentries {
60         afs_int32 flags;
61         afs_int32 id;
62         afs_int32 owner;
63         afs_int32 creator;
64         afs_int32 ngroups;
65         afs_int32 nusers;
66         afs_int32 count;
67         afs_int32 reserved[5];
68         char name[PR_MAXNAMELEN];
69 };      
70
71 struct PrUpdateEntry {
72         afs_uint32 Mask;
73         afs_int32 flags;
74         afs_int32 id;
75         afs_int32 owner;
76         afs_int32 creator;
77         afs_int32 ngroups;
78         afs_int32 nusers;
79         afs_int32 count;
80         afs_int32 reserved[5];
81         char name[PR_MAXNAMELEN];
82 };      
83
84 /* struct VldbUpdateEntry Mask bit values */
85 const   PRUPDATE_NAME   =       0x0001;
86 const   PRUPDATE_ID     =       0x0002;
87 const   PRUPDATE_FLAGS  =       0x0004;
88 const   PRUPDATE_NAMEHASH=      0x0008;
89 const   PRUPDATE_IDHASH =       0x0010;
90
91 /* These bits are used when calling SetFieldsEntry. */
92 %#define PR_SF_ALLBITS   0xff           /* set all access bits */
93 %#define PR_SF_NGROUPS (1<<31)          /* set field limiting group creation */
94 %#define PR_SF_NUSERS  (1<<30)          /*  "  "  foreign users  "  */
95
96 typedef char prname[PR_MAXNAMELEN];
97 typedef prname namelist<>;
98 typedef afs_int32 idlist<>;
99 typedef afs_int32 prlist<>;
100 typedef prlistentries prentries<>;
101
102 INewEntry(
103   IN string name<PR_MAXNAMELEN>,
104   IN afs_int32 id,
105   IN afs_int32 oid
106 ) = PRINEWUSER;
107
108 WhereIsIt(
109   IN afs_int32 id,
110   OUT afs_int32 *ps
111 ) = PRWHEREISIT;
112
113 DumpEntry(
114   IN afs_int32 pos,
115   OUT struct prdebugentry *entry
116 ) = PRDUMPENTRY;
117
118 AddToGroup(
119   IN afs_int32 uid,
120   IN afs_int32 gid
121 )=PRADDTOGROUP;
122
123 NameToID(
124   IN namelist *nlist,
125   OUT idlist *ilist
126 )=PRNAMETOID;
127
128 IDToName(
129   IN idlist *ilist,
130   OUT namelist *nlist
131 ) =PRIDTONAME;
132
133 Delete(
134   IN afs_int32 id
135 )=PRDELETE;
136
137 RemoveFromGroup(
138   IN afs_int32 id,
139   IN afs_int32 gid
140 )=PRREMOVEFROMGROUP;
141
142 GetCPS(
143   IN afs_int32 id,
144   OUT prlist *elist,
145   OUT afs_int32 *over
146 )=PRGETCPS;
147
148 NewEntry(
149   IN string name<PR_MAXNAMELEN>,
150   afs_int32 flag,
151   afs_int32 oid,
152   OUT afs_int32 *id
153 )=PRNEWENTRY;
154
155 ListMax(
156   OUT afs_int32 *uid,
157   afs_int32 *gid
158 )=PRLISTMAX;
159
160 SetMax(
161   IN afs_int32 id,
162   afs_int32 gflag
163 )=PRSETMAX;
164
165 ListEntry(
166   IN afs_int32 id,
167   OUT struct prcheckentry *entry
168 ) = PRLISTENTRY;
169
170 ChangeEntry(
171   IN afs_int32 id,
172   IN string name<PR_MAXNAMELEN>,
173   IN afs_int32 oid,
174   IN afs_int32 newid
175 ) = PRCHANGEENTRY;
176
177 ListElements(
178   IN afs_int32 id,
179   OUT prlist *elist,
180   OUT afs_int32 *over
181 )=PRLISTELEMENTS;
182
183 IsAMemberOf(
184   IN afs_int32 uid,
185   IN afs_int32 gid,
186   OUT afs_int32 *flag
187 )=PRISAMEMBEROF;
188
189 SetFieldsEntry(
190   IN afs_int32 id,
191   IN afs_int32 mask,
192   IN afs_int32 flags,
193   IN afs_int32 ngroups,
194   IN afs_int32 nusers,
195   IN afs_int32 spare1,
196   IN afs_int32 spare2
197 ) = PRSETFIELDSENTRY;
198
199 ListOwned(
200   IN afs_int32 id,
201   OUT prlist *elist,
202   INOUT afs_int32 *lastp
203 ) = PRLISTOWNED;
204
205 GetCPS2(
206   IN afs_int32 id,
207   IN afs_int32 host,
208   OUT prlist *elist,
209   OUT afs_int32 *over
210 )=PRGETCPS2;
211
212 GetHostCPS(
213   IN afs_int32 host,
214   OUT prlist *elist,
215   OUT afs_int32 *over
216 )=PRGETHOSTCPS;
217
218 UpdateEntry(
219   IN afs_int32 id,
220   IN string name<PR_MAXNAMELEN>,
221   IN PrUpdateEntry *uentry
222 ) = PRUPDATEENTRY;
223
224 ListEntries(
225   IN afs_int32      flags,
226   IN afs_int32      startindex,
227   OUT prentries *bulkentries,
228   OUT afs_int32     *nextstartindex
229 ) = PRLISTENTRIES;