xstat: length check cm call info
authorMichael Meffie <mmeffie@sinenomine.net>
Mon, 10 Dec 2012 23:00:25 +0000 (18:00 -0500)
committerDerrick Brashear <shadow@your-file-system.com>
Mon, 21 Jan 2013 12:34:46 +0000 (04:34 -0800)
Define the cm xstat function call counters with an xmacro to avoid
duplicating the list of cm function names.  This obviates the need
to update xstat_cm_test.c when new function names are added to the
cm xstat collection id 0.

Check the number of returned records when printing the function call
counts to avoid over-running when a newer xstat_cm_test client
receives data from an older cm.

Change-Id: I3c5470afb7b04167173b41bb576a4a6ec14753f7
Reviewed-on: http://gerrit.openafs.org/8741
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

src/afs/afs_stats.h
src/xstat/xstat_cm_test.c

index 6e46bff..11e242a 100644 (file)
@@ -97,568 +97,571 @@ struct afs_MeanStats {
  *       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)      /* afs_lock.c */ \
+    AFS_CS(afs_BozonUnlock)    /* afs_lock.c */ \
+    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)      /* afs_lock.c */ \
+    AFS_CS(afs_CheckBozonLock) /* afs_lock.c */ \
+    AFS_CS(afs_CheckBozonLockBlocking) /* afs_lock.c */ \
+    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.c */ \
+    AFS_CS(osi_SetTime)                /* afs_osi.c */ \
+    AFS_CS(osi_Dump)           /* afs_osi.c */ \
+    AFS_CS(osi_Free)           /* afs_osi.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_osinet.c */ \
+    AFS_CS(osi_FreeSmallSpace) /* afs_osinet.c */ \
+    AFS_CS(pkt_iodone)         /* afs_osinet.c */ \
+    AFS_CS(shutdown_osinet)    /* afs_osinet.c */ \
+    AFS_CS(afs_cs)             /* afs_osinet.c */ \
+    AFS_CS(osi_AllocLargeSpace)        /* afs_osinet.c */ \
+    AFS_CS(osi_AllocSmallSpace)        /* afs_osinet.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)     /* afs_resource.c */ \
+    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)      /* afs_stat.c */ \
+    AFS_CS(afs_GetCMStat)      /* afs_stat.c */ \
+    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_resource.c */ \
+    AFS_CS(afs_warnuser)       /* afs_resource.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 */
+
 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_GetRealCellByIndex;        /* 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 */
-    afs_int32 C_SRXAFSCB_GetCE64;      /* afs_callback.c */
-    afs_int32 C_SRXAFSCB_GetCellByNum; /* afs_callback.c */
-    afs_int32 C_BPrefetchNoCache;      /* afs_daemons.c */
-    afs_int32 C_afs_ReadNoCache;       /* osi_vnodeops.c */
-    afs_int32 C_PSetTokens2;           /* afs_pioctl.c */
-    afs_int32 C_PPrefetchFromTape;     /* afs_pioctl.c */
+#define AFS_CS(call) afs_int32 C_ ## call;
+    AFS_CM_CALL_STATS
+#undef AFS_CS
 };
 
 struct afs_CMMeanStats {
index ccda25f..ce76972 100644 (file)
@@ -96,6 +96,7 @@ void
 print_cmCallStats(void)
 {
     char *printableTime;       /*Ptr to printable time string */
+    afs_int32 nitems;
     struct afs_CMStats *cmp;
     time_t probeTime = xstat_cm_Results.probeTime;
 
@@ -108,632 +109,16 @@ print_cmCallStats(void)
         xstat_cm_Results.probeNum, printableTime);
 
     cmp = (struct afs_CMStats *)(xstat_cm_Results.data.AFSCB_CollData_val);
+    nitems = xstat_cm_Results.data.AFSCB_CollData_len;
 
-    if (xstat_cm_Results.data.AFSCB_CollData_len != sizeof(struct afs_CMStats))
-       printf("Data sets differ in size. Is cache manager a different version?");
-
-    printf("\t%10u afs_init\n", cmp->callInfo.C_afs_init);
-    printf("\t%10u gop_rdwr\n", cmp->callInfo.C_gop_rdwr);
-    printf("\t%10u aix_gnode_rele\n", cmp->callInfo.C_aix_gnode_rele);
-    printf("\t%10u gettimeofday\n", cmp->callInfo.C_gettimeofday);
-    printf("\t%10u m_cpytoc\n", cmp->callInfo.C_m_cpytoc);
-    printf("\t%10u aix_vattr_null\n", cmp->callInfo.C_aix_vattr_null);
-    printf("\t%10u afs_gn_ftrunc\n", cmp->callInfo.C_afs_gn_ftrunc);
-    printf("\t%10u afs_gn_rdwr\n", cmp->callInfo.C_afs_gn_rdwr);
-    printf("\t%10u afs_gn_ioctl\n", cmp->callInfo.C_afs_gn_ioctl);
-    printf("\t%10u afs_gn_locktl\n", cmp->callInfo.C_afs_gn_lockctl);
-    printf("\t%10u afs_gn_readlink\n", cmp->callInfo.C_afs_gn_readlink);
-    printf("\t%10u afs_gn_readdir\n", cmp->callInfo.C_afs_gn_readdir);
-    printf("\t%10u afs_gn_select\n", cmp->callInfo.C_afs_gn_select);
-    printf("\t%10u afs_gn_strategy\n", cmp->callInfo.C_afs_gn_strategy);
-    printf("\t%10u afs_gn_symlink\n", cmp->callInfo.C_afs_gn_symlink);
-    printf("\t%10u afs_gn_revoke\n", cmp->callInfo.C_afs_gn_revoke);
-    printf("\t%10u afs_gn_link\n", cmp->callInfo.C_afs_gn_link);
-    printf("\t%10u afs_gn_mkdir\n", cmp->callInfo.C_afs_gn_mkdir);
-    printf("\t%10u afs_gn_mknod\n", cmp->callInfo.C_afs_gn_mknod);
-    printf("\t%10u afs_gn_remove\n", cmp->callInfo.C_afs_gn_remove);
-    printf("\t%10u afs_gn_rename\n", cmp->callInfo.C_afs_gn_rename);
-    printf("\t%10u afs_gn_rmdir\n", cmp->callInfo.C_afs_gn_rmdir);
-    printf("\t%10u afs_gn_fid\n", cmp->callInfo.C_afs_gn_fid);
-    printf("\t%10u afs_gn_lookup\n", cmp->callInfo.C_afs_gn_lookup);
-    printf("\t%10u afs_gn_open\n", cmp->callInfo.C_afs_gn_open);
-    printf("\t%10u afs_gn_create\n", cmp->callInfo.C_afs_gn_create);
-    printf("\t%10u afs_gn_close\n", cmp->callInfo.C_afs_gn_close);
-    printf("\t%10u afs_gn_map\n", cmp->callInfo.C_afs_gn_map);
-    printf("\t%10u afs_gn_hold\n", cmp->callInfo.C_afs_gn_hold);
-    printf("\t%10u afs_gn_rele\n", cmp->callInfo.C_afs_gn_rele);
-    printf("\t%10u afs_gn_unmap\n", cmp->callInfo.C_afs_gn_unmap);
-    printf("\t%10u afs_gn_access\n", cmp->callInfo.C_afs_gn_access);
-    printf("\t%10u afs_gn_getattr\n", cmp->callInfo.C_afs_gn_getattr);
-    printf("\t%10u afs_gn_setattr\n", cmp->callInfo.C_afs_gn_setattr);
-    printf("\t%10u afs_gn_fclear\n", cmp->callInfo.C_afs_gn_fclear);
-    printf("\t%10u afs_gn_fsync\n", cmp->callInfo.C_afs_gn_fsync);
-    printf("\t%10u phash\n", cmp->callInfo.C_pHash);
-    printf("\t%10u DInit\n", cmp->callInfo.C_DInit);
-    printf("\t%10u DRead\n", cmp->callInfo.C_DRead);
-    printf("\t%10u FixupBucket\n", cmp->callInfo.C_FixupBucket);
-    printf("\t%10u afs_newslot\n", cmp->callInfo.C_afs_newslot);
-    printf("\t%10u DRelease\n", cmp->callInfo.C_DRelease);
-    printf("\t%10u DFlush\n", cmp->callInfo.C_DFlush);
-    printf("\t%10u DFlushEntry\n", cmp->callInfo.C_DFlushEntry);
-    printf("\t%10u DVOffset\n", cmp->callInfo.C_DVOffset);
-    printf("\t%10u DZap\n", cmp->callInfo.C_DZap);
-    printf("\t%10u shutdown_bufferpackage\n",
-          cmp->callInfo.C_shutdown_bufferpackage);
-    printf("\t%10u afs_CheckKnownBad\n", cmp->callInfo.C_afs_CheckKnownBad);
-    printf("\t%10u DNew\n", cmp->callInfo.C_DNew);
-    printf("\t%10u afs_RemoveVCB\n", cmp->callInfo.C_afs_RemoveVCB);
-    printf("\t%10u afs_NewVCache\n", cmp->callInfo.C_afs_NewVCache);
-    printf("\t%10u afs_FlushActiveVcaches\n",
-          cmp->callInfo.C_afs_FlushActiveVcaches);
-    printf("\t%10u afs_VerifyVCache\n", cmp->callInfo.C_afs_VerifyVCache);
-    printf("\t%10u afs_WriteVCache\n", cmp->callInfo.C_afs_WriteVCache);
-    printf("\t%10u afs_GetVCache\n", cmp->callInfo.C_afs_GetVCache);
-    printf("\t%10u afs_StuffVcache\n", cmp->callInfo.C_afs_StuffVcache);
-    printf("\t%10u afs_FindVCache\n", cmp->callInfo.C_afs_FindVCache);
-    printf("\t%10u afs_PutDCache\n", cmp->callInfo.C_afs_PutDCache);
-    printf("\t%10u afs_PutVCache\n", cmp->callInfo.C_afs_PutVCache);
-    printf("\t%10u CacheStoreProc\n", cmp->callInfo.C_CacheStoreProc);
-    printf("\t%10u afs_FindDcache\n", cmp->callInfo.C_afs_FindDCache);
-    printf("\t%10u afs_TryToSmush\n", cmp->callInfo.C_afs_TryToSmush);
-    printf("\t%10u afs_AdjustSize\n", cmp->callInfo.C_afs_AdjustSize);
-    printf("\t%10u afs_CheckSize\n", cmp->callInfo.C_afs_CheckSize);
-    printf("\t%10u afs_StoreWarn\n", cmp->callInfo.C_afs_StoreWarn);
-    printf("\t%10u CacheFetchProc\n", cmp->callInfo.C_CacheFetchProc);
-    printf("\t%10u UFS_CacheStoreProc\n", cmp->callInfo.C_UFS_CacheStoreProc);
-    printf("\t%10u UFS_CacheFetchProc\n", cmp->callInfo.C_UFS_CacheFetchProc);
-    printf("\t%10u afs_GetDCache\n", cmp->callInfo.C_afs_GetDCache);
-    printf("\t%10u afs_SimpleVStat\n", cmp->callInfo.C_afs_SimpleVStat);
-    printf("\t%10u afs_ProcessFS\n", cmp->callInfo.C_afs_ProcessFS);
-    printf("\t%10u afs_InitCacheInfo\n", cmp->callInfo.C_afs_InitCacheInfo);
-    printf("\t%10u afs_InitVolumeInfo\n", cmp->callInfo.C_afs_InitVolumeInfo);
-    printf("\t%10u afs_InitCacheFile\n", cmp->callInfo.C_afs_InitCacheFile);
-    printf("\t%10u afs_CacheInit\n", cmp->callInfo.C_afs_CacheInit);
-    printf("\t%10u afs_GetDSlot\n", cmp->callInfo.C_afs_GetDSlot);
-    printf("\t%10u afs_WriteThroughDSlots\n",
-          cmp->callInfo.C_afs_WriteThroughDSlots);
-    printf("\t%10u afs_MemGetDSlot\n", cmp->callInfo.C_afs_MemGetDSlot);
-    printf("\t%10u afs_UFSGetDSlot\n", cmp->callInfo.C_afs_UFSGetDSlot);
-    printf("\t%10u afs_StoreDCache\n", cmp->callInfo.C_afs_StoreDCache);
-    printf("\t%10u shutdown_cache\n", cmp->callInfo.C_shutdown_cache);
-    printf("\t%10u afs_StoreMini\n", cmp->callInfo.C_afs_StoreMini);
-    printf("\t%10u afs_StoreAllSegments\n",
-          cmp->callInfo.C_afs_StoreAllSegments);
-    printf("\t%10u afs_InvalidateAllSegments\n",
-          cmp->callInfo.C_afs_InvalidateAllSegments);
-    printf("\t%10u afs_TruncateAllSegments\n",
-          cmp->callInfo.C_afs_TruncateAllSegments);
-    printf("\t%10u afs_CheckVolSync\n", cmp->callInfo.C_afs_CheckVolSync);
-    printf("\t%10u afs_wakeup\n", cmp->callInfo.C_afs_wakeup);
-    printf("\t%10u afs_CFileOpen\n", cmp->callInfo.C_afs_CFileOpen);
-    printf("\t%10u afs_CFileTruncate\n", cmp->callInfo.C_afs_CFileTruncate);
-    printf("\t%10u afs_GetDownD\n", cmp->callInfo.C_afs_GetDownD);
-    printf("\t%10u afs_WriteDCache\n", cmp->callInfo.C_afs_WriteDCache);
-    printf("\t%10u afs_FlushDCache\n", cmp->callInfo.C_afs_FlushDCache);
-    printf("\t%10u afs_GetDownDSlot\n", cmp->callInfo.C_afs_GetDownDSlot);
-    printf("\t%10u afs_FlushVCache\n", cmp->callInfo.C_afs_FlushVCache);
-    printf("\t%10u afs_GetDownV\n", cmp->callInfo.C_afs_GetDownV);
-    printf("\t%10u afs_QueueVCB\n", cmp->callInfo.C_afs_QueueVCB);
-    printf("\t%10u afs_call\n", cmp->callInfo.C_afs_call);
-    printf("\t%10u syscall\n", cmp->callInfo.C_syscall);
-    printf("\t%10u afs_syscall_call\n", cmp->callInfo.C_afs_syscall_call);
-    printf("\t%10u afs_syscall_icreate\n",
-          cmp->callInfo.C_afs_syscall_icreate);
-    printf("\t%10u afs_syscall_iopen\n", cmp->callInfo.C_afs_syscall_iopen);
-    printf("\t%10u afs_syscall_iincdec\n",
-          cmp->callInfo.C_afs_syscall_iincdec);
-    printf("\t%10u iincdec\n", cmp->callInfo.C_iincdec);
-    printf("\t%10u afs_syscall_ireadwrite\n",
-          cmp->callInfo.C_afs_syscall_ireadwrite);
-    printf("\t%10u afs_syscall\n", cmp->callInfo.C_afs_syscall);
-    printf("\t%10u lpioctl\n", cmp->callInfo.C_lpioctl);
-    printf("\t%10u lsetpag\n", cmp->callInfo.C_lsetpag);
-    printf("\t%10u afs_shutdown\n", cmp->callInfo.C_afs_shutdown);
-    printf("\t%10u shutdown_BKG\n", cmp->callInfo.C_shutdown_BKG);
-    printf("\t%10u shutdown_afstest\n", cmp->callInfo.C_shutdown_afstest);
-    printf("\t%10u afs_CheckInit\n", cmp->callInfo.C_afs_CheckInit);
-    printf("\t%10u ClearCallback\n", cmp->callInfo.C_ClearCallBack);
-    printf("\t%10u SRXAFSCB_GetCE\n", cmp->callInfo.C_SRXAFSCB_GetCE);
-    printf("\t%10u SRXAFSCB_GetLock\n", cmp->callInfo.C_SRXAFSCB_GetLock);
-    printf("\t%10u SRXAFSCB_CallBack\n", cmp->callInfo.C_SRXAFSCB_CallBack);
-    printf("\t%10u SRXAFSCB_InitCallBackState\n",
-          cmp->callInfo.C_SRXAFSCB_InitCallBackState);
-    printf("\t%10u afs_RXCallBackServer\n",
-          cmp->callInfo.C_afs_RXCallBackServer);
-    printf("\t%10u shutdown_CB\n", cmp->callInfo.C_shutdown_CB);
-    printf("\t%10u SRXAFSCB_Probe\n", cmp->callInfo.C_SRXAFSCB_Probe);
-    printf("\t%10u afs_Chunk\n", cmp->callInfo.C_afs_Chunk);
-    printf("\t%10u afs_ChunkBase\n", cmp->callInfo.C_afs_ChunkBase);
-    printf("\t%10u afs_ChunkOffset\n", cmp->callInfo.C_afs_ChunkOffset);
-    printf("\t%10u afs_ChunkSize\n", cmp->callInfo.C_afs_ChunkSize);
-    printf("\t%10u afs_ChunkToBase\n", cmp->callInfo.C_afs_ChunkToBase);
-    printf("\t%10u afs_ChunkToSize\n", cmp->callInfo.C_afs_ChunkToSize);
-    printf("\t%10u afs_SetChunkSize\n", cmp->callInfo.C_afs_SetChunkSize);
-    printf("\t%10u afs_config\n", cmp->callInfo.C_afs_config);
-    printf("\t%10u mem_freebytes\n", cmp->callInfo.C_mem_freebytes);
-    printf("\t%10u fpalloc\n", cmp->callInfo.C_fpalloc);
-    printf("\t%10u kluge_init\n", cmp->callInfo.C_kluge_init);
-    printf("\t%10u ufdalloc\n", cmp->callInfo.C_ufdalloc);
-    printf("\t%10u ufdfree\n", cmp->callInfo.C_ufdfree);
-    printf("\t%10u commit\n", cmp->callInfo.C_commit);
-    printf("\t%10u dev_ialloc\n", cmp->callInfo.C_dev_ialloc);
-    printf("\t%10u ffree\n", cmp->callInfo.C_ffree);
-    printf("\t%10u iget\n", cmp->callInfo.C_iget);
-    printf("\t%10u iptovp\n", cmp->callInfo.C_iptovp);
-    printf("\t%10u ilock\n", cmp->callInfo.C_ilock);
-    printf("\t%10u irele\n", cmp->callInfo.C_irele);
-    printf("\t%10u iput\n", cmp->callInfo.C_iput);
-    printf("\t%10u mem_getbytes\n", cmp->callInfo.C_mem_getbytes);
-    printf("\t%10u afs_Daemon\n", cmp->callInfo.C_afs_Daemon);
-    printf("\t%10u afs_CheckRootVolume\n",
-          cmp->callInfo.C_afs_CheckRootVolume);
-    printf("\t%10u BPath\n", cmp->callInfo.C_BPath);
-    printf("\t%10u BPrefetch\n", cmp->callInfo.C_BPrefetch);
-    printf("\t%10u BStore\n", cmp->callInfo.C_BStore);
-    printf("\t%10u afs_BBusy\n", cmp->callInfo.C_afs_BBusy);
-    printf("\t%10u afs_BQueue\n", cmp->callInfo.C_afs_BQueue);
-    printf("\t%10u afs_BRelease\n", cmp->callInfo.C_afs_BRelease);
-    printf("\t%10u shutdown_daemons\n", cmp->callInfo.C_shutdown_daemons);
-    printf("\t%10u afs_BackgroundDaemon\n",
-          cmp->callInfo.C_afs_BackgroundDaemon);
-    printf("\t%10u exporter_add\n", cmp->callInfo.C_exporter_add);
-    printf("\t%10u exporter_find\n", cmp->callInfo.C_exporter_find);
-    printf("\t%10u IsAfsVnode\n", cmp->callInfo.C_IsAfsVnode);
-    printf("\t%10u SetAfsVnode\n", cmp->callInfo.C_SetAfsVnode);
-    printf("\t%10u afs_gfs_kalloc\n", cmp->callInfo.C_afs_gfs_kalloc);
-    printf("\t%10u afs_gfs_kfree\n", cmp->callInfo.C_afs_gfs_kfree);
-    printf("\t%10u gfsvop_getattr\n", cmp->callInfo.C_gfsvop_getattr);
-    printf("\t%10u gfsvop_rdwr\n", cmp->callInfo.C_gfsvop_rdwr);
-    printf("\t%10u gop_lookupname\n", cmp->callInfo.C_gop_lookupname);
-    printf("\t%10u afs_uniqtime\n", cmp->callInfo.C_afs_uniqtime);
-    printf("\t%10u gfs_vattr_null\n", cmp->callInfo.C_gfs_vattr_null);
-    printf("\t%10u afs_lock\n", cmp->callInfo.C_afs_lock);
-    printf("\t%10u afs_unlock\n", cmp->callInfo.C_afs_unlock);
-    printf("\t%10u afs_update\n", cmp->callInfo.C_afs_update);
-    printf("\t%10u afs_gclose\n", cmp->callInfo.C_afs_gclose);
-    printf("\t%10u afs_gopen\n", cmp->callInfo.C_afs_gopen);
-    printf("\t%10u afs_greadlink\n", cmp->callInfo.C_afs_greadlink);
-    printf("\t%10u afs_select\n", cmp->callInfo.C_afs_select);
-    printf("\t%10u afs_gbmap\n", cmp->callInfo.C_afs_gbmap);
-    printf("\t%10u afs_getfsdata\n", cmp->callInfo.C_afs_getfsdata);
-    printf("\t%10u afs_gsymlink\n", cmp->callInfo.C_afs_gsymlink);
-    printf("\t%10u printgnode\n", cmp->callInfo.C_printgnode);
-    printf("\t%10u HaveGFSLock\n", cmp->callInfo.C_HaveGFSLock);
-    printf("\t%10u afs_namei\n", cmp->callInfo.C_afs_namei);
-    printf("\t%10u AddGFSLock\n", cmp->callInfo.C_AddGFSLock);
-    printf("\t%10u RemoveGFSLock\n", cmp->callInfo.C_RemoveGFSLock);
-    printf("\t%10u afs_grlock\n", cmp->callInfo.C_afs_grlock);
-    printf("\t%10u afs_gumount\n", cmp->callInfo.C_afs_gumount);
-    printf("\t%10u afs_gmount\n", cmp->callInfo.C_afs_gmount);
-    printf("\t%10u afs_gget\n", cmp->callInfo.C_afs_gget);
-    printf("\t%10u afs_glink\n", cmp->callInfo.C_afs_glink);
-    printf("\t%10u afs_sbupdate\n", cmp->callInfo.C_afs_sbupdate);
-    printf("\t%10u afs_gmkdir\n", cmp->callInfo.C_afs_gmkdir);
-    printf("\t%10u afs_unlink\n", cmp->callInfo.C_afs_unlink);
-    printf("\t%10u afs_grmdir\n", cmp->callInfo.C_afs_grmdir);
-    printf("\t%10u afs_makenode\n", cmp->callInfo.C_afs_makenode);
-    printf("\t%10u afs_grename\n", cmp->callInfo.C_afs_grename);
-    printf("\t%10u afs_rele\n", cmp->callInfo.C_afs_rele);
-    printf("\t%10u afs_syncgp\n", cmp->callInfo.C_afs_syncgp);
-    printf("\t%10u afs_gfshack\n", cmp->callInfo.C_afs_gfshack);
-    printf("\t%10u afs_getval\n", cmp->callInfo.C_afs_getval);
-    printf("\t%10u afs_trunc\n", cmp->callInfo.C_afs_trunc);
-    printf("\t%10u afs_rwgp\n", cmp->callInfo.C_afs_rwgp);
-    printf("\t%10u afs_stat\n", cmp->callInfo.C_afs_stat);
-    printf("\t%10u hpsobind\n", cmp->callInfo.C_hpsobind);
-    printf("\t%10u hpsoclose\n", cmp->callInfo.C_hpsoclose);
-    printf("\t%10u hpsocreate\n", cmp->callInfo.C_hpsocreate);
-    printf("\t%10u hpsoreserve\n", cmp->callInfo.C_hpsoreserve);
-    printf("\t%10u afsc_link\n", cmp->callInfo.C_afsc_link);
-    printf("\t%10u devtovfs\n", cmp->callInfo.C_devtovfs);
-    printf("\t%10u afs_vfs_mount\n", cmp->callInfo.C_afs_vfs_mount);
-    printf("\t%10u afs_uniqtime\n", cmp->callInfo.C_afs_uniqtime);
-    printf("\t%10u iopen\n", cmp->callInfo.C_iopen);
-    printf("\t%10u idec\n", cmp->callInfo.C_idec);
-    printf("\t%10u iinc\n", cmp->callInfo.C_iinc);
-    printf("\t%10u oiread\n", cmp->callInfo.C_oiread);
-    printf("\t%10u AHash\n", cmp->callInfo.C_AHash);
-    printf("\t%10u QTOA\n", cmp->callInfo.C_QTOA);
-    printf("\t%10u afs_FindPartByDev\n", cmp->callInfo.C_afs_FindPartByDev);
-    printf("\t%10u aux_init\n", cmp->callInfo.C_aux_init);
-    printf("\t%10u afs_GetNewPart\n", cmp->callInfo.C_afs_GetNewPart);
-    printf("\t%10u afs_InitAuxVolFile\n",
-          cmp->callInfo.C_afs_InitAuxVolFile);
-    printf("\t%10u afs_CreateAuxEntry\n",
-          cmp->callInfo.C_afs_CreateAuxEntry);
-    printf("\t%10u afs_GetAuxSlot\n", cmp->callInfo.C_afs_GetAuxSlot);
-    printf("\t%10u afs_GetDownAux\n", cmp->callInfo.C_afs_GetDownAux);
-    printf("\t%10u afs_FlushAuxCache\n", cmp->callInfo.C_afs_FlushAuxCache);
-    printf("\t%10u afs_GetAuxInode\n", cmp->callInfo.C_afs_GetAuxInode);
-    printf("\t%10u afs_PutAuxInode\n", cmp->callInfo.C_afs_PutAuxInode);
-    printf("\t%10u afs_ReadAuxInode\n", cmp->callInfo.C_afs_ReadAuxInode);
-    printf("\t%10u afs_WriteAuxInode\n", cmp->callInfo.C_afs_WriteAuxInode);
-    printf("\t%10u afs_auxcall\n", cmp->callInfo.C_afs_auxcall);
-    printf("\t%10u tmpdbg_auxtbl\n", cmp->callInfo.C_tmpdbg_auxtbl);
-    printf("\t%10u tmpdbg_parttbl\n", cmp->callInfo.C_tmpdbg_parttbl);
-    printf("\t%10u ireadwrite\n", cmp->callInfo.C_ireadwrite);
-    printf("\t%10u iread\n", cmp->callInfo.C_iread);
-    printf("\t%10u getinode\n", cmp->callInfo.C_getinode);
-    printf("\t%10u trygetfs\n", cmp->callInfo.C_trygetfs);
-    printf("\t%10u iwrite\n", cmp->callInfo.C_iwrite);
-    printf("\t%10u iforget\n", cmp->callInfo.C_iforget);
-    printf("\t%10u Lock_Init\n", cmp->callInfo.C_Lock_Init);
-    printf("\t%10u Lock_Obtain\n", cmp->callInfo.C_Lock_Obtain);
-    printf("\t%10u Lock_ReleaseR\n", cmp->callInfo.C_Lock_ReleaseR);
-    printf("\t%10u Lock_ReleaseW\n", cmp->callInfo.C_Lock_ReleaseW);
-    printf("\t%10u afs_BozonLock\n", cmp->callInfo.C_afs_BozonLock);
-    printf("\t%10u afs_BozonUnlock\n", cmp->callInfo.C_afs_BozonUnlock);
-    printf("\t%10u icreate\n", cmp->callInfo.C_icreate);
-    printf("\t%10u igetinode\n", cmp->callInfo.C_igetinode);
-    printf("\t%10u osi_SleepR\n", cmp->callInfo.C_osi_SleepR);
-    printf("\t%10u osi_SleepS\n", cmp->callInfo.C_osi_SleepS);
-    printf("\t%10u osi_SleepW\n", cmp->callInfo.C_osi_SleepW);
-    printf("\t%10u afs_BozonInit\n", cmp->callInfo.C_afs_BozonInit);
-    printf("\t%10u afs_CheckBozonLock\n",
-          cmp->callInfo.C_afs_CheckBozonLock);
-    printf("\t%10u afs_CheckBozonLockBlocking\n",
-          cmp->callInfo.C_afs_CheckBozonLockBlocking);
-    printf("\t%10u xxxinit\n", cmp->callInfo.C_xxxinit);
-    printf("\t%10u KernelEntry\n", cmp->callInfo.C_KernelEntry);
-    printf("\t%10u afs_InitMemCache\n", cmp->callInfo.C_afs_InitMemCache);
-    printf("\t%10u osi_Sleep\n", cmp->callInfo.C_osi_Sleep);
-    printf("\t%10u afs_LookupMCE\n", cmp->callInfo.C_afs_LookupMCE);
-    printf("\t%10u afs_MemReadBlk\n", cmp->callInfo.C_afs_MemReadBlk);
-    printf("\t%10u afs_MemReadUIO\n", cmp->callInfo.C_afs_MemReadUIO);
-    printf("\t%10u afs_MemWriteBlk\n", cmp->callInfo.C_afs_MemWriteBlk);
-    printf("\t%10u afs_MemWriteUIO\n", cmp->callInfo.C_afs_MemWriteUIO);
-    printf("\t%10u afs_MemCacheStoreProc\n",
-          cmp->callInfo.C_afs_MemCacheStoreProc);
-    printf("\t%10u afs_vnode_pager_create\n",
-          cmp->callInfo.C_afs_vnode_pager_create);
-    printf("\t%10u next_KernelEntry\n", cmp->callInfo.C_next_KernelEntry);
-    printf("\t%10u afs_MemCacheFetchProc\n",
-          cmp->callInfo.C_afs_MemCacheFetchProc);
-    printf("\t%10u afs_MemCacheTruncate\n",
-          cmp->callInfo.C_afs_MemCacheTruncate);
-    printf("\t%10u afs_MemCacheStoreProc\n",
-          cmp->callInfo.C_afs_MemCacheStoreProc);
-    printf("\t%10u afs_GetNfsClientPag\n",
-          cmp->callInfo.C_afs_GetNfsClientPag);
-    printf("\t%10u afs_FindNfsClientPag\n",
-          cmp->callInfo.C_afs_FindNfsClientPag);
-    printf("\t%10u afs_PutNfsClientPag\n",
-          cmp->callInfo.C_afs_PutNfsClientPag);
-    printf("\t%10u afs_nfsclient_reqhandler\n",
-          cmp->callInfo.C_afs_nfsclient_reqhandler);
-    printf("\t%10u afs_nfsclient_GC\n", cmp->callInfo.C_afs_nfsclient_GC);
-    printf("\t%10u afs_nfsclient_hold\n", cmp->callInfo.C_afs_nfsclient_hold);
-    printf("\t%10u afs_nfsclient_stats\n",
-          cmp->callInfo.C_afs_nfsclient_stats);
-    printf("\t%10u afs_nfsclient_shutdown\n",
-          cmp->callInfo.C_afs_nfsclient_shutdown);
-    printf("\t%10u afs_rfs_readdir_fixup\n",
-          cmp->callInfo.C_afs_rfs_readdir_fixup);
-    printf("\t%10u afs_nfsclient_sysname\n",
-          cmp->callInfo.C_afs_nfsclient_sysname);
-    printf("\t%10u afs_xnfs_svc\n", cmp->callInfo.C_afs_xnfs_svc);
-    printf("\t%10u afs_xdr_putrddirres\n",
-          cmp->callInfo.C_afs_xdr_putrddirres);
-    printf("\t%10u afs_rfs_readdir\n", cmp->callInfo.C_afs_rfs_readdir);
-    printf("\t%10u afs_rfs_rddirfree\n", cmp->callInfo.C_afs_rfs_rddirfree);
-    printf("\t%10u rfs_dupcreate\n", cmp->callInfo.C_rfs_dupcreate);
-    printf("\t%10u rfs_dupsetattr\n", cmp->callInfo.C_rfs_dupsetattr);
-    printf("\t%10u afs_rfs_dispatch\n", cmp->callInfo.C_afs_rfs_dispatch);
-    printf("\t%10u afs_nfs2afscall\n", cmp->callInfo.C_Nfs2AfsCall);
-    printf("\t%10u afs_sun_xuntext\n", cmp->callInfo.C_afs_sun_xuntext);
-    printf("\t%10u osi_Active\n", cmp->callInfo.C_osi_Active);
-    printf("\t%10u osi_FlushPages\n", cmp->callInfo.C_osi_FlushPages);
-    printf("\t%10u osi_FlushText\n", cmp->callInfo.C_osi_FlushText);
-    printf("\t%10u osi_CallProc\n", cmp->callInfo.C_osi_CallProc);
-    printf("\t%10u osi_CancelProc\n", cmp->callInfo.C_osi_CancelProc);
-    printf("\t%10u osi_Invisible\n", cmp->callInfo.C_osi_Invisible);
-    printf("\t%10u osi_Time\n", cmp->callInfo.C_osi_Time);
-    printf("\t%10u osi_Alloc\n", cmp->callInfo.C_osi_Alloc);
-    printf("\t%10u osi_SetTime\n", cmp->callInfo.C_osi_SetTime);
-    printf("\t%10u osi_Dump\n", cmp->callInfo.C_osi_Dump);
-    printf("\t%10u shutdown_osi\n", cmp->callInfo.C_shutdown_osi);
-    printf("\t%10u osi_Free\n", cmp->callInfo.C_osi_Free);
-    printf("\t%10u osi_UFSOpen\n", cmp->callInfo.C_osi_UFSOpen);
-    printf("\t%10u osi_Close\n", cmp->callInfo.C_osi_Close);
-    printf("\t%10u osi_Stat\n", cmp->callInfo.C_osi_Stat);
-    printf("\t%10u osi_Truncate\n", cmp->callInfo.C_osi_Truncate);
-    printf("\t%10u osi_Read\n", cmp->callInfo.C_osi_Read);
-    printf("\t%10u osi_Write\n", cmp->callInfo.C_osi_Write);
-    printf("\t%10u shutdown_osifile\n", cmp->callInfo.C_shutdown_osifile);
-    printf("\t%10u osi_MapStrategy\n", cmp->callInfo.C_osi_MapStrategy);
-    printf("\t%10u osi_AllocLargeSpace\n",
-          cmp->callInfo.C_osi_AllocLargeSpace);
-    printf("\t%10u osi_FreeLargeSpace\n", cmp->callInfo.C_osi_FreeLargeSpace);
-    printf("\t%10u osi_AllocSmallSpace\n",
-          cmp->callInfo.C_osi_AllocSmallSpace);
-    printf("\t%10u pkt_iodone\n", cmp->callInfo.C_pkt_iodone);
-    printf("\t%10u shutdown_osinet\n", cmp->callInfo.C_shutdown_osinet);
-    printf("\t%10u afs_cs\n", cmp->callInfo.C_afs_cs);
-    printf("\t%10u osi_FreeSmallSpace\n", cmp->callInfo.C_osi_FreeSmallSpace);
-    printf("\t%10u osi_CloseToTheEdge\n", cmp->callInfo.C_osi_CloseToTheEdge);
-    printf("\t%10u osi_xgreedy\n", cmp->callInfo.C_osi_xgreedy);
-    printf("\t%10u osi_FreeSocket\n", cmp->callInfo.C_osi_FreeSocket);
-    printf("\t%10u trysblock\n", cmp->callInfo.C_trysblock);
-    printf("\t%10u osi_NewSocket\n", cmp->callInfo.C_osi_NewSocket);
-    printf("\t%10u osi_NetSend\n", cmp->callInfo.C_osi_NetSend);
-    printf("\t%10u WaitHack\n", cmp->callInfo.C_WaitHack);
-    printf("\t%10u osi_InitWaitHandle\n",
-          cmp->callInfo.C_osi_InitWaitHandle);
-    printf("\t%10u osi_CancelWait\n", cmp->callInfo.C_osi_CancelWait);
-    printf("\t%10u osi_Wakeup\n", cmp->callInfo.C_osi_Wakeup);
-    printf("\t%10u osi_Wait\n", cmp->callInfo.C_osi_Wait);
-    printf("\t%10u dirp_SetCacheDev\n", cmp->callInfo.C_dirp_SetCacheDev);
-    printf("\t%10u Die\n", cmp->callInfo.C_Die);
-    printf("\t%10u dirp_Read\n", cmp->callInfo.C_dirp_Read);
-    printf("\t%10u dirp_Cpy\n", cmp->callInfo.C_dirp_Cpy);
-    printf("\t%10u dirp_Eq\n", cmp->callInfo.C_dirp_Eq);
-    printf("\t%10u dirp_Write\n", cmp->callInfo.C_dirp_Write);
-    printf("\t%10u dirp_Zap\n", cmp->callInfo.C_dirp_Zap);
-    printf("\t%10u afs_ioctl\n", cmp->callInfo.C_afs_ioctl);
-    printf("\t%10u _AFSIOCTL\n", cmp->callInfo.C__AFSIOCTL);
-    printf("\t%10u _VALIDAFSIOCTL\n", cmp->callInfo.C__VALIDAFSIOCTL);
-    printf("\t%10u handleIoctl\n", cmp->callInfo.C_HandleIoctl);
-    printf("\t%10u afs_xioctl\n", cmp->callInfo.C_afs_xioctl);
-    printf("\t%10u afs_syscall_pioctl\n",
-          cmp->callInfo.C_afs_syscall_pioctl);
-    printf("\t%10u afs_pioctl\n", cmp->callInfo.C_afs_pioctl);
-    printf("\t%10u HandlePioctl\n", cmp->callInfo.C_HandlePioctl);
-    printf("\t%10u PGetVolumeStatus\n", cmp->callInfo.C_PGetVolumeStatus);
-    printf("\t%10u PSetVolumeStatus\n", cmp->callInfo.C_PSetVolumeStatus);
-    printf("\t%10u PFlush\n", cmp->callInfo.C_PFlush);
-    printf("\t%10u PFlushVolumeData\n", cmp->callInfo.C_PFlushVolumeData);
-    printf("\t%10u PNewStatMount\n", cmp->callInfo.C_PNewStatMount);
-    printf("\t%10u PGetTokens\n", cmp->callInfo.C_PGetTokens);
-    printf("\t%10u PSetTokens\n", cmp->callInfo.C_PSetTokens);
-    printf("\t%10u PUnlog\n", cmp->callInfo.C_PUnlog);
-    printf("\t%10u PMariner\n", cmp->callInfo.C_PMariner);
-    printf("\t%10u PCheckServers\n", cmp->callInfo.C_PCheckServers);
-    printf("\t%10u PCheckAuth\n", cmp->callInfo.C_PCheckAuth);
-    printf("\t%10u PCheckVolNames\n", cmp->callInfo.C_PCheckVolNames);
-    printf("\t%10u PFindVolume\n", cmp->callInfo.C_PFindVolume);
-    printf("\t%10u Prefetch\n", cmp->callInfo.C_Prefetch);
-    printf("\t%10u PGetCacheSize\n", cmp->callInfo.C_PGetCacheSize);
-    printf("\t%10u PSetCacheSize\n", cmp->callInfo.C_PSetCacheSize);
-    printf("\t%10u PSetSysName\n", cmp->callInfo.C_PSetSysName);
-    printf("\t%10u PExportAfs\n", cmp->callInfo.C_PExportAfs);
-    printf("\t%10u HandleClientContext\n",
-          cmp->callInfo.C_HandleClientContext);
-    printf("\t%10u PViceAccess\n", cmp->callInfo.C_PViceAccess);
-    printf("\t%10u PRemoveCallBack\n", cmp->callInfo.C_PRemoveCallBack);
-    printf("\t%10u PRemoveMount\n", cmp->callInfo.C_PRemoveMount);
-    printf("\t%10u PSetVolumeStatus\n", cmp->callInfo.C_PSetVolumeStatus);
-    printf("\t%10u PListCells\n", cmp->callInfo.C_PListCells);
-    printf("\t%10u PNewCell\n", cmp->callInfo.C_PNewCell);
-    printf("\t%10u PGetUserCell\n", cmp->callInfo.C_PGetUserCell);
-    printf("\t%10u PGetCellStatus\n", cmp->callInfo.C_PGetCellStatus);
-    printf("\t%10u PSetCellStatus\n", cmp->callInfo.C_PSetCellStatus);
-    printf("\t%10u PVenusLogging\n", cmp->callInfo.C_PVenusLogging);
-    printf("\t%10u PGetAcl\n", cmp->callInfo.C_PGetAcl);
-    printf("\t%10u PGetFID\n", cmp->callInfo.C_PGetFID);
-    printf("\t%10u PBogus\n", cmp->callInfo.C_PBogus);
-    printf("\t%10u PSetAcl\n", cmp->callInfo.C_PSetAcl);
-    printf("\t%10u PGetFileCell\n", cmp->callInfo.C_PGetFileCell);
-    printf("\t%10u PNoop\n", cmp->callInfo.C_PNoop);
-    printf("\t%10u PGetWSCell\n", cmp->callInfo.C_PGetWSCell);
-    printf("\t%10u afs_warn\n", cmp->callInfo.C_afs_warn);
-    printf("\t%10u afs_warnuser\n", cmp->callInfo.C_afs_warnuser);
-    printf("\t%10u PGetSPrefs\n", cmp->callInfo.C_PGetSPrefs);
-    printf("\t%10u PSetSPrefs\n", cmp->callInfo.C_PSetSPrefs);
-    printf("\t%10u afs_ResetAccessCache\n",
-          cmp->callInfo.C_afs_ResetAccessCache);
-    printf("\t%10u afs_FindUser\n", cmp->callInfo.C_afs_FindUser);
-    printf("\t%10u afs_GetUser\n", cmp->callInfo.C_afs_GetUser);
-    printf("\t%10u VSleep\n", cmp->callInfo.C_VSleep);
-    printf("\t%10u afs_GCUserData\n", cmp->callInfo.C_afs_GCUserData);
-    printf("\t%10u afs_PutUser\n", cmp->callInfo.C_afs_PutUser);
-    printf("\t%10u afs_SetPrimary\n", cmp->callInfo.C_afs_SetPrimary);
-    printf("\t%10u afs_ResetUserConns\n", cmp->callInfo.C_afs_ResetUserConns);
-    printf("\t%10u afs_MarinerLog\n", cmp->callInfo.C_afs_MarinerLog);
-    printf("\t%10u afs_vtoi\n", cmp->callInfo.C_afs_vtoi);
-    printf("\t%10u afs_RemoveUserConns\n", cmp->callInfo.C_RemoveUserConns);
-    printf("\t%10u afs_ResourceInit\n", cmp->callInfo.C_afs_ResourceInit);
-    printf("\t%10u afs_GetCell\n", cmp->callInfo.C_afs_GetCell);
-    printf("\t%10u afs_GetCellByIndex\n", cmp->callInfo.C_afs_GetCellByIndex);
-    printf("\t%10u afs_GetCellByName\n", cmp->callInfo.C_afs_GetCellByName);
-    printf("\t%10u afs_GetRealCellByIndex\n",
-          cmp->callInfo.C_afs_GetRealCellByIndex);
-    printf("\t%10u afs_NewCell\n", cmp->callInfo.C_afs_NewCell);
-    printf("\t%10u CheckVLDB\n", cmp->callInfo.C_CheckVLDB);
-    printf("\t%10u afs_GetVolume\n", cmp->callInfo.C_afs_GetVolume);
-    printf("\t%10u afs_PutVolume\n", cmp->callInfo.C_afs_PutVolume);
-    printf("\t%10u afs_GetVolumeByName\n",
-          cmp->callInfo.C_afs_GetVolumeByName);
-    printf("\t%10u ranstage\n", cmp->callInfo.C_ranstage);
-    printf("\t%10u afs_random\n", cmp->callInfo.C_afs_random);
-    printf("\t%10u InstallVolumeEntry\n", cmp->callInfo.C_InstallVolumeEntry);
-    printf("\t%10u InstallVolumeInfo\n", cmp->callInfo.C_InstallVolumeInfo);
-    printf("\t%10u StartLogFile\n", cmp->callInfo.C_StartLogFile);
-    printf("\t%10u afs_SetLogFile\n", cmp->callInfo.C_afs_SetLogFile);
-    printf("\t%10u EndLogFile\n", cmp->callInfo.C_EndLogFile);
-    printf("\t%10u afs_dp\n", cmp->callInfo.C_afs_dp);
-    printf("\t%10u fprf\n", cmp->callInfo.C_fprf);
-    printf("\t%10u fprint\n", cmp->callInfo.C_fprint);
-    printf("\t%10u fprintn\n", cmp->callInfo.C_fprintn);
-    printf("\t%10u afs_ResetVolumeInfo\n",
-          cmp->callInfo.C_afs_ResetVolumeInfo);
-    printf("\t%10u afs_FindServer\n", cmp->callInfo.C_afs_FindServer);
-    printf("\t%10u afs_GetServer\n", cmp->callInfo.C_afs_GetServer);
-    printf("\t%10u afs_SortServers\n", cmp->callInfo.C_afs_SortServers);
-    printf("\t%10u afs_AddToMean\n", cmp->callInfo.C_afs_AddToMean);
-    printf("\t%10u afs_GetCMStat\n", cmp->callInfo.C_afs_GetCMStat);
-    printf("\t%10u afs_CheckServers\n", cmp->callInfo.C_afs_CheckServers);
-    printf("\t%10u ServerDown\n", cmp->callInfo.C_ServerDown);
-    printf("\t%10u afs_Conn\n", cmp->callInfo.C_afs_Conn);
-    printf("\t%10u afs_PutConn\n", cmp->callInfo.C_afs_PutConn);
-    printf("\t%10u afs_ConnByHost\n", cmp->callInfo.C_afs_ConnByHost);
-    printf("\t%10u afs_ConnByMHosts\n", cmp->callInfo.C_afs_ConnByMHosts);
-    printf("\t%10u afs_Analyze\n", cmp->callInfo.C_afs_Analyze);
-    printf("\t%10u puttofile\n", cmp->callInfo.C_puttofile);
-    printf("\t%10u shutdown_AFS\n", cmp->callInfo.C_shutdown_AFS);
-    printf("\t%10u afs_CheckLocks\n", cmp->callInfo.C_afs_CheckLocks);
-    printf("\t%10u haveCallBacksFrom\n", cmp->callInfo.C_HaveCallBacksFrom);
-    printf("\t%10u CheckVLServer\n", cmp->callInfo.C_CheckVLServer);
-    printf("\t%10u afs_CheckCacheResets\n",
-          cmp->callInfo.C_afs_CheckCacheResets);
-    printf("\t%10u afs_CheckVolumeNames\n",
-          cmp->callInfo.C_afs_CheckVolumeNames);
-    printf("\t%10u afs_CheckCode\n", cmp->callInfo.C_afs_CheckCode);
-    printf("\t%10u afs_CopyError\n", cmp->callInfo.C_afs_CopyError);
-    printf("\t%10u afs_cv2string\n", cmp->callInfo.C_afs_cv2string);
-    printf("\t%10u afs_FindVolCache\n", cmp->callInfo.C_afs_FindVolCache);
-    printf("\t%10u afs_FinalizeReq\n", cmp->callInfo.C_afs_FinalizeReq);
-    printf("\t%10u afs_GetVolCache\n", cmp->callInfo.C_afs_GetVolCache);
-    printf("\t%10u afs_GetVolSlot\n", cmp->callInfo.C_afs_GetVolSlot);
-    printf("\t%10u afs_UFSGetVolSlot\n", cmp->callInfo.C_afs_UFSGetVolSlot);
-    printf("\t%10u print_internet_address\n",
-          cmp->callInfo.C_print_internet_address);
-    printf("\t%10u afs_MemGetVolSlot\n", cmp->callInfo.C_afs_MemGetVolSlot);
-    printf("\t%10u afs_WriteVolCache\n", cmp->callInfo.C_afs_WriteVolCache);
-    printf("\t%10u haveCallbacksfrom\n", cmp->callInfo.C_HaveCallBacksFrom);
-    printf("\t%10u afs_getpage\n", cmp->callInfo.C_afs_getpage);
-    printf("\t%10u afs_putpage\n", cmp->callInfo.C_afs_putpage);
-    printf("\t%10u afs_nfsrdwr\n", cmp->callInfo.C_afs_nfsrdwr);
-    printf("\t%10u afs_map\n", cmp->callInfo.C_afs_map);
-    printf("\t%10u afs_cntl\n", cmp->callInfo.C_afs_cntl);
-    printf("\t%10u afs_dump\n", cmp->callInfo.C_afs_dump);
-    printf("\t%10u afs_realvp\n", cmp->callInfo.C_afs_realvp);
-    printf("\t%10u afs_cmp\n", cmp->callInfo.C_afs_cmp);
-    printf("\t%10u afsinit\n", cmp->callInfo.C_afsinit);
-    printf("\t%10u afs_PageLeft\n", cmp->callInfo.C_afs_PageLeft);
-    printf("\t%10u afs_mount\n", cmp->callInfo.C_afs_mount);
-    printf("\t%10u afs_unmount\n", cmp->callInfo.C_afs_unmount);
-    printf("\t%10u afs_root\n", cmp->callInfo.C_afs_root);
-    printf("\t%10u afs_statfs\n", cmp->callInfo.C_afs_statfs);
-    printf("\t%10u afs_sync\n", cmp->callInfo.C_afs_sync);
-    printf("\t%10u afs_mountroot\n", cmp->callInfo.C_afs_mountroot);
-    printf("\t%10u afs_swapvp\n", cmp->callInfo.C_afs_swapvp);
-    printf("\t%10u afs_vget\n", cmp->callInfo.C_afs_vget);
-    printf("\t%10u afs_noop\n", cmp->callInfo.C_afs_noop);
-    printf("\t%10u afs_index\n", cmp->callInfo.C_afs_index);
-    printf("\t%10u afs_setpag\n", cmp->callInfo.C_afs_setpag);
-    printf("\t%10u genpag\n", cmp->callInfo.C_genpag);
-    printf("\t%10u getpag\n", cmp->callInfo.C_getpag);
-    printf("\t%10u genpag\n", cmp->callInfo.C_genpag);
-    printf("\t%10u afs_badop\n", cmp->callInfo.C_afs_badop);
-    printf("\t%10u afs_GetMariner\n", cmp->callInfo.C_afs_GetMariner);
-    printf("\t%10u afs_AddMarinerName\n", cmp->callInfo.C_afs_AddMarinerName);
-    printf("\t%10u afs_open\n", cmp->callInfo.C_afs_open);
-    printf("\t%10u afs_close\n", cmp->callInfo.C_afs_close);
-    printf("\t%10u afs_closex\n", cmp->callInfo.C_afs_closex);
-    printf("\t%10u afs_write\n", cmp->callInfo.C_afs_write);
-    printf("\t%10u afs_UFSwrite\n", cmp->callInfo.C_afs_UFSWrite);
-    printf("\t%10u afs_Memwrite\n", cmp->callInfo.C_afs_MemWrite);
-    printf("\t%10u afs_rdwr\n", cmp->callInfo.C_afs_rdwr);
-    printf("\t%10u FIXUPSTUPIDINODE\n", cmp->callInfo.C_FIXUPSTUPIDINODE);
-    printf("\t%10u afs_read\n", cmp->callInfo.C_afs_read);
-    printf("\t%10u afs_UFSread\n", cmp->callInfo.C_afs_UFSRead);
-    printf("\t%10u afs_Memread\n", cmp->callInfo.C_afs_MemRead);
-    printf("\t%10u afs_CopyOutAttrs\n", cmp->callInfo.C_afs_CopyOutAttrs);
-    printf("\t%10u ENameOK\n", cmp->callInfo.C_ENameOK);
-    printf("\t%10u HandleAtName\n", cmp->callInfo.C_HandleAtName);
-    printf("\t%10u getsysname\n", cmp->callInfo.C_getsysname);
-    printf("\t%10u strcat\n", cmp->callInfo.C_strcat);
-    printf("\t%10u afs_access\n", cmp->callInfo.C_afs_access);
-    printf("\t%10u afs_getattr\n", cmp->callInfo.C_afs_getattr);
-    printf("\t%10u afs_setattr\n", cmp->callInfo.C_afs_setattr);
-    printf("\t%10u afs_VAttrToAS\n", cmp->callInfo.C_afs_VAttrToAS);
-    printf("\t%10u EvalMountPoint\n", cmp->callInfo.C_EvalMountPoint);
-    printf("\t%10u afs_lookup\n", cmp->callInfo.C_afs_lookup);
-    printf("\t%10u afs_create\n", cmp->callInfo.C_afs_create);
-    printf("\t%10u FetchWholeEnchilada\n",
-          cmp->callInfo.C_FetchWholeEnchilada);
-    printf("\t%10u afs_LocalHero\n", cmp->callInfo.C_afs_LocalHero);
-    printf("\t%10u afs_remove\n", cmp->callInfo.C_afs_remove);
-    printf("\t%10u afs_link\n", cmp->callInfo.C_afs_link);
-    printf("\t%10u afs_rename\n", cmp->callInfo.C_afs_rename);
-    printf("\t%10u afs_InitReq\n", cmp->callInfo.C_afs_InitReq);
-    printf("\t%10u BlobScan\n", cmp->callInfo.C_BlobScan);
-    printf("\t%10u afs_mkdir\n", cmp->callInfo.C_afs_mkdir);
-    printf("\t%10u RecLen\n", cmp->callInfo.C_RecLen);
-    printf("\t%10u RoundToInt\n", cmp->callInfo.C_RoundToInt);
-    printf("\t%10u afs_readdir_with_offlist\n",
-          cmp->callInfo.C_afs_readdir_with_offlist);
-    printf("\t%10u DIRSIZ_LEN\n", cmp->callInfo.C_DIRSIZ_LEN);
-    printf("\t%10u afs_rmdir\n", cmp->callInfo.C_afs_rmdir);
-    printf("\t%10u afs_readdir\n", cmp->callInfo.C_afs_readdir);
-    printf("\t%10u afs_read1dir\n", cmp->callInfo.C_afs_read1dir);
-    printf("\t%10u afs_readdir_move\n", cmp->callInfo.C_afs_readdir_move);
-    printf("\t%10u afs_readdir_iter\n", cmp->callInfo.C_afs_readdir_iter);
-    printf("\t%10u afs_symlink\n", cmp->callInfo.C_afs_symlink);
-    printf("\t%10u afs_HandleLink\n", cmp->callInfo.C_afs_HandleLink);
-    printf("\t%10u afs_MemHandleLink\n", cmp->callInfo.C_afs_MemHandleLink);
-    printf("\t%10u afs_UFSHandleLink\n", cmp->callInfo.C_afs_UFSHandleLink);
-    printf("\t%10u HandleFlock\n", cmp->callInfo.C_HandleFlock);
-    printf("\t%10u afs_readlink\n", cmp->callInfo.C_afs_readlink);
-    printf("\t%10u afs_fsync\n", cmp->callInfo.C_afs_fsync);
-    printf("\t%10u afs_inactive\n", cmp->callInfo.C_afs_inactive);
-    printf("\t%10u afs_ustrategy\n", cmp->callInfo.C_afs_ustrategy);
-    printf("\t%10u afs_strategy\n", cmp->callInfo.C_afs_strategy);
-    printf("\t%10u afs_bread\n", cmp->callInfo.C_afs_bread);
-    printf("\t%10u afs_brelse\n", cmp->callInfo.C_afs_brelse);
-    printf("\t%10u afs_bmap\n", cmp->callInfo.C_afs_bmap);
-    printf("\t%10u afs_fid\n", cmp->callInfo.C_afs_fid);
-    printf("\t%10u afs_FakeOpen\n", cmp->callInfo.C_afs_FakeOpen);
-    printf("\t%10u afs_FakeClose\n", cmp->callInfo.C_afs_FakeClose);
-    printf("\t%10u afs_StoreOnLastReference\n",
-          cmp->callInfo.C_afs_StoreOnLastReference);
-    printf("\t%10u shutdown_vnodeops\n", cmp->callInfo.C_shutdown_vnodeops);
-    printf("\t%10u afs_AccessOK\n", cmp->callInfo.C_afs_AccessOK);
-    printf("\t%10u afs_GetAccessBits\n", cmp->callInfo.C_afs_GetAccessBits);
-    printf("\t%10u afsio_copy\n", cmp->callInfo.C_afsio_copy);
-    printf("\t%10u afsio_trim\n", cmp->callInfo.C_afsio_trim);
-    printf("\t%10u afsio_skip\n", cmp->callInfo.C_afsio_skip);
-    printf("\t%10u afs_page_read\n", cmp->callInfo.C_afs_page_read);
-    printf("\t%10u afs_page_write\n", cmp->callInfo.C_afs_page_write);
-    printf("\t%10u afs_page_read\n", cmp->callInfo.C_afs_page_read);
-    printf("\t%10u afs_get_groups_from_pag\n",
-          cmp->callInfo.C_afs_get_groups_from_pag);
-    printf("\t%10u afs_get_pag_from_groups\n",
-          cmp->callInfo.C_afs_get_pag_from_groups);
-    printf("\t%10u AddPag\n", cmp->callInfo.C_AddPag);
-    printf("\t%10u PagInCred\n", cmp->callInfo.C_PagInCred);
-    printf("\t%10u setpag\n", cmp->callInfo.C_setpag);
-    printf("\t%10u afs_setgroups\n", cmp->callInfo.C_afs_setgroups);
-    printf("\t%10u afs_getgroups\n", cmp->callInfo.C_afs_getgroups);
-    printf("\t%10u afs_page_in\n", cmp->callInfo.C_afs_page_in);
-    printf("\t%10u afs_page_out\n", cmp->callInfo.C_afs_page_out);
-    printf("\t%10u afs_AdvanceFD\n", cmp->callInfo.C_afs_AdvanceFD);
-    printf("\t%10u afs_lockf\n", cmp->callInfo.C_afs_lockf);
-    printf("\t%10u afs_xsetgroups\n", cmp->callInfo.C_afs_xsetgroups);
-    printf("\t%10u DoLockWarning\n", cmp->callInfo.C_DoLockWarning);
-    printf("\t%10u afs_nlinks\n", cmp->callInfo.C_afs_nlinks);
-    printf("\t%10u afs_lockctl\n", cmp->callInfo.C_afs_lockctl);
-    printf("\t%10u afs_xflock\n", cmp->callInfo.C_afs_xflock);
-    printf("\t%10u PGetCPrefs\n", cmp->callInfo.C_PGetCPrefs);
-    printf("\t%10u SRXAFSCB_WhoAreYou\n",
-          cmp->callInfo.C_SRXAFSCB_WhoAreYou);
-    printf("\t%10u afs_DiscardDCache\n", cmp->callInfo.C_afs_DiscardDCache);
-    printf("\t%10u afs_FreeDiscardedDCache\n",
-          cmp->callInfo.C_afs_FreeDiscardedDCache);
-    printf("\t%10u afs_MaybeFreeDiscardedDCache\n",
-          cmp->callInfo.C_afs_MaybeFreeDiscardedDCache);
-    printf("\t%10u PSetCPrefs\n", cmp->callInfo.C_PSetCPrefs);
-    printf("\t%10u afs_pagein\n", cmp->callInfo.C_afs_pagein);
-    printf("\t%10u afs_pageout\n", cmp->callInfo.C_afs_pageout);
-    printf("\t%10u afs_hp_strategy\n", cmp->callInfo.C_afs_hp_strategy);
-    printf("\t%10u PFlushMount\n", cmp->callInfo.C_PFlushMount);
-    printf("\t%10u SRXAFSCB_GetServerPrefs\n",
-          cmp->callInfo.C_SRXAFSCB_GetServerPrefs);
-    printf("\t%10u SRXAFSCB_GetCellServDB\n",
-          cmp->callInfo.C_SRXAFSCB_GetCellServDB);
-    printf("\t%10u SRXAFSCB_GetLocalCell\n",
-           cmp->callInfo.C_SRXAFSCB_GetLocalCell);
-    printf("\t%10u afs_MarshallCacheConfig\n",
-          cmp->callInfo.C_afs_MarshallCacheConfig);
-    printf("\t%10u SRXAFSCB_GetCacheConfig\n",
-          cmp->callInfo.C_SRXAFSCB_GetCacheConfig);
-    printf("\t%10u SRXAFSCB_GetCE64\n", cmp->callInfo.C_SRXAFSCB_GetCE64);
-    printf("\t%10u SRXAFSCB_GetCellByNum\n",
-          cmp->callInfo.C_SRXAFSCB_GetCellByNum);
-    printf("\t%10u BPrefetchNoCache\n", cmp->callInfo.C_BPrefetchNoCache);
-    printf("\t%10u PSetTokens2\n", cmp->callInfo.C_PSetTokens2);
-    printf("\t%10u PPrefetchFromTape\n", cmp->callInfo.C_PPrefetchFromTape);
-    printf("\t%10u afs_ReadNoCache\n", cmp->callInfo.C_afs_ReadNoCache);
+#define AFS_CS(call) \
+    if (nitems > 0) { \
+        printf("\t%10u %s\n", cmp->callInfo.C_ ## call, #call); \
+        nitems--; \
+    }
+
+    AFS_CM_CALL_STATS
+#undef AFS_CS
 }