Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / auth / auth.p.h
CommitLineData
805e021f
CE
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
18struct 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
27int ktc_SetToken(struct ktc_principal *, struct ktc_token *,
28 struct ktc_principal *, afs_int32);
29int ktc_GetToken(struct ktc_principal *, struct ktc_token *,
30 int, struct ktc_principal *);
31
32struct ktc_setTokenData;
33int ktc_SetTokenEx(struct ktc_setTokenData *);
34int ktc_GetTokenEx(char *, struct ktc_setTokenData **);
35int ktc_ListTokensEx(int, int *, char **cellName);
36
37int ktc_ListTokens(int, int *, struct ktc_principal *);
38int ktc_ForgetToken(struct ktc_principal *);
39int ktc_ForgetAllTokens(void);
40afs_uint32 ktc_curpag(void);
41
42#ifdef AFS_KERBEROS_ENV
43int 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_ */