backport to buster
[hcoop/debian/openafs.git] / src / afs / nfsclient.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 __NFSCLIENT__
11 #define __NFSCLIENT__
12
13 #define NNFSCLIENTS 32 /* Hash table size for afs_nfspags table */
14 #define NHash(host) ((host) & (NNFSCLIENTS-1))
15 #define NFSCLIENTGC (24*3600) /* time after which to GC nfsclientpag structs */
16 #define NFSXLATOR_CRED 0xaaaa
17
18 struct nfsclientpag {
19 /* From here to .... */
20 struct nfsclientpag *next; /* Next hash pointer */
21 struct exporterops *nfs_ops;
22 afs_int32 states;
23 afs_int32 type;
24 struct exporterstats nfs_stats;
25 /* .... here is also an overlay to the afs_exporter structure */
26
27 afs_int32 refCount; /* Ref count for packages using this */
28 afs_int32 uid; /* search based on uid and ... */
29 afs_uint32 host; /* ... nfs client's host ip address */
30 afs_int32 pag; /* active pag for all (uid, host) "unpaged" conns */
31 afs_int32 client_uid; /* actual UID on client */
32 char *sysname[MAXNUMSYSNAMES];/* user's "@sys" value; also kept in unixuser */
33 int sysnamecount; /* number of sysnames */
34 afs_int32 lastcall; /* Used for timing out nfsclientpag structs */
35 };
36
37
38 #endif /* __NFSCLIENT__ */