Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / fsint / pagcb.xg
1 /*
2 * Copyright 2006, 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 /*
11 * pagcb.xg:
12 * Definition of the PAG Manager callback RPC interface.
13 */
14
15 package PAGCB_
16 prefix S
17 statindex 21
18 %#define PAGCB_SERVICEID 2
19
20 const PAGCB_MAXREALMLEN = 256;
21 const PAGCB_MAXTICKETLEN = 12000;
22 const PAGCB_MAXCREDS = 256;
23 const PAGCB_MAXSYSNAMELEN = 128;
24 const PAGCB_MAXSYSNAMES = 16;
25
26 struct PAGCB_ClearToken {
27 afs_int32 AuthHandle;
28 char HandShakeKey[8];
29 afs_int32 ViceId;
30 afs_int32 BeginTimestamp;
31 afs_int32 EndTimestamp;
32 };
33
34 struct CredInfo {
35 string cellname<PAGCB_MAXREALMLEN>;
36 afs_int32 vid;
37 afs_int32 states;
38 PAGCB_ClearToken ct;
39 opaque st<PAGCB_MAXTICKETLEN>;
40 };
41
42 typedef CredInfo CredInfos<PAGCB_MAXCREDS>;
43
44 struct SysNameEnt {
45 string sysname<PAGCB_MAXSYSNAMELEN>;
46 };
47
48 typedef SysNameEnt SysNameList<PAGCB_MAXSYSNAMES>;
49
50 proc GetCreds(
51 IN afs_int32 uid,
52 OUT CredInfos *creds
53 ) = 1;
54
55 proc GetSysName(
56 IN afs_int32 uid,
57 OUT SysNameList *sysnames
58 ) = 2;