OpenAFS
OpenAFS distributed network file system
|
00001 /* 00002 * Copyright 2000, International Business Machines Corporation and others. 00003 * All Rights Reserved. 00004 * 00005 * This software has been released under the terms of the IBM Public 00006 * License. For details, see the LICENSE file in the top-level source 00007 * directory or online at http://www.openafs.org/dl/license10.html 00008 */ 00009 00010 #ifndef __NFSCLIENT__ 00011 #define __NFSCLIENT__ 00012 00013 #define NNFSCLIENTS 32 /* Hash table size for afs_nfspags table */ 00014 #define NHash(host) ((host) & (NNFSCLIENTS-1)) 00015 #define NFSCLIENTGC (24*3600) /* time after which to GC nfsclientpag structs */ 00016 #define NFSXLATOR_CRED 0xaaaa 00017 00018 struct nfsclientpag { 00019 /* From here to .... */ 00020 struct nfsclientpag *next; /* Next hash pointer */ 00021 struct exporterops *nfs_ops; 00022 afs_int32 states; 00023 afs_int32 type; 00024 struct exporterstats nfs_stats; 00025 /* .... here is also an overlay to the afs_exporter structure */ 00026 00027 afs_int32 refCount; /* Ref count for packages using this */ 00028 afs_int32 uid; /* search based on uid and ... */ 00029 afs_uint32 host; /* ... nfs client's host ip address */ 00030 afs_int32 pag; /* active pag for all (uid, host) "unpaged" conns */ 00031 afs_int32 client_uid; /* actual UID on client */ 00032 char *sysname[MAXNUMSYSNAMES];/* user's "@sys" value; also kept in unixuser */ 00033 int sysnamecount; /* number of sysnames */ 00034 afs_int32 lastcall; /* Used for timing out nfsclientpag structs */ 00035 }; 00036 00037 00038 #endif /* __NFSCLIENT__ */