auth: Add the ktc_ListTokensEx function
[openafs.git] / src / auth / auth.p.h
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 #ifndef __AUTH_AFS_INCL_
11 #define __AUTH_AFS_INCL_    1
12
13 #include <rx/rxkad.h>           /* to get ticket parameters/contents */
14
15 /* super-user pincipal used by servers when talking to other servers */
16 #define AUTH_SUPERUSER        "afs"
17
18 struct ktc_token {
19     afs_int32 startTime;
20     afs_int32 endTime;
21     struct ktc_encryptionKey sessionKey;
22     short kvno;                 /* XXX UNALIGNED */
23     int ticketLen;
24     char ticket[MAXKTCTICKETLEN];
25 };
26
27 int ktc_SetToken(struct ktc_principal *, struct ktc_token *,
28     struct ktc_principal *, afs_int32);
29 int ktc_GetToken(struct ktc_principal *, struct ktc_token *,
30     int, struct ktc_principal *);
31
32 struct ktc_setTokenData;
33 int ktc_SetTokenEx(struct ktc_setTokenData *);
34 int ktc_GetTokenEx(char *, struct ktc_setTokenData **);
35 int ktc_ListTokensEx(int, int *, char **cellName);
36
37 int ktc_ListTokens(int, int *, struct ktc_principal *);
38 int ktc_ForgetToken(struct ktc_principal *);
39 int ktc_ForgetAllTokens(void);
40 afs_uint32 ktc_curpag(void);
41
42 #ifdef AFS_KERBEROS_ENV
43 int ktc_newpag(void);
44 #endif
45
46 #ifdef AFS_NT40_ENV
47
48 /* Flags for the flag word sent along with a token */
49 #define PIOCTL_LOGON            0x1     /* invoked from integrated logon */
50
51 #endif /* AFS_NT40_ENV */
52
53 /* Flags for ktc_SetToken() */
54 #define AFS_SETTOK_SETPAG       0x1
55 #define AFS_SETTOK_LOGON        0x2     /* invoked from integrated logon */
56
57 #endif /* __AUTH_AFS_INCL_ */