Add new SetTokenEx pioctl
[openafs.git] / src / auth / token.xg
1 /*
2  * afstoken - pioctl interface for new common token data structures.
3  *
4  * revised following suggestions from lha@kth.se 20070511, 20070513
5  */
6
7 /* this file is in the public domain.  Do what thou wilt. */
8
9 const AFSTOKEN_RK_TIX_MAX = 12000;      /* Matches entry in rxkad.h */
10
11 struct token_rxkad {
12     afs_int32 rk_viceid;
13     afs_int32 rk_kvno;
14     opaque rk_key[8];
15     afs_int32 rk_begintime;
16     afs_int32 rk_endtime;
17     afs_int32 rk_primary_flag;
18     opaque rk_ticket<AFSTOKEN_RK_TIX_MAX>;
19 };
20
21 const AFSTOKEN_UNION_NOAUTH = 0;
22 const AFSTOKEN_UNION_KAD = 2;
23 union ktc_tokenUnion switch (afs_int32 at_type) {
24     case AFSTOKEN_UNION_KAD:
25         token_rxkad at_kad;
26 };
27
28 const AFSTOKEN_LENGTH_MAX = 16384;
29 typedef opaque token_opaque<AFSTOKEN_LENGTH_MAX>;
30
31 const AFSTOKEN_EX_SETPAG = 0x00000001; /* set tokens in new pag */
32 const AFSTOKEN_MAX = 8;
33 const AFSTOKEN_CELL_MAX = 64;
34
35 struct ktc_setTokenData {
36     afs_int32 flags;
37     string cell<AFSTOKEN_CELL_MAX>;
38     token_opaque tokens<AFSTOKEN_MAX>;
39 };