afs: remove stats dead code
[openafs.git] / src / afs / afs_stats.h
index a0919dc..2562a62 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
  *  The remainder of this file contains the statistics gathering stuff.
  */
 
-#ifndef __TRANSARC_AFS_STATS_H__
-#define __TRANSARC_AFS_STATS_H__
+#ifndef __OPENAFS_AFS_STATS_H__
+#define __OPENAFS_AFS_STATS_H__
 
-#include "../afs/param.h"
+#include "afs/param.h"
 
 /* the following is to work around a VAX compiler limitation */
 #if defined(vax)
@@ -35,6 +35,7 @@
 #define AFS_STATS(arg)
 #define XSTATS_DECLS
 #define XSTATS_START_TIME(arg)
+#define XSTATS_START_CMTIME(arg)
 #define XSTATS_END_TIME
 
 #else /* AFS_NOSTATS */
 #define AFS_STATS(arg) arg
 #ifndef KERNEL
 /* NOTE: Ensure this is the same size in user and kernel mode. */
-typedef struct timeval osi_timeval_t;
+typedef struct {
+    afs_int32 tv_sec;
+    afs_int32 tv_usec;
+} osi_timeval32_t;
 #endif /* !KERNEL */
 
-#define XSTATS_DECLS struct afs_stats_opTimingData *opP; \
-    osi_timeval_t opStartTime, opStopTime, elapsedTime;        
+#define XSTATS_DECLS struct afs_stats_opTimingData *opP = NULL; \
+    osi_timeval_t opStartTime = { 0, 0}, opStopTime, elapsedTime
 
 #define XSTATS_START_TIME(arg) \
   opP = &(afs_stats_cmfullperf.rpc.fsRPCTimes[arg]); \
@@ -80,566 +84,591 @@ struct afs_MeanStats {
  * struct afs_CMCallStats
  *     This is the place where we keep records on each and every
  *     function call.
+ *
+ * This structure is encoded as a binary blob and thrown at the client
+ * for use by the xstat_cm interface. As the datastructure is unversioned,
+ * some rules apply;
+ *    *) Never add elements to the middle of the list. Everything new
+ *       must go at the end
+ *    *) Never remove elements from the list. If a function dies, don't
+ *       remove it's entry here (by all means, flag it as dead, though)
+ *    *) Never make elements conditional on preprocessor symbols. Doing
+ *       this would mean that the client has to be built with exactly
+ *       the same options as you are. Which isn't a great idea.
+ *
  */
+#define AFS_CM_CALL_STATS \
+    AFS_CS(afs_init)           /* afs_aix_subr.c */ \
+    AFS_CS(gop_rdwr)           /* afs_aix_subr.c */ \
+    AFS_CS(aix_gnode_rele)     /* afs_aix_subr.c */ \
+    AFS_CS(gettimeofday)       /* afs_aix_subr.c */ \
+    AFS_CS(m_cpytoc)           /* afs_aix_subr.c */ \
+    AFS_CS(aix_vattr_null)     /* afs_aix_subr.c */ \
+    AFS_CS(afs_gn_ftrunc)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_rdwr)                /* afs_aixops.c */ \
+    AFS_CS(afs_gn_ioctl)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_lockctl)     /* afs_aixops.c */ \
+    AFS_CS(afs_gn_readlink)    /* afs_aixops.c */ \
+    AFS_CS(afs_gn_readdir)     /* afs_aixops.c */ \
+    AFS_CS(afs_gn_select)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_strategy)    /* afs_aixops.c */ \
+    AFS_CS(afs_gn_symlink)     /* afs_aixops.c */ \
+    AFS_CS(afs_gn_revoke)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_link)                /* afs_aixops.c */ \
+    AFS_CS(afs_gn_mkdir)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_mknod)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_remove)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_rename)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_rmdir)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_fid)         /* afs_aixops.c */ \
+    AFS_CS(afs_gn_lookup)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_open)                /* afs_aixops.c */ \
+    AFS_CS(afs_gn_create)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_hold)                /* afs_aixops.c */ \
+    AFS_CS(afs_gn_close)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_map)         /* afs_aixops.c */ \
+    AFS_CS(afs_gn_rele)                /* afs_aixops.c */ \
+    AFS_CS(afs_gn_unmap)       /* afs_aixops.c */ \
+    AFS_CS(afs_gn_access)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_getattr)     /* afs_aixops.c */ \
+    AFS_CS(afs_gn_setattr)     /* afs_aixops.c */ \
+    AFS_CS(afs_gn_fclear)      /* afs_aixops.c */ \
+    AFS_CS(afs_gn_fsync)       /* afs_aixops.c */ \
+    AFS_CS(pHash)              /* afs_buffer.c */ \
+    AFS_CS(DInit)              /* afs_buffer.c */ \
+    AFS_CS(DRead)              /* afs_buffer.c */ \
+    AFS_CS(FixupBucket)                /* afs_buffer.c */ \
+    AFS_CS(afs_newslot)                /* afs_buffer.c */ \
+    AFS_CS(DRelease)           /* afs_buffer.c */ \
+    AFS_CS(DFlush)             /* afs_buffer.c */ \
+    AFS_CS(DFlushEntry)                /* afs_buffer.c */ \
+    AFS_CS(DVOffset)           /* afs_buffer.c */ \
+    AFS_CS(DZap)               /* afs_buffer.c */ \
+    AFS_CS(DNew)               /* afs_buffer.c */ \
+    AFS_CS(shutdown_bufferpackage)     /* afs_buffer.c */ \
+    AFS_CS(afs_CheckKnownBad)  /* afs_cache.c */ \
+    AFS_CS(afs_RemoveVCB)      /* afs_cache.c */ \
+    AFS_CS(afs_NewVCache)      /* afs_cache.c */ \
+    AFS_CS(afs_FlushActiveVcaches)     /* afs_cache.c */ \
+    AFS_CS(afs_VerifyVCache)   /* afs_cache.c */ \
+    AFS_CS(afs_WriteVCache)    /* afs_cache.c */ \
+    AFS_CS(afs_GetVCache)      /* afs_cache.c */ \
+    AFS_CS(afs_StuffVcache)    /* afs_cache.c */ \
+    AFS_CS(afs_FindVCache)     /* afs_cache.c */ \
+    AFS_CS(afs_PutDCache)      /* afs_cache.c */ \
+    AFS_CS(afs_PutVCache)      /* afs_cache.c */ \
+    AFS_CS(CacheStoreProc)     /* afs_cache.c */ \
+    AFS_CS(afs_FindDCache)     /* afs_cache.c */ \
+    AFS_CS(afs_TryToSmush)     /* afs_cache.c */ \
+    AFS_CS(afs_AdjustSize)     /* afs_cache.c */ \
+    AFS_CS(afs_CheckSize)      /* afs_cache.c */ \
+    AFS_CS(afs_StoreWarn)      /* afs_cache.c */ \
+    AFS_CS(CacheFetchProc)     /* afs_cache.c */ \
+    AFS_CS(UFS_CacheStoreProc) /* afs_cache.c */ \
+    AFS_CS(UFS_CacheFetchProc) /* afs_cache.c */ \
+    AFS_CS(afs_GetDCache)      /* afs_cache.c */ \
+    AFS_CS(afs_SimpleVStat)    /* afs_cache.c */ \
+    AFS_CS(afs_ProcessFS)      /* afs_cache.c */ \
+    AFS_CS(afs_InitCacheInfo)  /* afs_cache.c */ \
+    AFS_CS(afs_InitVolumeInfo) /* afs_cache.c */ \
+    AFS_CS(afs_InitCacheFile)  /* afs_cache.c */ \
+    AFS_CS(afs_CacheInit)      /* afs_cache.c */ \
+    AFS_CS(afs_GetDSlot)       /* afs_cache.c */ \
+    AFS_CS(afs_WriteThroughDSlots)     /* afs_cache.c */ \
+    AFS_CS(afs_MemGetDSlot)    /* afs_cache.c */ \
+    AFS_CS(afs_UFSGetDSlot)    /* afs_cache.c */ \
+    AFS_CS(afs_StoreDCache)    /* afs_cache.c */ \
+    AFS_CS(afs_StoreMini)      /* afs_cache.c */ \
+    AFS_CS(shutdown_cache)     /* afs_cache.c */ \
+    AFS_CS(afs_StoreAllSegments)       /* afs_cache.c */ \
+    AFS_CS(afs_InvalidateAllSegments)  /* afs_cache.c */ \
+    AFS_CS(afs_TruncateAllSegments)    /* afs_cache.c */ \
+    AFS_CS(afs_CheckVolSync)   /* afs_cache.c */ \
+    AFS_CS(afs_wakeup)         /* afs_cache.c */ \
+    AFS_CS(afs_CFileOpen)      /* afs_cache.c */ \
+    AFS_CS(afs_CFileTruncate)  /* afs_cache.c */ \
+    AFS_CS(afs_GetDownD)       /* afs_cache.c */ \
+    AFS_CS(afs_WriteDCache)    /* afs_cache.c */ \
+    AFS_CS(afs_FlushDCache)    /* afs_cache.c */ \
+    AFS_CS(afs_GetDownDSlot)   /* afs_cache.c */ \
+    AFS_CS(afs_FlushVCache)    /* afs_cache.c */ \
+    AFS_CS(afs_GetDownV)       /* afs_cache.c */ \
+    AFS_CS(afs_QueueVCB)       /* afs_cache.c */ \
+    AFS_CS(afs_call)           /* afs_call.c */ \
+    AFS_CS(afs_syscall_call)   /* afs_call.c */ \
+    AFS_CS(syscall)            /* afs_call.c */ \
+    AFS_CS(lpioctl)            /* afs_call.c */ \
+    AFS_CS(lsetpag)            /* afs_call.c */ \
+    AFS_CS(afs_syscall)                /* afs_call.c */ \
+    AFS_CS(afs_CheckInit)      /* afs_call.c */ \
+    AFS_CS(afs_shutdown)       /* afs_call.c */ \
+    AFS_CS(shutdown_BKG)       /* afs_call.c */ \
+    AFS_CS(shutdown_afstest)   /* afs_call.c */ \
+    AFS_CS(SRXAFSCB_GetCE)     /* afs_callback.c */ \
+    AFS_CS(ClearCallBack)      /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetLock)   /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_CallBack)  /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_InitCallBackState) /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_Probe)     /* afs_callback.c */ \
+    AFS_CS(afs_RXCallBackServer)       /* afs_callback.c */ \
+    AFS_CS(shutdown_CB)                /* afs_callback.c */ \
+    AFS_CS(afs_Chunk)          /* afs_chunk.c */ \
+    AFS_CS(afs_ChunkBase)      /* afs_chunk.c */ \
+    AFS_CS(afs_ChunkOffset)    /* afs_chunk.c */ \
+    AFS_CS(afs_ChunkSize)      /* afs_chunk.c */ \
+    AFS_CS(afs_ChunkToBase)    /* afs_chunk.c */ \
+    AFS_CS(afs_ChunkToSize)    /* afs_chunk.c */ \
+    AFS_CS(afs_SetChunkSize)   /* afs_chunk.c */ \
+    AFS_CS(afs_config)         /* afs_config.c */ \
+    AFS_CS(mem_freebytes)      /* afs_config.c */ \
+    AFS_CS(mem_getbytes)       /* afs_config.c */ \
+    AFS_CS(fpalloc)            /* afs_config.c */ \
+    AFS_CS(kluge_init)         /* afs_config.c */ \
+    AFS_CS(ufdalloc)           /* afs_config.c */ \
+    AFS_CS(ufdfree)            /* afs_config.c */ \
+    AFS_CS(commit)             /* afs_config.c */ \
+    AFS_CS(dev_ialloc)         /* afs_config.c */ \
+    AFS_CS(ffree)              /* afs_config.c */ \
+    AFS_CS(iget)               /* afs_config.c */ \
+    AFS_CS(iptovp)             /* afs_config.c */ \
+    AFS_CS(ilock)              /* afs_config.c */ \
+    AFS_CS(irele)              /* afs_config.c */ \
+    AFS_CS(iput)               /* afs_config.c */ \
+    AFS_CS(afs_Daemon)         /* afs_daemons.c */ \
+    AFS_CS(afs_CheckRootVolume)        /* afs_daemons.c */ \
+    AFS_CS(BPath)              /* afs_daemons.c */ \
+    AFS_CS(BPrefetch)          /* afs_daemons.c */ \
+    AFS_CS(BStore)             /* afs_daemons.c */ \
+    AFS_CS(afs_BBusy)          /* afs_daemons.c */ \
+    AFS_CS(afs_BQueue)         /* afs_daemons.c */ \
+    AFS_CS(afs_BRelease)       /* afs_daemons.c */ \
+    AFS_CS(afs_BackgroundDaemon)       /* afs_daemons.c */ \
+    AFS_CS(shutdown_daemons)   /* afs_daemons.c */ \
+    AFS_CS(exporter_add)       /* afs_exporter.c */ \
+    AFS_CS(exporter_find)      /* afs_exporter.c */ \
+    AFS_CS(afs_gfs_kalloc)     /* afs_gfs_subr.c */ \
+    AFS_CS(IsAfsVnode)         /* afs_gfs_subr.c */ \
+    AFS_CS(SetAfsVnode)                /* afs_gfs_subr.c */ \
+    AFS_CS(afs_gfs_kfree)      /* afs_gfs_subr.c */ \
+    AFS_CS(gop_lookupname)     /* afs_gfs_subr.c */ \
+    AFS_CS(gfsvop_getattr)     /* afs_gfs_subr.c */ \
+    AFS_CS(gfsvop_rdwr)                /* afs_gfs_subr.c */ \
+    AFS_CS(afs_uniqtime)       /* afs_gfs_subr.c */ \
+    AFS_CS(gfs_vattr_null)     /* afs_gfs_subr.c */ \
+    AFS_CS(afs_lock)           /* afs_gfsops.c */ \
+    AFS_CS(afs_unlock)         /* afs_gfsops.c */ \
+    AFS_CS(afs_update)         /* afs_gfsops.c */ \
+    AFS_CS(afs_gclose)         /* afs_gfsops.c */ \
+    AFS_CS(afs_gopen)          /* afs_gfsops.c */ \
+    AFS_CS(afs_greadlink)      /* afs_gfsops.c */ \
+    AFS_CS(afs_select)         /* afs_gfsops.c */ \
+    AFS_CS(afs_gbmap)          /* afs_gfsops.c */ \
+    AFS_CS(afs_getfsdata)      /* afs_gfsops.c */ \
+    AFS_CS(afs_gsymlink)       /* afs_gfsops.c */ \
+    AFS_CS(afs_namei)          /* afs_gfsops.c */ \
+    AFS_CS(printgnode)         /* afs_gfsops.c */ \
+    AFS_CS(HaveGFSLock)                /* afs_gfsops.c */ \
+    AFS_CS(afs_gmount)         /* afs_gfsops.c */ \
+    AFS_CS(AddGFSLock)         /* afs_gfsops.c */ \
+    AFS_CS(RemoveGFSLock)      /* afs_gfsops.c */ \
+    AFS_CS(afs_grlock)         /* afs_gfsops.c */ \
+    AFS_CS(afs_gumount)                /* afs_gfsops.c */ \
+    AFS_CS(afs_gget)           /* afs_gfsops.c */ \
+    AFS_CS(afs_glink)          /* afs_gfsops.c */ \
+    AFS_CS(afs_gmkdir)         /* afs_gfsops.c */ \
+    AFS_CS(afs_sbupdate)       /* afs_gfsops.c */ \
+    AFS_CS(afs_unlink)         /* afs_gfsops.c */ \
+    AFS_CS(afs_grmdir)         /* afs_gfsops.c */ \
+    AFS_CS(afs_makenode)       /* afs_gfsops.c */ \
+    AFS_CS(afs_grename)                /* afs_gfsops.c */ \
+    AFS_CS(afs_rele)           /* afs_gfsops.c */ \
+    AFS_CS(afs_syncgp)         /* afs_gfsops.c */ \
+    AFS_CS(afs_getval)         /* afs_gfsops.c */ \
+    AFS_CS(afs_gfshack)                /* afs_gfsops.c */ \
+    AFS_CS(afs_trunc)          /* afs_gfsops.c */ \
+    AFS_CS(afs_rwgp)           /* afs_gfsops.c */ \
+    AFS_CS(afs_stat)           /* afs_gfsops.c */ \
+    AFS_CS(afsc_link)          /* afs_hp_subr.c */ \
+    AFS_CS(hpsobind)           /* afs_hp_subr.c */ \
+    AFS_CS(hpsoclose)          /* afs_hp_subr.c */ \
+    AFS_CS(hpsocreate)         /* afs_hp_subr.c */ \
+    AFS_CS(hpsoreserve)                /* afs_hp_subr.c */ \
+    AFS_CS(afs_vfs_mount)      /* afs_hp_subr.c */ \
+    AFS_CS(devtovfs)           /* afs_istuff.c */ \
+    AFS_CS(igetinode)          /* afs_istuff.c */ \
+    AFS_CS(afs_syscall_iopen)  /* afs_istuff.c */ \
+    AFS_CS(iopen)              /* afs_istuff.c */ \
+    AFS_CS(afs_syscall_iincdec)        /* afs_istuff.c */ \
+    AFS_CS(afs_syscall_ireadwrite)     /* afs_istuff.c */ \
+    AFS_CS(iincdec)            /* afs_istuff.c */ \
+    AFS_CS(ireadwrite)         /* afs_istuff.c */ \
+    AFS_CS(oiread)             /* afs_istuff.c */ \
+    AFS_CS(AHash)              /* afs_istuff.c */ \
+    AFS_CS(QTOA)               /* afs_istuff.c */ \
+    AFS_CS(afs_FindPartByDev)  /* afs_istuff.c */ \
+    AFS_CS(aux_init)           /* afs_istuff.c */ \
+    AFS_CS(afs_GetNewPart)     /* afs_istuff.c */ \
+    AFS_CS(afs_InitAuxVolFile) /* afs_istuff.c */ \
+    AFS_CS(afs_CreateAuxEntry) /* afs_istuff.c */ \
+    AFS_CS(afs_GetAuxSlot)     /* afs_istuff.c */ \
+    AFS_CS(afs_GetDownAux)     /* afs_istuff.c */ \
+    AFS_CS(afs_FlushAuxCache)  /* afs_istuff.c */ \
+    AFS_CS(afs_GetAuxInode)    /* afs_istuff.c */ \
+    AFS_CS(afs_PutAuxInode)    /* afs_istuff.c */ \
+    AFS_CS(afs_ReadAuxInode)   /* afs_istuff.c */ \
+    AFS_CS(afs_WriteAuxInode)  /* afs_istuff.c */ \
+    AFS_CS(afs_auxcall)                /* afs_istuff.c */ \
+    AFS_CS(tmpdbg_auxtbl)      /* afs_istuff.c */ \
+    AFS_CS(tmpdbg_parttbl)     /* afs_istuff.c */ \
+    AFS_CS(idec)               /* afs_istuff.c */ \
+    AFS_CS(iinc)               /* afs_istuff.c */ \
+    AFS_CS(iread)              /* afs_istuff.c */ \
+    AFS_CS(iwrite)             /* afs_istuff.c */ \
+    AFS_CS(getinode)           /* afs_istuff.c */ \
+    AFS_CS(trygetfs)           /* afs_istuff.c */ \
+    AFS_CS(iforget)            /* afs_istuff.c */ \
+    AFS_CS(afs_syscall_icreate)        /* afs_istuff.c */ \
+    AFS_CS(icreate)            /* afs_istuff.c */ \
+    AFS_CS(Lock_Init)          /* afs_lock.c */ \
+    AFS_CS(Lock_Obtain)                /* afs_lock.c */ \
+    AFS_CS(Lock_ReleaseR)      /* afs_lock.c */ \
+    AFS_CS(Lock_ReleaseW)      /* afs_lock.c */ \
+    AFS_CS(afs_BozonLock)      /* UNUSED */ \
+    AFS_CS(afs_BozonUnlock)    /* UNUSED */ \
+    AFS_CS(osi_SleepR)         /* afs_lock.c */ \
+    AFS_CS(osi_SleepS)         /* afs_lock.c */ \
+    AFS_CS(osi_SleepW)         /* afs_lock.c */ \
+    AFS_CS(osi_Sleep)          /* afs_lock */ \
+    AFS_CS(afs_BozonInit)      /* UNUSED */ \
+    AFS_CS(afs_CheckBozonLock) /* UNUSED */ \
+    AFS_CS(afs_CheckBozonLockBlocking) /* UNUSED */ \
+    AFS_CS(xxxinit)            /* afs_main.c */ \
+    AFS_CS(KernelEntry)                /* afs_main.c */ \
+    AFS_CS(afs_InitMemCache)   /* afs_memcache.c */ \
+    AFS_CS(afs_LookupMCE)      /* afs_memcache.c */ \
+    AFS_CS(afs_MemReadBlk)     /* afs_memcache.c */ \
+    AFS_CS(afs_MemReadUIO)     /* afs_memcache.c */ \
+    AFS_CS(afs_MemWriteBlk)    /* afs_memcache.c */ \
+    AFS_CS(afs_MemCacheStoreProc)      /* afs_memcache.c */ \
+    AFS_CS(afs_MemCacheTruncate)       /* afs_memcache.c */ \
+    AFS_CS(afs_MemWriteUIO)    /* afs_memcache.c */ \
+    AFS_CS(afs_MemCacheFetchProc)      /* afs_memcache.c */ \
+    AFS_CS(afs_vnode_pager_create)     /* afs_next_aux.c */ \
+    AFS_CS(next_KernelEntry)   /* afs_next_subr.c */ \
+    AFS_CS(afs_GetNfsClientPag)        /* afs_nfsclnt.c */ \
+    AFS_CS(afs_FindNfsClientPag)       /* afs_nfsclnt.c */ \
+    AFS_CS(afs_PutNfsClientPag)        /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_reqhandler)   /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_GC)   /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_hold) /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_stats)        /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_sysname)      /* afs_nfsclnt.c */ \
+    AFS_CS(afs_nfsclient_shutdown)     /* afs_nfsclnt.c */ \
+    AFS_CS(afs_rfs_readdir_fixup)      /* afs_nfssrv.c */ \
+    AFS_CS(afs_rfs_dispatch)   /* afs_nfssrv.c */ \
+    AFS_CS(afs_xnfs_svc)       /* afs_nfssrv.c */ \
+    AFS_CS(afs_xdr_putrddirres)        /* afs_nfssrv.c */ \
+    AFS_CS(afs_rfs_readdir)    /* afs_nfssrv.c */ \
+    AFS_CS(afs_rfs_rddirfree)  /* afs_nfssrv.c */ \
+    AFS_CS(rfs_dupcreate)      /* afs_nfssrv.c */ \
+    AFS_CS(rfs_dupsetattr)     /* afs_nfssrv.c */ \
+    AFS_CS(Nfs2AfsCall)                /* afs_nfssrv.c */ \
+    AFS_CS(afs_sun_xuntext)    /* afs_osi.c */ \
+    AFS_CS(osi_Active)         /* afs_osi.c */ \
+    AFS_CS(osi_FlushPages)     /* afs_osi.c */ \
+    AFS_CS(osi_FlushText)      /* afs_osi.c */ \
+    AFS_CS(osi_CallProc)       /* afs_osi.c */ \
+    AFS_CS(osi_CancelProc)     /* afs_osi.c */ \
+    AFS_CS(osi_Invisible)      /* afs_osi.c */ \
+    AFS_CS(osi_Time)           /* afs_osi.c */ \
+    AFS_CS(osi_Alloc)          /* afs_osi_alloc.c */ \
+    AFS_CS(osi_SetTime)                /* afs_osi.c */ \
+    AFS_CS(osi_Dump)           /* afs_osi.c */ \
+    AFS_CS(osi_Free)           /* afs_osi_alloc.c */ \
+    AFS_CS(shutdown_osi)       /* afs_osi.c */ \
+    AFS_CS(osi_UFSOpen)                /* afs_osifile.c */ \
+    AFS_CS(osi_Close)          /* afs_osifile.c */ \
+    AFS_CS(osi_Stat)           /* afs_osifile.c */ \
+    AFS_CS(osi_Truncate)       /* afs_osifile.c */ \
+    AFS_CS(osi_Read)           /* afs_osifile.c */ \
+    AFS_CS(osi_Write)          /* afs_osifile.c */ \
+    AFS_CS(osi_MapStrategy)    /* afs_osifile.c */ \
+    AFS_CS(shutdown_osifile)   /* afs_osifile.c */ \
+    AFS_CS(osi_FreeLargeSpace) /* afs_osi_alloc.c */ \
+    AFS_CS(osi_FreeSmallSpace) /* afs_osi_alloc.c */ \
+    AFS_CS(pkt_iodone)         /* afs_osinet.c */ \
+    AFS_CS(shutdown_osinet)    /* afs_osi_alloc.c */ \
+    AFS_CS(afs_cs)             /* afs_osinet.c */ \
+    AFS_CS(osi_AllocLargeSpace)        /* afs_osi_alloc.c */ \
+    AFS_CS(osi_AllocSmallSpace)        /* afs_osi_alloc.c */ \
+    AFS_CS(osi_CloseToTheEdge) /* afs_osinet.c */ \
+    AFS_CS(osi_xgreedy)                /* afs_osinet.c */ \
+    AFS_CS(osi_FreeSocket)     /* afs_osinet.c */ \
+    AFS_CS(osi_NewSocket)      /* afs_osinet.c */ \
+    AFS_CS(trysblock)          /* afs_osinet.c */ \
+    AFS_CS(osi_NetSend)                /* afs_osinet.c */ \
+    AFS_CS(WaitHack)           /* afs_osinet.c */ \
+    AFS_CS(osi_CancelWait)     /* afs_osinet.c */ \
+    AFS_CS(osi_InitWaitHandle) /* afs_osinet.c */ \
+    AFS_CS(osi_Wakeup)         /* afs_osinet.c */ \
+    AFS_CS(osi_Wait)           /* afs_osinet.c */ \
+    AFS_CS(dirp_Read)          /* afs_physio.c */ \
+    AFS_CS(dirp_SetCacheDev)   /* afs_physio.c */ \
+    AFS_CS(Die)                        /* afs_physio.c */ \
+    AFS_CS(dirp_Cpy)           /* afs_physio.c */ \
+    AFS_CS(dirp_Eq)            /* afs_physio.c */ \
+    AFS_CS(dirp_Write)         /* afs_physio.c */ \
+    AFS_CS(dirp_Zap)           /* afs_physio.c */ \
+    AFS_CS(PSetVolumeStatus)   /* afs_pioctl.c */ \
+    AFS_CS(PFlush)             /* afs_pioctl.c */ \
+    AFS_CS(PNewStatMount)      /* afs_pioctl.c */ \
+    AFS_CS(PGetTokens)         /* afs_pioctl.c */ \
+    AFS_CS(PUnlog)             /* afs_pioctl.c */ \
+    AFS_CS(PCheckServers)      /* afs_pioctl.c */ \
+    AFS_CS(PMariner)           /* afs_pioctl.c */ \
+    AFS_CS(PCheckAuth)         /* afs_pioctl.c */ \
+    AFS_CS(PCheckVolNames)     /* afs_pioctl.c */ \
+    AFS_CS(PFindVolume)                /* afs_pioctl.c */ \
+    AFS_CS(Prefetch)           /* afs_pioctl.c */ \
+    AFS_CS(PGetCacheSize)      /* afs_pioctl.c */ \
+    AFS_CS(PRemoveCallBack)    /* afs_pioctl.c */ \
+    AFS_CS(PSetCacheSize)      /* afs_pioctl.c */ \
+    AFS_CS(PViceAccess)                /* afs_pioctl.c */ \
+    AFS_CS(PListCells)         /* afs_pioctl.c */ \
+    AFS_CS(PNewCell)           /* afs_pioctl.c */ \
+    AFS_CS(PRemoveMount)       /* afs_pioctl.c */ \
+    AFS_CS(HandleIoctl)                /* afs_pioctl.c */ \
+    AFS_CS(_AFSIOCTL)          /* afs_pioctl.c */ \
+    AFS_CS(_VALIDAFSIOCTL)     /* afs_pioctl.c */ \
+    AFS_CS(PGetCellStatus)     /* afs_pioctl.c */ \
+    AFS_CS(PSetCellStatus)     /* afs_pioctl.c */ \
+    AFS_CS(PVenusLogging)      /* afs_pioctl.c */ \
+    AFS_CS(PFlushVolumeData)   /* afs_pioctl.c */ \
+    AFS_CS(PSetSysName)                /* afs_pioctl.c */ \
+    AFS_CS(PExportAfs)         /* afs_pioctl.c */ \
+    AFS_CS(HandleClientContext)        /* afs_pioctl.c */ \
+    AFS_CS(afs_ioctl)          /* afs_pioctl.c */ \
+    AFS_CS(afs_xioctl)         /* afs_pioctl.c */ \
+    AFS_CS(afs_pioctl)         /* afs_pioctl.c */ \
+    AFS_CS(afs_syscall_pioctl) /* afs_pioctl.c */ \
+    AFS_CS(HandlePioctl)       /* afs_pioctl.c */ \
+    AFS_CS(PGetAcl)            /* afs_pioctl.c */ \
+    AFS_CS(PGetFID)            /* afs_pioctl.c */ \
+    AFS_CS(PSetAcl)            /* afs_pioctl.c */ \
+    AFS_CS(PBogus)             /* afs_pioctl.c */ \
+    AFS_CS(PGetFileCell)       /* afs_pioctl.c */ \
+    AFS_CS(PGetWSCell)         /* afs_pioctl.c */ \
+    AFS_CS(PNoop)              /* afs_pioctl.c */ \
+    AFS_CS(PGetUserCell)       /* afs_pioctl.c */ \
+    AFS_CS(PSetTokens)         /* afs_pioctl.c */ \
+    AFS_CS(PGetVolumeStatus)   /* afs_pioctl.c */ \
+    AFS_CS(afs_ResetAccessCache)       /* afs_resource.c */ \
+    AFS_CS(afs_FindUser)       /* afs_resource.c */ \
+    AFS_CS(afs_ResetUserConns) /* afs_resource.c */ \
+    AFS_CS(afs_ResourceInit)   /* afs_resource.c */ \
+    AFS_CS(afs_GetCell)                /* afs_resource.c */ \
+    AFS_CS(afs_GetCellByIndex) /* afs_resource.c */ \
+    AFS_CS(afs_GetCellByName)  /* afs_resource.c */ \
+    AFS_CS(afs_GetRealCellByIndex)     /* afs_resource.c */ \
+    AFS_CS(afs_NewCell)                /* afs_resource.c */ \
+    AFS_CS(afs_GetUser)                /* afs_resource.c */ \
+    AFS_CS(afs_PutUser)                /* afs_resource.c */ \
+    AFS_CS(afs_SetPrimary)     /* afs_resource.c */ \
+    AFS_CS(CheckVLDB)          /* afs_resource.c */ \
+    AFS_CS(afs_GetVolume)      /* afs_resource.c */ \
+    AFS_CS(afs_GetVolumeByName)        /* afs_resource.c */ \
+    AFS_CS(InstallVolumeEntry) /* afs_resource.c */ \
+    AFS_CS(InstallVolumeInfo)  /* afs_resource.c */ \
+    AFS_CS(afs_FindServer)     /* afs_resource.c */ \
+    AFS_CS(afs_PutVolume)      /* afs_resource.c */ \
+    AFS_CS(afs_random)         /* afs_resource.c */ \
+    AFS_CS(ranstage)           /* afs_resource.c */ \
+    AFS_CS(RemoveUserConns)    /* afs_resource.c */ \
+    AFS_CS(afs_MarinerLog)     /* afs_resource.c */ \
+    AFS_CS(afs_vtoi)           /* afs_resource.c */ \
+    AFS_CS(afs_GetServer)      /* afs_resource.c */ \
+    AFS_CS(afs_SortServers)    /* afs_resource.c */ \
+    AFS_CS(afs_Conn)           /* afs_resource.c */ \
+    AFS_CS(afs_ConnByHost)     /* afs_resource.c */ \
+    AFS_CS(afs_ConnByMHosts)   /* afs_resource.c */ \
+    AFS_CS(afs_Analyze)                /* afs_resource.c */ \
+    AFS_CS(afs_PutConn)                /* afs_resource.c */ \
+    AFS_CS(afs_ResetVolumeInfo)        /* afs_resource.c */ \
+    AFS_CS(StartLogFile)       /* afs_resource.c */ \
+    AFS_CS(afs_SetLogFile)     /* afs_resource.c */ \
+    AFS_CS(EndLogFile)         /* afs_resource.c */ \
+    AFS_CS(afs_dp)             /* afs_resource.c */ \
+    AFS_CS(fprf)               /* afs_resource.c */ \
+    AFS_CS(fprint)             /* afs_resource.c */ \
+    AFS_CS(fprintn)            /* afs_resource.c */ \
+    AFS_CS(afs_CheckLocks)     /* UNUSED */ \
+    AFS_CS(puttofile)          /* afs_resource.c */ \
+    AFS_CS(shutdown_AFS)       /* afs_resource.c */ \
+    AFS_CS(afs_CheckCacheResets)       /* afs_resource.c */ \
+    AFS_CS(afs_GCUserData)     /* afs_resource.c */ \
+    AFS_CS(VSleep)             /* afs_resource.c */ \
+    AFS_CS(afs_CheckCode)      /* afs_resource.c */ \
+    AFS_CS(afs_CopyError)      /* afs_resource.c */ \
+    AFS_CS(afs_FinalizeReq)    /* afs_resource.c */ \
+    AFS_CS(afs_cv2string)      /* afs_resource.c */ \
+    AFS_CS(afs_FindVolCache)   /* afs_resource.c */ \
+    AFS_CS(afs_GetVolCache)    /* afs_resource.c */ \
+    AFS_CS(afs_GetVolSlot)     /* afs_resource.c */ \
+    AFS_CS(afs_WriteVolCache)  /* afs_resource.c */ \
+    AFS_CS(afs_UFSGetVolSlot)  /* afs_resource.c */ \
+    AFS_CS(afs_CheckVolumeNames)       /* afs_resource.c */ \
+    AFS_CS(afs_MemGetVolSlot)  /* afs_resource.c */ \
+    AFS_CS(print_internet_address)     /* afs_resource.c */ \
+    AFS_CS(CheckVLServer)      /* afs_resource.c */ \
+    AFS_CS(HaveCallBacksFrom)  /* afs_resource.c */ \
+    AFS_CS(ServerDown)         /* afs_resource.c */ \
+    AFS_CS(afs_CheckServers)   /* afs_resource.c */ \
+    AFS_CS(afs_AddToMean)      /* UNUSED */ \
+    AFS_CS(afs_GetCMStat)      /* UNUSED */ \
+    AFS_CS(afs_getpage)                /* afs_sun_subr.c */ \
+    AFS_CS(afs_putpage)                /* afs_sun_subr.c */ \
+    AFS_CS(afs_nfsrdwr)                /* afs_sun_subr.c */ \
+    AFS_CS(afs_map)            /* afs_sun_subr.c */ \
+    AFS_CS(afs_cmp)            /* afs_sun_subr.c */ \
+    AFS_CS(afs_cntl)           /* afs_sun_subr.c */ \
+    AFS_CS(afs_dump)           /* afs_sun_subr.c */ \
+    AFS_CS(afs_realvp)         /* afs_sun_subr.c */ \
+    AFS_CS(afs_PageLeft)       /* afs_sun_subr.c */ \
+    AFS_CS(afsinit)            /* afs_vfsops.c */ \
+    AFS_CS(afs_mount)          /* afs_vfsops.c */ \
+    AFS_CS(afs_unmount)                /* afs_vfsops.c */ \
+    AFS_CS(afs_root)           /* afs_vfsops.c */ \
+    AFS_CS(afs_statfs)         /* afs_vfsops.c */ \
+    AFS_CS(afs_sync)           /* afs_vfsops.c */ \
+    AFS_CS(afs_vget)           /* afs_vfsops.c */ \
+    AFS_CS(afs_mountroot)      /* afs_vfsops.c */ \
+    AFS_CS(afs_swapvp)         /* afs_vfsops.c */ \
+    AFS_CS(afs_AddMarinerName) /* afs_vnodeops.c */ \
+    AFS_CS(afs_setpag)         /* afs_vnodeops.c */ \
+    AFS_CS(genpag)             /* afs_vnodeops.c */ \
+    AFS_CS(getpag)             /* afs_vnodeops.c */ \
+    AFS_CS(afs_GetMariner)     /* afs_vnodeops.c */ \
+    AFS_CS(afs_badop)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_index)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_noop)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_open)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_closex)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_close)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_MemWrite)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_write)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_UFSWrite)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_rdwr)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_MemRead)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_read)           /* afs_vnodeops.c */ \
+    AFS_CS(FIXUPSTUPIDINODE)   /* afs_vnodeops.c */ \
+    AFS_CS(afs_UFSRead)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_CopyOutAttrs)   /* afs_vnodeops.c */ \
+    AFS_CS(afs_getattr)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_VAttrToAS)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_setattr)                /* afs_vnodeops.c */ \
+    AFS_CS(EvalMountPoint)     /* afs_vnodeops.c */ \
+    AFS_CS(afs_access)         /* afs_vnodeops.c */ \
+    AFS_CS(ENameOK)            /* afs_vnodeops.c */ \
+    AFS_CS(HandleAtName)       /* afs_vnodeops.c */ \
+    AFS_CS(getsysname)         /* afs_vnodeops.c */ \
+    AFS_CS(strcat)             /* afs_vnodeops.c */ \
+    AFS_CS(afs_lookup)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_create)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_LocalHero)      /* afs_vnodeops.c */ \
+    AFS_CS(FetchWholeEnchilada)        /* afs_vnodeops.c */ \
+    AFS_CS(afs_remove)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_link)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_rename)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_InitReq)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_mkdir)          /* afs_vnodeops.c */ \
+    AFS_CS(BlobScan)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_rmdir)          /* afs_vnodeops.c */ \
+    AFS_CS(RecLen)             /* afs_vnodeops.c */ \
+    AFS_CS(RoundToInt)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_readdir_with_offlist)   /* afs_vnodeops.c */ \
+    AFS_CS(DIRSIZ_LEN)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_readdir_move)   /* afs_vnodeops.c */ \
+    AFS_CS(afs_readdir_iter)   /* afs_vnodeops.c */ \
+    AFS_CS(HandleFlock)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_readdir)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_symlink)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_HandleLink)     /* afs_vnodeops.c */ \
+    AFS_CS(afs_MemHandleLink)  /* afs_vnodeops.c */ \
+    AFS_CS(afs_UFSHandleLink)  /* afs_vnodeops.c */ \
+    AFS_CS(afs_readlink)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_fsync)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_inactive)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_ustrategy)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_bread)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_brelse)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_bmap)           /* afs_vnodeops.c */ \
+    AFS_CS(afs_fid)            /* afs_vnodeops.c */ \
+    AFS_CS(afs_strategy)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_FakeClose)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_FakeOpen)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_StoreOnLastReference)   /* afs_vnodeops.c */ \
+    AFS_CS(afs_GetAccessBits)  /* afs_vnodeops.c */ \
+    AFS_CS(afs_AccessOK)       /* afs_vnodeops.c */ \
+    AFS_CS(shutdown_vnodeops)  /* afs_vnodeops.c */ \
+    AFS_CS(afsio_copy)         /* afs_vnodeops.c */ \
+    AFS_CS(afsio_trim)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_page_read)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_page_write)     /* afs_vnodeops.c */ \
+    AFS_CS(afsio_skip)         /* afs_vnodeops.c */ \
+    AFS_CS(afs_read1dir)       /* afs_vnodeops.c */ \
+    AFS_CS(afs_get_groups_from_pag)    /* afs_vnodeops.c */ \
+    AFS_CS(afs_get_pag_from_groups)    /* afs_vnodeops.c */ \
+    AFS_CS(PagInCred)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_getgroups)      /* afs_vnodeops.c */ \
+    AFS_CS(setpag)             /* afs_vnodeops.c */ \
+    AFS_CS(afs_setgroups)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_page_in)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_page_out)       /* afs_vnodeops.c */ \
+    AFS_CS(AddPag)             /* afs_vnodeops.c */ \
+    AFS_CS(afs_AdvanceFD)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_lockf)          /* afs_vnodeops.c */ \
+    AFS_CS(afs_xsetgroups)     /* afs_vnodeops.c */ \
+    AFS_CS(afs_nlinks)         /* afs_vnodeops.c */ \
+    AFS_CS(DoLockWarning)      /* afs_vnodeops.c */ \
+    AFS_CS(afs_lockctl)                /* afs_vnodeops.c */ \
+    AFS_CS(afs_xflock)         /* afs_vnodeops.c */ \
+    AFS_CS(PSetSPrefs)         /* afs_pioctl.c */ \
+    AFS_CS(PGetSPrefs)         /* afs_pioctl.c */ \
+    AFS_CS(afs_warn)           /* afs_warn.c */ \
+    AFS_CS(afs_warnuser)       /* afs_warn.c */ \
+    AFS_CS(afs_pagein)         /* afs_hp_subr.c */ \
+    AFS_CS(afs_pageout)                /* afs_hp_subr.c */ \
+    AFS_CS(afs_hp_strategy)    /* afs_hp_subr.c */ \
+    AFS_CS(PGetCPrefs)         /* afs_pioctl.c */ \
+    AFS_CS(PSetCPrefs)         /* afs_pioctl.c */ \
+    AFS_CS(SRXAFSCB_WhoAreYou) /* afs_callback.c */ \
+    AFS_CS(afs_DiscardDCache)  /* afs_dcache.c */ \
+    AFS_CS(afs_FreeDiscardedDCache)    /* afs_dcache.c */ \
+    AFS_CS(afs_MaybeFreeDiscardedDCache)       /* afs_dcache.c */ \
+    AFS_CS(PFlushMount)                /* afs_pioctl.c */ \
+    AFS_CS(SRXAFSCB_GetServerPrefs)    /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetCellServDB)     /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetLocalCell)      /* afs_callback.c */ \
+    AFS_CS(afs_MarshallCacheConfig)    /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetCacheConfig)    /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetCE64)   /* afs_callback.c */ \
+    AFS_CS(SRXAFSCB_GetCellByNum)      /* afs_callback.c */ \
+    AFS_CS(BPrefetchNoCache)   /* afs_daemons.c */ \
+    AFS_CS(afs_ReadNoCache)    /* osi_vnodeops.c */ \
+    AFS_CS(PSetTokens2)                /* afs_pioctl.c */ \
+    AFS_CS(PPrefetchFromTape)   /* afs_pioctl.c */ \
+    AFS_CS(PFlushAllVolumeData)        /* afs_pioctl.c */ \
+    AFS_CS(afs_InitVolSlot)     /* afs_volume.c */ \
+    AFS_CS(afs_SetupVolSlot)    /* afs_volume.c */
+
 struct afs_CMCallStats {
-    afs_int32 C_afs_init;      /* afs_aix_subr.c*/
-    afs_int32 C_gop_rdwr;      /* afs_aix_subr.c*/
-    afs_int32 C_aix_gnode_rele;        /* afs_aix_subr.c*/
-    afs_int32 C_gettimeofday;  /* afs_aix_subr.c*/
-    afs_int32 C_m_cpytoc;      /* afs_aix_subr.c*/
-    afs_int32 C_aix_vattr_null;        /* afs_aix_subr.c*/
-    afs_int32 C_afs_gn_ftrunc; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_rdwr;   /* afs_aixops.c*/
-    afs_int32 C_afs_gn_ioctl;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_lockctl;        /* afs_aixops.c*/
-    afs_int32 C_afs_gn_readlink;       /* afs_aixops.c*/
-    afs_int32 C_afs_gn_readdir;        /* afs_aixops.c*/
-    afs_int32 C_afs_gn_select; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_strategy;       /* afs_aixops.c*/
-    afs_int32 C_afs_gn_symlink;        /* afs_aixops.c*/
-    afs_int32 C_afs_gn_revoke; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_link;   /* afs_aixops.c*/
-    afs_int32 C_afs_gn_mkdir;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_mknod;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_remove; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_rename; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_rmdir;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_fid;    /* afs_aixops.c*/
-    afs_int32 C_afs_gn_lookup; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_open;   /* afs_aixops.c*/
-    afs_int32 C_afs_gn_create; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_hold;   /* afs_aixops.c*/
-    afs_int32 C_afs_gn_close;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_map;    /* afs_aixops.c*/
-    afs_int32 C_afs_gn_rele;   /* afs_aixops.c*/
-    afs_int32 C_afs_gn_unmap;  /* afs_aixops.c*/
-    afs_int32 C_afs_gn_access; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_getattr;        /* afs_aixops.c*/
-    afs_int32 C_afs_gn_setattr;        /* afs_aixops.c*/
-    afs_int32 C_afs_gn_fclear; /* afs_aixops.c*/
-    afs_int32 C_afs_gn_fsync;  /* afs_aixops.c*/
-    afs_int32 C_pHash; /* afs_buffer.c*/
-    afs_int32 C_DInit; /* afs_buffer.c*/
-    afs_int32 C_DRead; /* afs_buffer.c*/
-    afs_int32 C_FixupBucket;   /* afs_buffer.c*/
-    afs_int32 C_afs_newslot;   /* afs_buffer.c*/
-    afs_int32 C_DRelease;      /* afs_buffer.c*/
-    afs_int32 C_DFlush;        /* afs_buffer.c*/
-    afs_int32 C_DFlushEntry;   /* afs_buffer.c*/
-    afs_int32 C_DVOffset;      /* afs_buffer.c*/
-    afs_int32 C_DZap;  /* afs_buffer.c*/
-    afs_int32 C_DNew;  /* afs_buffer.c*/
-    afs_int32 C_shutdown_bufferpackage;        /* afs_buffer.c*/
-    afs_int32 C_afs_CheckKnownBad;     /* afs_cache.c*/
-    afs_int32 C_afs_RemoveVCB; /* afs_cache.c*/
-    afs_int32 C_afs_NewVCache; /* afs_cache.c*/
-    afs_int32 C_afs_FlushActiveVcaches;        /* afs_cache.c*/
-    afs_int32 C_afs_VerifyVCache;      /* afs_cache.c*/
-    afs_int32 C_afs_WriteVCache;       /* afs_cache.c*/
-    afs_int32 C_afs_GetVCache; /* afs_cache.c*/
-    afs_int32 C_afs_StuffVcache;       /* afs_cache.c*/
-    afs_int32 C_afs_FindVCache;        /* afs_cache.c*/
-    afs_int32 C_afs_PutDCache; /* afs_cache.c*/
-    afs_int32 C_afs_PutVCache; /* afs_cache.c*/
-    afs_int32 C_CacheStoreProc;        /* afs_cache.c*/
-    afs_int32 C_afs_FindDCache;        /* afs_cache.c*/
-    afs_int32 C_afs_TryToSmush;        /* afs_cache.c*/
-    afs_int32 C_afs_AdjustSize;        /* afs_cache.c*/
-    afs_int32 C_afs_CheckSize; /* afs_cache.c*/
-    afs_int32 C_afs_StoreWarn; /* afs_cache.c*/
-    afs_int32 C_CacheFetchProc;        /* afs_cache.c*/
-    afs_int32 C_UFS_CacheStoreProc;    /* afs_cache.c*/
-    afs_int32 C_UFS_CacheFetchProc;    /* afs_cache.c*/
-    afs_int32 C_afs_GetDCache; /* afs_cache.c*/
-    afs_int32 C_afs_SimpleVStat;       /* afs_cache.c*/
-    afs_int32 C_afs_ProcessFS; /* afs_cache.c*/
-    afs_int32 C_afs_InitCacheInfo;     /* afs_cache.c*/
-    afs_int32 C_afs_InitVolumeInfo;    /* afs_cache.c*/
-    afs_int32 C_afs_InitCacheFile;     /* afs_cache.c*/
-    afs_int32 C_afs_CacheInit; /* afs_cache.c*/
-    afs_int32 C_afs_GetDSlot;  /* afs_cache.c*/
-    afs_int32 C_afs_WriteThroughDSlots;        /* afs_cache.c*/
-    afs_int32 C_afs_MemGetDSlot;       /* afs_cache.c*/
-    afs_int32 C_afs_UFSGetDSlot;       /* afs_cache.c*/
-    afs_int32 C_afs_StoreDCache;       /* afs_cache.c*/
-    afs_int32 C_afs_StoreMini; /* afs_cache.c*/
-    afs_int32 C_shutdown_cache;        /* afs_cache.c*/
-    afs_int32 C_afs_StoreAllSegments;  /* afs_cache.c*/
-    afs_int32 C_afs_InvalidateAllSegments;     /* afs_cache.c*/
-    afs_int32 C_afs_TruncateAllSegments;       /* afs_cache.c*/
-    afs_int32 C_afs_CheckVolSync;      /* afs_cache.c*/
-    afs_int32 C_afs_wakeup;    /* afs_cache.c*/
-    afs_int32 C_afs_CFileOpen; /* afs_cache.c*/
-    afs_int32 C_afs_CFileTruncate;     /* afs_cache.c*/
-    afs_int32 C_afs_GetDownD;  /* afs_cache.c*/
-    afs_int32 C_afs_WriteDCache;       /* afs_cache.c*/
-    afs_int32 C_afs_FlushDCache;       /* afs_cache.c*/
-    afs_int32 C_afs_GetDownDSlot;      /* afs_cache.c*/
-    afs_int32 C_afs_FlushVCache;       /* afs_cache.c*/
-    afs_int32 C_afs_GetDownV;  /* afs_cache.c*/
-    afs_int32 C_afs_QueueVCB;  /* afs_cache.c*/
-    afs_int32 C_afs_call;      /* afs_call.c */
-    afs_int32 C_afs_syscall_call;      /* afs_call.c*/
-    afs_int32 C_syscall;       /* afs_call.c*/
-    afs_int32 C_lpioctl;       /* afs_call.c*/
-    afs_int32 C_lsetpag;       /* afs_call.c*/
-    afs_int32 C_afs_syscall;   /* afs_call.c*/
-    afs_int32 C_afs_CheckInit; /* afs_call.c*/
-    afs_int32 C_afs_shutdown;  /* afs_call.c*/
-    afs_int32 C_shutdown_BKG;  /* afs_call.c*/
-    afs_int32 C_shutdown_afstest;      /* afs_call.c*/
-    afs_int32 C_SRXAFSCB_GetCE;        /* afs_callback.c*/
-    afs_int32 C_ClearCallBack; /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_GetLock;      /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_CallBack;     /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_InitCallBackState;    /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_Probe;        /* afs_callback.c*/
-    afs_int32 C_afs_RXCallBackServer;  /* afs_callback.c*/
-    afs_int32 C_shutdown_CB;   /* afs_callback.c*/
-    afs_int32 C_afs_Chunk;     /* afs_chunk.c*/
-    afs_int32 C_afs_ChunkBase; /* afs_chunk.c*/
-    afs_int32 C_afs_ChunkOffset;       /* afs_chunk.c*/
-    afs_int32 C_afs_ChunkSize; /* afs_chunk.c*/
-    afs_int32 C_afs_ChunkToBase;       /* afs_chunk.c*/
-    afs_int32 C_afs_ChunkToSize;       /* afs_chunk.c*/
-    afs_int32 C_afs_SetChunkSize;      /* afs_chunk.c*/
-
-    afs_int32 C_afs_config;    /* afs_config.c*/
-    afs_int32 C_mem_freebytes; /* afs_config.c*/
-    afs_int32 C_mem_getbytes;  /* afs_config.c*/
-    afs_int32 C_fpalloc;       /* afs_config.c*/
-    afs_int32 C_kluge_init;    /* afs_config.c*/
-    afs_int32 C_ufdalloc;      /* afs_config.c*/
-    afs_int32 C_ufdfree;       /* afs_config.c*/
-    afs_int32 C_commit;        /* afs_config.c*/
-    afs_int32 C_dev_ialloc;    /* afs_config.c*/
-    afs_int32 C_ffree;         /* afs_config.c*/
-    afs_int32 C_iget;          /* afs_config.c*/
-    afs_int32 C_iptovp;        /* afs_config.c*/
-    afs_int32 C_ilock; /* afs_config.c*/
-    afs_int32 C_irele; /* afs_config.c*/
-    afs_int32 C_iput;  /* afs_config.c*/
-
-    afs_int32 C_afs_Daemon;    /* afs_daemons.c*/
-    afs_int32 C_afs_CheckRootVolume;   /* afs_daemons.c*/
-    afs_int32 C_BPath;         /* afs_daemons.c*/
-    afs_int32 C_BPrefetch;     /* afs_daemons.c*/
-    afs_int32 C_BStore;        /* afs_daemons.c*/
-    afs_int32 C_afs_BBusy;     /* afs_daemons.c*/
-    afs_int32 C_afs_BQueue;    /* afs_daemons.c*/
-    afs_int32 C_afs_BRelease;  /* afs_daemons.c*/
-    afs_int32 C_afs_BackgroundDaemon;  /* afs_daemons.c*/
-    afs_int32 C_shutdown_daemons;      /* afs_daemons.c*/
-    afs_int32 C_exporter_add;  /* afs_exporter.c*/
-    afs_int32 C_exporter_find; /* afs_exporter.c*/
-    afs_int32 C_afs_gfs_kalloc;        /* afs_gfs_subr.c*/
-    afs_int32 C_IsAfsVnode;    /* afs_gfs_subr.c*/
-    afs_int32 C_SetAfsVnode;   /* afs_gfs_subr.c*/
-    afs_int32 C_afs_gfs_kfree; /* afs_gfs_subr.c*/
-    afs_int32 C_gop_lookupname;        /* afs_gfs_subr.c*/
-    afs_int32 C_gfsvop_getattr;        /* afs_gfs_subr.c*/
-    afs_int32 C_gfsvop_rdwr;   /* afs_gfs_subr.c*/
-    afs_int32 C_afs_uniqtime;  /* afs_gfs_subr.c*/
-    afs_int32 C_gfs_vattr_null;        /* afs_gfs_subr.c*/
-    afs_int32 C_afs_lock;      /* afs_gfsops.c*/
-    afs_int32 C_afs_unlock;    /* afs_gfsops.c*/
-    afs_int32 C_afs_update;    /* afs_gfsops.c*/
-    afs_int32 C_afs_gclose;    /* afs_gfsops.c*/
-    afs_int32 C_afs_gopen;     /* afs_gfsops.c*/
-    afs_int32 C_afs_greadlink; /* afs_gfsops.c*/
-    afs_int32 C_afs_select;    /* afs_gfsops.c*/
-    afs_int32 C_afs_gbmap;     /* afs_gfsops.c*/
-    afs_int32 C_afs_getfsdata; /* afs_gfsops.c*/
-    afs_int32 C_afs_gsymlink;  /* afs_gfsops.c*/
-    afs_int32 C_afs_namei;     /* afs_gfsops.c*/
-    afs_int32 C_printgnode;    /* afs_gfsops.c*/
-    afs_int32 C_HaveGFSLock;   /* afs_gfsops.c*/
-    afs_int32 C_afs_gmount;    /* afs_gfsops.c*/
-    afs_int32 C_AddGFSLock;    /* afs_gfsops.c*/
-    afs_int32 C_RemoveGFSLock; /* afs_gfsops.c*/
-    afs_int32 C_afs_grlock;    /* afs_gfsops.c*/
-    afs_int32 C_afs_gumount;   /* afs_gfsops.c*/
-    afs_int32 C_afs_gget;      /* afs_gfsops.c*/
-    afs_int32 C_afs_glink;     /* afs_gfsops.c*/
-    afs_int32 C_afs_gmkdir;    /* afs_gfsops.c*/
-    afs_int32 C_afs_sbupdate;  /* afs_gfsops.c*/
-    afs_int32 C_afs_unlink;    /* afs_gfsops.c*/
-    afs_int32 C_afs_grmdir;    /* afs_gfsops.c*/
-    afs_int32 C_afs_makenode;  /* afs_gfsops.c*/
-    afs_int32 C_afs_grename;   /* afs_gfsops.c*/
-    afs_int32 C_afs_rele;      /* afs_gfsops.c*/
-    afs_int32 C_afs_syncgp;    /* afs_gfsops.c*/
-    afs_int32 C_afs_getval;    /* afs_gfsops.c*/
-    afs_int32 C_afs_gfshack;   /* afs_gfsops.c*/
-    afs_int32 C_afs_trunc;     /* afs_gfsops.c*/
-    afs_int32 C_afs_rwgp;      /* afs_gfsops.c*/
-    afs_int32 C_afs_stat;      /* afs_gfsops.c*/
-    afs_int32 C_afsc_link;     /* afs_hp_subr.c*/
-    afs_int32 C_hpsobind;      /* afs_hp_subr.c*/
-    afs_int32 C_hpsoclose;     /* afs_hp_subr.c*/
-    afs_int32 C_hpsocreate;    /* afs_hp_subr.c*/
-    afs_int32 C_hpsoreserve;   /* afs_hp_subr.c*/
-    afs_int32 C_afs_vfs_mount; /* afs_hp_subr.c*/
-    afs_int32 C_devtovfs;      /* afs_istuff.c*/
-    afs_int32 C_igetinode;     /* afs_istuff.c*/
-    afs_int32 C_afs_syscall_iopen;     /* afs_istuff.c*/
-    afs_int32 C_iopen; /* afs_istuff.c*/
-    afs_int32 C_afs_syscall_iincdec;   /* afs_istuff.c*/
-    afs_int32 C_afs_syscall_ireadwrite;        /* afs_istuff.c*/
-    afs_int32 C_iincdec;       /* afs_istuff.c*/
-    afs_int32 C_ireadwrite;    /* afs_istuff.c*/
-    afs_int32 C_oiread;        /* afs_istuff.c*/
-    afs_int32 C_AHash; /* afs_istuff.c*/
-    afs_int32 C_QTOA;  /* afs_istuff.c*/
-    afs_int32 C_afs_FindPartByDev;     /* afs_istuff.c*/
-    afs_int32 C_aux_init;      /* afs_istuff.c*/
-    afs_int32 C_afs_GetNewPart;        /* afs_istuff.c*/
-    afs_int32 C_afs_InitAuxVolFile;    /* afs_istuff.c*/
-    afs_int32 C_afs_CreateAuxEntry;    /* afs_istuff.c*/
-    afs_int32 C_afs_GetAuxSlot;        /* afs_istuff.c*/
-    afs_int32 C_afs_GetDownAux;        /* afs_istuff.c*/
-    afs_int32 C_afs_FlushAuxCache;     /* afs_istuff.c*/
-    afs_int32 C_afs_GetAuxInode;       /* afs_istuff.c*/
-    afs_int32 C_afs_PutAuxInode;       /* afs_istuff.c*/
-    afs_int32 C_afs_ReadAuxInode;      /* afs_istuff.c*/
-    afs_int32 C_afs_WriteAuxInode;     /* afs_istuff.c*/
-    afs_int32 C_afs_auxcall;   /* afs_istuff.c*/
-    afs_int32 C_tmpdbg_auxtbl; /* afs_istuff.c*/
-    afs_int32 C_tmpdbg_parttbl;        /* afs_istuff.c*/
-    afs_int32 C_idec;  /* afs_istuff.c*/
-    afs_int32 C_iinc;  /* afs_istuff.c*/
-    afs_int32 C_iread; /* afs_istuff.c*/
-    afs_int32 C_iwrite;        /* afs_istuff.c*/
-    afs_int32 C_getinode;      /* afs_istuff.c*/
-    afs_int32 C_trygetfs;      /* afs_istuff.c*/
-    afs_int32 C_iforget;       /* afs_istuff.c*/
-    afs_int32 C_afs_syscall_icreate;   /* afs_istuff.c*/
-    afs_int32 C_icreate;       /* afs_istuff.c*/
-    afs_int32 C_Lock_Init;     /* afs_lock.c*/
-    afs_int32 C_Lock_Obtain;   /* afs_lock.c*/
-    afs_int32 C_Lock_ReleaseR; /* afs_lock.c*/
-    afs_int32 C_Lock_ReleaseW; /* afs_lock.c*/
-    afs_int32 C_afs_BozonLock; /* afs_lock.c*/
-    afs_int32 C_afs_BozonUnlock;       /* afs_lock.c*/
-    afs_int32 C_osi_SleepR;    /* afs_lock.c*/
-    afs_int32 C_osi_SleepS;    /* afs_lock.c*/
-    afs_int32 C_osi_SleepW;    /* afs_lock.c*/
-    afs_int32 C_osi_Sleep;             /* afs_lock */
-    afs_int32 C_afs_BozonInit; /* afs_lock.c*/
-    afs_int32 C_afs_CheckBozonLock;    /* afs_lock.c*/
-    afs_int32 C_afs_CheckBozonLockBlocking;    /* afs_lock.c*/
-    afs_int32 C_xxxinit;       /* afs_main.c*/
-    afs_int32 C_KernelEntry;   /* afs_main.c*/
-    afs_int32 C_afs_InitMemCache;      /* afs_memcache.c*/
-    afs_int32 C_afs_LookupMCE; /* afs_memcache.c*/
-    afs_int32 C_afs_MemReadBlk;        /* afs_memcache.c*/
-    afs_int32 C_afs_MemReadUIO;        /* afs_memcache.c*/
-    afs_int32 C_afs_MemWriteBlk;       /* afs_memcache.c*/
-    afs_int32 C_afs_MemCacheStoreProc; /* afs_memcache.c*/
-    afs_int32 C_afs_MemCacheTruncate;  /* afs_memcache.c*/
-    afs_int32 C_afs_MemWriteUIO;       /* afs_memcache.c*/
-    afs_int32 C_afs_MemCacheFetchProc; /* afs_memcache.c*/
-    afs_int32 C_afs_vnode_pager_create;        /* afs_next_aux.c*/
-    afs_int32 C_next_KernelEntry;      /* afs_next_subr.c*/
-    afs_int32 C_afs_GetNfsClientPag;   /* afs_nfsclnt.c*/
-    afs_int32 C_afs_FindNfsClientPag;  /* afs_nfsclnt.c*/
-    afs_int32 C_afs_PutNfsClientPag;   /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_reqhandler;      /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_GC;      /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_hold;    /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_stats;   /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_sysname; /* afs_nfsclnt.c*/
-    afs_int32 C_afs_nfsclient_shutdown;        /* afs_nfsclnt.c*/
-    afs_int32 C_afs_rfs_readdir_fixup; /* afs_nfssrv.c */
-    afs_int32 C_afs_rfs_dispatch;      /* afs_nfssrv.c*/
-    afs_int32 C_afs_xnfs_svc;  /* afs_nfssrv.c*/
-    afs_int32 C_afs_xdr_putrddirres;   /* afs_nfssrv.c*/
-    afs_int32 C_afs_rfs_readdir;       /* afs_nfssrv.c*/
-    afs_int32 C_afs_rfs_rddirfree;     /* afs_nfssrv.c*/
-    afs_int32 C_rfs_dupcreate; /* afs_nfssrv.c*/
-    afs_int32 C_rfs_dupsetattr;        /* afs_nfssrv.c*/
-    afs_int32 C_Nfs2AfsCall;   /* afs_nfssrv.c*/
-    afs_int32 C_afs_sun_xuntext;       /* afs_osi.c*/
-    afs_int32 C_osi_Active;    /* afs_osi.c*/
-    afs_int32 C_osi_FlushPages;        /* afs_osi.c*/
-    afs_int32 C_osi_FlushText; /* afs_osi.c*/
-    afs_int32 C_osi_CallProc;  /* afs_osi.c*/
-    afs_int32 C_osi_CancelProc;        /* afs_osi.c*/
-    afs_int32 C_osi_Invisible; /* afs_osi.c*/
-    afs_int32 C_osi_Time;      /* afs_osi.c*/
-    afs_int32 C_osi_Alloc;     /* afs_osi.c*/
-    afs_int32 C_osi_SetTime;   /* afs_osi.c*/
-    afs_int32 C_osi_Dump;      /* afs_osi.c*/
-    afs_int32 C_osi_Free;      /* afs_osi.c*/
-    afs_int32 C_shutdown_osi;  /* afs_osi.c*/
-    afs_int32 C_osi_UFSOpen;   /* afs_osifile.c*/
-    afs_int32 C_osi_Close;     /* afs_osifile.c*/
-    afs_int32 C_osi_Stat;      /* afs_osifile.c*/
-    afs_int32 C_osi_Truncate;  /* afs_osifile.c*/
-    afs_int32 C_osi_Read;      /* afs_osifile.c*/
-    afs_int32 C_osi_Write;     /* afs_osifile.c*/
-    afs_int32 C_osi_MapStrategy;       /* afs_osifile.c*/
-    afs_int32 C_shutdown_osifile;      /* afs_osifile.c*/
-    afs_int32 C_osi_FreeLargeSpace;    /* afs_osinet.c*/
-    afs_int32 C_osi_FreeSmallSpace;    /* afs_osinet.c*/
-    afs_int32 C_pkt_iodone;    /* afs_osinet.c*/
-    afs_int32 C_shutdown_osinet;       /* afs_osinet.c*/
-    afs_int32 C_afs_cs;        /* afs_osinet.c*/
-    afs_int32 C_osi_AllocLargeSpace;   /* afs_osinet.c*/
-    afs_int32 C_osi_AllocSmallSpace;   /* afs_osinet.c*/
-    afs_int32 C_osi_CloseToTheEdge;    /* afs_osinet.c*/
-    afs_int32 C_osi_xgreedy;   /* afs_osinet.c*/
-    afs_int32 C_osi_FreeSocket;        /* afs_osinet.c*/
-    afs_int32 C_osi_NewSocket; /* afs_osinet.c*/
-    afs_int32 C_trysblock;     /* afs_osinet.c*/
-    afs_int32 C_osi_NetSend;   /* afs_osinet.c*/
-    afs_int32 C_WaitHack;      /* afs_osinet.c*/
-    afs_int32 C_osi_CancelWait;        /* afs_osinet.c*/
-    afs_int32 C_osi_InitWaitHandle;    /* afs_osinet.c*/
-    afs_int32 C_osi_Wakeup;            /* afs_osinet.c*/
-    afs_int32 C_osi_Wait;      /* afs_osinet.c*/
-    afs_int32 C_dirp_Read;     /* afs_physio.c*/
-    afs_int32 C_dirp_SetCacheDev;      /* afs_physio.c*/
-    afs_int32 C_Die;   /* afs_physio.c*/
-    afs_int32 C_dirp_Cpy;      /* afs_physio.c*/
-    afs_int32 C_dirp_Eq;       /* afs_physio.c*/
-    afs_int32 C_dirp_Write;    /* afs_physio.c*/
-    afs_int32 C_dirp_Zap;      /* afs_physio.c*/
-    afs_int32 C_PSetVolumeStatus;      /* afs_pioctl.c*/
-    afs_int32 C_PFlush;        /* afs_pioctl.c*/
-    afs_int32 C_PNewStatMount; /* afs_pioctl.c*/
-    afs_int32 C_PGetTokens;    /* afs_pioctl.c*/
-    afs_int32 C_PUnlog;        /* afs_pioctl.c*/
-    afs_int32 C_PCheckServers; /* afs_pioctl.c*/
-    afs_int32 C_PMariner;      /* afs_pioctl.c*/
-    afs_int32 C_PCheckAuth;    /* afs_pioctl.c*/
-    afs_int32 C_PCheckVolNames;        /* afs_pioctl.c*/
-    afs_int32 C_PFindVolume;   /* afs_pioctl.c*/
-    afs_int32 C_Prefetch;      /* afs_pioctl.c*/
-    afs_int32 C_PGetCacheSize; /* afs_pioctl.c*/
-    afs_int32 C_PRemoveCallBack;       /* afs_pioctl.c*/
-    afs_int32 C_PSetCacheSize; /* afs_pioctl.c*/
-    afs_int32 C_PViceAccess;   /* afs_pioctl.c*/
-    afs_int32 C_PListCells;    /* afs_pioctl.c*/
-    afs_int32 C_PNewCell;      /* afs_pioctl.c*/
-    afs_int32 C_PRemoveMount;  /* afs_pioctl.c*/
-    afs_int32 C_HandleIoctl;   /* afs_pioctl.c*/
-    afs_int32 C__AFSIOCTL;     /* afs_pioctl.c*/
-    afs_int32 C__VALIDAFSIOCTL;        /* afs_pioctl.c*/
-    afs_int32 C_PGetCellStatus;        /* afs_pioctl.c*/
-    afs_int32 C_PSetCellStatus;        /* afs_pioctl.c*/
-    afs_int32 C_PVenusLogging; /* afs_pioctl.c*/
-    afs_int32 C_PFlushVolumeData;      /* afs_pioctl.c*/
-    afs_int32 C_PSetSysName;   /* afs_pioctl.c*/
-    afs_int32 C_PExportAfs;    /* afs_pioctl.c*/
-    afs_int32 C_HandleClientContext;   /* afs_pioctl.c*/
-    afs_int32 C_afs_ioctl;     /* afs_pioctl.c*/
-    afs_int32 C_afs_xioctl;    /* afs_pioctl.c*/
-    afs_int32 C_afs_pioctl;    /* afs_pioctl.c*/
-    afs_int32 C_afs_syscall_pioctl;    /* afs_pioctl.c*/
-    afs_int32 C_HandlePioctl;  /* afs_pioctl.c*/
-    afs_int32 C_PGetAcl;       /* afs_pioctl.c*/
-    afs_int32 C_PGetFID;       /* afs_pioctl.c*/
-    afs_int32 C_PSetAcl;       /* afs_pioctl.c*/
-    afs_int32 C_PBogus;        /* afs_pioctl.c*/
-    afs_int32 C_PGetFileCell;  /* afs_pioctl.c*/
-    afs_int32 C_PGetWSCell;    /* afs_pioctl.c*/
-    afs_int32 C_PNoop; /* afs_pioctl.c*/
-    afs_int32 C_PGetUserCell;  /* afs_pioctl.c*/
-    afs_int32 C_PSetTokens;    /* afs_pioctl.c*/
-    afs_int32 C_PGetVolumeStatus;      /* afs_pioctl.c*/
-    afs_int32 C_afs_ResetAccessCache;  /* afs_resource.c*/
-    afs_int32 C_afs_FindUser;  /* afs_resource.c*/
-    afs_int32 C_afs_ResetUserConns;    /* afs_resource.c*/
-    afs_int32 C_afs_ResourceInit;      /* afs_resource.c*/
-    afs_int32 C_afs_GetCell;   /* afs_resource.c*/
-    afs_int32 C_afs_GetCellByIndex;    /* afs_resource.c*/
-    afs_int32 C_afs_GetCellByName;     /* afs_resource.c*/
-    afs_int32 C_afs_NewCell;   /* afs_resource.c*/
-    afs_int32 C_afs_GetUser;   /* afs_resource.c*/
-    afs_int32 C_afs_PutUser;   /* afs_resource.c*/
-    afs_int32 C_afs_SetPrimary;        /* afs_resource.c*/
-    afs_int32 C_CheckVLDB;     /* afs_resource.c*/
-    afs_int32 C_afs_GetVolume; /* afs_resource.c*/
-    afs_int32 C_afs_GetVolumeByName;   /* afs_resource.c*/
-    afs_int32 C_InstallVolumeEntry;    /* afs_resource.c*/
-    afs_int32 C_InstallVolumeInfo;     /* afs_resource.c*/
-    afs_int32 C_afs_FindServer;        /* afs_resource.c*/
-    afs_int32 C_afs_PutVolume; /* afs_resource.c*/
-    afs_int32 C_afs_random;    /* afs_resource.c*/
-    afs_int32 C_ranstage;      /* afs_resource.c*/
-    afs_int32 C_RemoveUserConns;       /* afs_resource.c*/
-    afs_int32 C_afs_MarinerLog;        /* afs_resource.c*/
-    afs_int32 C_afs_vtoi;      /* afs_resource.c*/
-    afs_int32 C_afs_GetServer; /* afs_resource.c*/
-    afs_int32 C_afs_SortServers;       /* afs_resource.c*/
-    afs_int32 C_afs_Conn;      /* afs_resource.c*/
-    afs_int32 C_afs_ConnByHost;        /* afs_resource.c*/
-    afs_int32 C_afs_ConnByMHosts;      /* afs_resource.c*/
-    afs_int32 C_afs_Analyze;   /* afs_resource.c*/
-    afs_int32 C_afs_PutConn;   /* afs_resource.c*/
-    afs_int32 C_afs_ResetVolumeInfo;   /* afs_resource.c*/
-    afs_int32 C_StartLogFile;  /* afs_resource.c*/
-    afs_int32 C_afs_SetLogFile;        /* afs_resource.c*/
-    afs_int32 C_EndLogFile;    /* afs_resource.c*/
-    afs_int32 C_afs_dp;        /* afs_resource.c*/
-    afs_int32 C_fprf;  /* afs_resource.c*/
-    afs_int32 C_fprint;        /* afs_resource.c*/
-    afs_int32 C_fprintn;       /* afs_resource.c*/
-    afs_int32 C_afs_CheckLocks;        /* afs_resource.c*/
-    afs_int32 C_puttofile;     /* afs_resource.c*/
-    afs_int32 C_shutdown_AFS;  /* afs_resource.c*/
-    afs_int32 C_afs_CheckCacheResets;  /* afs_resource.c*/
-    afs_int32 C_afs_GCUserData;        /* afs_resource.c*/
-    afs_int32 C_VSleep;        /* afs_resource.c*/
-    afs_int32 C_afs_CheckCode; /* afs_resource.c*/
-    afs_int32 C_afs_CopyError; /* afs_resource.c*/
-    afs_int32 C_afs_FinalizeReq;       /* afs_resource.c*/
-    afs_int32 C_afs_cv2string; /* afs_resource.c*/
-    afs_int32 C_afs_FindVolCache;      /* afs_resource.c*/
-    afs_int32 C_afs_GetVolCache;       /* afs_resource.c*/
-    afs_int32 C_afs_GetVolSlot;        /* afs_resource.c*/
-    afs_int32 C_afs_WriteVolCache;     /* afs_resource.c*/
-    afs_int32 C_afs_UFSGetVolSlot;     /* afs_resource.c*/
-    afs_int32 C_afs_CheckVolumeNames;  /* afs_resource.c*/
-    afs_int32 C_afs_MemGetVolSlot;     /* afs_resource.c*/
-    afs_int32 C_print_internet_address;        /* afs_resource.c*/
-    afs_int32 C_CheckVLServer; /* afs_resource.c*/
-    afs_int32 C_HaveCallBacksFrom;     /* afs_resource.c*/
-    afs_int32 C_ServerDown;    /* afs_resource.c*/
-    afs_int32 C_afs_CheckServers;      /* afs_resource.c*/
-    afs_int32 C_afs_AddToMean; /* afs_stat.c*/
-    afs_int32 C_afs_GetCMStat; /* afs_stat.c*/
-    afs_int32 C_afs_getpage;   /* afs_sun_subr.c*/
-    afs_int32 C_afs_putpage;   /* afs_sun_subr.c*/
-    afs_int32 C_afs_nfsrdwr;   /* afs_sun_subr.c*/
-    afs_int32 C_afs_map;       /* afs_sun_subr.c*/
-    afs_int32 C_afs_cmp;       /* afs_sun_subr.c*/
-    afs_int32 C_afs_cntl;      /* afs_sun_subr.c*/
-    afs_int32 C_afs_dump;      /* afs_sun_subr.c*/
-    afs_int32 C_afs_realvp;    /* afs_sun_subr.c*/
-    afs_int32 C_afs_PageLeft;  /* afs_sun_subr.c*/
-    afs_int32 C_afsinit;       /* afs_vfsops.c*/
-    afs_int32 C_afs_mount;     /* afs_vfsops.c*/
-    afs_int32 C_afs_unmount;   /* afs_vfsops.c*/
-    afs_int32 C_afs_root;      /* afs_vfsops.c*/
-    afs_int32 C_afs_statfs;    /* afs_vfsops.c*/
-    afs_int32 C_afs_sync;      /* afs_vfsops.c*/
-    afs_int32 C_afs_vget;      /* afs_vfsops.c*/
-    afs_int32 C_afs_mountroot; /* afs_vfsops.c*/
-    afs_int32 C_afs_swapvp;    /* afs_vfsops.c*/
-    afs_int32 C_afs_AddMarinerName;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_setpag;    /* afs_vnodeops.c*/
-    afs_int32 C_genpag;        /* afs_vnodeops.c*/
-    afs_int32 C_getpag;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_GetMariner;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_badop;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_index;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_noop;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_open;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_closex;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_close;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_MemWrite;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_write;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_UFSWrite;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_rdwr;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_MemRead;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_read;      /* afs_vnodeops.c*/
-    afs_int32 C_FIXUPSTUPIDINODE;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_UFSRead;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_CopyOutAttrs;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_getattr;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_VAttrToAS; /* afs_vnodeops.c*/
-    afs_int32 C_afs_setattr;   /* afs_vnodeops.c*/
-    afs_int32 C_EvalMountPoint;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_access;    /* afs_vnodeops.c*/
-    afs_int32 C_ENameOK;       /* afs_vnodeops.c*/
-    afs_int32 C_HandleAtName;  /* afs_vnodeops.c*/
-    afs_int32 C_getsysname;    /* afs_vnodeops.c*/
-    afs_int32 C_strcat;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_lookup;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_create;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_LocalHero; /* afs_vnodeops.c*/
-    afs_int32 C_FetchWholeEnchilada;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_remove;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_link;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_rename;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_InitReq;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_mkdir;     /* afs_vnodeops.c*/
-    afs_int32 C_BlobScan;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_rmdir;     /* afs_vnodeops.c*/
-    afs_int32 C_RecLen;        /* afs_vnodeops.c*/
-    afs_int32 C_RoundToInt;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_readdir_with_offlist;      /* afs_vnodeops.c*/
-    afs_int32 C_DIRSIZ_LEN;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_readdir_move;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_readdir_iter;      /* afs_vnodeops.c*/
-    afs_int32 C_HandleFlock;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_readdir;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_symlink;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_HandleLink;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_MemHandleLink;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_UFSHandleLink;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_readlink;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_fsync;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_inactive;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_ustrategy; /* afs_vnodeops.c*/
-    afs_int32 C_afs_bread;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_brelse;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_bmap;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_fid;       /* afs_vnodeops.c*/
-    afs_int32 C_afs_strategy;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_FakeClose; /* afs_vnodeops.c*/
-    afs_int32 C_afs_FakeOpen;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_StoreOnLastReference;      /* afs_vnodeops.c*/
-    afs_int32 C_afs_GetAccessBits;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_AccessOK;  /* afs_vnodeops.c*/
-    afs_int32 C_shutdown_vnodeops;     /* afs_vnodeops.c*/
-    afs_int32 C_afsio_copy;    /* afs_vnodeops.c*/
-    afs_int32 C_afsio_trim;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_page_read; /* afs_vnodeops.c*/
-    afs_int32 C_afs_page_write;        /* afs_vnodeops.c*/
-    afs_int32 C_afsio_skip;    /* afs_vnodeops.c*/
-    afs_int32 C_afs_read1dir;  /* afs_vnodeops.c*/
-    afs_int32 C_afs_get_groups_from_pag;       /* afs_vnodeops.c*/
-    afs_int32 C_afs_get_pag_from_groups;       /* afs_vnodeops.c*/
-    afs_int32 C_PagInCred;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_getgroups; /* afs_vnodeops.c*/
-    afs_int32 C_setpag;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_setgroups; /* afs_vnodeops.c*/
-    afs_int32 C_afs_page_in;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_page_out;  /* afs_vnodeops.c*/
-    afs_int32 C_AddPag;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_AdvanceFD; /* afs_vnodeops.c*/
-    afs_int32 C_afs_lockf;     /* afs_vnodeops.c*/
-    afs_int32 C_afs_xsetgroups;        /* afs_vnodeops.c*/
-    afs_int32 C_afs_nlinks;    /* afs_vnodeops.c*/
-    afs_int32 C_DoLockWarning; /* afs_vnodeops.c*/
-    afs_int32 C_afs_lockctl;   /* afs_vnodeops.c*/
-    afs_int32 C_afs_xflock;    /* afs_vnodeops.c*/
-    afs_int32 C_PSetSPrefs;    /* afs_pioctl.c*/
-    afs_int32 C_PGetSPrefs;    /* afs_pioctl.c*/
-    afs_int32 C_afs_warn;     /* afs_resource.c */
-    afs_int32 C_afs_warnuser; /* afs_resource.c */
-    afs_int32 C_afs_pagein;    /* afs_hp_subr.c*/
-    afs_int32 C_afs_pageout;   /* afs_hp_subr.c*/
-    afs_int32 C_afs_hp_strategy;       /* afs_hp_subr.c*/
-    afs_int32 C_PGetCPrefs;         /* afs_pioctl.c */
-    afs_int32 C_PSetCPrefs;            /* afs_pioctl.c */
-    afs_int32 C_SRXAFSCB_WhoAreYou;    /* afs_callback.c*/
-    afs_int32 C_afs_DiscardDCache;     /* afs_dcache.c*/
-    afs_int32 C_afs_FreeDiscardedDCache;       /* afs_dcache.c*/
-    afs_int32 C_afs_MaybeFreeDiscardedDCache; /* afs_dcache.c*/
-    afs_int32 C_PFlushMount;   /* afs_pioctl.c */
-    afs_int32 C_SRXAFSCB_GetServerPrefs;       /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_GetCellServDB;        /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_GetLocalCell; /* afs_callback.c*/
-    afs_int32 C_afs_MarshallCacheConfig;       /* afs_callback.c*/
-    afs_int32 C_SRXAFSCB_GetCacheConfig;       /* afs_callback.c*/
+#define AFS_CS(call) afs_int32 C_ ## call;
+    AFS_CM_CALL_STATS
+#undef AFS_CS
 };
 
 struct afs_CMMeanStats {
-    struct afs_MeanStats something; /* fill this in */
+    struct afs_MeanStats something;    /* fill this in */
 };
 
 struct afs_CMStats {
@@ -665,12 +694,12 @@ extern struct afs_CMStats afs_cmstats;
  */
 #define AFS_STATS_NUM_DOWNTIME_DURATION_BUCKETS       7
 
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET0     600        /*10 minutes*/
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET1    1800        /*30 minutes*/
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET2    3600        /*60 minutes*/
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET3    7200        /*2 hours*/
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET4   14400        /*4 hours*/
-#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET5   28800        /*8 hours*/
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET0     600        /*10 minutes */
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET1    1800        /*30 minutes */
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET2    3600        /*60 minutes */
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET3    7200        /*2 hours */
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET4   14400        /*4 hours */
+#define AFS_STATS_MAX_DOWNTIME_DURATION_BUCKET5   28800        /*8 hours */
 
 /*
  * Constants to track downtime incidents:
@@ -696,18 +725,18 @@ extern struct afs_CMStats afs_cmstats;
  * and those outside the client's cell.
  */
 struct afs_stats_SrvUpDownInfo {
-    afs_int32 numTtlRecords;           /*# records, active or inactive*/
-    afs_int32 numUpRecords;            /*# (active) records currently marked up*/
-    afs_int32 numDownRecords;  /*# (active) records currently marked down*/
-    afs_int32 sumOfRecordAges; /*Sum of server record lifetimes*/
-    afs_int32 ageOfYoungestRecord;     /*Age of youngest server record*/
-    afs_int32 ageOfOldestRecord;       /*Age of oldest server record*/
-    afs_int32 numDowntimeIncidents;    /*Number of (completed) downtime incidents*/
-    afs_int32 numRecordsNeverDown;     /*Number of server records never marked down*/
-    afs_int32 maxDowntimesInARecord;   /*Max downtimes seen by any record*/
-    afs_int32 sumOfDowntimes;  /*Sum of all (completed) downtimes, in seconds*/
-    afs_int32 shortestDowntime;        /*Shortest downtime, in seconds*/
-    afs_int32 longestDowntime; /*Longest downtime, in seconds*/
+    afs_int32 numTtlRecords;   /*# records, active or inactive */
+    afs_int32 numUpRecords;    /*# (active) records currently marked up */
+    afs_int32 numDownRecords;  /*# (active) records currently marked down */
+    afs_int32 sumOfRecordAges; /*Sum of server record lifetimes */
+    afs_int32 ageOfYoungestRecord;     /*Age of youngest server record */
+    afs_int32 ageOfOldestRecord;       /*Age of oldest server record */
+    afs_int32 numDowntimeIncidents;    /*Number of (completed) downtime incidents */
+    afs_int32 numRecordsNeverDown;     /*Number of server records never marked down */
+    afs_int32 maxDowntimesInARecord;   /*Max downtimes seen by any record */
+    afs_int32 sumOfDowntimes;  /*Sum of all (completed) downtimes, in seconds */
+    afs_int32 shortestDowntime;        /*Shortest downtime, in seconds */
+    afs_int32 longestDowntime; /*Longest downtime, in seconds */
     /*
      * Arrays keeping distributions on downtime durations and number of
      * downtime incidents.
@@ -726,39 +755,39 @@ struct afs_stats_SrvUpDownInfo {
  * Performance numbers for the Cache Manager.
  */
 struct afs_stats_CMPerf {
-    afs_int32 numPerfCalls;            /*# of performance calls rcvd*/
-
-    afs_int32 epoch;                   /*Cache Manager epoch time*/
-    afs_int32 numCellsVisible; /*# cells we know about*/
-    afs_int32 numCellsContacted;       /*# cells corresponded with*/
-    afs_int32 dlocalAccesses;  /*# data accesses to files within cell*/
-    afs_int32 vlocalAccesses;  /*# stat accesses to files within cell*/
-    afs_int32 dremoteAccesses; /*# data accesses to files outside of cell*/
-    afs_int32 vremoteAccesses; /*# stat accesses to files outside of cell*/
-    afs_int32 cacheNumEntries; /*# cache entries*/
-    afs_int32 cacheBlocksTotal;        /*# (1K) blocks configured for cache*/
-    afs_int32 cacheBlocksInUse;        /*# cache blocks actively in use*/
-    afs_int32 cacheBlocksOrig; /*# cache blocks at bootup*/
-    afs_int32 cacheMaxDirtyChunks;     /*Max # dirty cache chunks tolerated*/
-    afs_int32 cacheCurrDirtyChunks;    /*Current # dirty cache chunks*/
-    afs_int32 dcacheHits;              /*# data files found in local cache*/
-    afs_int32 vcacheHits;              /*# stat entries found in local cache*/
-    afs_int32 dcacheMisses;            /*# data files NOT found in local cache*/
-    afs_int32 vcacheMisses;            /*# stat entries NOT found in local cache*/
-    afs_int32 cacheFlushes;            /*# files flushed from cache*/
-    afs_int32 cacheFilesReused;        /*# cache files reused*/
-    afs_int32 ProtServerAddr;  /*Addr of Protection Server used*/
-    afs_int32 vcacheXAllocs;           /* Additionally allocated vcaches */
-    afs_int32 dcacheXAllocs;           /* Additionally allocated dcaches */
+    afs_int32 numPerfCalls;    /*# of performance calls rcvd */
+
+    afs_int32 epoch;           /*Cache Manager epoch time */
+    afs_int32 numCellsVisible; /*# cells we know about */
+    afs_int32 numCellsContacted;       /*# cells corresponded with */
+    afs_int32 dlocalAccesses;  /*# data accesses to files within cell */
+    afs_int32 vlocalAccesses;  /*# stat accesses to files within cell */
+    afs_int32 dremoteAccesses; /*# data accesses to files outside of cell */
+    afs_int32 vremoteAccesses; /*# stat accesses to files outside of cell */
+    afs_int32 cacheNumEntries; /*# cache entries */
+    afs_int32 cacheBlocksTotal;        /*# (1K) blocks configured for cache */
+    afs_int32 cacheBlocksInUse;        /*# cache blocks actively in use */
+    afs_int32 cacheBlocksOrig; /*# cache blocks at bootup */
+    afs_int32 cacheMaxDirtyChunks;     /*Max # dirty cache chunks tolerated */
+    afs_int32 cacheCurrDirtyChunks;    /*Current # dirty cache chunks */
+    afs_int32 dcacheHits;      /*# data files found in local cache */
+    afs_int32 vcacheHits;      /*# stat entries found in local cache */
+    afs_int32 dcacheMisses;    /*# data files NOT found in local cache */
+    afs_int32 vcacheMisses;    /*# stat entries NOT found in local cache */
+    afs_int32 cacheFlushes;    /*# files flushed from cache */
+    afs_int32 cacheFilesReused;        /*# cache files reused */
+    afs_int32 ProtServerAddr;  /*Addr of Protection Server used */
+    afs_int32 vcacheXAllocs;   /* Additionally allocated vcaches */
+    afs_int32 dcacheXAllocs;   /* Additionally allocated dcaches */
 
     /*
      * Some stats related to our buffer package
      */
-    afs_int32 bufAlloced;              /* # of buffers allocated by afs */
+    afs_int32 bufAlloced;      /* # of buffers allocated by afs */
     afs_int32 bufHits;         /* # of pages found on buffer cache */
-    afs_int32 bufMisses;               /* # of pages NOT found on buffer cache */
-    afs_int32 bufFlushDirty;           /* # of cached dirty bufs flushed because all busy */
-     
+    afs_int32 bufMisses;       /* # of pages NOT found on buffer cache */
+    afs_int32 bufFlushDirty;   /* # of cached dirty bufs flushed because all busy */
+
     /*
      * Stats that keep track of all allocated/used objects in CM
      */
@@ -776,9 +805,9 @@ struct afs_stats_CMPerf {
     /*
      * Accounting stats having to do with the server table & records.
      */
-    afs_int32 srvRecords;              /*# of servers currently on record*/
-    afs_int32 srvRecordsHWM;           /* Server record high water mark */
-    afs_int32 srvNumBuckets;           /* Num server hash chain buckets */
+    afs_int32 srvRecords;      /*# of servers currently on record */
+    afs_int32 srvRecordsHWM;   /* Server record high water mark */
+    afs_int32 srvNumBuckets;   /* Num server hash chain buckets */
     afs_int32 srvMaxChainLength;       /* Max server hash chain length */
     afs_int32 srvMaxChainLengthHWM;    /* Server hash chain high water mark */
 
@@ -786,7 +815,7 @@ struct afs_stats_CMPerf {
      * Stats having to do with the systype upon which the Cache Manager
      * is running.
      */
-    afs_int32 sysName_ID;              /*Sysname ID for host hardware*/
+    afs_int32 sysName_ID;      /*Sysname ID for host hardware */
 
     /*
      * Stats recording downtime characteristics for each File Server and Volume
@@ -799,10 +828,14 @@ struct afs_stats_CMPerf {
     afs_uint32 cbloops;
     afs_uint32 osiread_efaults;
     afs_int32 cacheBlocksDiscarded;    /*# cache blocks free but not truncated */
+    afs_int32 cacheBucket0_Discarded;
+    afs_int32 cacheBucket1_Discarded;
+    afs_int32 cacheBucket2_Discarded;
+
     /*
      * Spares for future expansion.
      */
-    afs_int32 spare[13];               /*Spares*/
+    afs_int32 spare[10];       /*Spares */
 };
 
 
@@ -840,7 +873,10 @@ struct afs_stats_CMPerf {
 #define AFS_STATS_FS_RPCIDX_XLOOKUP             28
 #define AFS_STATS_FS_RPCIDX_RESIDENCYRPCS       29
 
-#define AFS_STATS_NUM_FS_RPC_OPS               29
+#define AFS_STATS_NUM_FS_RPC_OPS               30
+
+#define AFS_STATS_FS_RPCIDXES_ISWRITE(X)        (((X > AFS_STATS_FS_RPCIDX_FETCHSTATUS) && (X < AFS_STATS_FS_RPCIDX_GETSTATISTICS)) || (X == AFS_STATS_FS_RPCIDX_SETVOLUMESTATUS))
+#define AFS_STATS_FS_RPCIDXES_WRITE_RETRIABLE(X) ((X >= AFS_STATS_FS_RPCIDX_STOREDATA) && (X <= AFS_STATS_FS_RPCIDX_STORESTATUS))
 
 #define AFS_STATS_FS_XFERIDX_FETCHDATA          0
 #define AFS_STATS_FS_XFERIDX_STOREDATA          1
@@ -862,12 +898,12 @@ struct afs_stats_CMPerf {
  * Record to track timing numbers for each Cache Manager RPC operation.
  */
 struct afs_stats_opTimingData {
-    afs_int32 numOps;                  /*Number of operations executed*/
-    afs_int32 numSuccesses;                    /*Number of successful ops*/
-    osi_timeval_t sumTime;             /*Sum of sample timings*/
-    osi_timeval_t sqrTime;             /*Sum of squares of sample timings */
-    osi_timeval_t minTime;             /*Minimum timing value observed*/
-    osi_timeval_t maxTime;             /*Minimum timing value observed*/
+    afs_int32 numOps;          /*Number of operations executed */
+    afs_int32 numSuccesses;    /*Number of successful ops */
+    osi_timeval32_t sumTime;   /*Sum of sample timings */
+    osi_timeval32_t sqrTime;   /*Sum of squares of sample timings */
+    osi_timeval32_t minTime;   /*Minimum timing value observed */
+    osi_timeval32_t maxTime;   /*Minimum timing value observed */
 };
 
 /*
@@ -888,16 +924,16 @@ struct afs_stats_opTimingData {
  * Record to track timings and byte sizes for data transfers.
  */
 struct afs_stats_xferData {
-    afs_int32 numXfers;                            /*Number of successful xfers*/
-    afs_int32 numSuccesses;                        /*Number of successful xfers*/
-    osi_timeval_t sumTime;                 /*Sum of timing values*/
-    osi_timeval_t sqrTime;                 /*Sum of squares of timing values */
-    osi_timeval_t minTime;                 /*Minimum xfer time recorded*/
-    osi_timeval_t maxTime;                 /*Maximum xfer time recorded*/
-    afs_int32 sumBytes;                            /*Sum of KBytes transferred*/
-    afs_int32 minBytes;                            /*Minimum value observed*/
-    afs_int32 maxBytes;                            /*Maximum value observed*/
-    afs_int32 count[AFS_STATS_NUM_XFER_BUCKETS]; /*Tally for each range of bytes*/
+    afs_int32 numXfers;                /*Number of successful xfers */
+    afs_int32 numSuccesses;    /*Number of successful xfers */
+    osi_timeval32_t sumTime;   /*Sum of timing values */
+    osi_timeval32_t sqrTime;   /*Sum of squares of timing values */
+    osi_timeval32_t minTime;   /*Minimum xfer time recorded */
+    osi_timeval32_t maxTime;   /*Maximum xfer time recorded */
+    afs_int32 sumBytes;                /*Sum of KBytes transferred */
+    afs_int32 minBytes;                /*Minimum value observed */
+    afs_int32 maxBytes;                /*Maximum value observed */
+    afs_int32 count[AFS_STATS_NUM_XFER_BUCKETS];       /*Tally for each range of bytes */
 };
 
 /*
@@ -987,7 +1023,7 @@ struct afs_stats_xferData {
  * integer portion (this will be taken care of when we ensure that y'
  * is less than 1000000).
  *
- * The only other non-obvious calculation involves y^2.  The key to 
+ * The only other non-obvious calculation involves y^2.  The key to
  * understanding this part of the calculation is to expand y again
  * in a nonobvious manner.  We do this via the following expansion:
  *
@@ -1044,12 +1080,12 @@ struct afs_stats_xferData {
  * Structure recording RPC outcomes.
  */
 struct afs_stats_RPCErrors {
-    afs_int32 err_Server;                      /*Server down error*/
-    afs_int32 err_Network;                     /*Network error*/
-    afs_int32 err_Protection;          /*Protection violation*/
-    afs_int32 err_Volume;                      /*Volume-related error*/
-    afs_int32 err_VolumeBusies;                /*"Volume busy conditions encountered*/
-    afs_int32 err_Other;                       /*Misc other errors*/
+    afs_int32 err_Server;      /*Server down error */
+    afs_int32 err_Network;     /*Network error */
+    afs_int32 err_Protection;  /*Protection violation */
+    afs_int32 err_Volume;      /*Volume-related error */
+    afs_int32 err_VolumeBusies;        /*"Volume busy conditions encountered */
+    afs_int32 err_Other;       /*Misc other errors */
 };
 
 
@@ -1058,13 +1094,13 @@ struct afs_stats_RPCErrors {
  */
 struct afs_stats_RPCOpInfo {
     struct afs_stats_opTimingData
-       fsRPCTimes[AFS_STATS_NUM_FS_RPC_OPS];   /*Individual FS RPC op timings*/
+      fsRPCTimes[AFS_STATS_NUM_FS_RPC_OPS];    /*Individual FS RPC op timings */
     struct afs_stats_RPCErrors
-       fsRPCErrors[AFS_STATS_NUM_FS_RPC_OPS];  /*Individual FS RPC op errors*/
+      fsRPCErrors[AFS_STATS_NUM_FS_RPC_OPS];   /*Individual FS RPC op errors */
     struct afs_stats_xferData
-       fsXferTimes[AFS_STATS_NUM_FS_XFER_OPS]; /*Individual FS RPC xfer timings*/
+      fsXferTimes[AFS_STATS_NUM_FS_XFER_OPS];  /*Individual FS RPC xfer timings */
     struct afs_stats_opTimingData
-       cmRPCTimes[AFS_STATS_NUM_CM_RPC_OPS];   /*Individual CM RPC op timings*/
+      cmRPCTimes[AFS_STATS_NUM_CM_RPC_OPS];    /*Individual CM RPC op timings */
 };
 
 /*
@@ -1075,25 +1111,25 @@ struct afs_stats_AuthentInfo {
      * This first set of fields don't have any history - they are simply
      * snapshots of the system at the time of the probe.
      */
-    afs_int32 curr_PAGs;               /*Current number of PAGs*/
-    afs_int32 curr_Records;            /*Current # of records in table*/
+    afs_int32 curr_PAGs;       /*Current number of PAGs */
+    afs_int32 curr_Records;    /*Current # of records in table */
     afs_int32 curr_AuthRecords;        /*Current # of authenticated
-                                 records (w/valid ticket)*/
+                                * records (w/valid ticket) */
     afs_int32 curr_UnauthRecords;      /*Current # of unauthenticated
-                                 records (w/o any ticket at all)*/
-    afs_int32 curr_MaxRecordsInPAG;    /*Max records for a single PAG*/
-    afs_int32 curr_LongestChain;       /*Length of longest current hash chain*/
+                                        * records (w/o any ticket at all) */
+    afs_int32 curr_MaxRecordsInPAG;    /*Max records for a single PAG */
+    afs_int32 curr_LongestChain;       /*Length of longest current hash chain */
 
     /*
      * This second set of fields are values accumulated over the lifetme
      * of the current CM incarnation.
      */
-    afs_int32 PAGCreations;            /*# PAG creations*/
-    afs_int32 TicketUpdates;           /*# ticket additions/refreshes*/
-    afs_int32 HWM_PAGs;                /*High water mark - # PAGs*/
-    afs_int32 HWM_Records;             /* " - # records*/
-    afs_int32 HWM_MaxRecordsInPAG;     /* " - max records for a single PAG*/
-    afs_int32 HWM_LongestChain;        /* " - longest hash chain*/
+    afs_int32 PAGCreations;    /*# PAG creations */
+    afs_int32 TicketUpdates;   /*# ticket additions/refreshes */
+    afs_int32 HWM_PAGs;                /*High water mark - # PAGs */
+    afs_int32 HWM_Records;     /* " - # records */
+    afs_int32 HWM_MaxRecordsInPAG;     /* " - max records for a single PAG */
+    afs_int32 HWM_LongestChain;        /* " - longest hash chain */
 };
 
 /*
@@ -1102,11 +1138,11 @@ struct afs_stats_AuthentInfo {
  * case of failure.
  */
 struct afs_stats_AccessInfo {
-    afs_int32 unreplicatedRefs;                /*# references to unreplicated data*/
-    afs_int32 replicatedRefs;          /*# references to replicated data*/
-    afs_int32 numReplicasAccessed;             /*# replicas accessed*/
-    afs_int32 maxReplicasPerRef;               /*Max # replicas accessed per ref*/
-    afs_int32 refFirstReplicaOK;               /*# references satisfied by 1st replica*/
+    afs_int32 unreplicatedRefs;        /*# references to unreplicated data */
+    afs_int32 replicatedRefs;  /*# references to replicated data */
+    afs_int32 numReplicasAccessed;     /*# replicas accessed */
+    afs_int32 maxReplicasPerRef;       /*Max # replicas accessed per ref */
+    afs_int32 refFirstReplicaOK;       /*# references satisfied by 1st replica */
 };
 
 /*
@@ -1115,31 +1151,31 @@ struct afs_stats_AccessInfo {
  * Results cover all objects in the cache uniformly.
  */
 struct afs_stats_AuthorInfo {
-    afs_int32 fileSameAuthor;  /*File write by same author*/
-    afs_int32 fileDiffAuthor;  /*File write by diff author*/
-    afs_int32 dirSameAuthor;           /*Directory write by same author*/
-    afs_int32 dirDiffAuthor;           /*Directory write by diff author*/
+    afs_int32 fileSameAuthor;  /*File write by same author */
+    afs_int32 fileDiffAuthor;  /*File write by diff author */
+    afs_int32 dirSameAuthor;   /*Directory write by same author */
+    afs_int32 dirDiffAuthor;   /*Directory write by diff author */
 };
 
 /*
  * Structure holding ``full'' CM peformance measurements.
  */
 struct afs_stats_CMFullPerf {
-    afs_int32 numFullPerfCalls;                        /*Number of accesses*/
-    struct afs_stats_CMPerf perf;              /*General performance stats*/
-    struct afs_stats_RPCOpInfo rpc;            /*RPC op stats*/
-    struct afs_stats_AuthentInfo authent;      /*Authentication stats*/
-    struct afs_stats_AccessInfo accessinf;     /*Access stats*/
-    struct afs_stats_AuthorInfo author;                /*Authorship stats*/
+    afs_int32 numFullPerfCalls;        /*Number of accesses */
+    struct afs_stats_CMPerf perf;      /*General performance stats */
+    struct afs_stats_RPCOpInfo rpc;    /*RPC op stats */
+    struct afs_stats_AuthentInfo authent;      /*Authentication stats */
+    struct afs_stats_AccessInfo accessinf;     /*Access stats */
+    struct afs_stats_AuthorInfo author;        /*Authorship stats */
 };
 
 /*
  * These are the storage declarations for the structures accessible
  * via the xstat package.
  */
-extern struct afs_stats_CMPerf afs_stats_cmperf;
-extern struct afs_stats_CMFullPerf afs_stats_cmfullperf;
-extern afs_int32 afs_stats_XferSumBytes[];
+/* extern struct afs_stats_CMPerf afs_stats_cmperf; */
+/* extern struct afs_stats_CMFullPerf afs_stats_cmfullperf; */
+/* extern afs_int32 afs_stats_XferSumBytes[]; */
 
 #ifndef AFS_NOSTATS
 /*
@@ -1150,10 +1186,7 @@ extern afs_int32 afs_stats_XferSumBytes[];
  */
 #define AFS_STATCNT(arg)  ((afs_cmstats.callInfo.C_ ## arg)++)
 
-#define AFS_MEANCNT(arg, value) \
-    (afs_AddToMean(((afs_cmstats.meanInfo).(arg)),value))
-
 #endif /* AFS_NOSTATS */
 
 
-#endif /* __TRANSARC_AFS_STATS_H__ */
+#endif /* __OPENAFS_AFS_STATS_H__ */