From 8f2df21ffe59e9aa66219bf24656775b584c122d Mon Sep 17 00:00:00 2001 From: Nathan Neulinger Date: Wed, 21 Aug 2002 19:52:17 +0000 Subject: [PATCH] pull-prototypes-to-head-20020821 pull up prototypes to head --- README.DEVEL | 60 +++ acconfig.h | 2 + acinclude.m4 | 17 + src/afs/AIX/osi_file.c | 42 +- src/afs/AIX/osi_inode.c | 8 +- src/afs/AIX/osi_sleep.c | 8 +- src/afs/AIX/osi_vfsops.c | 3 +- src/afs/AIX/osi_vm.c | 29 +- src/afs/AIX/osi_vnodeops.c | 9 +- src/afs/DARWIN/osi_file.c | 40 +- src/afs/DARWIN/osi_inode.c | 2 +- src/afs/DARWIN/osi_sleep.c | 8 +- src/afs/DARWIN/osi_vfsops.c | 3 +- src/afs/DARWIN/osi_vm.c | 42 +- src/afs/DUX/osi_file.c | 44 +- src/afs/DUX/osi_inode.c | 2 +- src/afs/DUX/osi_sleep.c | 8 +- src/afs/DUX/osi_vfsops.c | 3 +- src/afs/DUX/osi_vm.c | 32 +- src/afs/DUX/osi_vnodeops.c | 4 +- src/afs/FBSD/osi_file.c | 40 +- src/afs/FBSD/osi_inode.c | 2 +- src/afs/FBSD/osi_sleep.c | 8 +- src/afs/FBSD/osi_vfsops.c | 3 +- src/afs/FBSD/osi_vm.c | 26 +- src/afs/HPUX/osi_file.c | 40 +- src/afs/HPUX/osi_inode.c | 4 +- src/afs/HPUX/osi_sleep.c | 2 +- src/afs/HPUX/osi_vfsops.c | 3 +- src/afs/HPUX/osi_vm.c | 26 +- src/afs/IRIX/osi_file.c | 41 +- src/afs/IRIX/osi_inode.c | 6 +- src/afs/IRIX/osi_sleep.c | 8 +- src/afs/IRIX/osi_vfsops.c | 6 +- src/afs/IRIX/osi_vm.c | 30 +- src/afs/LINUX/osi_alloc.c | 2 +- src/afs/LINUX/osi_file.c | 37 +- src/afs/LINUX/osi_machdep.h | 2 +- src/afs/LINUX/osi_misc.c | 11 +- src/afs/LINUX/osi_sleep.c | 22 +- src/afs/LINUX/osi_vfsops.c | 3 +- src/afs/LINUX/osi_vnodeops.c | 16 +- src/afs/NBSD/osi_file.c | 40 +- src/afs/NBSD/osi_inode.c | 2 +- src/afs/NBSD/osi_sleep.c | 9 +- src/afs/NBSD/osi_vfsops.c | 3 +- src/afs/NBSD/osi_vm.c | 32 +- src/afs/NBSD/osi_vnodeops.c | 4 +- src/afs/SOLARIS/osi_file.c | 46 +- src/afs/SOLARIS/osi_inode.c | 2 +- src/afs/SOLARIS/osi_sleep.c | 8 +- src/afs/SOLARIS/osi_vfsops.c | 3 +- src/afs/SOLARIS/osi_vm.c | 37 +- src/afs/SOLARIS/osi_vnodeops.c | 2 +- src/afs/UKERNEL/afs_usrops.c | 267 ++++------ src/afs/UKERNEL/afsincludes.h | 1 + src/afs/UKERNEL/osi_groups.c | 2 +- src/afs/UKERNEL/osi_vfsops.c | 3 +- src/afs/UKERNEL/osi_vm.c | 21 +- src/afs/UKERNEL/sysincludes.h | 2 +- src/afs/VNOPS/afs_vnop_access.c | 36 +- src/afs/VNOPS/afs_vnop_attrs.c | 36 +- src/afs/VNOPS/afs_vnop_create.c | 86 ++-- src/afs/VNOPS/afs_vnop_dirops.c | 40 +- src/afs/VNOPS/afs_vnop_flock.c | 149 +++--- src/afs/VNOPS/afs_vnop_link.c | 14 +- src/afs/VNOPS/afs_vnop_lookup.c | 190 +++---- src/afs/VNOPS/afs_vnop_open.c | 4 +- src/afs/VNOPS/afs_vnop_read.c | 35 +- src/afs/VNOPS/afs_vnop_readdir.c | 12 +- src/afs/VNOPS/afs_vnop_remove.c | 79 ++- src/afs/VNOPS/afs_vnop_rename.c | 29 +- src/afs/VNOPS/afs_vnop_symlink.c | 36 +- src/afs/VNOPS/afs_vnop_write.c | 37 +- src/afs/afs.h | 114 ++--- src/afs/afs_analyze.c | 45 +- src/afs/afs_axscache.c | 27 +- src/afs/afs_axscache.h | 14 +- src/afs/afs_buffer.c | 87 ++-- src/afs/afs_call.c | 215 +++----- src/afs/afs_callback.c | 220 +++------ src/afs/afs_cbqueue.c | 46 +- src/afs/afs_cbqueue.h | 8 +- src/afs/afs_cell.c | 114 ++--- src/afs/afs_chunkops.h | 56 +-- src/afs/afs_conn.c | 60 +-- src/afs/afs_daemons.c | 111 ++--- src/afs/afs_dcache.c | 272 ++++------ src/afs/afs_dynroot.c | 64 +-- src/afs/afs_exporter.c | 12 +- src/afs/afs_init.c | 165 +------ src/afs/afs_lock.c | 84 ++-- src/afs/afs_mariner.c | 18 +- src/afs/afs_memcache.c | 81 +-- src/afs/afs_nfsclnt.c | 6 +- src/afs/afs_osi.c | 80 ++- src/afs/afs_osi.h | 35 +- src/afs/afs_osi_alloc.c | 30 +- src/afs/afs_osi_pag.c | 23 +- src/afs/afs_osi_uio.c | 16 +- src/afs/afs_osi_vget.c | 4 +- src/afs/afs_osidnlc.c | 74 +-- src/afs/afs_osidnlc.h | 11 - src/afs/afs_pioctl.c | 795 +++++++++--------------------- src/afs/afs_prototypes.h | 761 +++++++++++++++++++++++++++- src/afs/afs_segments.c | 69 +-- src/afs/afs_server.c | 74 +-- src/afs/afs_stat.c | 29 +- src/afs/afs_stats.h | 6 +- src/afs/afs_user.c | 50 +- src/afs/afs_util.c | 37 +- src/afs/afs_vcache.c | 379 ++++++-------- src/afs/afs_volume.c | 77 +-- src/afs/afsincludes.h | 1 + src/afs/lock.h | 22 +- src/afsd/afsd.c | 10 +- src/afsmonitor/afsmon-output.c | 8 + src/afsmonitor/afsmon-win.c | 148 +++--- src/afsmonitor/afsmonitor.c | 34 +- src/afsweb/apache_afs_plugin.c | 2 +- src/afsweb/apache_afs_weblog.c | 2 +- src/afsweb/weblog.c | 6 +- src/audit/audit.c | 4 +- src/auth/authcon.c | 17 +- src/auth/cellconfig.c | 166 +++---- src/auth/cellconfig.p.h | 33 +- src/auth/copyauth.c | 12 +- src/auth/test/testcellconf.c | 10 +- src/auth/userok.c | 10 +- src/auth/writeconfig.c | 2 +- src/bozo/bnode.c | 17 +- src/bozo/bos.c | 32 +- src/bozo/bos_util.c | 20 +- src/bozo/bosoprocs.c | 34 +- src/bozo/bosserver.c | 14 +- src/bozo/cronbnodeops.c | 20 +- src/bozo/ezbnodeops.c | 16 +- src/bozo/fsbnodeops.c | 14 +- src/bu_utils/fms.c | 2 +- src/bucoord/btest.c | 2 - src/bucoord/commands.c | 20 +- src/bucoord/dlq.c | 5 +- src/bucoord/dump.c | 2 +- src/bucoord/main.c | 6 +- src/bucoord/restore.c | 2 +- src/bucoord/ttest.c | 2 +- src/bucoord/ubik_db_if.c | 8 +- src/budb/database.c | 7 + src/budb/db_alloc.c | 15 +- src/budb/db_dump.c | 8 + src/budb/db_hash.c | 7 + src/budb/db_text.c | 9 +- src/budb/dbs_dump.c | 2 +- src/budb/ol_verify.c | 15 +- src/budb/procs.c | 10 +- src/budb/server.c | 18 +- src/butc/dbentries.c | 4 +- src/butc/dump.c | 4 +- src/butc/list.c | 8 +- src/butc/lwps.c | 10 +- src/butc/read_tape.c | 2 +- src/butc/recoverDb.c | 2 +- src/butc/tcmain.c | 24 +- src/butc/tcudbprocs.c | 8 +- src/butc/test.c | 5 +- src/cf/osconf.m4 | 8 +- src/cmd/cmd.c | 169 +++---- src/cmd/cmd.p.h | 66 +-- src/cmd/test/ctest.c | 4 +- src/cmd/test/dtest.c | 2 +- src/cmd/test/itest.c | 6 +- src/comerr/com_err.c | 29 +- src/comerr/com_err.h | 11 +- src/comerr/compile_et.c | 30 +- src/comerr/error_msg.c | 12 +- src/comerr/error_table.h | 2 +- src/comerr/error_table.y | 2 + src/comerr/et_lex.lex_nt.c | 10 +- src/comerr/et_name.c | 6 +- src/comerr/internal.h | 1 + src/comerr/test/test.c | 2 +- src/config/Makefile.in | 2 +- src/config/config.c | 2 +- src/config/mc.c | 36 +- src/config/mkvers.c | 2 +- src/config/param.i386_fbsd_42.h | 4 +- src/config/param.i386_fbsd_43.h | 4 +- src/config/param.i386_fbsd_44.h | 4 +- src/config/param.i386_fbsd_45.h | 4 +- src/config/param.i386_fbsd_46.h | 4 +- src/config/param.i386_obsd29.h | 4 +- src/config/param.nbsd15.h | 4 +- src/config/param.nbsd16.h | 4 +- src/config/param.sun4x_57_usr.h | 4 +- src/config/stds.h | 1 - src/dauth/dlog.c | 14 +- src/dauth/dpass.c | 9 +- src/des/Makefile.in | 39 +- src/des/cbc_encrypt.c | 33 +- src/des/cksum.c | 23 +- src/des/des.c | 20 +- src/des/des_prototypes.h | 76 +++ src/des/key_parity.c | 10 +- src/des/key_sched.c | 19 +- src/des/main.c | 8 +- src/des/make_fp.c | 11 +- src/des/make_ip.c | 11 +- src/des/make_keyperm.c | 33 +- src/des/make_p.c | 5 +- src/des/make_p_table.c | 7 +- src/des/make_s_table.c | 10 +- src/des/misc.c | 42 +- src/des/new_rnd_key.c | 30 +- src/des/pcbc_encrypt.c | 27 +- src/des/quad_cksum.c | 31 +- src/des/read_pssword.c | 14 +- src/des/strng_to_key.c | 20 +- src/des/util.c | 15 +- src/des/weak_key.c | 12 +- src/dir/dir.c | 103 ++-- src/dir/dir.h | 33 ++ src/dir/salvage.c | 8 + src/export/Makefile.in | 8 +- src/finale/translate_et.c | 5 +- src/fsint/afsaux.c | 34 +- src/fsprobe/fsprobe.c | 23 +- src/fsprobe/fsprobe_test.c | 14 +- src/ftpd43+/ftpd.c | 10 +- src/ftpd43+/getusershell.c | 2 +- src/ftpd43+/glob.c | 6 +- src/gtx/X11windows.c | 2 +- src/gtx/curseswindows.c | 19 +- src/gtx/dumbwindows.c | 2 +- src/gtx/frame.c | 51 +- src/gtx/gtxtest.c | 45 +- src/gtx/input.c | 2 +- src/gtx/keymap.c | 24 +- src/gtx/lightobject.c | 10 + src/gtx/objdict.c | 2 +- src/gtx/object_test.c | 22 +- src/gtx/objects.c | 27 +- src/gtx/screen_test.c | 2 +- src/gtx/textcb.c | 17 +- src/gtx/textobject.c | 9 + src/inetd/inetd.c | 34 +- src/inetd/ta-rauth.c | 2 +- src/kauth/admin_tools.c | 10 +- src/kauth/authclient.c | 7 +- src/kauth/kaserver.c | 3 +- src/kauth/kdb.c | 2 +- src/kauth/klog.c | 2 +- src/kauth/klogin.c | 4 +- src/kauth/knfs.c | 16 +- src/kauth/kpasswd.c | 2 +- src/kauth/manyklog.c | 2 +- src/kauth/read_passwd.c | 9 +- src/kauth/rebuild.c | 4 +- src/kauth/test/multiklog.c | 2 +- src/kauth/test/test_badtix.c | 2 +- src/kauth/token.c | 18 +- src/kauth/user_nt.c | 2 +- src/libadmin/adminutil/afs_utilAdmin.h | 10 +- src/libadmin/bos/afs_bosAdmin.c | 9 + src/libadmin/cfg/cfgclient.c | 8 + src/libadmin/client/afs_clientAdmin.c | 4 +- src/libadmin/kas/afs_kasAdmin.c | 9 + src/libadmin/pts/afs_ptsAdmin.c | 9 + src/libadmin/samples/rxdebug_rx_stats.c | 9 + src/libadmin/samples/rxstat_get_peer.c | 9 + src/libadmin/samples/rxstat_get_process.c | 9 + src/libadmin/test/afscp.c | 4 +- src/libadmin/test/bos.c | 12 +- src/libadmin/vos/lockprocs.c | 8 +- src/libadmin/vos/vsprocs.c | 10 +- src/libafs/Makefile.common.in | 3 + src/libafs/MakefileProto.AIX.in | 2 - src/libafs/MakefileProto.DARWIN.in | 1 + src/libafs/MakefileProto.FBSD.in | 2 +- src/libafs/MakefileProto.LINUX.in | 5 +- src/libafs/MakefileProto.SOLARIS.in | 3 - src/libafsrpc/Makefile.in | 4 + src/libuafs/Makefile.common.in | 3 + src/libuafs/MakefileProto.LINUX.in | 1 - src/libuafs/linktest.c | 4 +- src/log/kseal.c | 11 +- src/log/tokens.c | 9 + src/log/unlog.c | 14 +- src/login/login.c | 14 +- src/lwp/fasttime.c | 4 +- src/lwp/iomgr.c | 20 +- src/lwp/lwp.c | 220 +++------ src/lwp/lwp.h | 15 +- src/lwp/preempt.c | 8 +- src/lwp/threadname.c | 20 +- src/lwp/waitkey.c | 7 + src/ntp/ntp.c | 8 +- src/ntp/ntp_adjust.c | 8 +- src/ntp/ntp_proto.c | 2 +- src/ntp/ntpd.c | 10 +- src/ntp/read_psti.c | 2 +- src/ntp/test.c | 2 +- src/pam/afs_auth.c | 12 +- src/pam/afs_pam_msg.c | 8 + src/pam/afs_password.c | 4 +- src/pam/afs_setcred.c | 4 +- src/pam/afs_util.c | 20 +- src/pam/afs_util.h | 4 +- src/pinstall/install.c | 116 ++--- src/ptserver/db_verify.c | 4 +- src/ptserver/display.c | 7 + src/ptserver/ptprocs.c | 22 +- src/ptserver/ptserver.c | 8 +- src/ptserver/ptuser.c | 8 +- src/ptserver/testpt.c | 10 +- src/ptserver/ubik.c | 8 + src/rcp/rcp.c | 8 +- src/rlogind/rexecd.c | 8 +- src/rlogind/rlogind.c | 28 +- src/rx/AIX/rx_knet.c | 6 +- src/rx/DARWIN/rx_knet.c | 9 +- src/rx/DUX/rx_knet.c | 6 +- src/rx/FBSD/rx_knet.c | 17 +- src/rx/HPUX/rx_knet.c | 42 +- src/rx/IRIX/rx_knet.c | 21 +- src/rx/LINUX/rx_knet.c | 3 +- src/rx/Makefile.in | 85 +++- src/rx/NBSD/rx_knet.c | 11 +- src/rx/SOLARIS/rx_knet.c | 50 +- src/rx/UKERNEL/rx_kcommon.h | 10 +- src/rx/UKERNEL/rx_knet.c | 31 +- src/rx/bulktest/bulk_client.c | 2 +- src/rx/rx.c | 630 ++++++++--------------- src/rx/rx.h | 456 ++++++----------- src/rx/rx_clock.c | 12 +- src/rx/rx_clock.h | 4 - src/rx/rx_conncache.c | 29 +- src/rx/rx_event.c | 42 +- src/rx/rx_event.h | 21 +- src/rx/rx_getaddr.c | 17 +- src/rx/rx_globals.h | 59 +-- src/rx/rx_internal.h | 44 +- src/rx/rx_kcommon.c | 73 ++- src/rx/rx_kcommon.h | 15 +- src/rx/rx_kernel.h | 8 - src/rx/rx_lwp.c | 27 +- src/rx/rx_misc.c | 15 +- src/rx/rx_multi.c | 22 +- src/rx/rx_multi.h | 4 - src/rx/rx_null.c | 4 +- src/rx/rx_null.h | 16 +- src/rx/rx_packet.c | 117 ++--- src/rx/rx_packet.h | 12 - src/rx/rx_prototypes.h | 495 +++++++++++++++++++ src/rx/rx_pthread.c | 37 +- src/rx/rx_rdwr.c | 90 +--- src/rx/rx_user.c | 17 +- src/rx/rx_user.h | 6 - src/rx/rxdebug.c | 8 +- src/rx/test/generator.c | 4 +- src/rx/xdr.c | 126 ++--- src/rx/xdr.h | 94 +--- src/rx/xdr_afsuuid.c | 5 +- src/rx/xdr_array.c | 22 +- src/rx/xdr_arrayn.c | 22 +- src/rx/xdr_float.c | 38 +- src/rx/xdr_int32.c | 83 ++++ src/rx/xdr_int64.c | 41 +- src/rx/xdr_mem.c | 53 +- src/rx/xdr_prototypes.h | 98 ++++ src/rx/xdr_rec.c | 167 +++---- src/rx/xdr_refernce.c | 4 - src/rx/xdr_rx.c | 81 ++- src/rx/xdr_update.c | 17 +- src/rxdebug/rxdebug.c | 8 +- src/rxgen/rpc_clntout.c | 22 +- src/rxgen/rpc_cout.c | 153 +++--- src/rxgen/rpc_hout.c | 108 ++-- src/rxgen/rpc_main.c | 213 +++----- src/rxgen/rpc_parse.c | 403 +++++---------- src/rxgen/rpc_parse.h | 3 - src/rxgen/rpc_scan.c | 103 ++-- src/rxgen/rpc_scan.h | 14 - src/rxgen/rpc_svcout.c | 43 +- src/rxgen/rpc_util.c | 229 ++++----- src/rxgen/rpc_util.h | 170 ++++--- src/rxgen/rxgen_consts.h | 14 - src/rxkad/Makefile.in | 66 ++- src/rxkad/domestic/crypt_conn.c | 26 +- src/rxkad/domestic/fcrypt.c | 28 +- src/rxkad/domestic/fcrypt.h | 6 + src/rxkad/fc_test.c | 3 +- src/rxkad/private_data.h | 22 +- src/rxkad/rxkad.p.h | 9 +- src/rxkad/rxkad_client.c | 25 +- src/rxkad/rxkad_common.c | 67 ++- src/rxkad/rxkad_prototypes.h | 105 ++++ src/rxkad/rxkad_server.c | 55 +-- src/rxkad/test/stress.c | 2 +- src/rxkad/test/stress_c.c | 2 +- src/rxkad/ticket.c | 106 ++-- src/scout/scout.c | 43 +- src/sgistuff/sgi_auth.c | 4 +- src/sys/afs.exp | 4 - src/sys/afssyscalls.c | 80 +-- src/sys/pagsh.c | 8 +- src/sys/rmtsysc.c | 29 +- src/sys/rmtsysd.c | 3 +- src/sys/rmtsysnet.c | 26 +- src/tests/fsx.c | 4 +- src/tsm41/aix41_auth.c | 4 +- src/ubik/beacon.c | 1 - src/ubik/disk.c | 4 +- src/ubik/phys.c | 2 +- src/ubik/ubik.c | 1 - src/ubik/udebug.c | 10 +- src/ubik/utst_client.c | 2 +- src/ubik/utst_server.c | 2 - src/update/client.c | 6 +- src/update/server.c | 5 +- src/update/utils.c | 2 +- src/usd/usd_file.c | 10 + src/uss/grammar.y | 11 + src/uss/lex.c | 11 +- src/uss/uss.c | 15 +- src/uss/uss_acl.c | 11 +- src/uss/uss_common.c | 9 + src/uss/uss_fs.c | 25 +- src/uss/uss_kauth.c | 9 + src/uss/uss_procs.c | 9 + src/uss/uss_vol.c | 14 +- src/util/Makefile.in | 56 ++- src/util/afs_lhash.c | 2 +- src/util/afsutil.h | 5 + src/util/afsutil_prototypes.h | 123 +++++ src/util/assert.c | 7 + src/util/get_krbrlm.c | 4 +- src/util/hostparse.c | 26 +- src/util/kreltime.c | 26 +- src/util/ktime.c | 69 ++- src/util/ktime.h | 5 +- src/util/netutils.c | 51 +- src/util/netutils.h | 28 +- src/util/uuid.c | 37 +- src/venus/cacheout.c | 6 +- src/venus/cmdebug.c | 10 +- src/venus/fs.c | 35 +- src/venus/fstrace.c | 15 +- src/venus/kdump.c | 31 +- src/venus/livesys.c | 7 + src/venus/test/getinitparams.c | 2 +- src/venus/test/owntest.c | 7 +- src/venus/twiddle.c | 2 +- src/venus/up.c | 9 + src/vfsck/main.c | 14 +- src/viced/afsfileprocs.c | 278 ++++++----- src/viced/callback.c | 25 +- src/viced/fsprobe.c | 15 +- src/viced/host.c | 73 +-- src/viced/physio.c | 7 + src/viced/viced.c | 46 +- src/vlserver/cnvldb.c | 9 + src/vlserver/vlclient.c | 23 +- src/vlserver/vldb_check.c | 13 +- src/vlserver/vlprocs.c | 43 +- src/vlserver/vlserver.c | 16 +- src/vlserver/vlutils.c | 11 +- src/vol/clone.c | 7 + src/vol/devname.c | 30 +- src/vol/fs_conv_411.c | 2 +- src/vol/fssync.c | 9 + src/vol/ihandle.c | 7 + src/vol/nuke.c | 4 +- src/vol/partition.c | 13 +- src/vol/physio.c | 7 + src/vol/purge.c | 7 + src/vol/vnode.c | 7 + src/vol/vol-info.c | 2 +- src/vol/vol-salvage.c | 10 +- src/vol/volume.c | 2 +- src/volser/dumpstuff.c | 7 + src/volser/lockprocs.c | 15 +- src/volser/physio.c | 7 + src/volser/restorevol.c | 13 +- src/volser/volmain.c | 27 +- src/volser/volprocs.c | 30 +- src/volser/voltrans.c | 11 +- src/volser/vos.c | 18 +- src/volser/vsprocs.c | 17 +- src/volser/vsutils.c | 15 +- src/xstat/xstat_cm.c | 14 +- src/xstat/xstat_cm_test.c | 9 +- src/xstat/xstat_fs.c | 14 +- src/xstat/xstat_fs_callback.c | 9 + src/xstat/xstat_fs_test.c | 9 +- 494 files changed, 7948 insertions(+), 8858 deletions(-) create mode 100644 src/des/des_prototypes.h create mode 100644 src/rx/rx_prototypes.h create mode 100644 src/rx/xdr_int32.c create mode 100644 src/rx/xdr_prototypes.h create mode 100644 src/rxkad/rxkad_prototypes.h create mode 100644 src/util/afsutil_prototypes.h diff --git a/README.DEVEL b/README.DEVEL index 4f85da5..ea5dfcb 100644 --- a/README.DEVEL +++ b/README.DEVEL @@ -16,3 +16,63 @@ in one shot.) Try to test builds using gmake -j # MAKE="gmake -j #", it seems like a good way to find missing or order-dependent dependency rules. (Is there a better way to do this?) + +-- Prototyping and Style -- +Prototypes for all source files in a given dir DDD should be placed +int the file DDD/DDD_prototypes.h. All externally used (either API +or used by other source files) routines and variables should be +prototyped in this file. + +The prototypes should be a full prototype, with argument and return +types. (Should not generate a warning with gcc -Wstrict-prototypes.) + +Format of the prototype files should look like: + + Standard Copyright Notice + + #ifndef AFS_SRC_DDD_PROTO_H + #define AFS_SRC_DDD_PROTO_H + + /* filename.c */ + prototypes + + /* filename.c */ + prototypes + + #endif /* AFS_SRC_DDD_PROTO_H */ + +In most of the existing prototypes, the define is DDD_PROTOTYPES_H, which is +probably ok as well. + +The declaration of the routines should be done in ANSI style. If at some +later date, it is determined that prototypes don't work on some platform +properly, we can use ansi2knr during the compile. + + rettype routine(argtype arg) + { + + } + +All routines should have a return type specified, void if nothing returned, +and should have (void) if no arguments are taken. + +Header files should not contain macros or other definitions unless they +are used across multiple source files. + +All routines should be declared static if they are not used outside that +source file. + +Compiles on gcc-using machines should strive to handle using +-Wstrict-prototypes -Werror. (this may take a while) + +Routines shall be defined in source prior to use if possible, and +prototyped in block at top of file if static. + +If you make a routine or variable static, be sure and remove it from +the AIX .exp files. + +Suggested compiler flags: + gcc: -Wall -Wstrict-prototypes + Solaris Workshop CC: -fd -v + (You might not want the -fd, it isn't really useful, just complains about the + K&R style functions, but -v gives useful info.) diff --git a/acconfig.h b/acconfig.h index 913d07d..0c2fd85 100644 --- a/acconfig.h +++ b/acconfig.h @@ -36,6 +36,8 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg } #undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS #undef STRUCT_INODE_HAS_I_DEVICES +#undef HAVE_STRUCT_BUF + /* glue for RedHat kernel bug */ #undef ENABLE_REDHAT_BUILDSYS diff --git a/acinclude.m4 b/acinclude.m4 index 0edd742..142df1b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -374,6 +374,23 @@ case $AFS_SYSNAME in DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist ;; esac + +AC_MSG_CHECKING(for definition of struct buf) +AC_CACHE_VAL(ac_cv_have_struct_buf, [ + ac_cv_have_struct_buf=no + AC_TRY_COMPILE( + [#include ], + [struct buf x; + printf("%d\n", sizeof(x));], + ac_cv_have_struct_buf=yes,) + ] +) +AC_MSG_RESULT($ac_cv_have_struct_buf) +if test "$ac_cv_have_struct_buf" = yes; then + AC_DEFINE(HAVE_STRUCT_BUF) +fi + + AC_CACHE_VAL(ac_cv_sockaddr_len, [ AC_MSG_CHECKING([if struct sockaddr has sa_len field]) diff --git a/src/afs/AIX/osi_file.c b/src/afs/AIX/osi_file.c index 8534d55..06bd7db 100644 --- a/src/afs/AIX/osi_file.c +++ b/src/afs/AIX/osi_file.c @@ -24,13 +24,12 @@ extern struct osi_dev cacheDev; extern struct vfs *afs_cacheVfsp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; extern struct vfs *rootvfs; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; extern int cacheDiskType; afs_int32 code = 0; int dummy; @@ -61,9 +60,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -81,8 +79,7 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; +int osi_UFSClose(register struct osi_file *afile) { AFS_STATCNT(osi_Close); if(afile->vnode) { @@ -107,9 +104,8 @@ osi_UFSClose(afile) return 0; } -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -139,8 +135,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { struct inode *ip = VTOIP(avp); ip->i_flag &= ~IACC; @@ -148,11 +143,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -200,11 +192,8 @@ retry_IO: } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -236,9 +225,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -250,8 +237,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/AIX/osi_inode.c b/src/afs/AIX/osi_inode.c index 3f2fad6..1b045b5 100644 --- a/src/afs/AIX/osi_inode.c +++ b/src/afs/AIX/osi_inode.c @@ -141,7 +141,7 @@ devtovfs(dev_t dev) AFS_STATCNT(devtovfs); a.dev = dev; - a.ans = (struct vfs *)0; + a.ans = NULL; vfs_search(devtovfs_func, &a); return a.ans; } @@ -249,7 +249,7 @@ out: SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4), ) { struct inode *ip, *newip, *pip; register int err, rval1, rc=0; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; extern struct vfs *rootvfs; register struct vfs *vfsp; struct vfs *nvfsp = NULL; @@ -312,7 +312,7 @@ SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4), ) { SYSENT(iopen, (dev, inode, usrmod), ) { struct file *fp; register struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; extern struct fileops vnodefops; register struct vfs *vfsp; int fd; @@ -375,7 +375,7 @@ idec(dev, inode, inode_p1) { SYSENT(iincdec, (dev, inode, inode_p1, amount), ) { register struct inode *ip; char error; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; AFS_STATCNT(afs_syscall_iincdec); diff --git a/src/afs/AIX/osi_sleep.c b/src/afs/AIX/osi_sleep.c index bee54e6..32f5ca8 100644 --- a/src/afs/AIX/osi_sleep.c +++ b/src/afs/AIX/osi_sleep.c @@ -19,8 +19,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -131,7 +129,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -148,7 +146,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -202,7 +200,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/AIX/osi_vfsops.c b/src/afs/AIX/osi_vfsops.c index ac89857..12c3f39 100644 --- a/src/afs/AIX/osi_vfsops.c +++ b/src/afs/AIX/osi_vfsops.c @@ -117,8 +117,7 @@ static int afs_root_nolock (struct vfs *afsp, struct vnode **avpp) credp = crref(); if (!(code = afs_InitReq(&treq, credp)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/AIX/osi_vm.c b/src/afs/AIX/osi_vm.c index 0877cb7..6cf80f7 100644 --- a/src/afs/AIX/osi_vm.c +++ b/src/afs/AIX/osi_vm.c @@ -30,10 +30,7 @@ RCSID("$Header$"); * is not dropped and re-acquired for any platform. It may be that *slept is * therefore obsolescent. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { if (avc->vrefCount != 0) return EBUSY; @@ -69,9 +66,7 @@ osi_VM_FlushVCache(avc, slept) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { if (avc->vmh) { /* @@ -109,7 +104,7 @@ osi_VM_StoreAllSegments(avc) avc->execsOrWriters--; AFS_RELE(AFSTOV(avc)); crfree((struct ucred *)avc->linkData); - avc->linkData = (char *)0; + avc->linkData = NULL; } } } @@ -123,11 +118,8 @@ osi_VM_StoreAllSegments(avc) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, + int sync) { if (avc->segid) { ReleaseWriteLock(&avc->lock); @@ -143,10 +135,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { if (avc->segid) { vm_flushp(avc->segid, 0, MAXFSIZE/PAGESIZE - 1); @@ -163,11 +152,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { if (avc->segid) { int firstpage = (alen + PAGESIZE-1)/PAGESIZE; diff --git a/src/afs/AIX/osi_vnodeops.c b/src/afs/AIX/osi_vnodeops.c index 96f523b..93f7fe2 100644 --- a/src/afs/AIX/osi_vnodeops.c +++ b/src/afs/AIX/osi_vnodeops.c @@ -48,6 +48,7 @@ RCSID("$Header$"); #include "../afs/icl.h" #include "../afs/prs_fs.h" #include "../h/flock.h" +#include "../afs/afsincludes.h" /* @@ -564,7 +565,7 @@ struct ucred *cred; crhold(cred); if (vcp->credp) { struct ucred *crp = vcp->credp; - vcp->credp = (struct ucred *)0; + vcp->credp = NULL; crfree(crp); } vcp->credp = cred; @@ -861,7 +862,7 @@ struct ucred *cred; struct ucred *crp; UpgradeSToWLock(&vcp->lock, 508); crp = vcp->credp; - vcp->credp = (struct ucred *)0; + vcp->credp = NULL; ConvertWToSLock(&vcp->lock); crfree(crp); } @@ -1509,7 +1510,7 @@ register struct buf *abp; * Ensure that all comparable buffers are grouped contiguously. * Later on, we'll merge adjacent buffers into a single request. */ - firstComparable = (struct buf *) 0; + firstComparable = NULL; lbp = &afs_asyncbuf; for(qbp = *lbp; qbp; lbp = &qbp->av_forw, qbp = *lbp) { if (EFS_COMPARABLE(tbp, qbp)) { @@ -1532,7 +1533,7 @@ register struct buf *abp; /* do the insert before qbp now */ tbp->av_forw = *lbp; *lbp = tbp; - if (firstComparable == (struct buf *) 0) { + if (firstComparable == NULL) { /* next we're going to do all sorts of buffer merging tricks, but * here we know we're the only COMPARABLE block in the * afs_asyncbuf list, so we just skip that and continue with diff --git a/src/afs/DARWIN/osi_file.c b/src/afs/DARWIN/osi_file.c index 943ea5c..40116ed 100644 --- a/src/afs/DARWIN/osi_file.c +++ b/src/afs/DARWIN/osi_file.c @@ -91,8 +91,7 @@ dev_t VnodeToDev(vnode_t *avp) osi_Panic("VnodeToDev called before cacheops initialized\n"); } -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct vnode *vp; struct vattr va; @@ -133,9 +132,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -153,9 +151,8 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; - { +int osi_UFSClose(register struct osi_file *afile) +{ AFS_STATCNT(osi_Close); if(afile->vnode) { AFS_RELE(afile->vnode); @@ -163,11 +160,10 @@ osi_UFSClose(afile) osi_FreeSmallSpace(afile); return 0; - } +} -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -190,8 +186,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { @@ -209,11 +204,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -249,11 +241,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -284,8 +273,7 @@ afs_osi_Write(afile, offset, aptr, asize) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/DARWIN/osi_inode.c b/src/afs/DARWIN/osi_inode.c index 3480646..1a69d82 100644 --- a/src/afs/DARWIN/osi_inode.c +++ b/src/afs/DARWIN/osi_inode.c @@ -233,7 +233,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval) { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; int fd; extern struct fileops vnops; diff --git a/src/afs/DARWIN/osi_sleep.c b/src/afs/DARWIN/osi_sleep.c index 83bb904..de04445 100644 --- a/src/afs/DARWIN/osi_sleep.c +++ b/src/afs/DARWIN/osi_sleep.c @@ -18,8 +18,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -122,7 +120,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -144,7 +142,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -201,7 +199,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/DARWIN/osi_vfsops.c b/src/afs/DARWIN/osi_vfsops.c index 2c32894..c5656e0 100644 --- a/src/afs/DARWIN/osi_vfsops.c +++ b/src/afs/DARWIN/osi_vfsops.c @@ -130,8 +130,7 @@ afs_root(struct mount *mp, if (!(error = afs_InitReq(&treq, &cr)) && !(error = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/DARWIN/osi_vm.c b/src/afs/DARWIN/osi_vm.c index 2cca095..b419ccc 100644 --- a/src/afs/DARWIN/osi_vm.c +++ b/src/afs/DARWIN/osi_vm.c @@ -33,10 +33,7 @@ RCSID("$Header$"); * * OSF/1 Locking: VN_LOCK has been called. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { struct vnode *vp=AFSTOV(avc); #ifdef AFS_DARWIN14_ENV @@ -76,9 +73,7 @@ osi_VM_FlushVCache(avc, slept) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { struct vnode *vp=AFSTOV(avc); ReleaseWriteLock(&avc->lock); @@ -99,11 +94,8 @@ osi_VM_StoreAllSegments(avc) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, + int sync) { struct vnode *vp=AFSTOV(avc); void *object; @@ -129,10 +121,7 @@ osi_VM_TryToSmush(avc, acred, sync) /* XXX this seems to not be referenced anywhere. *somebody* ought to be calling this, and also making sure that ubc's idea of the filesize is right more often */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { struct vnode *vp=AFSTOV(avc); void *object; @@ -155,11 +144,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { struct vnode *vp=AFSTOV(avc); if (UBCINFOEXISTS(vp)) { @@ -167,14 +152,10 @@ osi_VM_Truncate(avc, alen, acred) } } -extern struct AFS_UCRED afs_osi_cred; -extern afs_rwlock_t afs_xvcache; /* vnreclaim and vinactive are probably not aggressive enough to keep enough afs vcaches free, so we try to do some of it ourselves */ /* XXX there's probably not nearly enough locking here */ -void osi_VM_TryReclaim(avc, slept) - struct vcache *avc; - int *slept; +void osi_VM_TryReclaim(struct vcache *avc, int *slept) { struct proc *p=current_proc(); struct vnode *vp=AFSTOV(avc); @@ -273,8 +254,8 @@ void osi_VM_TryReclaim(avc, slept) ObtainReadLock(&afs_xvcache); } -void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size) { - +void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size) +{ void *object; struct vcache *avc = VTOAFS(vp); @@ -318,9 +299,10 @@ void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size) { ubc_setsize(vp, size); #endif #endif - } -int osi_VM_Setup(struct vcache *avc) { + +int osi_VM_Setup(struct vcache *avc) +{ int error; struct vnode *vp=AFSTOV(avc); diff --git a/src/afs/DUX/osi_file.c b/src/afs/DUX/osi_file.c index 918a4f0..b016a76 100644 --- a/src/afs/DUX/osi_file.c +++ b/src/afs/DUX/osi_file.c @@ -24,8 +24,7 @@ extern struct osi_dev cacheDev; extern struct mount *afs_cacheVfsp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { static struct vnode *tags_vnode = NULL; struct inode *ip; @@ -105,9 +104,8 @@ void *osi_UFSOpen(ainode) return afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -125,9 +123,8 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; - { +int osi_UFSClose(register struct osi_file *afile) +{ AFS_STATCNT(osi_Close); if(afile->vnode) { AFS_RELE(afile->vnode); @@ -135,11 +132,10 @@ osi_UFSClose(afile) osi_FreeSmallSpace(afile); return 0; - } +} -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -168,8 +164,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { struct inode *ip; assert(avp->v_tag == VT_UFS); @@ -179,11 +174,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -220,11 +212,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -258,9 +247,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -272,8 +259,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/DUX/osi_inode.c b/src/afs/DUX/osi_inode.c index 9f3c48e..6fd4e6b 100644 --- a/src/afs/DUX/osi_inode.c +++ b/src/afs/DUX/osi_inode.c @@ -251,7 +251,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval) { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; int fd; extern struct fileops vnops; diff --git a/src/afs/DUX/osi_sleep.c b/src/afs/DUX/osi_sleep.c index 3c38401..41718a1 100644 --- a/src/afs/DUX/osi_sleep.c +++ b/src/afs/DUX/osi_sleep.c @@ -19,8 +19,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -124,7 +122,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -141,7 +139,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -180,7 +178,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/DUX/osi_vfsops.c b/src/afs/DUX/osi_vfsops.c index c1199dd..ffc48cc 100644 --- a/src/afs/DUX/osi_vfsops.c +++ b/src/afs/DUX/osi_vfsops.c @@ -143,8 +143,7 @@ int mp_afs_root (struct mount *afsp, struct vnode **avpp) if (!(code = afs_InitReq(&treq, u.u_cred)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/DUX/osi_vm.c b/src/afs/DUX/osi_vm.c index 7d25912..ffc7bca 100644 --- a/src/afs/DUX/osi_vm.c +++ b/src/afs/DUX/osi_vm.c @@ -34,10 +34,7 @@ RCSID("$Header$"); * * OSF/1 Locking: VN_LOCK has been called. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { if (avc->vrefCount > 1) return EBUSY; @@ -82,10 +79,8 @@ osi_VM_FlushVCache(avc, slept) * * Called with the global lock NOT held. */ -void -osi_ubc_flush_dirty_and_wait(vp, flags) -struct vnode *vp; -int flags; { +static void osi_ubc_flush_dirty_and_wait(struct vnode *vp, int flags) +{ int retry; vm_page_t pp; int first; @@ -126,9 +121,7 @@ int flags; { * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { ReleaseWriteLock(&avc->lock); AFS_GUNLOCK(); @@ -146,11 +139,7 @@ osi_VM_StoreAllSegments(avc) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { ReleaseWriteLock(&avc->lock); AFS_GUNLOCK(); @@ -164,10 +153,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { ubc_flush_dirty(AFSTOV(avc)->v_object, 0); ubc_invalidate(AFSTOV(avc)->v_object, 0, 0, B_INVAL); @@ -179,11 +165,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { ubc_invalidate(AFSTOV(avc)->v_object, alen, MAXINT - alen, B_INVAL); diff --git a/src/afs/DUX/osi_vnodeops.c b/src/afs/DUX/osi_vnodeops.c index 0912598..d8ff8f4 100644 --- a/src/afs/DUX/osi_vnodeops.c +++ b/src/afs/DUX/osi_vnodeops.c @@ -1129,9 +1129,9 @@ lookupname(namep, seg, follow, dvpp, cvpp) ndp->ni_segflg = seg; ndp->ni_dirp = namep; error = namei(ndp); - if (dvpp != (struct vnode **)0) + if (dvpp != NULL) *dvpp = ndp->ni_dvp; - if (cvpp != (struct vnode **)0) + if (cvpp != NULL) *cvpp = ndp->ni_vp; return(error); } diff --git a/src/afs/FBSD/osi_file.c b/src/afs/FBSD/osi_file.c index f22cd54..8e666b6 100644 --- a/src/afs/FBSD/osi_file.c +++ b/src/afs/FBSD/osi_file.c @@ -24,8 +24,7 @@ extern struct osi_dev cacheDev; extern struct mount *afs_cacheVfsp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; @@ -59,9 +58,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -79,8 +77,7 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; +int osi_UFSClose(register struct osi_file *afile) { AFS_STATCNT(osi_Close); if(afile->vnode) { @@ -91,9 +88,8 @@ osi_UFSClose(afile) return 0; } -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct vattr tvattr; register afs_int32 code; struct osi_stat tstat; @@ -115,8 +111,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { struct inode *ip = VTOI(avp); ip->i_flag &= ~IN_ACCESS; @@ -124,11 +119,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ unsigned int resid; register afs_int32 code; register afs_int32 cnt1=0; @@ -164,11 +156,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ unsigned int resid; register afs_int32 code; AFS_STATCNT(osi_Write); @@ -198,9 +187,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -212,8 +199,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/FBSD/osi_inode.c b/src/afs/FBSD/osi_inode.c index 42f02d1..0942af3 100644 --- a/src/afs/FBSD/osi_inode.c +++ b/src/afs/FBSD/osi_inode.c @@ -192,7 +192,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval) { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; int fd; extern struct fileops vnops; diff --git a/src/afs/FBSD/osi_sleep.c b/src/afs/FBSD/osi_sleep.c index 1338eb2..8e8d861 100644 --- a/src/afs/FBSD/osi_sleep.c +++ b/src/afs/FBSD/osi_sleep.c @@ -20,8 +20,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -125,7 +123,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -141,7 +139,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -182,7 +180,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/FBSD/osi_vfsops.c b/src/afs/FBSD/osi_vfsops.c index faa0fb7..bbf1acc 100644 --- a/src/afs/FBSD/osi_vfsops.c +++ b/src/afs/FBSD/osi_vfsops.c @@ -129,8 +129,7 @@ afs_root(struct mount *mp, if (!(error = afs_InitReq(&treq, &cr)) && !(error = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/FBSD/osi_vm.c b/src/afs/FBSD/osi_vm.c index cedcb97..ff2b5d2 100644 --- a/src/afs/FBSD/osi_vm.c +++ b/src/afs/FBSD/osi_vm.c @@ -47,10 +47,7 @@ RCSID("$Header$"); * * OSF/1 Locking: VN_LOCK has been called. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { struct vm_object *obj; struct vnode *vp; @@ -89,9 +86,7 @@ osi_VM_FlushVCache(avc, slept) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { struct vnode *vp; struct vm_object *obj; @@ -130,11 +125,7 @@ osi_VM_StoreAllSegments(avc) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { struct vnode *vp; struct vm_object *obj; @@ -174,10 +165,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { struct vnode *vp; struct vm_object *obj; @@ -196,11 +184,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { vnode_pager_setsize(AFSTOV(avc), alen); } diff --git a/src/afs/HPUX/osi_file.c b/src/afs/HPUX/osi_file.c index 70be511..790c45a 100644 --- a/src/afs/HPUX/osi_file.c +++ b/src/afs/HPUX/osi_file.c @@ -25,8 +25,7 @@ extern struct osi_dev cacheDev; extern struct vfs *afs_cacheVfsp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; @@ -61,9 +60,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -81,9 +79,8 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; - { +int osi_UFSClose(register struct osi_file *afile) +{ AFS_STATCNT(osi_Close); if(afile->vnode) { AFS_RELE(afile->vnode); @@ -91,11 +88,10 @@ osi_UFSClose(afile) osi_FreeSmallSpace(afile); return 0; - } +} -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -124,8 +120,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { struct inode *ip = VTOI(avp); ip->i_flag &= ~IACC; @@ -133,11 +128,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; long resid; register afs_int32 code; @@ -184,11 +176,8 @@ retry_IO: } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; long resid; register afs_int32 code; @@ -216,8 +205,7 @@ afs_osi_Write(afile, offset, aptr, asize) } -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/HPUX/osi_inode.c b/src/afs/HPUX/osi_inode.c index f7a6221..8a4066a 100644 --- a/src/afs/HPUX/osi_inode.c +++ b/src/afs/HPUX/osi_inode.c @@ -34,7 +34,7 @@ getinode(struct vfs *vfsp, dev_t dev, ino_t inode, int *perror) if (!mp && !(mp = getmp(dev))) { u.u_error = ENXIO; - return((struct inode *)0); + return(NULL); } pip=iget(dev,mp,inode); if(!pip) @@ -123,7 +123,7 @@ int dev, inode, usrmod; { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; extern struct fileops vnodefops; register int code; diff --git a/src/afs/HPUX/osi_sleep.c b/src/afs/HPUX/osi_sleep.c index f586fe7..16828d0 100644 --- a/src/afs/HPUX/osi_sleep.c +++ b/src/afs/HPUX/osi_sleep.c @@ -107,7 +107,7 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) return code; } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; diff --git a/src/afs/HPUX/osi_vfsops.c b/src/afs/HPUX/osi_vfsops.c index 189202e..9a666b1 100644 --- a/src/afs/HPUX/osi_vfsops.c +++ b/src/afs/HPUX/osi_vfsops.c @@ -85,8 +85,7 @@ int afs_root (struct vfs *afsp, struct vnode **avpp, char *unused1) if (!(code = afs_InitReq(&treq, p_cred(u.u_procp))) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/HPUX/osi_vm.c b/src/afs/HPUX/osi_vm.c index 54d89da..4510e3b 100644 --- a/src/afs/HPUX/osi_vm.c +++ b/src/afs/HPUX/osi_vm.c @@ -30,10 +30,7 @@ RCSID("$Header$"); * is not dropped and re-acquired for any platform. It may be that *slept is * therefore obsolescent. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { if (avc->vrefCount > 1) return EBUSY; @@ -49,9 +46,7 @@ osi_VM_FlushVCache(avc, slept) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { ; /* Nothing here yet */ } @@ -62,11 +57,7 @@ osi_VM_StoreAllSegments(avc) * Locking: the vcache entry's lock is held. It may be dropped and * re-obtained. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { struct vnode *vp = AFSTOV(avc); @@ -87,10 +78,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { ; /* Nothing here yet */ } @@ -101,11 +89,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { ; /* Nothing here yet */ } diff --git a/src/afs/IRIX/osi_file.c b/src/afs/IRIX/osi_file.c index d594f22..fb6e496 100644 --- a/src/afs/IRIX/osi_file.c +++ b/src/afs/IRIX/osi_file.c @@ -89,9 +89,8 @@ void *osi_UFSOpen(ino_t ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -110,9 +109,8 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; - { +int osi_UFSClose(register struct osi_file *afile) +{ AFS_STATCNT(osi_Close); if(afile->vnode) { VN_RELE(afile->vnode); @@ -120,11 +118,10 @@ osi_UFSClose(afile) osi_FreeSmallSpace(afile); return 0; - } +} -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -149,8 +146,7 @@ osi_UFSTruncate(afile, asize) } #ifdef AFS_SGI_EFS_IOPS_ENV -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { if (afs_CacheFSType == AFS_SGI_EFS_CACHE) { @@ -163,11 +159,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; ssize_t resid; register afs_int32 code; @@ -206,11 +199,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; ssize_t resid; register afs_int32 code; @@ -240,9 +230,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -254,8 +242,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/IRIX/osi_inode.c b/src/afs/IRIX/osi_inode.c index 2e4778f..300308c 100644 --- a/src/afs/IRIX/osi_inode.c +++ b/src/afs/IRIX/osi_inode.c @@ -426,13 +426,13 @@ xfs_icreatename64(struct vfs *vfsp, int datap, int datalen, if (params[1] == INODESPECIAL) AFS_LOCK_VOL_CREATE(); - code = gop_lookupname(path, AFS_UIOSYS, FOLLOW, (struct vnode **) 0, &dvp); + code = gop_lookupname(path, AFS_UIOSYS, FOLLOW, NULL, &dvp); if (code == ENOENT) { /* Maybe it's an old directory name format. */ AFS_COPYINSTR((char*)datap, name, AFS_PNAME_SIZE-1, &junk, unused); strcat(name, "/."); strcat(name, int_to_base64(stmp1, rw_vno)); - code = gop_lookupname(name, AFS_UIOSYS, FOLLOW, (struct vnode **) 0, + code = gop_lookupname(name, AFS_UIOSYS, FOLLOW, NULL, &dvp); if (!code) { /* Use old name format. */ @@ -450,7 +450,7 @@ xfs_icreatename64(struct vfs *vfsp, int datap, int datalen, if (code) { if (code == EEXIST) { /* someone beat us to it? */ - code = gop_lookupname(path, AFS_UIOSYS, 0, (struct vnode **) 0, + code = gop_lookupname(path, AFS_UIOSYS, 0, NULL, &dvp); } if (code) { diff --git a/src/afs/IRIX/osi_sleep.c b/src/afs/IRIX/osi_sleep.c index a4eb686..5e791fb 100644 --- a/src/afs/IRIX/osi_sleep.c +++ b/src/afs/IRIX/osi_sleep.c @@ -19,8 +19,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -129,7 +127,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -143,7 +141,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -185,7 +183,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/IRIX/osi_vfsops.c b/src/afs/IRIX/osi_vfsops.c index 5c6caf9..3ef415e 100644 --- a/src/afs/IRIX/osi_vfsops.c +++ b/src/afs/IRIX/osi_vfsops.c @@ -284,8 +284,7 @@ afs_root (OSI_VFS_ARG(afsp), avpp) if (!(code = afs_InitReq(&treq, OSI_GET_CURRENT_CRED())) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; @@ -555,8 +554,7 @@ afs_vget(OSI_VFS_DECL(afsp), vnode_t **avcp, struct fid *fidp) if (code = afs_InitReq(&treq, OSI_GET_CURRENT_CRED())) goto out; - *avcp = (vnode_t*) afs_GetVCache(&vfid, &treq, (afs_int32 *)0, - (struct vcache*)0, 0); + *avcp = (vnode_t*) afs_GetVCache(&vfid, &treq, NULL, (struct vcache*)0); if (! *avcp) { code = ENOENT; } diff --git a/src/afs/IRIX/osi_vm.c b/src/afs/IRIX/osi_vm.c index d53944b..ca6c417 100644 --- a/src/afs/IRIX/osi_vm.c +++ b/src/afs/IRIX/osi_vm.c @@ -33,10 +33,7 @@ extern struct vnodeops Afs_vnodeops; * is not dropped and re-acquired for any platform. It may be that *slept is * therefore obsolescent. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { int s, code; vnode_t *vp = &avc->v; @@ -144,11 +141,7 @@ osi_VM_FlushVCache(avc, slept) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { ReleaseWriteLock(&avc->lock); AFS_GUNLOCK(); @@ -165,9 +158,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: only the global lock is held. */ -void -osi_VM_FSyncInval(avc) - struct vcache *avc; +void osi_VM_FSyncInval(struct vcache *avc) { AFS_GUNLOCK(); PFLUSHINVALVP((vnode_t *)avc, (off_t)0, (off_t)avc->m.Length); @@ -179,9 +170,7 @@ osi_VM_FSyncInval(avc) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { int error; osi_Assert(valusema(&avc->vc_rwlock) <= 0); @@ -221,10 +210,7 @@ osi_VM_StoreAllSegments(avc) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { vnode_t *vp = (vnode_t *)avc; @@ -248,11 +234,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { PTOSSVP(&avc->v, (off_t)alen, (off_t)MAXLONG); } diff --git a/src/afs/LINUX/osi_alloc.c b/src/afs/LINUX/osi_alloc.c index a89a74d..431844b 100644 --- a/src/afs/LINUX/osi_alloc.c +++ b/src/afs/LINUX/osi_alloc.c @@ -350,7 +350,7 @@ void osi_linux_free(void *addr) lmem.chunk = addr; /* remove this chunk from our hash table */ - if ( lmp = (struct osi_linux_mem *)afs_lhash_remove(lh_mem_htab, hash_chunk(addr), &lmem)) { + if ((lmp = (struct osi_linux_mem *)afs_lhash_remove(lh_mem_htab, hash_chunk(addr), &lmem))) { linux_free(lmp->chunk); /* this contains the piggybacked type info*/ afs_atomlist_put(al_mem_pool, lmp); /* return osi_linux_mem struct to pool*/ afs_linux_cur_allocs--; diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index 3eef98f..614df2b 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -24,8 +24,7 @@ afs_lock_t afs_xosi; /* lock is for tvattr */ extern struct osi_dev cacheDev; extern struct super_block *afs_cacheSBp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; @@ -76,9 +75,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; AFS_STATCNT(osi_Stat); MObtainWriteLock(&afs_xosi,320); @@ -91,8 +89,7 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; +int osi_UFSClose(register struct osi_file *afile) { AFS_STATCNT(osi_Close); if (afile) { @@ -108,9 +105,8 @@ osi_UFSClose(afile) return 0; } -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; register afs_int32 code; struct osi_stat tstat; @@ -163,11 +159,8 @@ osi_UFSTruncate(afile, asize) /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; size_t resid; register afs_int32 code; @@ -202,11 +195,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; size_t resid; register afs_int32 code; @@ -235,9 +225,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -247,8 +235,7 @@ int afs_osi_MapStrategy(aproc, bp) return returnCode; } -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index b378a23..1b5d5d8 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -165,7 +165,7 @@ do { \ #define AFS_GUNLOCK() \ do { \ if (!ISAFS_GLOCK()) \ - osi_Panic("afs global lock not held"); \ + osi_Panic("afs global lock not held at %s:%d", __FILE__, __LINE__); \ afs_global_owner = 0; \ up(&afs_global_lock); \ } while (0) diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index b2ae7d9..bafcbd7 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -348,7 +348,7 @@ void osi_clear_inode(struct inode *ip) #else if (ip->i_count > 1) #endif - printf("afs_put_inode: ino %d (0x%x) has count %d\n", ip->i_ino, ip); + printf("afs_put_inode: ino %d (0x%x) has count %d\n", ip->i_ino, ip, ip->i_count); afs_InactiveVCache(vcp, credp); ObtainWriteLock(&vcp->lock, 504); @@ -443,14 +443,16 @@ void check_bad_parent(struct dentry *dp) struct task_struct *rxk_ListenerTask; -void osi_linux_mask() { +void osi_linux_mask(void) +{ spin_lock_irq(¤t->sigmask_lock); sigfillset(¤t->blocked); recalc_sigpending(current); spin_unlock_irq(¤t->sigmask_lock); } -void osi_linux_unmask() { +void osi_linux_unmask(void) +{ spin_lock_irq(&rxk_ListenerTask->sigmask_lock); sigemptyset(&rxk_ListenerTask->blocked); flush_signals(rxk_ListenerTask); @@ -458,6 +460,7 @@ void osi_linux_unmask() { spin_unlock_irq(&rxk_ListenerTask->sigmask_lock); } -void osi_linux_rxkreg() { +void osi_linux_rxkreg(void) +{ rxk_ListenerTask = current; } diff --git a/src/afs/LINUX/osi_sleep.c b/src/afs/LINUX/osi_sleep.c index caf1799..f3de7c5 100644 --- a/src/afs/LINUX/osi_sleep.c +++ b/src/afs/LINUX/osi_sleep.c @@ -16,14 +16,10 @@ RCSID("$Header$"); #include "../afs/afsincludes.h" /* Afs-based standard headers */ #include "../afs/afs_stats.h" /* afs statistics */ - static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV, dummyV; - void afs_osi_InitWaitHandle(struct afs_osi_WaitHandle *achandle) { AFS_STATCNT(osi_InitWaitHandle); @@ -48,9 +44,9 @@ void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle) */ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) { - int code; - afs_int32 endTime, tid; + afs_int32 endTime; struct timer_list *timer = NULL; + int code; AFS_STATCNT(osi_Wait); endTime = osi_Time() + (ams/1000); @@ -58,11 +54,9 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok) ahandle->proc = (caddr_t) current; do { - AFS_ASSERT_GLOCK(); - code = 0; - code = osi_TimedSleep(&waitV, ams, aintok); - - if (code) break; + AFS_ASSERT_GLOCK(); + code = osi_TimedSleep(&waitV, ams, 1); + if (code) break; if (ahandle && (ahandle->proc == (caddr_t) 0)) { /* we've been signalled */ break; @@ -165,7 +159,7 @@ static void afs_addevent(char *event) * Waits for an event to be notified, returning early if a signal * is received. Returns EINTR if signaled, and 0 otherwise. */ -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { struct afs_event *evp; int seq, retval; @@ -210,7 +204,7 @@ int afs_osi_SleepSig(char *event) * caller that the wait has been interrupted and the stack should be cleaned * up preparatory to signal delivery */ -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { sigset_t saved_set; @@ -277,7 +271,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index ba30648..e0e1693 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -130,8 +130,7 @@ static int afs_root(struct super_block *afsp) if (!(code = afs_InitReq(&treq, credp)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); if (tvp) { extern struct inode_operations afs_dir_iops; #if defined(AFS_LINUX24_ENV) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 14bf5fb..efc5c04 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -334,7 +334,7 @@ tagain: if (!dirpos) break; - de = (struct DirEntry*)afs_dir_GetBlob(&tdc->f.inode, dirpos); + de = afs_dir_GetBlob(&tdc->f.inode, dirpos); if (!de) break; @@ -356,7 +356,7 @@ tagain: if ((avc->states & CForeign) == 0 && (ntohl(de->fid.vnode) & 1)) { type=DT_DIR; - } else if ((tvc=afs_FindVCache(&afid,0,0,0,0))) { + } else if ((tvc=afs_FindVCache(&afid,0,0))) { if (tvc->mvstat) { type=DT_DIR; } else if (((tvc->states) & (CStatd|CTruth))) { @@ -373,7 +373,7 @@ tagain: /* what other types does AFS support? */ } /* clean up from afs_FindVCache */ - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } code = (*filldir)(dirbuf, de->name, len, offset, ino, type); } @@ -778,7 +778,7 @@ static int afs_linux_revalidate(struct dentry *dp) if (afs_fakestat_enable && vcp->mvstat == 1 && vcp->mvid && (vcp->states & CMValid) && (vcp->states & CStatd)) { ObtainSharedLock(&afs_xvcache, 680); - rootvp = afs_FindVCache(vcp->mvid, 0, 0, 0, 0); + rootvp = afs_FindVCache(vcp->mvid, 0, 0); ReleaseSharedLock(&afs_xvcache); } @@ -797,7 +797,7 @@ static int afs_linux_revalidate(struct dentry *dp) #ifdef AFS_LINUX24_ENV unlock_kernel(); #endif - if (rootvp) afs_PutVCache(rootvp, 0); + if (rootvp) afs_PutVCache(rootvp); AFS_GUNLOCK(); return 0; } @@ -855,14 +855,14 @@ static int afs_linux_dentry_revalidate(struct dentry *dp) goto done; } - if (code = afs_InitReq(&treq, credp)) + if ((code = afs_InitReq(&treq, credp))) goto done; Check_AtSys(parentvcp, dp->d_name.name, &sysState, &treq); name = sysState.name; /* First try looking up the DNLC */ - if (lookupvcp = osi_dnlc_lookup(parentvcp, name, WRITE_LOCK)) { + if ((lookupvcp = osi_dnlc_lookup(parentvcp, name, WRITE_LOCK))) { /* Verify that the dentry does not point to an old inode */ if (vcp != lookupvcp) goto done; @@ -886,7 +886,7 @@ static int afs_linux_dentry_revalidate(struct dentry *dp) done: /* Clean up */ if (lookupvcp) - afs_PutVCache(lookupvcp, WRITE_LOCK); + afs_PutVCache(lookupvcp); if (sysState.allocked) osi_FreeLargeSpace(name); diff --git a/src/afs/NBSD/osi_file.c b/src/afs/NBSD/osi_file.c index 26e4b7c..185d793 100644 --- a/src/afs/NBSD/osi_file.c +++ b/src/afs/NBSD/osi_file.c @@ -24,8 +24,7 @@ extern struct osi_dev cacheDev; extern struct mount *afs_cacheVfsp; -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; @@ -59,9 +58,8 @@ void *osi_UFSOpen(ainode) return (void *)afile; } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -79,8 +77,7 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; +int osi_UFSClose(register struct osi_file *afile) { AFS_STATCNT(osi_Close); if(afile->vnode) { @@ -91,9 +88,8 @@ osi_UFSClose(afile) return 0; } -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -123,8 +119,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { struct inode *ip = VTOI(avp); ip->i_flag &= ~IACC; @@ -132,11 +127,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -173,11 +165,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; unsigned int resid; register afs_int32 code; @@ -211,9 +200,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -225,8 +212,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/NBSD/osi_inode.c b/src/afs/NBSD/osi_inode.c index 6d8b88d..2e77da0 100644 --- a/src/afs/NBSD/osi_inode.c +++ b/src/afs/NBSD/osi_inode.c @@ -215,7 +215,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval) { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; int fd; extern struct fileops vnops; diff --git a/src/afs/NBSD/osi_sleep.c b/src/afs/NBSD/osi_sleep.c index 1b018a5..503373a 100644 --- a/src/afs/NBSD/osi_sleep.c +++ b/src/afs/NBSD/osi_sleep.c @@ -20,9 +20,6 @@ RCSID("$Header$"); static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); - static char waitV; @@ -125,7 +122,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -142,7 +139,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { afs_osi_Sleep(event); return 0; @@ -181,7 +178,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/NBSD/osi_vfsops.c b/src/afs/NBSD/osi_vfsops.c index efe15c0..752879a 100644 --- a/src/afs/NBSD/osi_vfsops.c +++ b/src/afs/NBSD/osi_vfsops.c @@ -143,8 +143,7 @@ int mp_afs_root (struct mount *afsp, struct vnode **avpp) if (!(code = afs_InitReq(&treq, cred)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/NBSD/osi_vm.c b/src/afs/NBSD/osi_vm.c index 560dfd5..275c82a 100644 --- a/src/afs/NBSD/osi_vm.c +++ b/src/afs/NBSD/osi_vm.c @@ -46,10 +46,7 @@ RCSID("$Header$"); * * OSF/1 Locking: VN_LOCK has been called. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { #ifdef SECRETLY_OSF1 if (avc->vrefCount > 1) @@ -96,10 +93,8 @@ osi_VM_FlushVCache(avc, slept) * * Called with the global lock NOT held. */ -void -osi_ubc_flush_dirty_and_wait(vp, flags) -struct vnode *vp; -int flags; { +static void osi_ubc_flush_dirty_and_wait(struct vnode *vp, int flags) +{ int retry; vm_page_t pp; int first; @@ -142,9 +137,7 @@ int flags; { * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { #ifdef SECRETLY_OSF1 ReleaseWriteLock(&avc->lock); @@ -164,11 +157,7 @@ osi_VM_StoreAllSegments(avc) * Since we drop and re-obtain the lock, we can't guarantee that there won't * be some pages around when we return, newly created by concurrent activity. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { #ifdef SECRETLY_OSF1 ReleaseWriteLock(&avc->lock); @@ -184,10 +173,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { #ifdef SECRETLY_OSF1 ubc_flush_dirty(((struct vnode *)avc)->v_object, 0); @@ -201,11 +187,7 @@ osi_VM_FlushPages(avc, credp) * activeV is raised. This is supposed to block pageins, but at present * it only works on Solaris. */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { #ifdef SECRETLY_OSF1 ubc_invalidate(((struct vnode *)avc)->v_object, alen, diff --git a/src/afs/NBSD/osi_vnodeops.c b/src/afs/NBSD/osi_vnodeops.c index 6f5d958..badb165 100644 --- a/src/afs/NBSD/osi_vnodeops.c +++ b/src/afs/NBSD/osi_vnodeops.c @@ -1086,9 +1086,9 @@ lookupname(namep, seg, follow, dvpp, cvpp) ndp->ni_segflg = seg; ndp->ni_dirp = namep; error = namei(ndp); - if (dvpp != (struct vnode **)0) + if (dvpp != NULL) *dvpp = ndp->ni_dvp; - if (cvpp != (struct vnode **)0) + if (cvpp != NULL) *cvpp = ndp->ni_vp; return(error); } diff --git a/src/afs/SOLARIS/osi_file.c b/src/afs/SOLARIS/osi_file.c index acbb091..24d1e6a 100644 --- a/src/afs/SOLARIS/osi_file.c +++ b/src/afs/SOLARIS/osi_file.c @@ -125,8 +125,7 @@ afs_int32 VnodeToSize(vnode_t *vp) return (afs_int32)(vattr.va_size); } -void *osi_VxfsOpen(ainode) - afs_int32 ainode; +void *osi_VxfsOpen(afs_int32 ainode) { struct vnode *vp; register struct osi_file *afile = NULL; @@ -149,8 +148,7 @@ void *osi_VxfsOpen(ainode) } #endif /* AFS_HAVE_VXFS */ -void *osi_UfsOpen(ainode) - afs_int32 ainode; +void *osi_UfsOpen(afs_int32 ainode) { struct inode *ip; register struct osi_file *afile = NULL; @@ -178,8 +176,7 @@ void *osi_UfsOpen(ainode) #if defined(AFS_SUN57_64BIT_ENV) void *osi_UFSOpen(ino_t ainode) #else -void *osi_UFSOpen(ainode) - afs_int32 ainode; +void *osi_UFSOpen(afs_int32 ainode) #endif { extern int cacheDiskType; @@ -200,9 +197,8 @@ void *osi_UFSOpen(ainode) return osi_UfsOpen(ainode); } -afs_osi_Stat(afile, astat) - register struct osi_file *afile; - register struct osi_stat *astat; { +int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) +{ register afs_int32 code; struct vattr tvattr; AFS_STATCNT(osi_Stat); @@ -222,8 +218,7 @@ afs_osi_Stat(afile, astat) return code; } -osi_UFSClose(afile) - register struct osi_file *afile; +int osi_UFSClose(register struct osi_file *afile) { AFS_STATCNT(osi_Close); if(afile->vnode) { @@ -234,9 +229,8 @@ osi_UFSClose(afile) return 0; } -osi_UFSTruncate(afile, asize) - register struct osi_file *afile; - afs_int32 asize; { +int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) +{ struct AFS_UCRED *oldCred; struct vattr tvattr; register afs_int32 code; @@ -262,8 +256,7 @@ osi_UFSTruncate(afile, asize) return code; } -void osi_DisableAtimes(avp) -struct vnode *avp; +void osi_DisableAtimes(struct vnode *avp) { if (afs_CacheFSType == AFS_SUN_UFS_CACHE) { struct inode *ip = VTOI(avp); @@ -277,11 +270,8 @@ struct vnode *avp; /* Generic read interface */ -afs_osi_Read(afile, offset, aptr, asize) - register struct osi_file *afile; - int offset; - char *aptr; - afs_int32 asize; { +int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; #if defined(AFS_SUN57_ENV) ssize_t resid; @@ -322,11 +312,8 @@ afs_osi_Read(afile, offset, aptr, asize) } /* Generic write interface */ -afs_osi_Write(afile, offset, aptr, asize) - register struct osi_file *afile; - char *aptr; - afs_int32 offset; - afs_int32 asize; { +int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize) +{ struct AFS_UCRED *oldCred; #if defined(AFS_SUN57_ENV) ssize_t resid; @@ -360,9 +347,7 @@ afs_osi_Write(afile, offset, aptr, asize) /* This work should be handled by physstrat in ca/machdep.c. This routine written from the RT NFS port strategy routine. It has been generalized a bit, but should still be pretty clear. */ -int afs_osi_MapStrategy(aproc, bp) - int (*aproc)(); - register struct buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp) { afs_int32 returnCode; @@ -374,8 +359,7 @@ int afs_osi_MapStrategy(aproc, bp) -void -shutdown_osifile() +void shutdown_osifile(void) { extern int afs_cold_shutdown; diff --git a/src/afs/SOLARIS/osi_inode.c b/src/afs/SOLARIS/osi_inode.c index e3584dc..159373c 100644 --- a/src/afs/SOLARIS/osi_inode.c +++ b/src/afs/SOLARIS/osi_inode.c @@ -236,7 +236,7 @@ afs_syscall_iopen(dev, inode, usrmod, rvp, credp) { struct file *fp; struct inode *ip; - struct vnode *vp = (struct vnode *)0; + struct vnode *vp = NULL; int dummy; int fd; register int code; diff --git a/src/afs/SOLARIS/osi_sleep.c b/src/afs/SOLARIS/osi_sleep.c index 97b95d4..7f83ccc 100644 --- a/src/afs/SOLARIS/osi_sleep.c +++ b/src/afs/SOLARIS/osi_sleep.c @@ -17,8 +17,6 @@ RCSID("$Header$"); #include "../afs/afs_stats.h" /* afs statistics */ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok); -void afs_osi_Wakeup(char *event); -void afs_osi_Sleep(char *event); static char waitV; @@ -122,7 +120,7 @@ static afs_event_t *afs_getevent(char *event) #define relevent(evp) ((evp)->refcount--) -void afs_osi_Sleep(char *event) +void afs_osi_Sleep(void *event) { struct afs_event *evp; int seq; @@ -136,7 +134,7 @@ void afs_osi_Sleep(char *event) relevent(evp); } -int afs_osi_SleepSig(char *event) +int afs_osi_SleepSig(void *event) { struct afs_event *evp; int seq, code = 0; @@ -187,7 +185,7 @@ static int osi_TimedSleep(char *event, afs_int32 ams, int aintok) } -void afs_osi_Wakeup(char *event) +void afs_osi_Wakeup(void *event) { struct afs_event *evp; diff --git a/src/afs/SOLARIS/osi_vfsops.c b/src/afs/SOLARIS/osi_vfsops.c index 8a30878..cb7af81 100644 --- a/src/afs/SOLARIS/osi_vfsops.c +++ b/src/afs/SOLARIS/osi_vfsops.c @@ -118,8 +118,7 @@ int afs_root (struct vfs *afsp, struct vnode **avpp) if (!(code = afs_InitReq(&treq, proc->p_cred)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/SOLARIS/osi_vm.c b/src/afs/SOLARIS/osi_vm.c index 2e610d5..73a907e 100644 --- a/src/afs/SOLARIS/osi_vm.c +++ b/src/afs/SOLARIS/osi_vm.c @@ -42,10 +42,7 @@ RCSID("$Header$"); * * Locking: only the global lock is held on entry. */ -int -osi_VM_GetDownD(avc, adc) - struct vcache *avc; - struct dcache *adc; +int osi_VM_GetDownD(struct vcache *avc, struct dcache *adc) { int code; @@ -73,10 +70,7 @@ osi_VM_GetDownD(avc, adc) * is not dropped and re-acquired for any platform. It may be that *slept is * therefore obsolescent. */ -int -osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { if (avc->vrefCount != 0) return EBUSY; @@ -113,9 +107,7 @@ osi_VM_FlushVCache(avc, slept) * Locking: the vcache entry's lock is held. It will usually be dropped and * re-obtained. */ -void -osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { AFS_GUNLOCK(); #if defined(AFS_SUN56_ENV) @@ -133,11 +125,7 @@ osi_VM_StoreAllSegments(avc) * Locking: the vcache entry's lock is held. It may be dropped and * re-obtained. */ -void -osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { AFS_GUNLOCK(); #if defined(AFS_SUN56_ENV) @@ -154,10 +142,7 @@ osi_VM_TryToSmush(avc, acred, sync) * * Locking: No lock is held, not even the global lock. */ -void -osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { extern int afs_pvn_vptrunc; @@ -174,11 +159,7 @@ osi_VM_FlushPages(avc, credp) * The caller will raise activeV (to prevent pageins), but this function must * be called first, since it causes a pagein. */ -void -osi_VM_PreTruncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_PreTruncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { page_t *pp; int pageOffset = (alen & PAGEOFFSET); @@ -203,11 +184,7 @@ osi_VM_PreTruncate(avc, alen, acred) * Locking: no lock is held, not even the global lock. * Pageins are blocked (activeV is raised). */ -void -osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { /* * It's OK to specify afs_putapage here, even though we aren't holding diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index bff4a77..cc8b111 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -572,7 +572,7 @@ retry: } /* while (1) ... */ AFS_GLOCK(); - pl[slot] = (struct page *) 0; + pl[slot] = NULL; ReleaseReadLock(&tdc->lock); /* Prefetch next chunk if we're at a chunk boundary */ diff --git a/src/afs/UKERNEL/afs_usrops.c b/src/afs/UKERNEL/afs_usrops.c index 3dcdb09..c0c5747 100644 --- a/src/afs/UKERNEL/afs_usrops.c +++ b/src/afs/UKERNEL/afs_usrops.c @@ -176,9 +176,7 @@ struct { /* * Never call afs_brelse */ -int ufs_brelse(vp, bp) -struct usr_vnode *vp; -struct usr_buf *bp; +int ufs_brelse(struct usr_vnode *vp, struct usr_buf *bp) { usr_assert(0); } @@ -186,14 +184,12 @@ struct usr_buf *bp; /* * I am not sure what to do with these, they assert for now */ -int iodone(bp) -struct usr_buf *bp; +int iodone(struct usr_buf *bp) { usr_assert(0); } -struct usr_file *getf(fd) -int fd; +struct usr_file *getf(int fd) { usr_assert(0); } @@ -201,14 +197,12 @@ int fd; /* * Every user is a super user */ -int afs_osi_suser(credp) -struct usr_ucred *credp; +int afs_osi_suser(void *credp) { return 1; } -int afs_suser(credp) -struct usr_ucred *credp; +int afs_suser(void *credp) { return 1; } @@ -217,8 +211,7 @@ struct usr_ucred *credp; * These are no-ops in user space */ -int afs_osi_SetTime(atv) -osi_timeval_t *atv; +int afs_osi_SetTime(osi_timeval_t *atv) { return 0; } @@ -227,7 +220,7 @@ osi_timeval_t *atv; * xflock should never fall through, the only files we know * about are AFS files */ -int usr_flock() +int usr_flock(void) { usr_assert(0); } @@ -236,7 +229,7 @@ int usr_flock() * ioctl should never fall through, the only files we know * about are AFS files */ -int usr_ioctl() +int usr_ioctl(void) { usr_assert(0); } @@ -244,22 +237,22 @@ int usr_ioctl() /* * We do not support the inode related system calls */ -int afs_syscall_icreate() +int afs_syscall_icreate(void) { usr_assert(0); } -int afs_syscall_iincdec() +int afs_syscall_iincdec(void) { usr_assert(0); } -int afs_syscall_iopen() +int afs_syscall_iopen(void) { usr_assert(0); } -int afs_syscall_ireadwrite() +int afs_syscall_ireadwrite(void) { usr_assert(0); } @@ -268,22 +261,22 @@ int afs_syscall_ireadwrite() * these routines are referenced in the vfsops structure, but * should never get called */ -int vno_close() +int vno_close(void) { usr_assert(0); } -int vno_ioctl() +int vno_ioctl(void) { usr_assert(0); } -int vno_rw() +int vno_rw(void) { usr_assert(0); } -int vno_select() +int vno_select(void) { usr_assert(0); } @@ -291,11 +284,7 @@ int vno_select() /* * uiomove copies data between kernel buffers and uio buffers */ -int usr_uiomove(kbuf, n, rw, uio) -char *kbuf; -int n; -int rw; -struct usr_uio *uio; +int usr_uiomove(char *kbuf, int n, int rw, struct usr_uio *uio) { int nio; int len; @@ -337,8 +326,7 @@ struct usr_uio *uio; /* * routines to manage user credentials */ -struct usr_ucred *usr_crcopy(credp) -struct usr_ucred *credp; +struct usr_ucred *usr_crcopy(struct usr_ucred *credp) { struct usr_ucred *newcredp; @@ -348,7 +336,7 @@ struct usr_ucred *credp; return newcredp; } -struct usr_ucred *usr_crget() +struct usr_ucred *usr_crget(void) { struct usr_ucred *newcredp; @@ -357,8 +345,7 @@ struct usr_ucred *usr_crget() return newcredp; } -int usr_crfree(credp) -struct usr_ucred *credp; +int usr_crfree(struct usr_ucred *credp) { credp->cr_ref--; if (credp->cr_ref == 0) { @@ -366,14 +353,12 @@ struct usr_ucred *credp; } } -int usr_crhold(credp) -struct usr_ucred *credp; +int usr_crhold(struct usr_ucred *credp) { credp->cr_ref++; } -void usr_vattr_null(vap) -struct usr_vattr *vap; +void usr_vattr_null(struct usr_vattr *vap) { int n; char *cp; @@ -390,7 +375,7 @@ struct usr_vattr *vap; * kernel environment for each thread. The user structure * is stored in the thread specific data. */ -void uafs_InitThread() +void uafs_InitThread(void) { int st; struct usr_user *uptr; @@ -417,7 +402,7 @@ void uafs_InitThread() * this routine is used to implement the global 'u' structure. Initializes * the thread if needed. */ -struct usr_user *get_user_struct() +struct usr_user *get_user_struct(void) { struct usr_user *uptr; int st; @@ -441,8 +426,7 @@ struct usr_user *get_user_struct() /* * Sleep on an event */ -int afs_osi_Sleep(x) -caddr_t x; +void afs_osi_Sleep(void *x) { int index; osi_wait_t *waitp; @@ -487,15 +471,13 @@ caddr_t x; } } -int afs_osi_SleepSig(x) - caddr_t x; +int afs_osi_SleepSig(void *x) { afs_osi_Sleep(x); return 0; } -int afs_osi_Wakeup(x) -caddr_t x; +void afs_osi_Wakeup(void *x) { int index; osi_wait_t *waitp; @@ -513,10 +495,7 @@ caddr_t x; usr_mutex_unlock(&osi_waitq_lock); } -int afs_osi_Wait(msec, handle, intok) -afs_int32 msec; -struct afs_osi_WaitHandle *handle; -int intok; +int afs_osi_Wait(afs_int32 msec, struct afs_osi_WaitHandle *handle, int intok) { int index; osi_wait_t *waitp; @@ -589,17 +568,16 @@ int intok; return ret; } -void afs_osi_CancelWait(handle) -struct afs_osi_WaitHandle *handle; +void afs_osi_CancelWait(struct afs_osi_WaitHandle *handle) { - afs_osi_Wakeup((caddr_t)handle); + afs_osi_Wakeup(handle); } /* * Netscape NSAPI doesn't have a cond_timed_wait, so we need * to explicitly signal cond_timed_waits when their timers expire */ -int afs_osi_CheckTimedWaits() +int afs_osi_CheckTimedWaits(void) { time_t curTime; osi_wait_t *waitp; @@ -636,12 +614,8 @@ int max_osi_files = 0; * Allocate a slot in the file table if there is not one there already, * copy in the file name and kludge up the vnode and inode structures */ -int lookupname(fnamep, segflg, followlink, dirvpp, compvpp) -char *fnamep; -int segflg; -int followlink; -struct usr_vnode **dirvpp; -struct usr_vnode **compvpp; +int lookupname(char *fnamep, int segflg, int followlink, + struct usr_vnode **dirvpp, struct usr_vnode **compvpp) { int i; int code; @@ -695,8 +669,7 @@ struct usr_vnode **compvpp; /* * open a file given its i-node number */ -void *osi_UFSOpen(ino) -int ino; +void *osi_UFSOpen(afs_int32 ino) { int rc; struct osi_file *fp; @@ -735,8 +708,7 @@ int ino; return fp; } -int osi_UFSClose(fp) -struct osi_file *fp; +int osi_UFSClose(struct osi_file *fp) { int rc; @@ -755,9 +727,7 @@ struct osi_file *fp; return 0; } -int osi_UFSTruncate(fp, len) -struct osi_file *fp; -int len; +int osi_UFSTruncate(struct osi_file *fp, afs_int32 len) { int rc; @@ -775,11 +745,7 @@ int len; return 0; } -int afs_osi_Read(fp, offset, buf, len) -struct osi_file *fp; -int offset; -char *buf; -int len; +int afs_osi_Read(struct osi_file *fp, int offset, char *buf, afs_int32 len) { int rc, ret; int code; @@ -817,11 +783,7 @@ int len; return ret; } -int afs_osi_Write(fp, offset, buf, len) -struct osi_file *fp; -int offset; -char *buf; -int len; +int afs_osi_Write(struct osi_file *fp, afs_int32 offset, char *buf, afs_int32 len) { int rc, ret; int code; @@ -859,9 +821,7 @@ int len; return ret; } -int afs_osi_Stat(fp, stp) -struct osi_file *fp; -struct osi_stat *stp; +int afs_osi_Stat(struct osi_file *fp, struct osi_stat *stp) { int rc; struct stat st; @@ -963,72 +923,65 @@ void osi_FreeSmallSpace(void *ptr) afs_osi_Free(ptr, 0); } -void shutdown_osi() +void shutdown_osi(void) { AFS_STATCNT(shutdown_osi); return; } -void shutdown_osinet() +void shutdown_osinet(void) { AFS_STATCNT(shutdown_osinet); return; } -void shutdown_osifile() +void shutdown_osifile(void) { AFS_STATCNT(shutdown_osifile); return; } -int afs_nfsclient_init() +int afs_nfsclient_init(void) { return 0; } -void shutdown_nfsclnt() +void shutdown_nfsclnt(void) { return; } -int afs_osi_Invisible() +void afs_osi_Invisible(void) { - return 0; + return; } -int osi_GetTime(tv) -struct timeval *tv; +int osi_GetTime(struct timeval *tv) { gettimeofday(tv, NULL); return 0; } -int osi_SetTime(tv) -struct timeval *tv; +int osi_SetTime(struct timeval *tv) { return 0; } -int osi_Active(avc) -struct vcache *avc; +int osi_Active(struct vcache *avc) { AFS_STATCNT(osi_Active); if (avc->opens > 0) return(1); return 0; } -int afs_osi_MapStrategy(aproc, bp) -int (*aproc)(); -struct usr_buf *bp; +int afs_osi_MapStrategy(int (*aproc)(), struct usr_buf *bp) { afs_int32 returnCode; returnCode = (*aproc)(bp); return returnCode; } -osi_FlushPages(avc, credp) - register struct vcache *avc; - struct AFS_UCRED *credp; +void osi_FlushPages(register struct vcache *avc, struct AFS_UCRED *credp) { ObtainSharedLock(&avc->lock,555); if ((hcmp((avc->m.DataVersion), (avc->mapDV)) <= 0) || @@ -1042,8 +995,7 @@ osi_FlushPages(avc, credp) return; } -osi_FlushText_really(vp) - register struct vcache *vp; +void osi_FlushText_really(register struct vcache *vp) { if (hcmp(vp->m.DataVersion, vp->flushDV) > 0) { hset(vp->flushDV, vp->m.DataVersion); @@ -1051,21 +1003,17 @@ osi_FlushText_really(vp) return; } -int osi_SyncVM(avc) -struct vcache *avc; +int osi_SyncVM(struct vcache *avc) { return 0; } -void osi_ReleaseVM(avc, len, credp) -struct vcache *avc; -int len; -struct usr_ucred *credp; +void osi_ReleaseVM(struct vcache *avc, int len, struct usr_ucred *credp) { return; } -void osi_Init() +void osi_Init(void) { int i; int rc; @@ -1144,8 +1092,7 @@ void osi_Init() * None. *------------------------------------------------------------------------*/ -int GetVFileNumber(fname) - char *fname; +int GetVFileNumber(char *fname) { int computedVNumber; /*The computed file number we return*/ int filenameLen; /*Number of chars in filename*/ @@ -1203,8 +1150,7 @@ int GetVFileNumber(fname) * As described. *------------------------------------------------------------------------*/ -int CreateCacheFile(fname) - char *fname; +int CreateCacheFile(char *fname) { static char rn[] = "CreateCacheFile"; /*Routine name*/ int cfd; /*File descriptor to AFS cache file*/ @@ -1257,8 +1203,7 @@ int CreateCacheFile(fname) * delete files as explained above. *------------------------------------------------------------------------*/ -int SweepAFSCache(vFilesFound) - int *vFilesFound; +int SweepAFSCache(int *vFilesFound) { static char rn[] = "SweepAFSCache"; /*Routine name*/ char fullpn_FileToDelete[1024]; /*File to be deleted from cache*/ @@ -1270,7 +1215,7 @@ int SweepAFSCache(vFilesFound) if (cacheFlags & AFSCALL_INIT_MEMCACHE) { if (afsd_debug) - printf("%s: Memory Cache, no cache sweep done\n"); + printf("%s: Memory Cache, no cache sweep done\n", rn); *vFilesFound = 0; return 0; } @@ -1405,10 +1350,8 @@ int SweepAFSCache(vFilesFound) return(0); } -static ConfigCell(aci, arock, adir) -register struct afsconf_cell *aci; -char *arock; -struct afsconf_dir *adir; { +static ConfigCell(register struct afsconf_cell *aci, char *arock, struct afsconf_dir *adir) +{ register int isHomeCell; register int i; afs_int32 cellFlags; @@ -1443,8 +1386,7 @@ struct afsconf_dir *adir; { /* * Set the UDP port number RX uses for UDP datagrams */ -void uafs_SetRxPort( - int port) +void uafs_SetRxPort(int port) { usr_assert(usr_rx_port == 0); usr_rx_port = port; @@ -1659,7 +1601,7 @@ void uafs_Init( memset(pathname_for_V, 0, (cacheFiles * sizeof(char *))); if (afsd_debug) printf("%s: %d pathname_for_V entries at 0x%x, %d bytes\n", - rn, cacheFiles, (cacheFiles * sizeof(AFSD_INO_T))); + rn, cacheFiles, pathname_for_V, (cacheFiles * sizeof(AFSD_INO_T))); /* * Set up all the pathnames we'll need for later. @@ -1729,7 +1671,7 @@ void uafs_Init( */ lookingForHomeCell = 1; - afsconf_CellApply(afs_cdir, ConfigCell, (char *) 0); + afsconf_CellApply(afs_cdir, ConfigCell, NULL); /* * If we're still looking for the home cell after the whole cell @@ -1913,7 +1855,7 @@ void uafs_Init( return; } -void uafs_Shutdown() +void uafs_Shutdown(void) { int rc; @@ -1931,7 +1873,7 @@ void uafs_Shutdown() /* * Donate the current thread to the RX server pool. */ -void uafs_RxServerProc() +void uafs_RxServerProc(void) { osi_socket sock; int threadID; @@ -1964,11 +1906,10 @@ struct syscallThreadArgs { }; #ifdef NETSCAPE_NSAPI -void syscallThread(argp) +void syscallThread(void *argp) #else /* NETSCAPE_NSAPI */ -void *syscallThread(argp) +void *syscallThread(void *argp) #endif /* NETSCAPE_NSAPI */ -void *argp; { int i; struct usr_ucred *crp; @@ -2060,7 +2001,7 @@ int uafs_SetTokens(char *tbuffer, int tlen) return 0; } -int uafs_RPCStatsEnableProc() +int uafs_RPCStatsEnableProc(void) { int rc; struct afs_ioctl iob; @@ -2079,7 +2020,7 @@ int uafs_RPCStatsEnableProc() return rc; } -int uafs_RPCStatsDisableProc() +int uafs_RPCStatsDisableProc(void) { int rc; struct afs_ioctl iob; @@ -2098,7 +2039,7 @@ int uafs_RPCStatsDisableProc() return rc; } -int uafs_RPCStatsClearProc() +int uafs_RPCStatsClearProc(void) { int rc; struct afs_ioctl iob; @@ -2117,7 +2058,7 @@ int uafs_RPCStatsClearProc() return rc; } -int uafs_RPCStatsEnablePeer() +int uafs_RPCStatsEnablePeer(void) { int rc; struct afs_ioctl iob; @@ -2136,7 +2077,7 @@ int uafs_RPCStatsEnablePeer() return rc; } -int uafs_RPCStatsDisablePeer() +int uafs_RPCStatsDisablePeer(void) { int rc; struct afs_ioctl iob; @@ -2155,7 +2096,7 @@ int uafs_RPCStatsDisablePeer() return rc; } -int uafs_RPCStatsClearPeer() +int uafs_RPCStatsClearPeer(void) { int rc; struct afs_ioctl iob; @@ -2474,8 +2415,7 @@ char *uafs_LastPath(char *path) /* * Set the working directory. */ -int uafs_chdir( - char *path) +int uafs_chdir(char *path) { int retval; AFS_GLOCK(); @@ -2484,8 +2424,7 @@ int uafs_chdir( return retval; } -int uafs_chdir_r( - char *path) +int uafs_chdir_r(char *path) { int code; struct vnode *dirP; @@ -2508,9 +2447,7 @@ int uafs_chdir_r( /* * Create a directory. */ -int uafs_mkdir( - char *path, - int mode) +int uafs_mkdir(char *path, int mode) { int retval; AFS_GLOCK(); @@ -2519,9 +2456,7 @@ int uafs_mkdir( return retval; } -int uafs_mkdir_r( - char *path, - int mode) +int uafs_mkdir_r(char *path, int mode) { int code; char *nameP; @@ -2602,10 +2537,7 @@ int uafs_IsRoot(char *path) * Open a file * Note: file name may not end in a slash. */ -int uafs_open( - char *path, - int flags, - int mode) +int uafs_open(char *path, int flags, int mode) { int retval; AFS_GLOCK(); @@ -2614,10 +2546,7 @@ int uafs_open( return retval; } -int uafs_open_r( - char *path, - int flags, - int mode) +int uafs_open_r(char *path, int flags, int mode) { int fd; int code; @@ -2791,18 +2720,14 @@ int uafs_open_r( /* * Create a file */ -int uafs_creat( - char *path, - int mode) +int uafs_creat(char *path, int mode) { int rc; rc = uafs_open(path, O_CREAT|O_WRONLY|O_TRUNC, mode); return rc; } -int uafs_creat_r( - char *path, - int mode) +int uafs_creat_r(char *path, int mode) { int rc; rc = uafs_open_r(path, O_CREAT|O_WRONLY|O_TRUNC, mode); @@ -2812,10 +2737,7 @@ int uafs_creat_r( /* * Write to a file */ -int uafs_write( - int fd, - char *buf, - int len) +int uafs_write(int fd, char *buf, int len) { int retval; AFS_GLOCK(); @@ -2824,10 +2746,7 @@ int uafs_write( return retval; } -int uafs_write_r( - int fd, - char *buf, - int len) +int uafs_write_r(int fd, char *buf, int len) { int code; struct usr_uio uio; @@ -2872,10 +2791,7 @@ int uafs_write_r( /* * Read from a file */ -int uafs_read( - int fd, - char *buf, - int len) +int uafs_read(int fd, char *buf, int len) { int retval; AFS_GLOCK(); @@ -2884,10 +2800,7 @@ int uafs_read( return retval; } -int uafs_read_r( - int fd, - char *buf, - int len) +int uafs_read_r(int fd, char *buf, int len) { int code; struct usr_uio uio; @@ -2934,9 +2847,7 @@ int uafs_read_r( * * NOTE: Caller must hold the global AFS lock. */ -int uafs_GetAttr( - struct usr_vnode *vp, - struct stat *stats) +int uafs_GetAttr(struct usr_vnode *vp, struct stat *stats) { int code; struct usr_vattr attrs; @@ -4082,7 +3993,7 @@ int uafs_klog_r( /* * Destroy AFS credentials from the kernel cache */ -int uafs_unlog() +int uafs_unlog(void) { int code; @@ -4092,7 +4003,7 @@ int uafs_unlog() return code; } -int uafs_unlog_r() +int uafs_unlog_r(void) { int retval; AFS_GUNLOCK(); diff --git a/src/afs/UKERNEL/afsincludes.h b/src/afs/UKERNEL/afsincludes.h index f3f6c0e..ec40b53 100644 --- a/src/afs/UKERNEL/afsincludes.h +++ b/src/afs/UKERNEL/afsincludes.h @@ -24,4 +24,5 @@ #include "../afs/dir.h" #include "../afs/afs_axscache.h" #include "../afs/icl.h" +#include "../afs/afs_stats.h" #include "../afs/afs_prototypes.h" diff --git a/src/afs/UKERNEL/osi_groups.c b/src/afs/UKERNEL/osi_groups.c index 04bc108..292bf08 100644 --- a/src/afs/UKERNEL/osi_groups.c +++ b/src/afs/UKERNEL/osi_groups.c @@ -98,7 +98,7 @@ int usr_setpag( } *newpag = (pagvalue == -1 ? genpag(): pagvalue); afs_get_groups_from_pag(*newpag, &gidset[0], &gidset[1]); - if (code = afs_setgroups(cred, ngroups, gidset, change_parent)) { + if ((code = afs_setgroups(cred, ngroups, gidset, change_parent))) { osi_FreeSmallSpace((char *)gidset); return (code); } diff --git a/src/afs/UKERNEL/osi_vfsops.c b/src/afs/UKERNEL/osi_vfsops.c index 6c9e2ce..ee3a863 100644 --- a/src/afs/UKERNEL/osi_vfsops.c +++ b/src/afs/UKERNEL/osi_vfsops.c @@ -85,8 +85,7 @@ afs_root (OSI_VFS_ARG(afsp), avpp) if (!(code = afs_InitReq(&treq, u.u_cred)) && !(code = afs_CheckInit())) { - tvp = afs_GetVCache(&afs_rootFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvp = afs_GetVCache(&afs_rootFid, &treq, NULL, NULL); /* we really want this to stay around */ if (tvp) { afs_globalVp = tvp; diff --git a/src/afs/UKERNEL/osi_vm.c b/src/afs/UKERNEL/osi_vm.c index 5db8d80..2bdcefc 100644 --- a/src/afs/UKERNEL/osi_vm.c +++ b/src/afs/UKERNEL/osi_vm.c @@ -16,38 +16,27 @@ RCSID("$Header$"); #include "../afs/afsincludes.h" /* Afs-based standard headers */ #include "../afs/afs_stats.h" /* statistics */ -void osi_VM_Truncate(avc, alen, acred) - struct vcache *avc; - int alen; - struct AFS_UCRED *acred; +void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred) { return; } -int osi_VM_FlushVCache(avc, slept) - struct vcache *avc; - int *slept; +int osi_VM_FlushVCache(struct vcache *avc, int *slept) { return 0; } -void osi_VM_StoreAllSegments(avc) - struct vcache *avc; +void osi_VM_StoreAllSegments(struct vcache *avc) { return; } -void osi_VM_TryToSmush(avc, acred, sync) - struct vcache *avc; - struct AFS_UCRED *acred; - int sync; +void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync) { return; } -void osi_VM_FlushPages(avc, credp) - struct vcache *avc; - struct AFS_UCRED *credp; +void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp) { return; } diff --git a/src/afs/UKERNEL/sysincludes.h b/src/afs/UKERNEL/sysincludes.h index 73db66a..df9bfbc 100644 --- a/src/afs/UKERNEL/sysincludes.h +++ b/src/afs/UKERNEL/sysincludes.h @@ -1364,7 +1364,7 @@ struct usr_user { #define u_rval1 u_r.r_val1 #define u (*(get_user_struct())) -extern struct usr_user *get_user_struct(); +extern struct usr_user *get_user_struct(void); #define USR_DIRSIZE 2048 diff --git a/src/afs/VNOPS/afs_vnop_access.c b/src/afs/VNOPS/afs_vnop_access.c index 24912cb..06a8a27 100644 --- a/src/afs/VNOPS/afs_vnop_access.c +++ b/src/afs/VNOPS/afs_vnop_access.c @@ -51,10 +51,8 @@ static char fileModeMap[8] = { }; /* avc must be held. Returns bit map of mode bits. Ignores file mode bits */ -afs_int32 afs_GetAccessBits (avc, arights, areq) - register struct vcache *avc; - register afs_int32 arights; - register struct vrequest *areq; +afs_int32 afs_GetAccessBits(register struct vcache *avc, register afs_int32 arights, + register struct vrequest *areq) { AFS_STATCNT(afs_GetAccessBits); /* see if anyuser has the required access bits */ @@ -105,10 +103,9 @@ afs_int32 afs_GetAccessBits (avc, arights, areq) /* the new access ok function. AVC must be held but not locked. if avc is a * file, its parent need not be held, and should not be locked. */ -afs_AccessOK(avc, arights, areq, check_mode_bits) -struct vcache *avc; -afs_int32 arights, check_mode_bits; -struct vrequest *areq; { +int afs_AccessOK(struct vcache *avc, afs_int32 arights, struct vrequest *areq, + afs_int32 check_mode_bits) +{ register struct vcache *tvc; struct VenusFid dirFid; register afs_int32 mask; @@ -136,11 +133,10 @@ struct vrequest *areq; { dirFid.Fid.Vnode = avc->parentVnode; dirFid.Fid.Unique = avc->parentUnique; /* Avoid this GetVCache call */ - tvc = afs_GetVCache(&dirFid, areq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvc = afs_GetVCache(&dirFid, areq, NULL, NULL); if (tvc) { dirBits = afs_GetAccessBits(tvc, arights, areq); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } } else @@ -177,15 +173,12 @@ struct vrequest *areq; { } -#if defined(AFS_SUN5_ENV) || (defined(AFS_SGI_ENV) && !defined(AFS_SGI65_ENV)) -afs_access(OSI_VC_ARG(avc), amode, flags, acred) - int flags; +#if defined(AFS_SUN5_ENV) || (defined(AFS_SGI_ENV) && !defined(AFS_SGI65_ENV)) +int afs_access(OSI_VC_DECL(avc), register afs_int32 amode, int flags, struct AFS_UCRED *acred) #else -afs_access(OSI_VC_ARG(avc), amode, acred) +int afs_access(OSI_VC_DECL(avc), register afs_int32 amode, struct AFS_UCRED *acred) #endif - OSI_VC_DECL(avc); - register afs_int32 amode; - struct AFS_UCRED *acred; { +{ register afs_int32 code; struct vrequest treq; struct afs_fakestat_state fakestate; @@ -196,7 +189,7 @@ afs_access(OSI_VC_ARG(avc), amode, acred) ICL_TYPE_INT32, amode, ICL_TYPE_OFFSET, ICL_HANDLE_OFFSET(avc->m.Length)); afs_InitFakeStat(&fakestate); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; code = afs_EvalFakeStat(&avc, &fakestate, &treq); if (code) { @@ -294,10 +287,7 @@ afs_access(OSI_VC_ARG(avc), amode, acred) * afs_getRights * This function is just an interface to afs_GetAccessBits */ -int afs_getRights(OSI_VC_ARG(avc), arights, acred) - OSI_VC_DECL(avc); - register afs_int32 arights; - struct AFS_UCRED *acred; +int afs_getRights(OSI_VC_DECL(avc), register afs_int32 arights, struct AFS_UCRED *acred) { register afs_int32 code; struct vrequest treq; diff --git a/src/afs/VNOPS/afs_vnop_attrs.c b/src/afs/VNOPS/afs_vnop_attrs.c index 8b5a315..953fb6e 100644 --- a/src/afs/VNOPS/afs_vnop_attrs.c +++ b/src/afs/VNOPS/afs_vnop_attrs.c @@ -35,9 +35,7 @@ struct afs_exporter *afs_nfsexporter; extern struct vcache *afs_globalVp; /* copy out attributes from cache entry */ -afs_CopyOutAttrs(avc, attrs) - register struct vattr *attrs; - register struct vcache *avc; +int afs_CopyOutAttrs(register struct vcache *avc, register struct vattr *attrs) { register struct volume *tvp; register struct cell *tcell; @@ -187,14 +185,10 @@ afs_CopyOutAttrs(avc, attrs) #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) -afs_getattr(OSI_VC_ARG(avc), attrs, flags, acred) - int flags; +int afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, int flags, struct AFS_UCRED *acred) #else -afs_getattr(OSI_VC_ARG(avc), attrs, acred) +int afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, struct AFS_UCRED *acred) #endif - OSI_VC_DECL(avc); - struct vattr *attrs; - struct AFS_UCRED *acred; { afs_int32 code; struct vrequest treq; @@ -257,7 +251,7 @@ afs_getattr(OSI_VC_ARG(avc), attrs, acred) if (afs_nfsexporter) { if (!inited) { - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) return code; inited = 1; } @@ -275,7 +269,7 @@ afs_getattr(OSI_VC_ARG(avc), attrs, acred) #endif } } - if (au = afs_FindUser(treq.uid, -1, READ_LOCK)) { + if ((au = afs_FindUser(treq.uid, -1, READ_LOCK))) { register struct afs_exporter *exporter = au->exporter; if (exporter && !(afs_nfsexporter->exp_states & EXP_UNIXMODE)) { @@ -329,10 +323,9 @@ afs_getattr(OSI_VC_ARG(avc), attrs, acred) } /* convert a Unix request into a status store request */ -afs_VAttrToAS(avc, av, as) -register struct vcache *avc; -register struct vattr *av; -register struct AFSStoreStatus *as; { +int afs_VAttrToAS(register struct vcache *avc, register struct vattr *av, + register struct AFSStoreStatus *as) +{ register int mask; mask = 0; AFS_STATCNT(afs_VAttrToAS); @@ -412,15 +405,12 @@ register struct AFSStoreStatus *as; { /* We don't set CDirty bit in avc->states because setattr calls WriteVCache * synchronously, therefore, it's not needed. */ -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) -afs_setattr(OSI_VC_ARG(avc), attrs, flags, acred) - int flags; +#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +int afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, int flags, struct AFS_UCRED *acred) #else -afs_setattr(avc, attrs, acred) +int afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, struct AFS_UCRED *acred) #endif - OSI_VC_DECL(avc); - register struct vattr *attrs; - struct AFS_UCRED *acred; { +{ struct vrequest treq; struct AFSStoreStatus astat; register afs_int32 code; @@ -430,7 +420,7 @@ afs_setattr(avc, attrs, acred) AFS_STATCNT(afs_setattr); afs_Trace2(afs_iclSetp, CM_TRACE_SETATTR, ICL_TYPE_POINTER, avc, ICL_TYPE_OFFSET, ICL_HANDLE_OFFSET(avc->m.Length)); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; afs_InitFakeStat(&fakestate); code = afs_EvalFakeStat(&avc, &fakestate, &treq); diff --git a/src/afs/VNOPS/afs_vnop_create.c b/src/afs/VNOPS/afs_vnop_create.c index 8a78d63..c4ae093 100644 --- a/src/afs/VNOPS/afs_vnop_create.c +++ b/src/afs/VNOPS/afs_vnop_create.c @@ -25,38 +25,31 @@ RCSID("$Header$"); #include "../afs/nfsclient.h" #include "../afs/afs_osidnlc.h" -extern afs_rwlock_t afs_xvcache; -extern afs_rwlock_t afs_xcbhash; - /* question: does afs_create need to set CDirty in the adp or the avc? * I think we can get away without it, but I'm not sure. Note that * afs_setattr is called in here for truncation. */ #ifdef AFS_OSF_ENV -afs_create(ndp, attrs) - struct nameidata *ndp; - struct vattr *attrs; { +int afs_create(struct nameidata *ndp, struct vattr *attrs) +#else /* AFS_OSF_ENV */ +#ifdef AFS_SGI64_ENV +int afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, int flags, + int amode, struct vcache **avcp, struct AFS_UCRED *acred) +#else /* AFS_SGI64_ENV */ +int afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, enum vcexcl aexcl, + int amode, struct vcache **avcp, struct AFS_UCRED *acred) +#endif /* AFS_SGI64_ENV */ +#endif /* AFS_OSF_ENV */ + { +#ifdef AFS_OSF_ENV register struct vcache *adp = VTOAFS(ndp->ni_dvp); char *aname = ndp->ni_dent.d_name; enum vcexcl aexcl = NONEXCL; /* XXX - create called properly */ int amode = 0; /* XXX - checked in higher level */ struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ -#ifdef AFS_SGI64_ENV -afs_create(OSI_VC_ARG(adp), aname, attrs, flags, amode, avcp, acred) - int flags; -#else /* AFS_SGI64_ENV */ -afs_create(OSI_VC_ARG(adp), aname, attrs, aexcl, amode, avcp, acred) - enum vcexcl aexcl; -#endif /* AFS_SGI64_ENV */ - OSI_VC_DECL(adp); - char *aname; - struct vattr *attrs; - int amode; - struct vcache **avcp; - struct AFS_UCRED *acred; { -#endif /* AFS_OSF_ENV */ +#endif + afs_int32 origCBs, origZaps, finalZaps; struct vrequest treq; register afs_int32 code; @@ -78,7 +71,7 @@ afs_create(OSI_VC_ARG(adp), aname, attrs, aexcl, amode, avcp, acred) AFS_STATCNT(afs_create); - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done2; afs_Trace3(afs_iclSetp, CM_TRACE_CREATE, ICL_TYPE_POINTER, adp, @@ -165,14 +158,12 @@ tagain: /* found the file, so use it */ newFid.Cell = adp->fid.Cell; newFid.Fid.Volume = adp->fid.Fid.Volume; - tvc = (struct vcache *)0; + tvc = NULL; if (newFid.Fid.Unique == 0) { - tvc = afs_LookupVCache(&newFid, &treq, (afs_int32 *)0, - WRITE_LOCK, adp, aname); + tvc = afs_LookupVCache(&newFid, &treq, NULL, adp, aname); } if (!tvc) /* lookup failed or wasn't called */ - tvc = afs_GetVCache(&newFid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvc = afs_GetVCache(&newFid, &treq, NULL, NULL); if (tvc) { /* if the thing exists, we need the right access to open it. @@ -186,7 +177,7 @@ tagain: */ if ((amode & VREAD) && !afs_AccessOK(tvc, PRSFS_READ, &treq, CHECK_MODE_BITS)) { - afs_PutVCache(tvc, READ_LOCK); + afs_PutVCache(tvc); code = EACCES; goto done; } @@ -202,7 +193,7 @@ tagain: tvc->parentUnique = adp->fid.Fid.Unique; /* need write mode for these guys */ if (!afs_AccessOK(tvc, PRSFS_WRITE, &treq, CHECK_MODE_BITS)) { - afs_PutVCache(tvc, READ_LOCK); + afs_PutVCache(tvc); code = EACCES; goto done; } @@ -214,7 +205,7 @@ tagain: #endif { if (vType(tvc) != VREG) { - afs_PutVCache(tvc, READ_LOCK); + afs_PutVCache(tvc); code = EISDIR; goto done; } @@ -242,7 +233,7 @@ tagain: tvc->states &= ~CCreating; ReleaseWriteLock(&tvc->lock); if (code) { - afs_PutVCache(tvc, 0); + afs_PutVCache(tvc); goto done; } } @@ -292,23 +283,19 @@ tagain: hostp = tc->srvr->server; /* remember for callback processing */ now = osi_Time(); XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_CREATEFILE); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_CreateFile(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, &InStatus, (struct AFSFid *) &newFid.Fid, &OutFidStatus, &OutDirStatus, &CallBack, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; CallBack.ExpirationTime += now; } else code = -1; } while (afs_Analyze(tc, code, &adp->fid, &treq, - AFS_STATS_FS_RPCIDX_CREATEFILE, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_CREATEFILE, SHARED_LOCK, NULL)); #if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) if (code == EEXIST && aexcl == NONEXCL) { @@ -336,11 +323,11 @@ tagain: #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) #if defined(AFS_SGI64_ENV) code = afs_lookup(VNODE_TO_FIRST_BHV((vnode_t*)adp), aname, avcp, - (struct pathname *)0, 0, - (struct vnode *)0, acred); + NULL, 0, + NULL, acred); #else - code = afs_lookup(adp, aname, avcp, (struct pathname *)0, 0, - (struct vnode *)0, acred); + code = afs_lookup(adp, aname, avcp, NULL, 0, + NULL, acred); #endif /* AFS_SGI64_ENV */ #else /* SUN5 || SGI */ code = afs_lookup(adp, aname, avcp, acred); @@ -410,9 +397,8 @@ tagain: freeing of the vnode will change evenZaps. Don't need to update the VLRU queue, since the find will only succeed in the event of a create race, and then the vcache will be at the front of the VLRU queue anyway... */ - if (!(tvc = afs_FindVCache(&newFid, 0, WRITE_LOCK, - 0, DO_STATS))) { - tvc = afs_NewVCache(&newFid, hostp, 0, WRITE_LOCK); + if (!(tvc = afs_FindVCache(&newFid, 0, DO_STATS))) { + tvc = afs_NewVCache(&newFid, hostp); if (tvc) { int finalCBs; ObtainWriteLock(&tvc->lock,139); @@ -479,7 +465,7 @@ done: done2: #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); + afs_PutVCache(adp); #endif /* AFS_OSF_ENV */ return code; @@ -496,11 +482,9 @@ done2: * This routine must be called with the stat cache entry write-locked, * and dcache entry write-locked. */ -afs_LocalHero(avc, adc, astat, aincr) - register struct vcache *avc; - register AFSFetchStatus *astat; - register struct dcache *adc; - register int aincr; { +int afs_LocalHero(register struct vcache *avc, register struct dcache *adc, + register AFSFetchStatus *astat, register int aincr) +{ register afs_int32 ok; afs_hyper_t avers; diff --git a/src/afs/VNOPS/afs_vnop_dirops.c b/src/afs/VNOPS/afs_vnop_dirops.c index 791e37f..a5fd19e 100644 --- a/src/afs/VNOPS/afs_vnop_dirops.c +++ b/src/afs/VNOPS/afs_vnop_dirops.c @@ -70,7 +70,7 @@ afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) afs_Trace2(afs_iclSetp, CM_TRACE_MKDIR, ICL_TYPE_POINTER, adp, ICL_TYPE_STRING, aname); - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done2; afs_InitFakeStat(&fakestate); @@ -107,15 +107,11 @@ afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_MAKEDIR); now = osi_Time(); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_MakeDir(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, &InStatus, (struct AFSFid *) &newFid.Fid, &OutFidStatus, &OutDirStatus, &CallBack, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; CallBack.ExpirationTime += now; /* DON'T forget to Set the callback value... */ @@ -123,7 +119,7 @@ afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) else code = -1; } while (afs_Analyze(tc, code, &adp->fid, &treq, - AFS_STATS_FS_RPCIDX_MAKEDIR, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_MAKEDIR, SHARED_LOCK, NULL)); if (code) { if (code < 0) { @@ -156,7 +152,7 @@ afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) newFid.Fid.Volume = adp->fid.Fid.Volume; ReleaseWriteLock(&adp->lock); /* now we're done with parent dir, create the real dir's cache entry */ - tvc = afs_GetVCache(&newFid, &treq, (afs_int32 *)0, (struct vcache*)0, 0); + tvc = afs_GetVCache(&newFid, &treq, NULL, NULL); if (tvc) { code = 0; *avcp = tvc; @@ -193,7 +189,7 @@ afs_rmdir(adp, aname, acred) #endif struct vrequest treq; register struct dcache *tdc; - register struct vcache *tvc = (struct vcache *)0; + register struct vcache *tvc = NULL; register afs_int32 code; register struct conn *tc; afs_size_t offset, len; @@ -208,7 +204,7 @@ afs_rmdir(adp, aname, acred) afs_Trace2(afs_iclSetp, CM_TRACE_RMDIR, ICL_TYPE_POINTER, adp, ICL_TYPE_STRING, aname); - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done2; afs_InitFakeStat(&fakestate); @@ -246,12 +242,10 @@ afs_rmdir(adp, aname, acred) unlinkFid.Cell = adp->fid.Cell; unlinkFid.Fid.Volume = adp->fid.Fid.Volume; if (unlinkFid.Fid.Unique == 0) { - tvc = afs_LookupVCache(&unlinkFid, &treq, &cached, - WRITE_LOCK, adp, aname); + tvc = afs_LookupVCache(&unlinkFid, &treq, &cached, adp, aname); } else { ObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(&unlinkFid, 1, WRITE_LOCK, - 0, 1/* do xstats */); + tvc = afs_FindVCache(&unlinkFid, 0, 1/* do xstats */); ReleaseReadLock(&afs_xvcache); } } @@ -261,20 +255,16 @@ afs_rmdir(adp, aname, acred) tc = afs_Conn(&adp->fid, &treq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_REMOVEDIR); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_RemoveDir(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, &OutDirStatus, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &adp->fid, &treq, - AFS_STATS_FS_RPCIDX_REMOVEDIR, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_REMOVEDIR, SHARED_LOCK, NULL)); if (code) { if (tdc) { @@ -318,7 +308,7 @@ afs_rmdir(adp, aname, acred) ObtainWriteLock(&tvc->lock,155); tvc->states &= ~CUnique; /* For the dfs xlator */ ReleaseWriteLock(&tvc->lock); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } ReleaseWriteLock(&adp->lock); /* don't worry about link count since dirs can not be hardlinked */ @@ -329,8 +319,8 @@ done: code = afs_CheckCode(code, &treq, 27); done2: #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(ndp->ni_vp, 0); + afs_PutVCache(adp); + afs_PutVCache(ndp->ni_vp); #endif /* AFS_OSF_ENV */ return code; } diff --git a/src/afs/VNOPS/afs_vnop_flock.c b/src/afs/VNOPS/afs_vnop_flock.c index f06411f..dcc38d2 100644 --- a/src/afs/VNOPS/afs_vnop_flock.c +++ b/src/afs/VNOPS/afs_vnop_flock.c @@ -24,22 +24,16 @@ RCSID("$Header$"); #include "../afs/nfsclient.h" #include "../afs/afs_osidnlc.h" -#if defined(AFS_HPUX102_ENV) -#define AFS_FLOCK k_flock -#else -#if defined(AFS_SUN56_ENV) || defined(AFS_LINUX24_ENV) -#define AFS_FLOCK flock64 -#else -#define AFS_FLOCK flock -#endif /* AFS_SUN65_ENV */ -#endif /* AFS_HPUX102_ENV */ - +/* Static prototypes */ +static int HandleGetLock(register struct vcache *avc, + register struct AFS_FLOCK *af, register struct vrequest *areq, int clid); static int GetFlockCount(struct vcache *avc, struct vrequest *areq); +static int lockIdcmp2(struct AFS_FLOCK *flock1, struct vcache *vp, + register struct SimpleLocks *alp, int onlymine, int clid); +static void DoLockWarning(void); -void lockIdSet(flock, slp, clid) - int clid; /* non-zero on SGI, OSF, SunOS, Darwin, xBSD *//* XXX ptr type */ - struct SimpleLocks *slp; - struct AFS_FLOCK *flock; +/* int clid; * non-zero on SGI, OSF, SunOS, Darwin, xBSD ** XXX ptr type */ +void lockIdSet(struct AFS_FLOCK *flock, struct SimpleLocks *slp, int clid) { #if defined(AFS_SUN5_ENV) register proc_t *procp = ttoproc(curthread); @@ -146,13 +140,11 @@ void lockIdSet(flock, slp, clid) * to p_ppid? Especially in the context of the lower loop, where * the repeated comparison doesn't make much sense... */ -static int lockIdcmp2(flock1, vp, alp, onlymine, clid) - struct AFS_FLOCK *flock1; - struct vcache *vp; - register struct SimpleLocks *alp; - int onlymine; /* don't match any locks which are held by my */ - /* parent */ - int clid; /* Only Irix 6.5 for now. */ +/* onlymine - don't match any locks which are held by my parent */ +/* clid - only irix 6.5 */ + +static int lockIdcmp2(struct AFS_FLOCK *flock1, struct vcache *vp, + register struct SimpleLocks *alp, int onlymine, int clid) { register struct SimpleLocks *slp; #if defined(AFS_SUN5_ENV) @@ -166,7 +158,6 @@ static int lockIdcmp2(flock1, vp, alp, onlymine, clid) #endif /* AFS_SGI64_ENV */ #endif #endif - int code = 0; if (alp) { #if defined(AFS_AIX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) @@ -219,12 +210,10 @@ static int lockIdcmp2(flock1, vp, alp, onlymine, clid) file, I guess we'll permit it. however, we don't want simple, innocent closes by children to unlock files in the parent process. */ -HandleFlock(avc, acom, areq, clid, onlymine) - pid_t clid; /* non-zero on SGI, SunOS, OSF1 only */ - register struct vcache *avc; - struct vrequest *areq; - int onlymine; - int acom; { +/* clid - nonzero on sgi sunos osf1 only */ +int HandleFlock(register struct vcache *avc, int acom, + struct vrequest *areq, pid_t clid, int onlymine) +{ struct conn *tc; struct SimpleLocks *slp, *tlp, **slpp; afs_int32 code; @@ -235,7 +224,7 @@ HandleFlock(avc, acom, areq, clid, onlymine) AFS_STATCNT(HandleFlock); code = 0; /* default when we don't make any network calls */ - lockIdSet(&flock, (struct SimpleLocks *)0, clid); + lockIdSet(&flock, NULL, clid); #if defined(AFS_SGI_ENV) osi_Assert(valusema(&avc->vc_rwlock) <= 0); @@ -262,7 +251,7 @@ HandleFlock(avc, acom, areq, clid, onlymine) } } #endif - if (lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, onlymine, clid)) { + if (lockIdcmp2(&flock, avc, NULL, onlymine, clid)) { ReleaseWriteLock(&avc->lock); return 0; } @@ -301,21 +290,17 @@ HandleFlock(avc, acom, areq, clid, onlymine) tc = afs_Conn(&avc->fid, areq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_RELEASELOCK); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_ReleaseLock(tc->id, (struct AFSFid *) &avc->fid.Fid, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_RELEASELOCK, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); } } else { @@ -359,25 +344,21 @@ HandleFlock(avc, acom, areq, clid, onlymine) tc = afs_Conn(&avc->fid, areq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_RELEASELOCK); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_ReleaseLock(tc->id, (struct AFSFid *) &avc->fid.Fid, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_RELEASELOCK, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); } } else if (avc->flockCount == -1 && (acom & LOCK_EX)) { - if (lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + if (lockIdcmp2(&flock, avc, NULL, 1, clid)) { code = EWOULDBLOCK; } else code = 0; @@ -394,21 +375,17 @@ HandleFlock(avc, acom, areq, clid, onlymine) tc = afs_Conn(&avc->fid, areq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_SETLOCK); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_SetLock(tc->id, (struct AFSFid *) &avc->fid.Fid, lockType, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_SETLOCK, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); } else code = 0; /* otherwise, pretend things worked */ } @@ -424,7 +401,7 @@ HandleFlock(avc, acom, areq, clid, onlymine) #endif slp->type = LockWrite; - slp->next = (struct SimpleLocks *)0; + slp->next = NULL; avc->slocks = slp; avc->flockCount = -1; } else { @@ -464,8 +441,9 @@ HandleFlock(avc, acom, areq, clid, onlymine) /* warn a user that a lock has been ignored */ -afs_int32 lastWarnTime = 0; -static void DoLockWarning() { +afs_int32 lastWarnTime = 0; /* this is used elsewhere */ +static void DoLockWarning(void) +{ register afs_int32 now; now = osi_Time(); @@ -480,24 +458,18 @@ static void DoLockWarning() { #ifdef AFS_OSF_ENV -afs_lockctl(avc, af, flag, acred, clid, offset) -struct eflock *af; -int flag; -pid_t clid; -off_t offset; +afs_lockctl(struct vcache *avc, struct eflock *af, int flag, + struct AFS_UCRED *acred, pid_t clid, off_t offset) #else #if defined(AFS_SGI_ENV) || (defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) -afs_lockctl(avc, af, acmd, acred, clid) +afs_lockctl(struct vcache *avc, struct AFS_FLOCK *af, int acmd, struct AFS_UCRED *acred, pid_t clid) pid_t clid; #else u_int clid=0; -afs_lockctl(avc, af, acmd, acred) +afs_lockctl(struct vcache *avc, struct AFS_FLOCK *af, int acmd, struct AFS_UCRED *acred) #endif -struct AFS_FLOCK *af; -int acmd; #endif -struct vcache *avc; -struct AFS_UCRED *acred; { +{ struct vrequest treq; afs_int32 code; #ifdef AFS_OSF_ENV @@ -506,7 +478,7 @@ struct AFS_UCRED *acred; { struct afs_fakestat_state fakestate; AFS_STATCNT(afs_lockctl); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; afs_InitFakeStat(&fakestate); code = afs_EvalFakeStat(&avc, &fakestate, &treq); if (code) { @@ -616,16 +588,13 @@ struct AFS_UCRED *acred; { * PID has the file read locked. */ #ifndef AFS_OSF_ENV /* getlock is a no-op for osf (for now) */ -HandleGetLock(avc, af, areq, clid) - int clid; /* not used by some OSes */ - register struct vcache *avc; - register struct vrequest *areq; - register struct AFS_FLOCK *af; +static int HandleGetLock(register struct vcache *avc, + register struct AFS_FLOCK *af, register struct vrequest *areq, int clid) { register afs_int32 code; struct AFS_FLOCK flock; - lockIdSet(&flock, (struct SimpleLocks *)0, clid); + lockIdSet(&flock, NULL, clid); ObtainWriteLock(&avc->lock,122); if (avc->flockCount == 0) { @@ -656,7 +625,7 @@ HandleGetLock(avc, af, areq, clid) * write lock, say it is unlocked. */ if (avc->flockCount > 0 || /* only read locks */ - !lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + !lockIdcmp2(&flock, avc, NULL, 1, clid)) { af->l_type = F_UNLCK; goto unlck_leave; } @@ -682,7 +651,7 @@ HandleGetLock(avc, af, areq, clid) * already, and it is not this process, we fail. */ if (avc->flockCount < 0) { - if (lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + if (lockIdcmp2(&flock, avc, NULL, 1, clid)) { af->l_type = F_WRLCK; if (avc->slocks) { af->l_pid = avc->slocks->pid; @@ -707,7 +676,7 @@ HandleGetLock(avc, af, areq, clid) * If there is more than one, or it isn't us, we cannot lock. */ if ((avc->flockCount > 1) - || lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + || lockIdcmp2(&flock, avc, NULL, 1, clid)) { struct SimpleLocks *slp; af->l_type = F_RDLCK; @@ -717,7 +686,7 @@ HandleGetLock(avc, af, areq, clid) #endif /* find a pid that isn't our own */ for (slp = avc->slocks; slp; slp = slp->next) { - if (lockIdcmp2(&flock, (struct vcache *)0, slp, 1, clid)) { + if (lockIdcmp2(&flock, NULL, slp, 1, clid)) { af->l_pid = slp->pid; #if defined(AFS_AIX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) af->l_sysid = avc->slocks->sysid; @@ -733,7 +702,7 @@ HandleGetLock(avc, af, areq, clid) * already, and it is not this process, we fail. */ if (avc->flockCount < 0) { - if (lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + if (lockIdcmp2(&flock, avc, NULL, 1, clid)) { af->l_type = F_WRLCK; if (avc->slocks) { af->l_pid = avc->slocks->pid; @@ -758,7 +727,7 @@ HandleGetLock(avc, af, areq, clid) * If there is more than one, or it isn't us, we cannot lock. */ if ((avc->flockCount > 1) - || lockIdcmp2(&flock, avc, (struct SimpleLocks *)0, 1, clid)) { + || lockIdcmp2(&flock, avc, NULL, 1, clid)) { struct SimpleLocks *slp; af->l_type = F_RDLCK; af->l_pid = 0; @@ -767,7 +736,7 @@ HandleGetLock(avc, af, areq, clid) #endif /* find a pid that isn't our own */ for (slp = avc->slocks; slp; slp = slp->next) { - if (lockIdcmp2(&flock, (struct vcache *)0, slp, 1, clid)) { + if (lockIdcmp2(&flock, NULL, slp, 1, clid)) { af->l_pid = slp->pid; #if defined(AFS_AIX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) af->l_sysid = avc->slocks->sysid; @@ -830,20 +799,16 @@ static int GetFlockCount(struct vcache *avc, struct vrequest *areq) tc = afs_Conn(&avc->fid, areq, SHARED_LOCK); if (tc){ XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_FETCHSTATUS); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_FetchStatus(tc->id, (struct AFSFid *) &avc->fid.Fid, &OutStatus, &CallBack, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_FETCHSTATUS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (temp) areq->flags &= ~O_NONBLOCK; @@ -861,14 +826,12 @@ static int GetFlockCount(struct vcache *avc, struct vrequest *areq) /* Flock not support on System V systems */ #ifdef AFS_OSF_ENV extern struct fileops afs_fileops; -afs_xflock (p, args, retval) - struct proc *p; - void *args; - int *retval; -{ + +int afs_xflock (struct proc *p, void *args, int *retval) #else /* AFS_OSF_ENV */ -afs_xflock () { +int afs_xflock (void) #endif +{ int code = 0; struct a { int fd; diff --git a/src/afs/VNOPS/afs_vnop_link.c b/src/afs/VNOPS/afs_vnop_link.c index 09b4d46..f53ecb1 100644 --- a/src/afs/VNOPS/afs_vnop_link.c +++ b/src/afs/VNOPS/afs_vnop_link.c @@ -64,7 +64,7 @@ afs_link(avc, OSI_VC_ARG(adp), aname, acred) afs_Trace3(afs_iclSetp, CM_TRACE_LINK, ICL_TYPE_POINTER, adp, ICL_TYPE_POINTER, avc, ICL_TYPE_STRING, aname); /* create a hard link; new entry is aname in dir adp */ - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done2; afs_InitFakeStat(&vfakestate); @@ -99,22 +99,18 @@ afs_link(avc, OSI_VC_ARG(adp), aname, acred) tc = afs_Conn(&adp->fid, &treq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_LINK); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_Link(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, (struct AFSFid *) &avc->fid.Fid, &OutFidStatus, &OutDirStatus, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &adp->fid, &treq, - AFS_STATS_FS_RPCIDX_LINK, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_LINK, SHARED_LOCK, NULL)); if (code) { if (tdc) afs_PutDCache(tdc); @@ -165,7 +161,7 @@ done: afs_PutFakeStat(&dfakestate); done2: #ifdef AFS_OSF_ENV - afs_PutVCache(adp, WRITE_LOCK); + afs_PutVCache(adp); #endif /* AFS_OSF_ENV */ return code; } diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index c13e4aa..11d5430 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -62,9 +62,7 @@ int afs_fakestat_enable = 0; * what "@sys" is in binary... */ #define AFS_EQ_ATSYS(name) (((name)[0]=='@')&&((name)[1]=='s')&&((name)[2]=='y')&&((name)[3]=='s')&&(!(name)[4])) -char * -afs_strcat(s1, s2) - register char *s1, *s2; +char *afs_strcat(register char *s1, register char *s2) { register char *os1; @@ -73,21 +71,21 @@ afs_strcat(s1, s2) while (*s1++) ; --s1; - while (*s1++ = *s2++) + while ((*s1++ = *s2++)) ; return (os1); } -char *afs_index(a, c) - register char *a, c; { +char *afs_index(register char *a, register char c) +{ register char tc; AFS_STATCNT(afs_index); - while (tc = *a) { + while ((tc = *a)) { if (tc == c) return a; else a++; } - return (char *) 0; + return NULL; } /* call under write lock, evaluate mvid field from a mt pt. @@ -99,11 +97,8 @@ char *afs_index(a, c) * * NOTE: this function returns a held volume structure in *volpp if it returns 0! */ -EvalMountPoint(avc, advc, avolpp, areq) - register struct vcache *avc; - struct volume **avolpp; - struct vcache *advc; /* the containing dir */ - register struct vrequest *areq; +int EvalMountPoint(register struct vcache *avc, struct vcache *advc, + struct volume **avolpp, register struct vrequest *areq) { afs_int32 code; struct volume *tvp = 0; @@ -119,7 +114,7 @@ EvalMountPoint(avc, advc, avolpp, areq) #ifdef notdef if (avc->mvid && (avc->states & CMValid)) return 0; /* done while racing */ #endif - *avolpp = (struct volume *)0; + *avolpp = NULL; code = afs_HandleLink(avc, areq); if (code) return code; @@ -247,10 +242,7 @@ EvalMountPoint(avc, advc, avolpp, areq) * without calling afs_EvalFakeStat is legal, as long as this * function is called. */ - -void -afs_InitFakeStat(state) - struct afs_fakestat_state *state; +void afs_InitFakeStat(struct afs_fakestat_state *state) { state->valid = 1; state->did_eval = 0; @@ -265,12 +257,8 @@ afs_InitFakeStat(state) * * Only issues RPCs if canblock is non-zero. */ -static int -afs_EvalFakeStat_int(avcp, state, areq, canblock) - struct vcache **avcp; - struct afs_fakestat_state *state; - struct vrequest *areq; - int canblock; +int afs_EvalFakeStat_int(struct vcache **avcp, struct afs_fakestat_state *state, + struct vrequest *areq, int canblock) { struct vcache *tvc, *root_vp; struct volume *tvolp = NULL; @@ -308,15 +296,15 @@ afs_EvalFakeStat_int(avcp, state, areq, canblock) do { retry = 0; ObtainWriteLock(&afs_xvcache, 597); - root_vp = afs_FindVCache(tvc->mvid, 0, 0, &retry, 0); + root_vp = afs_FindVCache(tvc->mvid, &retry, 0); if (root_vp && retry) { ReleaseWriteLock(&afs_xvcache); - afs_PutVCache(root_vp, 0); + afs_PutVCache(root_vp); } } while (root_vp && retry); ReleaseWriteLock(&afs_xvcache); } else { - root_vp = afs_GetVCache(tvc->mvid, areq, NULL, NULL, WRITE_LOCK); + root_vp = afs_GetVCache(tvc->mvid, areq, NULL, NULL); } if (!root_vp) { code = canblock ? ENOENT : 0; @@ -360,10 +348,8 @@ done: * something goes wrong and the error code should be returned to the user. */ int -afs_EvalFakeStat(avcp, state, areq) - struct vcache **avcp; - struct afs_fakestat_state *state; - struct vrequest *areq; +afs_EvalFakeStat(struct vcache **avcp, struct afs_fakestat_state *state, + struct vrequest *areq) { return afs_EvalFakeStat_int(avcp, state, areq, 1); } @@ -378,11 +364,8 @@ afs_EvalFakeStat(avcp, state, areq) * Returns 0 if everything succeeds and *avcp points to a valid * vcache entry (possibly evaluated). */ -int -afs_TryEvalFakeStat(avcp, state, areq) - struct vcache **avcp; - struct afs_fakestat_state *state; - struct vrequest *areq; +int afs_TryEvalFakeStat(struct vcache **avcp, struct afs_fakestat_state *state, + struct vrequest *areq) { return afs_EvalFakeStat_int(avcp, state, areq, 0); } @@ -393,18 +376,16 @@ afs_TryEvalFakeStat(avcp, state, areq) * Perform any necessary cleanup at the end of a vnode op, given that * afs_InitFakeStat was previously called with this state. */ -void -afs_PutFakeStat(state) - struct afs_fakestat_state *state; +void afs_PutFakeStat(struct afs_fakestat_state *state) { osi_Assert(state->valid == 1); if (state->need_release) - afs_PutVCache(state->root_vp, 0); + afs_PutVCache(state->root_vp); state->valid = 0; } -afs_ENameOK(aname) - register char *aname; { +int afs_ENameOK(register char *aname) +{ register char tc; register int tlen; @@ -414,10 +395,8 @@ afs_ENameOK(aname) return 1; } -afs_getsysname(areq, adp, bufp) - register struct vrequest *areq; - register struct vcache *adp; - register char *bufp; +int afs_getsysname(register struct vrequest *areq, register struct vcache *adp, + register char *bufp) { static char sysname[MAXSYSNAME]; register struct unixuser *au; @@ -431,7 +410,7 @@ afs_getsysname(areq, adp, bufp) au = afs_GetUser(areq->uid, adp->fid.Cell, 0); afs_PutUser(au, 0); if (au->exporter) { - error = EXP_SYSNAME(au->exporter, (char *)0, bufp); + error = EXP_SYSNAME(au->exporter, NULL, bufp); if (error) strcpy(bufp, "@sys"); return -1; @@ -441,11 +420,8 @@ afs_getsysname(areq, adp, bufp) } } -Check_AtSys(avc, aname, state, areq) - register struct vcache *avc; - char *aname; - struct sysname_info *state; - struct vrequest *areq; +int Check_AtSys(register struct vcache *avc, const char *aname, + struct sysname_info *state, struct vrequest *areq) { if (AFS_EQ_ATSYS(aname)) { state->offset = 0; @@ -460,10 +436,8 @@ Check_AtSys(avc, aname, state, areq) } } -Next_AtSys(avc, areq, state) - register struct vcache *avc; - struct vrequest *areq; - struct sysname_info *state; +int Next_AtSys(register struct vcache *avc, struct vrequest *areq, + struct sysname_info *state) { if (state->index == -1) return 0; /* No list */ @@ -518,11 +492,9 @@ extern int BlobScan(afs_int32 *afile, afs_int32 ablob); * ensure that vcaches created for failed RPC's to older servers have the * CForeign bit set. */ -struct vcache * BStvc = (struct vcache *) 0; -int afs_DoBulkStat(adp, dirCookie, areqp) - struct vcache *adp; - long dirCookie; - struct vrequest *areqp; +static struct vcache *BStvc = NULL; + +int afs_DoBulkStat(struct vcache *adp, long dirCookie, struct vrequest *areqp) { int nentries; /* # of entries to prefetch */ int nskip; /* # of slots in the LRU queue to skip */ @@ -688,14 +660,14 @@ tagain: do { retry = 0; ObtainWriteLock(&afs_xvcache, 130); - tvcp = afs_FindVCache(&tfid, 0, 0, &retry, 0 /* no stats | LRU */); + tvcp = afs_FindVCache(&tfid, &retry, 0 /* no stats | LRU */); if (tvcp && retry) { ReleaseWriteLock(&afs_xvcache); - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); } } while (tvcp && retry); if (!tvcp) { /* otherwise, create manually */ - tvcp = afs_NewVCache(&tfid, hostp, 0, 0); + tvcp = afs_NewVCache(&tfid, hostp); ObtainWriteLock(&tvcp->lock, 505); ReleaseWriteLock(&afs_xvcache); afs_RemoveVCB(&tfid); @@ -742,7 +714,7 @@ tagain: tvcp->m.Length = statSeqNo; fidIndex++; } - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); } /* if dir vnode has non-zero entry */ /* move to the next dir entry by adding in the # of entries @@ -780,9 +752,7 @@ tagain: if (tcp) { hostp = tcp->srvr->server; XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_BULKSTATUS); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); if (!(tcp->srvr->server->flags & SNO_INLINEBULK)) { code = RXAFS_InlineBulkStatus(tcp->id, &fidParm, &statParm, @@ -799,14 +769,12 @@ tagain: code = RXAFS_BulkStatus(tcp->id, &fidParm, &statParm, &cbParm, &volSync); } -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tcp, code, &adp->fid, areqp, - AFS_STATS_FS_RPCIDX_BULKSTATUS, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_BULKSTATUS, SHARED_LOCK, NULL)); /* now, if we didnt get the info, bail out. */ if (code) goto done; @@ -879,7 +847,7 @@ tagain: do { retry = 0; ObtainReadLock(&afs_xvcache); - tvcp = afs_FindVCache(&afid, 1, 0, &retry, 0/* !stats&!lru*/); + tvcp = afs_FindVCache(&afid, &retry, 0/* !stats&!lru*/); ReleaseReadLock(&afs_xvcache); } while (tvcp && retry); @@ -900,7 +868,7 @@ tagain: if (!(tvcp->states & CBulkFetching) || (tvcp->m.Length != statSeqNo)) { flagIndex++; ReleaseWriteLock(&tvcp->lock); - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); continue; } @@ -917,10 +885,10 @@ tagain: } if ((QNext(QPrev(&tvcp->vlruq)) != &tvcp->vlruq) || (QPrev(QNext(&tvcp->vlruq)) != &tvcp->vlruq)) - refpanic ("Bulkstat VLRU inconsistent4"); + { refpanic ("Bulkstat VLRU inconsistent4"); } if ((QNext(QPrev(&lruvcp->vlruq)) != &lruvcp->vlruq) || (QPrev(QNext(&lruvcp->vlruq)) != &lruvcp->vlruq)) - refpanic ("Bulkstat VLRU inconsistent5"); + { refpanic ("Bulkstat VLRU inconsistent5"); } if (tvcp != lruvcp) { /* if they are == don't move it, don't corrupt vlru */ QRemove(&tvcp->vlruq); @@ -932,10 +900,10 @@ tagain: } if ((QNext(QPrev(&tvcp->vlruq)) != &tvcp->vlruq) || (QPrev(QNext(&tvcp->vlruq)) != &tvcp->vlruq)) - refpanic ("Bulkstat VLRU inconsistent5"); + { refpanic ("Bulkstat VLRU inconsistent5"); } if ((QNext(QPrev(&lruvcp->vlruq)) != &lruvcp->vlruq) || (QPrev(QNext(&lruvcp->vlruq)) != &lruvcp->vlruq)) - refpanic ("Bulkstat VLRU inconsistent6"); + { refpanic ("Bulkstat VLRU inconsistent6"); } ReleaseWriteLock(&afs_xvcache); ObtainWriteLock(&afs_xcbhash, 494); @@ -947,7 +915,7 @@ tagain: flagIndex++; ReleaseWriteLock(&tvcp->lock); ReleaseWriteLock(&afs_xcbhash); - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); continue; } @@ -1007,11 +975,11 @@ tagain: ReleaseWriteLock(&tvcp->lock); /* finally, we're done with the entry */ - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); } /* for all files we got back */ /* finally return the pointer into the LRU queue */ - afs_PutVCache(lruvcp, 0); + afs_PutVCache(lruvcp); done: /* Be sure to turn off the CBulkFetching flags */ @@ -1023,7 +991,7 @@ tagain: do { retry = 0; ObtainReadLock(&afs_xvcache); - tvcp = afs_FindVCache(&afid, 1, 0, &retry, 0/* !stats&!lru*/); + tvcp = afs_FindVCache(&afid, &retry, 0/* !stats&!lru*/); ReleaseReadLock(&afs_xvcache); } while (tvcp && retry); if (tvcp != NULL @@ -1032,7 +1000,7 @@ tagain: tvcp->states &= ~CBulkFetching; } if (tvcp != NULL) { - afs_PutVCache(tvcp, 0); + afs_PutVCache(tvcp); } } if ( volp ) @@ -1043,7 +1011,7 @@ tagain: if ((&statsp[0])->errorCode) { afs_Analyze(tcp, (&statsp[0])->errorCode, &adp->fid, areqp, AFS_STATS_FS_RPCIDX_BULKSTATUS, SHARED_LOCK, - (struct cell *)0); + NULL); code = (&statsp[0])->errorCode; } } else { @@ -1055,7 +1023,7 @@ tagain: } /* was: (AFS_DEC_ENV) || defined(AFS_OSF30_ENV) || defined(AFS_NCR_ENV) */ -int AFSDOBULK = 1; +static int AFSDOBULK = 1; #ifdef AFS_OSF_ENV afs_lookup(adp, ndp) @@ -1086,7 +1054,7 @@ afs_lookup(adp, aname, avcp, acred) struct AFS_UCRED *acred; { #endif struct vrequest treq; - char *tname = (char *)0; + char *tname = NULL; register struct vcache *tvc=0; register afs_int32 code; register afs_int32 bulkcode = 0; @@ -1104,7 +1072,7 @@ afs_lookup(adp, aname, avcp, acred) AFS_STATCNT(afs_lookup); afs_InitFakeStat(&fakestate); - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done; #ifdef AFS_OSF_ENV @@ -1134,17 +1102,17 @@ afs_lookup(adp, aname, avcp, acred) if (code) goto done; - *avcp = (struct vcache *) 0; /* Since some callers don't initialize it */ + *avcp = NULL; /* Since some callers don't initialize it */ /* come back to here if we encounter a non-existent object in a read-only volume's directory */ redo: - *avcp = (struct vcache *) 0; /* Since some callers don't initialize it */ + *avcp = NULL; /* Since some callers don't initialize it */ bulkcode = 0; if (!(adp->states & CStatd)) { - if (code = afs_VerifyVCache2(adp, &treq)) { + if ((code = afs_VerifyVCache2(adp, &treq))) { goto done; } } @@ -1171,8 +1139,7 @@ afs_lookup(adp, aname, avcp, acred) goto done; } /* otherwise we have the fid here, so we use it */ - tvc = afs_GetVCache(adp->mvid, &treq, (afs_int32 *)0, - (struct vcache*)0, 0); + tvc = afs_GetVCache(adp->mvid, &treq, NULL, NULL); afs_Trace3(afs_iclSetp, CM_TRACE_GETVCDOTDOT, ICL_TYPE_FID, adp->mvid, ICL_TYPE_POINTER, tvc, ICL_TYPE_INT32, code); @@ -1191,7 +1158,7 @@ afs_lookup(adp, aname, avcp, acred) /* now check the access */ if (treq.uid != adp->last_looker) { if (!afs_AccessOK(adp, PRSFS_LOOKUP, &treq, CHECK_MODE_BITS)) { - *avcp = (struct vcache *)0; + *avcp = NULL; code = EACCES; goto done; } @@ -1236,8 +1203,8 @@ afs_lookup(adp, aname, avcp, acred) if (tvc) { if (no_read_access && vType(tvc) != VDIR && vType(tvc) != VLNK) { /* need read access on dir to stat non-directory / non-link */ - afs_PutVCache(tvc, WRITE_LOCK); - *avcp = (struct vcache *)0; + afs_PutVCache(tvc); + *avcp = NULL; code = EACCES; goto done; } @@ -1267,7 +1234,7 @@ afs_lookup(adp, aname, avcp, acred) /* now we have to lookup the next fid */ tdc = afs_GetDCache(adp, (afs_size_t) 0, &treq, &dirOffset, &dirLen, 1); if (!tdc) { - *avcp = (struct vcache *)0; /* redundant, but harmless */ + *avcp = NULL; /* redundant, but harmless */ code = EIO; goto done; } @@ -1372,7 +1339,7 @@ afs_lookup(adp, aname, avcp, acred) do { retry = 0; ObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(&tfid, 1, 0, &retry, 0/* !stats,!lru */); + tvc = afs_FindVCache(&tfid, &retry, 0/* !stats,!lru */); ReleaseReadLock(&afs_xvcache); } while (tvc && retry); @@ -1383,11 +1350,11 @@ afs_lookup(adp, aname, avcp, acred) /* if the vcache isn't usable, release it */ if (tvc && !(tvc->states & CStatd)) { - afs_PutVCache(tvc, 0); - tvc = (struct vcache *) 0; + afs_PutVCache(tvc); + tvc = NULL; } } else { - tvc = (struct vcache *) 0; + tvc = NULL; bulkcode = 0; } @@ -1401,12 +1368,10 @@ afs_lookup(adp, aname, avcp, acred) if (!tvc) { afs_int32 cached = 0; if (!tfid.Fid.Unique && (adp->states & CForeign)) { - tvc = afs_LookupVCache(&tfid, &treq, &cached, WRITE_LOCK, - adp, tname); + tvc = afs_LookupVCache(&tfid, &treq, &cached, adp, tname); } if (!tvc && !bulkcode) { /* lookup failed or wasn't called */ - tvc = afs_GetVCache(&tfid, &treq, &cached, (struct vcache*)0, - WRITE_LOCK); + tvc = afs_GetVCache(&tfid, &treq, &cached, NULL); } } /* if !tvc */ } /* sub-block just to reduce stack usage */ @@ -1431,7 +1396,7 @@ afs_lookup(adp, aname, avcp, acred) ReleaseWriteLock(&tvc->lock); if (code) { - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); if (tvolp) afs_PutVolume(tvolp, WRITE_LOCK); goto done; } @@ -1446,12 +1411,11 @@ afs_lookup(adp, aname, avcp, acred) if (tvolp && (tvolp->states & VForeign)) { /* XXXX tvolp has ref cnt on but not locked! XXX */ - tvc = afs_GetRootVCache(tvc->mvid, &treq, (afs_int32 *)0, tvolp, WRITE_LOCK); + tvc = afs_GetRootVCache(tvc->mvid, &treq, NULL, tvolp); } else { - tvc = afs_GetVCache(tvc->mvid, &treq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvc = afs_GetVCache(tvc->mvid, &treq, NULL, NULL); } - afs_PutVCache(uvc, WRITE_LOCK); /* we're done with it */ + afs_PutVCache(uvc); /* we're done with it */ if (!tvc) { code = ENOENT; @@ -1466,7 +1430,7 @@ afs_lookup(adp, aname, avcp, acred) * ptr to point back to the appropriate place */ if (tvolp) { ObtainWriteLock(&tvc->lock,134); - if (tvc->mvid == (struct VenusFid *) 0) { + if (tvc->mvid == NULL) { tvc->mvid = (struct VenusFid *) osi_AllocSmallSpace(sizeof(struct VenusFid)); } /* setup backpointer */ @@ -1476,7 +1440,7 @@ afs_lookup(adp, aname, avcp, acred) } } else { - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); code = ENOENT; if (tvolp) afs_PutVolume(tvolp, WRITE_LOCK); goto done; @@ -1522,7 +1486,7 @@ done: /* Handle RENAME; only need to check rename "." */ if (opflag == RENAME && wantparent && *ndp->ni_next == 0) { if (!FidCmp(&(tvc->fid), &(adp->fid))) { - afs_PutVCache(*avcp, WRITE_LOCK); + afs_PutVCache(*avcp); *avcp = NULL; afs_PutFakeStat(&fakestate); return afs_CheckCode(EISDIR, &treq, 18); @@ -1559,7 +1523,7 @@ done: /* If there is an error, make sure *avcp is null. * Alphas panic otherwise - defect 10719. */ - *avcp = (struct vcache *)0; + *avcp = NULL; } afs_PutFakeStat(&fakestate); diff --git a/src/afs/VNOPS/afs_vnop_open.c b/src/afs/VNOPS/afs_vnop_open.c index 2ab022f..93612d4 100644 --- a/src/afs/VNOPS/afs_vnop_open.c +++ b/src/afs/VNOPS/afs_vnop_open.c @@ -49,7 +49,7 @@ afs_open(avcp, aflags, acred) struct afs_fakestat_state fakestate; AFS_STATCNT(afs_open); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; #ifdef AFS_SGI64_ENV /* avcpp can be, but is not necesarily, bhp's vnode. */ tvc = VTOAFS(BHV_TO_VNODE(bhv)); @@ -110,7 +110,7 @@ afs_open(avcp, aflags, acred) crhold(acred); if (tvc->credp) { struct ucred *crp = tvc->credp; - tvc->credp = (struct ucred *)0; + tvc->credp = NULL; crfree(crp); } tvc->credp = acred; diff --git a/src/afs/VNOPS/afs_vnop_read.c b/src/afs/VNOPS/afs_vnop_read.c index 142c686..7334eac 100644 --- a/src/afs/VNOPS/afs_vnop_read.c +++ b/src/afs/VNOPS/afs_vnop_read.c @@ -47,13 +47,8 @@ extern afs_hyper_t afs_indexCounter; /* Fake time for marking index */ void afs_PrefetchChunk(struct vcache *avc, struct dcache *adc, struct AFS_UCRED *acred, struct vrequest *areq); -afs_MemRead(avc, auio, acred, albn, abpp, noLock) - register struct vcache *avc; - struct uio *auio; - struct AFS_UCRED *acred; - daddr_t albn; - int noLock; - struct buf **abpp; +int afs_MemRead(register struct vcache *avc, struct uio *auio, struct AFS_UCRED *acred, + daddr_t albn, struct buf **abpp, int noLock) { afs_size_t totalLength; afs_size_t transferLength; @@ -73,7 +68,7 @@ afs_MemRead(avc, auio, acred, albn, abpp, noLock) return EIO; /* check that we have the latest status info in the vnode cache */ - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; if (!noLock) { code = afs_VerifyVCache(avc, &treq); if (code) { @@ -250,7 +245,7 @@ tagain: /* don't have current data, so get it below */ ReleaseReadLock(&tdc->lock); afs_PutDCache(tdc); - tdc = (struct dcache *) 0; + tdc = NULL; } } @@ -439,13 +434,8 @@ void afs_PrefetchChunk(struct vcache *avc, struct dcache *adc, * Also need to worry about DFFetching, and IFFree, I think. */ static struct dcache *savedc = 0; -afs_UFSReadFast(avc, auio, acred, albn, abpp, noLock) - register struct vcache *avc; - struct uio *auio; - struct AFS_UCRED *acred; - int noLock; - daddr_t albn; - struct buf **abpp; +int afs_UFSReadFast(register struct vcache *avc, struct uio *auio, + struct AFS_UCRED *acred, daddr_t albn, struct buf **abpp, int noLock) { struct vrequest treq; int offDiff; @@ -585,13 +575,8 @@ afs_UFSReadFast(avc, auio, acred, albn, abpp, noLock) return afs_UFSRead(avc, auio, acred, albn, abpp, noLock); } -afs_UFSRead(avc, auio, acred, albn, abpp, noLock) - struct vcache *avc; - struct uio *auio; - struct AFS_UCRED *acred; - daddr_t albn; - int noLock; - struct buf **abpp; +int afs_UFSRead(register struct vcache *avc, struct uio *auio, + struct AFS_UCRED *acred, daddr_t albn, struct buf **abpp, int noLock) { afs_size_t totalLength; afs_size_t transferLength; @@ -613,7 +598,7 @@ afs_UFSRead(avc, auio, acred, albn, abpp, noLock) return EIO; /* check that we have the latest status info in the vnode cache */ - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; if (!noLock) { if (!avc) osi_Panic ("null avc in afs_UFSRead"); @@ -793,7 +778,7 @@ tagain: /* don't have current data, so get it below */ ReleaseReadLock(&tdc->lock); afs_PutDCache(tdc); - tdc = (struct dcache *) 0; + tdc = NULL; } } diff --git a/src/afs/VNOPS/afs_vnop_readdir.c b/src/afs/VNOPS/afs_vnop_readdir.c index 408e9d3..51e4c70 100644 --- a/src/afs/VNOPS/afs_vnop_readdir.c +++ b/src/afs/VNOPS/afs_vnop_readdir.c @@ -241,15 +241,15 @@ struct vcache * avc; if ((avc->states & CForeign) == 0 && (ntohl(ade->fid.vnode) & 1)) { return DT_DIR; - } else if ((tvc=afs_FindVCache(&tfid,0,0,0,0))) { + } else if ((tvc=afs_FindVCache(&tfid,0,0))) { if (tvc->mvstat) { - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); return DT_DIR; } else if (((tvc->states) & (CStatd|CTruth))) { /* CTruth will be set if the object has *ever* been statd */ vtype=vType(tvc); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); if (vtype == VDIR) return DT_DIR; else if (vtype == VREG) @@ -259,7 +259,7 @@ struct vcache * avc; type=DT_LNK; */ /* what other types does AFS support? */ } else - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } return DT_UNKNOWN; } @@ -529,7 +529,7 @@ afs_readdir(OSI_VC_ARG(avc), auio, acred) || AfsLargeFileSize(auio->uio_offset, auio->uio_resid) ) return EFBIG; - if (code = afs_InitReq(&treq, acred)) { + if ((code = afs_InitReq(&treq, acred))) { #ifdef AFS_HPUX_ENV osi_FreeSmallSpace((char *)sdirEntry); #endif @@ -795,7 +795,7 @@ afs1_readdir(avc, auio, acred, eofp) #else afs1_readdir(avc, auio, acred) #endif - register struct vcache *avc; + struct vcache *avc; struct uio *auio; struct AFS_UCRED *acred; { struct vrequest treq; diff --git a/src/afs/VNOPS/afs_vnop_remove.c b/src/afs/VNOPS/afs_vnop_remove.c index 831196a..08d81f4 100644 --- a/src/afs/VNOPS/afs_vnop_remove.c +++ b/src/afs/VNOPS/afs_vnop_remove.c @@ -94,13 +94,10 @@ afs_IsWired(avc) } #endif /* AFS_OSF_ENV */ -afsremove(adp, tdc, tvc, aname, acred, treqp) - register struct vcache *adp; - register struct dcache *tdc; - register struct vcache *tvc; - char *aname; - struct vrequest *treqp; - struct AFS_UCRED *acred; { +int afsremove(register struct vcache *adp, register struct dcache *tdc, + register struct vcache *tvc, char *aname, struct AFS_UCRED *acred, + struct vrequest *treqp) +{ register afs_int32 code; register struct conn *tc; struct AFSFetchStatus OutDirStatus; @@ -111,20 +108,16 @@ afsremove(adp, tdc, tvc, aname, acred, treqp) tc = afs_Conn(&adp->fid, treqp, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_REMOVEFILE); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_RemoveFile(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, &OutDirStatus, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &adp->fid, treqp, - AFS_STATS_FS_RPCIDX_REMOVEFILE, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_REMOVEFILE, SHARED_LOCK, NULL)); osi_dnlc_remove (adp, aname, tvc); if (tvc) afs_symhint_inval(tvc); /* XXX: don't really need to be so extreme */ @@ -134,7 +127,7 @@ afsremove(adp, tdc, tvc, aname, acred, treqp) ReleaseSharedLock(&tdc->lock); afs_PutDCache(tdc); } - if (tvc) afs_PutVCache(tvc, WRITE_LOCK); + if (tvc) afs_PutVCache(tvc); if (code < 0) { ObtainWriteLock(&afs_xcbhash, 497); @@ -183,12 +176,13 @@ afsremove(adp, tdc, tvc, aname, acred, treqp) #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) afs_BozonUnlock(&tvc->pvnLock, tvc); #endif - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } return (0); } -static char *newname() { +static char *newname(void) +{ char *name, *sp, *p = ".__afs"; afs_int32 rd = afs_random() & 0xffff; @@ -242,10 +236,10 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) tvc = (struct vcache *)ndp->ni_vp; /* should never be null */ #endif - if (code = afs_InitReq(&treq, acred)) { + if ((code = afs_InitReq(&treq, acred))) { #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); #endif return code; } @@ -255,8 +249,8 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) if (code) { afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); #endif return code; } @@ -266,16 +260,16 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) code = afs_DynrootVOPRemove(adp, acred, aname); afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); #endif return code; } if (strlen(aname) > AFSNAMEMAX) { afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); #endif return ENAMETOOLONG; } @@ -284,13 +278,13 @@ tagain: #ifdef AFS_OSF_ENV tvc = VTOAFS(ndp->ni_vp); /* should never be null */ if (code) { - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); afs_PutFakeStat(&fakestate); return afs_CheckCode(code, &treq, 22); } #else /* AFS_OSF_ENV */ - tvc = (struct vcache *) 0; + tvc = NULL; if (code) { code = afs_CheckCode(code, &treq, 23); afs_PutFakeStat(&fakestate); @@ -303,8 +297,8 @@ tagain: */ if ( adp->states & CRO ) { #ifdef AFS_OSF_ENV - afs_PutVCache(adp, 0); - afs_PutVCache(tvc, 0); + afs_PutVCache(adp); + afs_PutVCache(tvc); #endif code = EROFS; afs_PutFakeStat(&fakestate); @@ -344,12 +338,10 @@ tagain: unlinkFid.Cell = adp->fid.Cell; unlinkFid.Fid.Volume = adp->fid.Fid.Volume; if (unlinkFid.Fid.Unique == 0) { - tvc = afs_LookupVCache(&unlinkFid, &treq, &cached, - WRITE_LOCK, adp, aname); + tvc = afs_LookupVCache(&unlinkFid, &treq, &cached, adp, aname); } else { ObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(&unlinkFid, 1, WRITE_LOCK, - 0 , DO_STATS ); + tvc = afs_FindVCache(&unlinkFid, 0, DO_STATS); ReleaseReadLock(&afs_xvcache); } } @@ -397,12 +389,12 @@ tagain: } if ( tdc ) afs_PutDCache(tdc); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } else { code = afsremove(adp, tdc, tvc, aname, acred, &treq); } #ifdef AFS_OSF_ENV - afs_PutVCache(adp, WRITE_LOCK); + afs_PutVCache(adp); #endif /* AFS_OSF_ENV */ afs_PutFakeStat(&fakestate); return code; @@ -414,9 +406,7 @@ tagain: * * CAUTION -- may be called with avc unheld. */ -afs_remunlink(avc, doit) - register struct vcache *avc; - register int doit; +int afs_remunlink(register struct vcache *avc, register int doit) { struct AFS_UCRED *cred; char *unlname; @@ -430,7 +420,7 @@ afs_remunlink(avc, doit) return 0; if (avc->mvid && (doit || (avc->states & CUnlinkedDel))) { - if (code = afs_InitReq(&treq, avc->uncred)) { + if ((code = afs_InitReq(&treq, avc->uncred))) { ReleaseWriteLock(&avc->lock); } else { @@ -466,8 +456,7 @@ afs_remunlink(avc, doit) dirFid.Fid.Volume = avc->fid.Fid.Volume; dirFid.Fid.Vnode = avc->parentVnode; dirFid.Fid.Unique = avc->parentUnique; - adp = afs_GetVCache(&dirFid, &treq, (afs_int32 *)0, - (struct vcache *)0, WRITE_LOCK); + adp = afs_GetVCache(&dirFid, &treq, NULL, NULL); if (adp) { tdc = afs_FindDCache(adp, 0); @@ -476,10 +465,10 @@ afs_remunlink(avc, doit) /* afsremove releases the adp & tdc locks, and does vn_rele(avc) */ code = afsremove(adp, tdc, avc, unlname, cred, &treq); - afs_PutVCache(adp, WRITE_LOCK); + afs_PutVCache(adp); } else { /* we failed - and won't be back to try again. */ - afs_PutVCache(avc, WRITE_LOCK); + afs_PutVCache(avc); } osi_FreeSmallSpace(unlname); crfree(cred); diff --git a/src/afs/VNOPS/afs_vnop_rename.c b/src/afs/VNOPS/afs_vnop_rename.c index ad62563..908ad98 100644 --- a/src/afs/VNOPS/afs_vnop_rename.c +++ b/src/afs/VNOPS/afs_vnop_rename.c @@ -168,21 +168,17 @@ tagain: tc = afs_Conn(&aodp->fid, areq, SHARED_LOCK); if (tc) { XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_RENAME); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_Rename(tc->id, (struct AFSFid *) &aodp->fid.Fid, aname1, (struct AFSFid *) &andp->fid.Fid, aname2, &OutOldDirStatus, &OutNewDirStatus, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &andp->fid, areq, - AFS_STATS_FS_RPCIDX_RENAME, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_RENAME, SHARED_LOCK, NULL)); returnCode = code; /* remember for later */ @@ -293,14 +289,12 @@ tagain: if (unlinkFid.Fid.Vnode) { unlinkFid.Fid.Volume = aodp->fid.Fid.Volume; unlinkFid.Cell = aodp->fid.Cell; - tvc = (struct vcache *)0; + tvc = NULL; if (!unlinkFid.Fid.Unique) { - tvc = afs_LookupVCache(&unlinkFid, areq, (afs_int32 *)0, WRITE_LOCK, - aodp, aname1); + tvc = afs_LookupVCache(&unlinkFid, areq, NULL, aodp, aname1); } if (!tvc) /* lookup failed or wasn't called */ - tvc = afs_GetVCache(&unlinkFid, areq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvc = afs_GetVCache(&unlinkFid, areq, NULL, NULL); if (tvc) { #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) @@ -324,7 +318,7 @@ tagain: #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) afs_BozonUnlock(&tvc->pvnLock, tvc); #endif - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } } @@ -333,10 +327,9 @@ tagain: fileFid.Fid.Volume = aodp->fid.Fid.Volume; fileFid.Cell = aodp->fid.Cell; if (!fileFid.Fid.Unique) - tvc = afs_LookupVCache(&fileFid, areq, (afs_int32 *)0, WRITE_LOCK, andp, aname2); + tvc = afs_LookupVCache(&fileFid, areq, NULL, andp, aname2); else - tvc = afs_GetVCache(&fileFid, areq, (afs_int32 *)0, - (struct vcache*)0, WRITE_LOCK); + tvc = afs_GetVCache(&fileFid, areq, NULL, (struct vcache*)0); if (tvc && (vType(tvc) == VDIR)) { ObtainWriteLock(&tvc->lock,152); tdc1 = afs_FindDCache(tvc, 0); @@ -349,12 +342,12 @@ tagain: } osi_dnlc_remove(tvc, "..", 0); ReleaseWriteLock(&tvc->lock); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } else if (tvc) { /* True we shouldn't come here since tvc SHOULD be a dir, but we * 'syntactically' need to unless we change the 'if' above... */ - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } } code = returnCode; diff --git a/src/afs/VNOPS/afs_vnop_symlink.c b/src/afs/VNOPS/afs_vnop_symlink.c index 13ca0eb..0f50143 100644 --- a/src/afs/VNOPS/afs_vnop_symlink.c +++ b/src/afs/VNOPS/afs_vnop_symlink.c @@ -80,7 +80,7 @@ afs_symlink afs_Trace2(afs_iclSetp, CM_TRACE_SYMLINK, ICL_TYPE_POINTER, adp, ICL_TYPE_STRING, aname); - if (code = afs_InitReq(&treq, acred)) + if ((code = afs_InitReq(&treq, acred))) goto done2; afs_InitFakeStat(&fakestate); @@ -135,32 +135,24 @@ afs_symlink XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_SYMLINK); if (adp->states & CForeign) { now = osi_Time(); -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_DFSSymlink(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, atargetName, &InStatus, (struct AFSFid *) &newFid.Fid, &OutFidStatus, &OutDirStatus, &CallBack, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); } else { -#ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GUNLOCK(); code = RXAFS_Symlink(tc->id, (struct AFSFid *) &adp->fid.Fid, aname, atargetName, &InStatus, (struct AFSFid *) &newFid.Fid, &OutFidStatus, &OutDirStatus, &tsync); -#ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); -#endif /* RX_ENABLE_LOCKS */ + RX_AFS_GLOCK(); } XSTATS_END_TIME; } else code = -1; } while (afs_Analyze(tc, code, &adp->fid, &treq, - AFS_STATS_FS_RPCIDX_SYMLINK, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_SYMLINK, SHARED_LOCK, NULL)); UpgradeSToWLock(&afs_xvcache,40); if (code) { @@ -199,7 +191,7 @@ afs_symlink /* now we're done with parent dir, create the link's entry. Note that * no one can get a pointer to the new cache entry until we release * the xvcache lock. */ - tvc = afs_NewVCache(&newFid, hostp, 1, WRITE_LOCK); + tvc = afs_NewVCache(&newFid, hostp); ObtainWriteLock(&tvc->lock,157); ObtainWriteLock(&afs_xcbhash, 500); tvc->states |= CStatd; /* have valid info */ @@ -226,7 +218,7 @@ afs_symlink } ReleaseWriteLock(&tvc->lock); ReleaseWriteLock(&afs_xvcache); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); code = 0; done: afs_PutFakeStat(&fakestate); @@ -240,10 +232,8 @@ done2: return code; } -afs_MemHandleLink(avc, areq) - register struct vcache *avc; - struct vrequest *areq; - { +int afs_MemHandleLink(register struct vcache *avc, struct vrequest *areq) +{ register struct dcache *tdc; register char *tp, *rbuf; afs_size_t offset, len; @@ -289,9 +279,7 @@ afs_MemHandleLink(avc, areq) return 0; } -afs_UFSHandleLink(avc, areq) - register struct vcache *avc; - struct vrequest *areq; +int afs_UFSHandleLink(register struct vcache *avc, struct vrequest *areq) { register struct dcache *tdc; register char *tp, *rbuf; @@ -354,7 +342,7 @@ afs_readlink(OSI_VC_ARG(avc), auio, acred) AFS_STATCNT(afs_readlink); afs_Trace1(afs_iclSetp, CM_TRACE_READLINK, ICL_TYPE_POINTER, avc); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; afs_InitFakeStat(&fakestat); code = afs_EvalFakeStat(&avc, &fakestat, &treq); if (code) goto done; diff --git a/src/afs/VNOPS/afs_vnop_write.c b/src/afs/VNOPS/afs_vnop_write.c index 0bb676c..653ccc8 100644 --- a/src/afs/VNOPS/afs_vnop_write.c +++ b/src/afs/VNOPS/afs_vnop_write.c @@ -37,9 +37,7 @@ extern unsigned char *afs_indexFlags; * afs_FlushActiveVCaches routine (when CCORE is on). * avc->lock must be write-locked. */ -afs_StoreOnLastReference(avc, treq) -register struct vcache *avc; -register struct vrequest *treq; +int afs_StoreOnLastReference(register struct vcache *avc, register struct vrequest *treq) { int code = 0; @@ -61,7 +59,7 @@ register struct vrequest *treq; avc->execsOrWriters--; AFS_RELE(AFSTOV(avc)); /* VN_HOLD at set CCore(afs_FakeClose)*/ crfree((struct AFS_UCRED *)avc->linkData); /* "crheld" in afs_FakeClose */ - avc->linkData = (char *)0; + avc->linkData = NULL; } /* Now, send the file back. Used to require 0 writers left, but now do * it on every close for write, since two closes in a row are harmless @@ -88,11 +86,8 @@ register struct vrequest *treq; -afs_MemWrite(avc, auio, aio, acred, noLock) - register struct vcache *avc; - struct uio *auio; - int aio, noLock; - struct AFS_UCRED *acred; +int afs_MemWrite(register struct vcache *avc, struct uio *auio, int aio, + struct AFS_UCRED *acred, int noLock) { afs_size_t totalLength; afs_size_t transferLength; @@ -117,7 +112,7 @@ afs_MemWrite(avc, auio, aio, acred, noLock) return avc->vc_error; startDate = osi_Time(); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; /* otherwise we read */ totalLength = auio->afsio_resid; filePos = auio->afsio_offset; @@ -332,11 +327,8 @@ afs_MemWrite(avc, auio, aio, acred, noLock) /* called on writes */ -afs_UFSWrite(avc, auio, aio, acred, noLock) - register struct vcache *avc; - struct uio *auio; - int aio, noLock; - struct AFS_UCRED *acred; +int afs_UFSWrite(register struct vcache *avc, struct uio *auio, + int aio, struct AFS_UCRED *acred, int noLock) { afs_size_t totalLength; afs_size_t transferLength; @@ -363,7 +355,7 @@ afs_UFSWrite(avc, auio, aio, acred, noLock) return avc->vc_error; startDate = osi_Time(); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; /* otherwise we read */ totalLength = auio->afsio_resid; filePos = auio->afsio_offset; @@ -673,9 +665,8 @@ afs_UFSWrite(avc, auio, aio, acred, noLock) } /* do partial write if we're low on unmodified chunks */ -afs_DoPartialWrite(avc, areq) -register struct vcache *avc; -struct vrequest *areq; { +int afs_DoPartialWrite(register struct vcache *avc, struct vrequest *areq) +{ register afs_int32 code; if (afs_stats_cmperf.cacheCurrDirtyChunks <= afs_stats_cmperf.cacheMaxDirtyChunks) @@ -714,8 +705,8 @@ struct vrequest *areq; { * N.B: Intercepting close syscall doesn't trap aborts or exit system * calls. */ -afs_closex(afd) - register struct file *afd; { +int afs_closex(register struct file *afd) +{ struct vrequest treq; struct vcache *tvc; afs_int32 flags; @@ -725,7 +716,7 @@ afs_closex(afd) AFS_STATCNT(afs_closex); /* setup the credentials */ - if (code = afs_InitReq(&treq, u.u_cred)) return code; + if ((code = afs_InitReq(&treq, u.u_cred))) return code; afs_InitFakeStat(&fakestat); closeDone = 0; @@ -1010,7 +1001,7 @@ off_t start, stop; AFS_STATCNT(afs_fsync); afs_Trace1(afs_iclSetp, CM_TRACE_FSYNC, ICL_TYPE_POINTER, avc); - if (code = afs_InitReq(&treq, acred)) return code; + if ((code = afs_InitReq(&treq, acred))) return code; #if defined(AFS_SGI_ENV) AFS_RWLOCK((vnode_t *)avc, VRWLOCK_WRITE); diff --git a/src/afs/afs.h b/src/afs/afs.h index e3fa64a..fe939fe 100644 --- a/src/afs/afs.h +++ b/src/afs/afs.h @@ -39,6 +39,17 @@ extern int afs_shuttingdown; #endif #endif +/* Moved from VNOPS/afs_vnop_flocks so can be used in prototypes */ +#if defined(AFS_HPUX102_ENV) +#define AFS_FLOCK k_flock +#else +#if defined(AFS_SUN56_ENV) || defined(AFS_LINUX24_ENV) +#define AFS_FLOCK flock64 +#else +#define AFS_FLOCK flock +#endif /* AFS_SUN65_ENV */ +#endif /* AFS_HPUX102_ENV */ + /* The following are various levels of afs debugging */ #define AFSDEB_GENERAL 1 /* Standard debugging */ #define AFSDEB_NETWORK 2 /* low level afs networking */ @@ -1014,57 +1025,6 @@ extern struct brequest afs_brs[NBRS]; /* request structures */ #define SHash(aserv) ((ntohl(aserv)) & (NSERVERS-1)) #define FVHash(acell,avol) (((avol)+(acell)) & (NFENTRIES-1)) -extern struct cell *afs_GetCell(); -extern struct cell *afs_GetCellNoLock(); -extern struct cell *afs_GetCellByName(); -extern struct cell *afs_FindCellByName(); -extern struct cell *afs_GetCellByIndex(); -extern struct unixuser *afs_GetUser(); -extern struct volume *afs_GetVolume(); -extern struct volume *afs_GetVolumeByName(); -extern struct conn *afs_Conn(); -extern struct conn *afs_ConnByHost(); -extern struct conn *afs_ConnByMHosts(); -extern afs_int32 afs_NewCell(); -extern struct dcache *afs_GetDCache(); -extern struct dcache *afs_FindDCache(); -extern struct dcache *afs_NewDCache(); -extern struct dcache *afs_GetDSlot(); -extern struct vcache *afs_GetVCache(); -extern struct brequest *afs_BQueue(); - -/* afs_cache.c */ -extern int afs_CacheInit(); -extern void afs_StoreWarn(); -extern void afs_AdjustSize(); -extern void afs_ComputeCacheParms(); -extern void afs_FlushDCache(); -extern void afs_FlushActiveVcaches(); -extern void afs_StuffVcache(); -extern void afs_PutVCache(); -extern void afs_TryToSmush(); -extern void afs_ProcessFS(); -extern void afs_WriteThroughDSlots(); -extern void shutdown_cache(); -/* afs_call.c */ -extern void afs_shutdown(); -/* afs_osifile.c */ -extern void shutdown_osifile(); - -/* afs_dynroot.c */ -extern int afs_IsDynrootFid(); -extern void afs_GetDynrootFid(); -extern int afs_IsDynroot(); -extern void afs_RefreshDynroot(); -extern void afs_GetDynroot(); -extern void afs_PutDynroot(); -extern int afs_DynrootNewVnode(); -extern int afs_SetDynrootEnable(); -extern int afs_GetDynrootEnable(); -extern int afs_DynrootVOPSymlink(); -extern int afs_DynrootVOPRemove(); - - /* Performance hack - we could replace VerifyVCache2 with the appropriate * GetVCache incantation, and could eliminate even this code from afs_UFSRead * by making intentionally invalidating quick.stamp in the various callbacks @@ -1108,11 +1068,6 @@ extern int afs_DynrootVOPRemove(); #define afs_nlrdwr(avc, uio, rw, io, cred) \ (((rw) == UIO_WRITE) ? afs_write(avc, uio, io, cred, 1) : afs_read(avc, uio, cred, 0, 0, 1)) -extern afs_int32 afs_blocksUsed, afs_blocksDiscarded; -extern afs_int32 afs_discardDCCount, afs_freeDCCount; -extern afs_int32 afs_bulkStatsDone, afs_bulkStatsLost; -extern int afs_TruncateDaemonRunning; -extern int afs_CacheTooFull; /* Cache size truncation uses the following low and high water marks: * If the cache is more than 95% full (CM_DCACHECOUNTFREEPCT), the cache * truncation daemon is awakened and will free up space until the cache is 85% @@ -1122,9 +1077,6 @@ extern int afs_CacheTooFull; * afs_GetDownD wakes those processes once the cache is 95% full * (CM_CACHESIZEDRAINEDPCT). */ -extern void afs_MaybeWakeupTruncateDaemon(); -extern void afs_CacheTruncateDaemon(); -extern int afs_WaitForCacheDrain; #define CM_MAXDISCARDEDCHUNKS 16 /* # of chunks */ #define CM_DCACHECOUNTFREEPCT 95 /* max pct of chunks in use */ #define CM_DCACHESPACEFREEPCT 90 /* max pct of space in use */ @@ -1141,12 +1093,9 @@ extern int afs_WaitForCacheDrain; /* Handy max length of a numeric string. */ #define CVBS 12 /* max afs_int32 is 2^32 ~ 4*10^9, +1 for NULL, +luck */ -extern int afs_norefpanic; #define refpanic(foo) if (afs_norefpanic) \ { printf( foo ); afs_norefpanic++;} else osi_Panic( foo ) - - /* ** these are defined in the AIX source code sys/fs_locks.h but are not ** defined anywhere in the /usr/include directory @@ -1182,6 +1131,24 @@ extern int afs_norefpanic; #endif /* AFS_SGI62_ENV */ #endif + +/* Note: this should agree with the definition in kdump.c */ +#if defined(AFS_OSF_ENV) +#if !defined(UKERNEL) +#define AFS_USEBUFFERS 1 +#endif +#endif + +#if !defined(UKERNEL) && !defined(HAVE_STRUCT_BUF) +/* declare something so that prototypes don't flip out */ +/* this is really a sick hack, but appears struct buf stuff is only actually passed +around as a pointer, except with libuafs, in which case it is actually defined */ + +struct buf { + int bogus; +}; +#endif + /* fakestat support: opaque storage for afs_EvalFakeStat to remember * what vcache should be released. */ @@ -1194,5 +1161,28 @@ struct afs_fakestat_state { extern int afs_fakestat_enable; +struct buffer { + ino_t fid[1]; /* Unique cache key + i/o addressing */ + afs_int32 page; + afs_int32 accesstime; + struct buffer *hashNext; + char *data; + char lockers; + char dirty; + char hashIndex; +#if AFS_USEBUFFERS + struct buf *bufp; +#endif + afs_rwlock_t lock; /* the lock for this structure */ +}; + +/* afs_memcache.c */ +struct memCacheEntry { + int size; /* # of valid bytes in this entry */ + int dataSize; /* size of allocated data area */ + afs_lock_t afs_memLock; + char *data; /* bytes */ +}; + #endif /* _AFS_H_ */ diff --git a/src/afs/afs_analyze.c b/src/afs/afs_analyze.c index 838a45c..e51edc0 100644 --- a/src/afs/afs_analyze.c +++ b/src/afs/afs_analyze.c @@ -35,7 +35,6 @@ RCSID("$Header$"); #include "../afs/afsincludes.h" /* Afs-based standard headers */ #include "../afs/afs_stats.h" /* afs statistics */ #include "../afs/afs_util.h" -#include "../afs/afs_prototypes.h" #if defined(AFS_SUN56_ENV) #include @@ -61,15 +60,11 @@ RCSID("$Header$"); int afs_BusyWaitPeriod = 15; /* poll every 15 seconds */ - afs_int32 hm_retry_RO=0; /* don't wait */ afs_int32 hm_retry_RW=0; /* don't wait */ afs_int32 hm_retry_int=0; /* don't wait */ -void afs_CopyError(afrom, ato) - register struct vrequest *afrom; - register struct vrequest *ato; - +void afs_CopyError(register struct vrequest *afrom, register struct vrequest *ato) { AFS_STATCNT(afs_CopyError); if (!afrom->initd) @@ -84,12 +79,9 @@ void afs_CopyError(afrom, ato) if (afrom->permWriteError) ato->permWriteError = 1; -} /*afs_CopyError*/ - - -void afs_FinalizeReq(areq) - register struct vrequest *areq; +} +void afs_FinalizeReq(register struct vrequest *areq) { AFS_STATCNT(afs_FinalizeReq); if (areq->initd) @@ -101,14 +93,9 @@ void afs_FinalizeReq(areq) areq->permWriteError = 0; areq->initd = 1; -} /*afs_FinalizeReq*/ - - -afs_CheckCode(acode, areq, where) - afs_int32 acode; - struct vrequest *areq; - int where; +} +int afs_CheckCode(afs_int32 acode, struct vrequest *areq, int where) { AFS_STATCNT(afs_CheckCode); if (acode) { @@ -152,9 +139,7 @@ int lastcode; #define DIFFERENT 0 #define SAME 1 #define DUNNO 2 -static int VLDB_Same (afid, areq) - struct VenusFid *afid; - struct vrequest *areq; +static int VLDB_Same (struct VenusFid *afid, struct vrequest *areq) { struct vrequest treq; struct conn *tconn; @@ -173,7 +158,7 @@ static int VLDB_Same (afid, areq) AFS_STATCNT(CheckVLDB); afs_FinalizeReq(areq); - if (i = afs_InitReq(&treq, &afs_osi_cred)) return DUNNO; + if ((i = afs_InitReq(&treq, &afs_osi_cred))) return DUNNO; tcell = afs_GetCell(afid->Cell, READ_LOCK); bp = afs_cv2string(&tbuf[CVBS], afid->Fid.Volume); do { @@ -217,7 +202,7 @@ static int VLDB_Same (afid, areq) } } else i = -1; - } while (afs_Analyze(tconn, i, (struct VenusFid *) 0, &treq, + } while (afs_Analyze(tconn, i, NULL, &treq, -1, /* no op code for this */ SHARED_LOCK, tcell)); @@ -304,16 +289,10 @@ static int VLDB_Same (afid, areq) * The retry return value is used by afs_StoreAllSegments to determine * if this is a temporary or permanent error. *------------------------------------------------------------------------*/ -int afs_Analyze(aconn, acode, afid, areq, op, locktype, cellp) - register struct conn *aconn; - afs_int32 acode; - register struct vrequest *areq; - struct VenusFid *afid; - int op; - afs_int32 locktype; - struct cell *cellp; -{ /*afs_Analyze*/ - +int afs_Analyze(register struct conn *aconn, afs_int32 acode, + struct VenusFid *afid, register struct vrequest *areq, int op, + afs_int32 locktype, struct cell *cellp) +{ afs_int32 i, code; struct srvAddr *sa; struct server *tsp; diff --git a/src/afs/afs_axscache.c b/src/afs/afs_axscache.c index 3d9898a..150bf2b 100644 --- a/src/afs/afs_axscache.c +++ b/src/afs/afs_axscache.c @@ -17,17 +17,15 @@ RCSID("$Header$"); #include "../afs/afs_stats.h" /* statistics */ #include "afs/stds.h" static struct axscache *afs_axsfreelist = NULL; -static struct xfreelist { struct xfreelist *next; } *xfreemallocs = 0, *xsp = 0; -int afs_xaxscnt = 0; +static struct xfreelist { struct xfreelist *next; } *xfreemallocs = 0; +static int afs_xaxscnt = 0; afs_rwlock_t afs_xaxs; /* takes an address of an access cache & uid, returns ptr */ /* PRECONDITION: first field has been checked and doesn't match! * INVARIANT: isparent(i,j) ^ isparent(j,i) (ie, they switch around) */ -struct axscache *afs_SlowFindAxs(cachep,id) - struct axscache **cachep; - afs_int32 id; +struct axscache *afs_SlowFindAxs(struct axscache **cachep, afs_int32 id) { register struct axscache *i,*j; @@ -39,7 +37,7 @@ struct axscache *afs_SlowFindAxs(cachep,id) return(i); } - if (j=i->next) { /* ASSIGNMENT HERE! */ + if ((j=i->next)) { /* ASSIGNMENT HERE! */ if (j->uid == id) { axs_Front(cachep,i,j); return(j); @@ -53,14 +51,14 @@ struct axscache *afs_SlowFindAxs(cachep,id) #define NAXSs (1000 / sizeof(struct axscache)) -struct axscache *axs_Alloc() +struct axscache *axs_Alloc(void) { register struct axscache *i, *j, *xsp; struct axscache *h; int k; ObtainWriteLock(&afs_xaxs,174); - if (h = afs_axsfreelist) { + if ((h = afs_axsfreelist)) { afs_axsfreelist = h->next; } else { h=i=j= (struct axscache *) afs_osi_Alloc(NAXSs * sizeof(struct axscache)); @@ -93,8 +91,7 @@ struct axscache *axs_Alloc() /* I optimize for speed on lookup, and don't give a RIP about delete. */ -void afs_RemoveAxs(headp, axsp) - struct axscache **headp, *axsp; +void afs_RemoveAxs(struct axscache **headp, struct axscache *axsp) { struct axscache *i, *j; @@ -114,7 +111,7 @@ void afs_RemoveAxs(headp, axsp) axs_Free(axsp); return; } - if (i = j->next) { /* ASSIGNMENT HERE! */ + if ((i = j->next)) { /* ASSIGNMENT HERE! */ j->next = i->next; axs_Free(axsp); return; @@ -130,8 +127,7 @@ void afs_RemoveAxs(headp, axsp) * Takes an entire list of access cache structs and prepends them, lock, stock, * and barrel, to the front of the freelist. */ -void afs_FreeAllAxs(headp) - struct axscache **headp; +void afs_FreeAllAxs(struct axscache **headp) { struct axscache *i,*j; @@ -162,7 +158,9 @@ void afs_FreeAllAxs(headp) } -void shutdown_xscache() +/* doesn't appear to be used at all */ +#if 0 +static void shutdown_xscache(void) { struct xfreelist *xp, *nxp; @@ -176,3 +174,4 @@ void shutdown_xscache() afs_axsfreelist = NULL; xfreemallocs = NULL; } +#endif diff --git a/src/afs/afs_axscache.h b/src/afs/afs_axscache.h index cb271f5..58c3818 100644 --- a/src/afs/afs_axscache.h +++ b/src/afs/afs_axscache.h @@ -31,23 +31,19 @@ struct axscache { struct axscache * next; }; -extern struct axscache *axs_Alloc(), *afs_SlowFindAxs(); -extern void afs_RemoveAxs(), afs_FreeAllAxs(); -extern afs_rwlock_t afs_xaxs; - /* DON'T use this with a NULL pointer! * the quick check should cover 99.9% of the cases */ -#define afs_FindAxs(cachep,id) (((cachep)->uid == id) ? cachep : afs_SlowFindAxs(&(cachep),id)) +#define afs_FindAxs(cachep,id) (((cachep)->uid == id) ? (cachep) : afs_SlowFindAxs(&(cachep),(id))) #define axs_Front(head,pp,p) {(pp)->next = (p)->next; (p)->next= *(head);*(head)=(p);} #define afs_AddAxs(cachep,id,bits) { \ struct axscache *ac; \ - if (ac = axs_Alloc()) { \ - ac->uid = id; \ - ac->axess = (afs_int32)bits; \ - ac->next = cachep; \ + if ((ac = axs_Alloc())) { \ + ac->uid = (id); \ + ac->axess = (afs_int32)(bits); \ + ac->next = (cachep); \ cachep = ac; }} #endif diff --git a/src/afs/afs_buffer.c b/src/afs/afs_buffer.c index d11e84d..81e4098 100644 --- a/src/afs/afs_buffer.c +++ b/src/afs/afs_buffer.c @@ -13,6 +13,7 @@ RCSID("$Header$"); #include "../afs/sysincludes.h" +#include "../afs/afsincludes.h" #if !defined(UKERNEL) #include "../h/param.h" #include "../h/types.h" @@ -33,6 +34,10 @@ RCSID("$Header$"); #include "../h/buf.h" #endif /* !defined(UKERNEL) */ +#if !defined(UKERNEL) && !defined(AFS_SUN5_ENV) +#include "../afs/osi_vfs.h" +#endif + #include "../afs/stds.h" #include "../afs/volerrors.h" #include "../afs/exporter.h" @@ -42,6 +47,7 @@ RCSID("$Header$"); #include "../afs/afs_stats.h" #include "../afs/longc_procs.h" +#include "../afs/afs.h" #ifndef BUF_TIME_MAX #define BUF_TIME_MAX 0x7fffffff @@ -63,33 +69,12 @@ RCSID("$Header$"); #define pHash(fid,page) ((((afs_int32)((fid)[0])) & PHFIDMASK) \ | (page & PHPAGEMASK)) -/* Note: this should agree with the definition in kdump.c */ -#if defined(AFS_OSF_ENV) -#if !defined(UKERNEL) -#define AFS_USEBUFFERS 1 -#endif -#endif - #ifdef dirty #undef dirty /* XXX */ #endif -struct buffer { - ino_t fid[1]; /* Unique cache key + i/o addressing */ - afs_int32 page; - afs_int32 accesstime; - struct buffer *hashNext; - char *data; - char lockers; - char dirty; - char hashIndex; -#if AFS_USEBUFFERS - struct buf *bufp; -#endif - afs_rwlock_t lock; /* the lock for this structure */ -} *Buffers = 0; - -char *BufferData; +static struct buffer *Buffers = 0; +static char *BufferData; #ifdef AFS_AIX_ENV extern struct buf *geteblk(); @@ -102,14 +87,15 @@ extern struct buf *geteblk(); */ static afs_lock_t afs_bufferLock; static struct buffer *phTable[PHSIZE]; /* page hash table */ -int nbuffers; -afs_int32 timecounter; +static int nbuffers; +static afs_int32 timecounter; -static struct buffer *afs_newslot(); +/* Prototypes for static routines */ +static struct buffer *afs_newslot (ino_t *afid, afs_int32 apage,register struct buffer *lp); static int dinit_flag = 0; -void DInit (abuffers) - int abuffers; { +void DInit (int abuffers) +{ /* Initialize the venus buffer system. */ register int i; register struct buffer *tb; @@ -161,9 +147,8 @@ void DInit (abuffers) return; } -char *DRead(fid,page) - register ino_t *fid; - register int page; { +char *DRead(register ino_t *fid, register int page) +{ /* Read a page from the disk. */ register struct buffer *tb, *tb2; void *tfile; @@ -182,7 +167,7 @@ char *DRead(fid,page) * of larger code size. This could be simplified by better use of * macros. */ - if ( tb = phTable[pHash(fid,page)] ) { /* ASSMT HERE */ + if ((tb = phTable[pHash(fid,page)])) { if (bufmatch(tb)) { MObtainWriteLock(&tb->lock,257); ReleaseWriteLock(&afs_bufferLock); @@ -195,7 +180,7 @@ char *DRead(fid,page) else { register struct buffer **bufhead; bufhead = &( phTable[pHash(fid,page)] ); - while (tb2 = tb->hashNext) { + while ((tb2 = tb->hashNext)) { if (bufmatch(tb2)) { buf_Front(bufhead,tb,tb2); MObtainWriteLock(&tb2->lock,258); @@ -206,7 +191,7 @@ char *DRead(fid,page) MReleaseWriteLock(&tb2->lock); return tb2->data; } - if (tb = tb2->hashNext) { /* ASSIGNMENT HERE! */ + if ((tb = tb2->hashNext)) { if (bufmatch(tb)) { buf_Front(bufhead,tb2,tb); MObtainWriteLock(&tb->lock,259); @@ -262,8 +247,8 @@ char *DRead(fid,page) return tb->data; } -static void FixupBucket(ap) - register struct buffer *ap; { +static void FixupBucket(register struct buffer *ap) +{ register struct buffer **lp, *tp; register int i; /* first try to get it out of its current hash bucket, in which it @@ -285,10 +270,8 @@ static void FixupBucket(ap) phTable[i] = ap; /* at the front, since it's LRU */ } -static struct buffer *afs_newslot (afid,apage,lp) - ino_t *afid; - afs_int32 apage; - register struct buffer *lp; /* pointer to a fairly-old buffer */ +/* lp is pointer to a fairly-old buffer */ +static struct buffer *afs_newslot (ino_t *afid, afs_int32 apage,register struct buffer *lp) { /* Find a usable buffer slot */ register afs_int32 i; @@ -374,9 +357,8 @@ static struct buffer *afs_newslot (afid,apage,lp) return lp; } -void DRelease (bp,flag) - register struct buffer *bp; - int flag; { +void DRelease (register struct buffer *bp, int flag) +{ /* Release a buffer, specifying whether or not the buffer has been * modified by the locker. */ register int index; @@ -407,8 +389,8 @@ void DRelease (bp,flag) MReleaseWriteLock(&bp->lock); } -DVOffset (ap) - register void *ap; { +int DVOffset (register void *ap) +{ /* Return the byte within a file represented by a buffer pointer. */ register struct buffer *bp; register int index; @@ -441,8 +423,7 @@ DVOffset (ap) * of the hash function. Oh well. This should use the list traversal * method of DRead... */ -void DZap (fid) - ino_t *fid; +void DZap (ino_t *fid) { register int i; /* Destroy all buffers pertaining to a particular fid. */ @@ -462,9 +443,10 @@ void DZap (fid) MReleaseReadLock(&afs_bufferLock); } -void DFlush () { +void DFlush (void) +{ /* Flush all the modified buffers. */ - register int i, code; + register int i; register struct buffer *tb; void *tfile; @@ -491,9 +473,7 @@ void DFlush () { MReleaseReadLock(&afs_bufferLock); } -char *DNew (fid,page) - register int page; - register ino_t *fid; +char *DNew (register ino_t *fid, register int page) { /* Same as read, only do *not* even try to read the page, since it probably doesn't exist. */ register struct buffer *tb; @@ -510,7 +490,8 @@ char *DNew (fid,page) return tb->data; } -void shutdown_bufferpackage() { +void shutdown_bufferpackage(void) +{ #if AFS_USEBUFFERS register struct buffer *tp; #endif diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c index 4e0e118..15b1b7c 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -124,6 +124,8 @@ static int afs_InitSetup(int preallocs) return code; } +/* leaving as is, probably will barf if we add prototypes here since it's likely being called +with partial list */ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) long parm, parm2, parm3, parm4, parm5, parm6; { @@ -293,8 +295,8 @@ long parm, parm2, parm3, parm4, parm5, parm6; else { AFS_COPYIN((char *)parm3, tcell.cellName, parm4, code); if (!code) - afs_NewCell(tcell.cellName, tcell.hosts, parm5, (char *)0, - (u_short)0, (u_short)0, (int)0, (char *)0); + afs_NewCell(tcell.cellName, tcell.hosts, parm5, + 0, 0, 0, 0, 0); } } } else if (parm == AFSOP_ADDCELL2) { @@ -323,8 +325,8 @@ long parm, parm2, parm3, parm4, parm5, parm6; } } if (!code) - afs_NewCell(tbuffer1, tcell.hosts, cflags, lcnamep, - (u_short)0, (u_short)0, (int)0, (char *)0); + afs_NewCell(tbuffer1, tcell.hosts, cflags, + lcnamep, 0, 0, 0, 0); } } osi_FreeSmallSpace(tbuffer); @@ -349,7 +351,7 @@ long parm, parm2, parm3, parm4, parm5, parm6; if (!code) afs_NewCell(aliasName, /* new entry name */ 0, /* host list */ CAlias, /* flags */ - (char *) 0, /* linked cell */ + NULL, /* linked cell */ 0, 0, /* fs & vl ports */ 0, /* timeout */ cellName); /* real cell name */ @@ -409,7 +411,7 @@ long parm, parm2, parm3, parm4, parm5, parm6; #ifdef AFS_SGI62_ENV ainode = (ainode << 32) | (parm3 & 0xffffffff); #endif - code = afs_InitCacheFile((char *) 0, ainode); + code = afs_InitCacheFile(NULL, ainode); } else if (parm == AFSOP_ROOTVOLUME) { #if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) @@ -1211,7 +1213,8 @@ out: * incorrectly. * Initstate of 300 means that the volume has been *successfully* looked up. */ -afs_CheckInit() { +int afs_CheckInit(void) +{ register int code = 0; AFS_STATCNT(afs_CheckInit); @@ -1225,8 +1228,7 @@ afs_CheckInit() { } int afs_shuttingdown = 0; -void -afs_shutdown() +void afs_shutdown(void) { extern short afs_brsDaemons; extern afs_int32 afs_CheckServerDaemonStarted; @@ -1281,14 +1283,17 @@ afs_shutdown() while (afs_termState == AFSOP_STOP_RXEVENT) afs_osi_Sleep(&afs_termState); #if defined(RXK_LISTENER_ENV) - afs_warn("RxListener... "); #ifndef UKERNEL + afs_warn("UnmaskRxkSignals... "); afs_osi_UnmaskRxkSignals(); #endif /* cancel rx listener */ + afs_warn("RxListener... "); osi_StopListener(); /* This closes rx_socket. */ - while (afs_termState == AFSOP_STOP_RXK_LISTENER) + while (afs_termState == AFSOP_STOP_RXK_LISTENER) { + afs_warn("Sleep... "); afs_osi_Sleep(&afs_termState); + } #endif #else afs_termState = AFSOP_STOP_COMPLETE; @@ -1337,7 +1342,7 @@ afs_shutdown() #endif } -shutdown_afstest() +void shutdown_afstest(void) { AFS_STATCNT(shutdown_afstest); afs_initState = afs_termState = afs_setTime = 0; @@ -1350,8 +1355,10 @@ shutdown_afstest() /* In case there is a bunch of dynamically build bkg daemons to free */ -afs_shutdown_BKG() -{ AFS_STATCNT(shutdown_BKG); } +void afs_shutdown_BKG(void) +{ + AFS_STATCNT(shutdown_BKG); +} #if defined(AFS_ALPHA_ENV) || defined(AFS_SGI61_ENV) @@ -1368,7 +1375,7 @@ int afs_icl_sizeofLong = 1; int afs_icl_inited = 0; /* init function, called once, under afs_icl_lock */ -afs_icl_Init() +int afs_icl_Init(void) { afs_icl_inited = 1; return 0; @@ -1602,11 +1609,8 @@ Afscall_icl(long opcode, long p1, long p2, long p3, long p4, long *retval) afs_lock_t afs_icl_lock; /* exported routine: a 4 parameter event */ -afs_icl_Event4(setp, eventID, lAndT, p1, p2, p3, p4) - register struct afs_icl_set *setp; - afs_int32 eventID; - afs_int32 lAndT; - long p1, p2, p3, p4; +int afs_icl_Event4(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2, long p3, long p4) { register struct afs_icl_log *logp; afs_int32 mask; @@ -1638,37 +1642,26 @@ afs_icl_Event4(setp, eventID, lAndT, p1, p2, p3, p4) * Whole purpose is to avoid compiler warnings about parameter # mismatches. * Otherwise, could call afs_icl_Event4 directly. */ -afs_icl_Event3(setp, eventID, lAndT, p1, p2, p3) - register struct afs_icl_set *setp; - afs_int32 eventID; - afs_int32 lAndT; - long p1, p2, p3; +int afs_icl_Event3(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2, long p3) { return afs_icl_Event4(setp, eventID, lAndT, p1, p2, p3, (long)0); } -afs_icl_Event2(setp, eventID, lAndT, p1, p2) - register struct afs_icl_set *setp; - afs_int32 eventID; - afs_int32 lAndT; - long p1, p2; +int afs_icl_Event2(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2) { return afs_icl_Event4(setp, eventID, lAndT, p1, p2, (long)0, (long)0); } -afs_icl_Event1(setp, eventID, lAndT, p1) - register struct afs_icl_set *setp; - afs_int32 eventID; - afs_int32 lAndT; - long p1; +int afs_icl_Event1(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1) { return afs_icl_Event4(setp, eventID, lAndT, p1, (long)0, (long)0, (long)0); } -afs_icl_Event0(setp, eventID, lAndT) - register struct afs_icl_set *setp; - afs_int32 eventID; - afs_int32 lAndT; +int afs_icl_Event0(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT) { return afs_icl_Event4(setp, eventID, lAndT, (long)0, (long)0, (long)0, (long)0); } @@ -1681,9 +1674,7 @@ struct afs_icl_log *afs_icl_allLogs = 0; * * Log must be write-locked. */ -static afs_icl_GetLogSpace(logp, minSpace) - register struct afs_icl_log *logp; - afs_int32 minSpace; +static afs_icl_GetLogSpace(register struct afs_icl_log *logp, afs_int32 minSpace) { register unsigned int tsize; @@ -1703,9 +1694,7 @@ static afs_icl_GetLogSpace(logp, minSpace) * log must be write-locked. */ #define ICL_CHARSPERLONG 4 -static afs_int32 afs_icl_AppendString(logp, astr) - struct afs_icl_log *logp; - char *astr; +static afs_int32 afs_icl_AppendString(struct afs_icl_log *logp, char *astr) { char *op; /* ptr to char to write */ int tc; @@ -1768,8 +1757,7 @@ static afs_int32 afs_icl_AppendString(logp, astr) /* routine to tell whether we're dealing with the address or the * object itself */ -afs_icl_UseAddr(type) - int type; +int afs_icl_UseAddr(int type) { if (type == ICL_TYPE_HYPER || type == ICL_TYPE_STRING || type == ICL_TYPE_FID || type == ICL_TYPE_INT64) @@ -1783,11 +1771,8 @@ afs_icl_UseAddr(type) * pretty soon, anyway. The log must be unlocked. */ -afs_icl_AppendRecord(logp, op, types, p1, p2, p3, p4) - register struct afs_icl_log *logp; - afs_int32 op; - afs_int32 types; - long p1, p2, p3, p4; +int afs_icl_AppendRecord(register struct afs_icl_log *logp, afs_int32 op, + afs_int32 types, long p1, long p2, long p3, long p4) { int rsize; /* record size in longs */ register int tsize; /* temp size */ @@ -2034,10 +2019,7 @@ afs_icl_AppendRecord(logp, op, types, p1, p2, p3, p4) /* create a log with size logSize; return it in *outLogpp and tag * it with name "name." */ -afs_icl_CreateLog(name, logSize, outLogpp) - char *name; - afs_int32 logSize; - struct afs_icl_log **outLogpp; +int afs_icl_CreateLog(char *name, afs_int32 logSize, struct afs_icl_log **outLogpp) { return afs_icl_CreateLogWithFlags(name, logSize, /*flags*/0, outLogpp); } @@ -2045,11 +2027,8 @@ afs_icl_CreateLog(name, logSize, outLogpp) /* create a log with size logSize; return it in *outLogpp and tag * it with name "name." 'flags' can be set to make the log unclearable. */ -afs_icl_CreateLogWithFlags(name, logSize, flags, outLogpp) - char *name; - afs_int32 logSize; - afs_uint32 flags; - struct afs_icl_log **outLogpp; +int afs_icl_CreateLogWithFlags(char *name, afs_int32 logSize, afs_uint32 flags, + struct afs_icl_log **outLogpp) { register struct afs_icl_log *logp; @@ -2082,7 +2061,7 @@ afs_icl_CreateLogWithFlags(name, logSize, flags, outLogpp) strcpy(logp->name, name); LOCK_INIT(&logp->lock, "logp lock"); logp->logSize = logSize; - logp->datap = (afs_int32 *)0; /* don't allocate it until we need it */ + logp->datap = NULL; /* don't allocate it until we need it */ if (flags & ICL_CRLOG_FLAG_PERSISTENT) logp->states |= ICL_LOGF_PERSISTENT; @@ -2101,12 +2080,8 @@ afs_icl_CreateLogWithFlags(name, logSize, flags, outLogpp) * in *flagsp. The flag ICL_COPYOUTF_MISSEDSOME is set if we can't * find the record with cookie value cookie. */ -afs_icl_CopyOut(logp, bufferp, bufSizep, cookiep, flagsp) - register struct afs_icl_log *logp; - afs_int32 *bufferp; - afs_int32 *bufSizep; - afs_uint32 *cookiep; - afs_int32 *flagsp; +int afs_icl_CopyOut(register struct afs_icl_log *logp, afs_int32 *bufferp, + afs_int32 *bufSizep, afs_uint32 *cookiep, afs_int32 *flagsp) { afs_int32 nwords; /* number of words to copy out */ afs_uint32 startCookie; /* first cookie to use */ @@ -2218,10 +2193,8 @@ afs_icl_CopyOut(logp, bufferp, bufSizep, cookiep, flagsp) } /* return basic parameter information about a log */ -afs_icl_GetLogParms(logp, maxSizep, curSizep) - struct afs_icl_log *logp; - afs_int32 *maxSizep; - afs_int32 *curSizep; +int afs_icl_GetLogParms(struct afs_icl_log *logp, afs_int32 *maxSizep, + afs_int32 *curSizep) { ObtainReadLock(&logp->lock); *maxSizep = logp->logSize; @@ -2232,8 +2205,7 @@ afs_icl_GetLogParms(logp, maxSizep, curSizep) /* hold and release logs */ -afs_icl_LogHold(logp) - register struct afs_icl_log *logp; +int afs_icl_LogHold(register struct afs_icl_log *logp) { ObtainWriteLock(&afs_icl_lock,187); logp->refCount++; @@ -2242,16 +2214,14 @@ afs_icl_LogHold(logp) } /* hold and release logs, called with lock already held */ -afs_icl_LogHoldNL(logp) - register struct afs_icl_log *logp; +int afs_icl_LogHoldNL(register struct afs_icl_log *logp) { logp->refCount++; return 0; } /* keep track of how many sets believe the log itself is allocated */ -afs_icl_LogUse(logp) - register struct afs_icl_log *logp; +int afs_icl_LogUse(register struct afs_icl_log *logp) { ObtainWriteLock(&logp->lock,188); if (logp->setCount == 0) { @@ -2271,8 +2241,7 @@ afs_icl_LogUse(logp) } /* decrement the number of real users of the log, free if possible */ -afs_icl_LogFreeUse(logp) - register struct afs_icl_log *logp; +int afs_icl_LogFreeUse(register struct afs_icl_log *logp) { ObtainWriteLock(&logp->lock,189); if (--logp->setCount == 0) { @@ -2283,16 +2252,14 @@ afs_icl_LogFreeUse(logp) #endif logp->firstUsed = logp->firstFree = 0; logp->logElements = 0; - logp->datap = (afs_int32 *)0; + logp->datap = NULL; } ReleaseWriteLock(&logp->lock); return 0; } /* set the size of the log to 'logSize' */ -afs_icl_LogSetSize(logp, logSize) - register struct afs_icl_log *logp; - afs_int32 logSize; +int afs_icl_LogSetSize(register struct afs_icl_log *logp, afs_int32 logSize) { ObtainWriteLock(&logp->lock,190); if (!logp->datap) { @@ -2321,8 +2288,7 @@ afs_icl_LogSetSize(logp, logSize) } /* free a log. Called with afs_icl_lock locked. */ -afs_icl_ZapLog(logp) - register struct afs_icl_log *logp; +int afs_icl_ZapLog(register struct afs_icl_log *logp) { register struct afs_icl_log **lpp, *tp; @@ -2340,8 +2306,7 @@ afs_icl_ZapLog(logp) } /* do the release, watching for deleted entries */ -afs_icl_LogRele(logp) - register struct afs_icl_log *logp; +int afs_icl_LogRele(register struct afs_icl_log *logp) { ObtainWriteLock(&afs_icl_lock,191); if (--logp->refCount == 0 && (logp->states & ICL_LOGF_DELETED)) { @@ -2352,8 +2317,7 @@ afs_icl_LogRele(logp) } /* do the release, watching for deleted entries, log already held */ -afs_icl_LogReleNL(logp) - register struct afs_icl_log *logp; +int afs_icl_LogReleNL(register struct afs_icl_log *logp) { if (--logp->refCount == 0 && (logp->states & ICL_LOGF_DELETED)) { afs_icl_ZapLog(logp); /* destroys logp's lock! */ @@ -2362,8 +2326,7 @@ afs_icl_LogReleNL(logp) } /* zero out the log */ -afs_icl_ZeroLog(logp) - register struct afs_icl_log *logp; +int afs_icl_ZeroLog(register struct afs_icl_log *logp) { ObtainWriteLock(&logp->lock,192); logp->firstUsed = logp->firstFree = 0; @@ -2374,8 +2337,7 @@ afs_icl_ZeroLog(logp) } /* free a log entry, and drop its reference count */ -afs_icl_LogFree(logp) - register struct afs_icl_log *logp; +int afs_icl_LogFree(register struct afs_icl_log *logp) { ObtainWriteLock(&logp->lock,193); logp->states |= ICL_LOGF_DELETED; @@ -2385,8 +2347,7 @@ afs_icl_LogFree(logp) } /* find a log by name, returning it held */ -struct afs_icl_log *afs_icl_FindLog(name) - char *name; +struct afs_icl_log *afs_icl_FindLog(char *name) { register struct afs_icl_log *tp; ObtainWriteLock(&afs_icl_lock,194); @@ -2401,9 +2362,7 @@ struct afs_icl_log *afs_icl_FindLog(name) return tp; } -afs_icl_EnumerateLogs(aproc, arock) - int (*aproc)(); - char *arock; +int afs_icl_EnumerateLogs(int (*aproc)(), char *arock) { register struct afs_icl_log *tp; register afs_int32 code; @@ -2427,11 +2386,8 @@ afs_icl_EnumerateLogs(aproc, arock) struct afs_icl_set *afs_icl_allSets = 0; -afs_icl_CreateSet(name, baseLogp, fatalLogp, outSetpp) - char *name; - struct afs_icl_log *baseLogp; - struct afs_icl_log *fatalLogp; - struct afs_icl_set **outSetpp; +int afs_icl_CreateSet(char *name, struct afs_icl_log *baseLogp, + struct afs_icl_log *fatalLogp, struct afs_icl_set **outSetpp) { return afs_icl_CreateSetWithFlags(name, baseLogp, fatalLogp, /*flags*/0, outSetpp); @@ -2443,12 +2399,8 @@ afs_icl_CreateSet(name, baseLogp, fatalLogp, outSetpp) * addds references from the new afs_icl_set. When the set is destroyed, * those references will be released. */ -afs_icl_CreateSetWithFlags(name, baseLogp, fatalLogp, flags, outSetpp) - char *name; - struct afs_icl_log *baseLogp; - struct afs_icl_log *fatalLogp; - afs_uint32 flags; - struct afs_icl_set **outSetpp; +int afs_icl_CreateSetWithFlags(char *name, struct afs_icl_log *baseLogp, + struct afs_icl_log *fatalLogp, afs_uint32 flags, struct afs_icl_set **outSetpp) { register struct afs_icl_set *setp; register int i; @@ -2528,10 +2480,7 @@ afs_icl_CreateSetWithFlags(name, baseLogp, fatalLogp, flags, outSetpp) } /* function to change event enabling information for a particular set */ -afs_icl_SetEnable(setp, eventID, setValue) - struct afs_icl_set *setp; - afs_int32 eventID; - int setValue; +int afs_icl_SetEnable(struct afs_icl_set *setp, afs_int32 eventID, int setValue) { char *tp; @@ -2553,10 +2502,8 @@ afs_icl_SetEnable(setp, eventID, setValue) * for tracing. If *getValuep is set to 0, the event is disabled, * otherwise it is enabled. All events start out enabled by default. */ -afs_icl_GetEnable(setp, eventID, getValuep) - struct afs_icl_set *setp; - afs_int32 eventID; - int *getValuep; +int afs_icl_GetEnable(struct afs_icl_set *setp, afs_int32 eventID, + int *getValuep) { ObtainReadLock(&setp->lock); if (!ICL_EVENTOK(setp, eventID)) { @@ -2572,8 +2519,7 @@ afs_icl_GetEnable(setp, eventID, getValuep) } /* hold and release event sets */ -afs_icl_SetHold(setp) - register struct afs_icl_set *setp; +int afs_icl_SetHold(register struct afs_icl_set *setp) { ObtainWriteLock(&afs_icl_lock,201); setp->refCount++; @@ -2582,8 +2528,7 @@ afs_icl_SetHold(setp) } /* free a set. Called with afs_icl_lock locked */ -afs_icl_ZapSet(setp) - register struct afs_icl_set *setp; +int afs_icl_ZapSet(register struct afs_icl_set *setp) { register struct afs_icl_set **lpp, *tp; int i; @@ -2599,7 +2544,7 @@ afs_icl_ZapSet(setp) unpin((char *)setp->eventFlags, ICL_DEFAULTEVENTS); #endif for(i=0; i < ICL_LOGSPERSET; i++) { - if (tlp = setp->logs[i]) + if ((tlp = setp->logs[i])) afs_icl_LogReleNL(tlp); } osi_FreeSmallSpace(setp); @@ -2610,8 +2555,7 @@ afs_icl_ZapSet(setp) } /* do the release, watching for deleted entries */ -afs_icl_SetRele(setp) - register struct afs_icl_set *setp; +int afs_icl_SetRele(register struct afs_icl_set *setp) { ObtainWriteLock(&afs_icl_lock,202); if (--setp->refCount == 0 && (setp->states & ICL_SETF_DELETED)) { @@ -2622,8 +2566,7 @@ afs_icl_SetRele(setp) } /* free a set entry, dropping its reference count */ -afs_icl_SetFree(setp) - register struct afs_icl_set *setp; +int afs_icl_SetFree(register struct afs_icl_set *setp) { ObtainWriteLock(&setp->lock,203); setp->states |= ICL_SETF_DELETED; @@ -2633,8 +2576,7 @@ afs_icl_SetFree(setp) } /* find a set by name, returning it held */ -struct afs_icl_set *afs_icl_FindSet(name) - char *name; +struct afs_icl_set *afs_icl_FindSet(char *name) { register struct afs_icl_set *tp; ObtainWriteLock(&afs_icl_lock,204); @@ -2650,8 +2592,7 @@ struct afs_icl_set *afs_icl_FindSet(name) } /* zero out all the logs in the set */ -afs_icl_ZeroSet(setp) - struct afs_icl_set *setp; +int afs_icl_ZeroSet(struct afs_icl_set *setp) { register int i; int code = 0; @@ -2672,9 +2613,7 @@ afs_icl_ZeroSet(setp) return code; } -afs_icl_EnumerateSets(aproc, arock) - int (*aproc)(); - char *arock; +int afs_icl_EnumerateSets(int (*aproc)(), char *arock) { register struct afs_icl_set *tp, *np; register afs_int32 code; @@ -2695,9 +2634,7 @@ afs_icl_EnumerateSets(aproc, arock) return code; } -afs_icl_AddLogToSet(setp, newlogp) - struct afs_icl_set *setp; - struct afs_icl_log *newlogp; +int afs_icl_AddLogToSet(struct afs_icl_set *setp, struct afs_icl_log *newlogp) { register int i; int code = -1; @@ -2720,9 +2657,7 @@ afs_icl_AddLogToSet(setp, newlogp) return code; } -afs_icl_SetSetStat(setp, op) - struct afs_icl_set *setp; - int op; +int afs_icl_SetSetStat(struct afs_icl_set *setp, int op) { int i; afs_int32 code; diff --git a/src/afs/afs_callback.c b/src/afs/afs_callback.c index a634757..475b147 100644 --- a/src/afs/afs_callback.c +++ b/src/afs/afs_callback.c @@ -23,9 +23,6 @@ RCSID("$Header$"); #include "../afs/afs_stats.h" /*Cache Manager stats*/ #include "../afs/afs_args.h" -extern struct volume *afs_volumes[NVOLS]; /* volume hash table */ -extern void afs_DequeueCallback(); -extern void afs_ComputePAGStats(); afs_int32 afs_allCBs = 0; /*Break callbacks on all objects */ afs_int32 afs_oddCBs = 0; /*Break callbacks on dirs*/ afs_int32 afs_evenCBs = 0; /*Break callbacks received on files*/ @@ -33,17 +30,6 @@ afs_int32 afs_allZaps = 0; /*Objects entries deleted */ afs_int32 afs_oddZaps = 0; /*Dir cache entries deleted*/ afs_int32 afs_evenZaps = 0; /*File cache entries deleted*/ afs_int32 afs_connectBacks = 0; -extern struct rx_service *afs_server; - -extern afs_lock_t afs_xvcb, afs_xbrs, afs_xdcache; -extern afs_rwlock_t afs_xvcache, afs_xserver, afs_xcell, afs_xuser; -extern afs_rwlock_t afs_xvolume, afs_puttofileLock, afs_ftf, afs_xinterface; -extern afs_rwlock_t afs_xconn; -extern struct afs_lock afs_xaxs; -extern afs_lock_t afs_xcbhash; -extern struct srvAddr *afs_srvAddrs[NSERVERS]; -extern struct afs_q CellLRU; -extern struct cm_initparams cm_initParams; /* * Some debugging aids. @@ -52,20 +38,20 @@ static struct ltable { char *name; char *addr; } ltable []= { - "afs_xvcache", (char *)&afs_xvcache, - "afs_xdcache", (char *)&afs_xdcache, - "afs_xserver", (char *)&afs_xserver, - "afs_xvcb", (char *)&afs_xvcb, - "afs_xbrs", (char *)&afs_xbrs, - "afs_xcell", (char *)&afs_xcell, - "afs_xconn", (char *)&afs_xconn, - "afs_xuser", (char *)&afs_xuser, - "afs_xvolume", (char *)&afs_xvolume, - "puttofile", (char *)&afs_puttofileLock, - "afs_ftf", (char *)&afs_ftf, - "afs_xcbhash", (char *)&afs_xcbhash, - "afs_xaxs", (char *)&afs_xaxs, - "afs_xinterface", (char *)&afs_xinterface, + {"afs_xvcache", (char *)&afs_xvcache}, + {"afs_xdcache", (char *)&afs_xdcache}, + {"afs_xserver", (char *)&afs_xserver}, + {"afs_xvcb", (char *)&afs_xvcb}, + {"afs_xbrs", (char *)&afs_xbrs}, + {"afs_xcell", (char *)&afs_xcell}, + {"afs_xconn", (char *)&afs_xconn}, + {"afs_xuser", (char *)&afs_xuser}, + {"afs_xvolume", (char *)&afs_xvolume}, + {"puttofile", (char *)&afs_puttofileLock}, + {"afs_ftf", (char *)&afs_ftf}, + {"afs_xcbhash", (char *)&afs_xcbhash}, + {"afs_xaxs", (char *)&afs_xaxs}, + {"afs_xinterface", (char *)&afs_xinterface} }; unsigned long lastCallBack_vnode; unsigned int lastCallBack_dv; @@ -97,12 +83,8 @@ struct interfaceAddr afs_cb_interface; * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetCE(a_call, a_index, a_result) - struct rx_call *a_call; - afs_int32 a_index; - struct AFSDBCacheEntry *a_result; - -{ /*SRXAFSCB_GetCE*/ +int SRXAFSCB_GetCE(struct rx_call *a_call, afs_int32 a_index, struct AFSDBCacheEntry *a_result) +{ register int i; /*Loop variable*/ register struct vcache *tvc; /*Ptr to current cache entry*/ @@ -123,7 +105,7 @@ int SRXAFSCB_GetCE(a_call, a_index, a_result) } /*Zip through hash chains*/ searchDone: - if (tvc == (struct vcache *) 0) { + if (tvc == NULL) { /*Past EOF*/ code = 1; goto fcnDone; @@ -178,13 +160,8 @@ fcnDone: } /*SRXAFSCB_GetCE*/ -int SRXAFSCB_GetCE64(a_call, a_index, a_result) - struct rx_call *a_call; - afs_int32 a_index; - struct AFSDBCacheEntry64 *a_result; - -{ /*SRXAFSCB_GetCE64*/ - +int SRXAFSCB_GetCE64(struct rx_call *a_call, afs_int32 a_index, struct AFSDBCacheEntry64 *a_result) +{ register int i; /*Loop variable*/ register struct vcache *tvc; /*Ptr to current cache entry*/ int code; /*Return code*/ @@ -204,7 +181,7 @@ int SRXAFSCB_GetCE64(a_call, a_index, a_result) } /*Zip through hash chains*/ searchDone: - if (tvc == (struct vcache *) 0) { + if (tvc == NULL) { /*Past EOF*/ code = 1; goto fcnDone; @@ -289,13 +266,8 @@ fcnDone: * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetLock (a_call, a_index, a_result) - struct rx_call *a_call; - afs_int32 a_index; - struct AFSDBLock *a_result; - -{ /*SRXAFSCB_GetLock*/ - +int SRXAFSCB_GetLock (struct rx_call *a_call, afs_int32 a_index, struct AFSDBLock *a_result) +{ struct ltable *tl; /*Ptr to lock table entry*/ int nentries; /*Num entries in table*/ int code; /*Return code*/ @@ -365,14 +337,13 @@ int SRXAFSCB_GetLock (a_call, a_index, a_result) * * Side Effects: * As advertised. - *------------------------------------------------------------------------*/ -static ClearCallBack(a_conn, a_fid) - register struct rx_connection *a_conn; - register struct AFSFid *a_fid; +Appears to need to be called with GLOCK held, as the icl_Event4 stuff asserts otherwise -{ /*ClearCallBack*/ + *------------------------------------------------------------------------*/ +static int ClearCallBack(register struct rx_connection *a_conn, register struct AFSFid *a_fid) +{ register struct vcache *tvc; register int i; struct VenusFid localFid; @@ -380,6 +351,8 @@ static ClearCallBack(a_conn, a_fid) AFS_STATCNT(ClearCallBack); + AFS_ASSERT_GLOCK(); + /* * XXXX Don't hold any server locks here because of callback protocol XXX */ @@ -400,7 +373,7 @@ static ClearCallBack(a_conn, a_fid) for (i = 0; i < VCSIZE; i++) for (tvc = afs_vhashT[i]; tvc; tvc = tvc->hnext) { if (tvc->fid.Fid.Volume == a_fid->Volume) { - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->quick.stamp = 0; if (!localFid.Cell) localFid.Cell = tvc->fid.Cell; @@ -451,7 +424,7 @@ static ClearCallBack(a_conn, a_fid) if (tvc->fid.Fid.Vnode == a_fid->Vnode && tvc->fid.Fid.Volume == a_fid->Volume && tvc->fid.Fid.Unique == a_fid->Unique ) { - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->quick.stamp = 0; tvc->h1.dchint = NULL; /* invalidate hints */ ObtainWriteLock(&afs_xcbhash, 450); @@ -504,13 +477,8 @@ static ClearCallBack(a_conn, a_fid) * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_CallBack(a_call, a_fids, a_callbacks) - struct rx_call *a_call; - register struct AFSCBFids *a_fids; - struct AFSCBs *a_callbacks; - -{ /*SRXAFSCB_CallBack*/ - +int SRXAFSCB_CallBack(struct rx_call *a_call, register struct AFSCBFids *a_fids, struct AFSCBs *a_callbacks) +{ register int i; /*Loop variable*/ struct AFSFid *tfid; /*Ptr to current fid*/ register struct rx_connection *tconn; /*Call's connection*/ @@ -522,7 +490,7 @@ int SRXAFSCB_CallBack(a_call, a_fids, a_callbacks) XSTATS_START_CMTIME(AFS_STATS_CM_RPCIDX_CALLBACK); AFS_STATCNT(SRXAFSCB_CallBack); - if (!(tconn = rx_ConnectionOf(a_call))) return; + if (!(tconn = rx_ConnectionOf(a_call))) return(0); tfid = (struct AFSFid *) a_fids->AFSCBFids_val; /* @@ -562,10 +530,8 @@ int SRXAFSCB_CallBack(a_call, a_fids, a_callbacks) * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_Probe(a_call) - struct rx_call *a_call; - -{ /*SRXAFSCB_Probe*/ +int SRXAFSCB_Probe(struct rx_call *a_call) +{ int code = 0; XSTATS_DECLS; @@ -602,18 +568,14 @@ int SRXAFSCB_Probe(a_call) * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_InitCallBackState(a_call) - struct rx_call *a_call; - -{ /*SRXAFSCB_InitCallBackState*/ - +int SRXAFSCB_InitCallBackState(struct rx_call *a_call) +{ register int i; register struct vcache *tvc; register struct rx_connection *tconn; register struct rx_peer *peer; struct server *ts; int code = 0; - extern int osi_dnlc_purge(); XSTATS_DECLS; RX_AFS_GLOCK(); @@ -637,7 +599,7 @@ int SRXAFSCB_InitCallBackState(a_call) if (tvc->callback == ts) { ObtainWriteLock(&afs_xcbhash, 451); afs_DequeueCallback(tvc); - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->states &= ~(CStatd | CUnique | CBulkFetching); ReleaseWriteLock(&afs_xcbhash); } @@ -691,11 +653,8 @@ int SRXAFSCB_InitCallBackState(a_call) * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_XStatsVersion(a_call, a_versionP) - struct rx_call *a_call; - afs_int32 *a_versionP; - -{ /*SRXAFSCB_XStatsVersion*/ +int SRXAFSCB_XStatsVersion(struct rx_call *a_call, afs_int32 *a_versionP) +{ int code=0; XSTATS_DECLS; @@ -740,16 +699,10 @@ int SRXAFSCB_XStatsVersion(a_call, a_versionP) * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srvVersionNumP, a_timeP, a_dataP) - struct rx_call *a_call; - afs_int32 a_clientVersionNum; - afs_int32 a_collectionNumber; - afs_int32 *a_srvVersionNumP; - afs_int32 *a_timeP; - AFSCB_CollData *a_dataP; - -{ /*SRXAFSCB_GetXStats*/ - +int SRXAFSCB_GetXStats(struct rx_call *a_call, afs_int32 a_clientVersionNum, + afs_int32 a_collectionNumber, afs_int32 *a_srvVersionNumP, + afs_int32 *a_timeP, AFSCB_CollData *a_dataP) +{ register int code; /*Return value*/ afs_int32 *dataBuffP; /*Ptr to data to be returned*/ afs_int32 dataBytes; /*Bytes in data buffer*/ @@ -776,7 +729,7 @@ int SRXAFSCB_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srvVers * no data. */ a_dataP->AFSCB_CollData_len = 0; - a_dataP->AFSCB_CollData_val = (afs_int32 *)0; + a_dataP->AFSCB_CollData_val = NULL; #else switch(a_collectionNumber) { case AFSCB_XSTATSCOLL_CALL_INFO: @@ -842,7 +795,7 @@ int SRXAFSCB_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srvVers * Illegal collection number. */ a_dataP->AFSCB_CollData_len = 0; - a_dataP->AFSCB_CollData_val = (afs_int32 *)0; + a_dataP->AFSCB_CollData_val = NULL; code = 1; } /*Switch on collection number*/ #endif /* AFS_NOSTATS */ @@ -875,9 +828,8 @@ int SRXAFSCB_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srvVers * As advertised. *------------------------------------------------------------------------*/ -int afs_RXCallBackServer() - -{ /*afs_RXCallBackServer*/ +int afs_RXCallBackServer(void) +{ AFS_STATCNT(afs_RXCallBackServer); while (1) { @@ -914,12 +866,8 @@ int afs_RXCallBackServer() * As advertised. *------------------------------------------------------------------------*/ -int shutdown_CB() - -{ /*shutdown_CB*/ - - extern int afs_cold_shutdown; - +int shutdown_CB(void) +{ AFS_STATCNT(shutdown_CB); if (afs_cold_shutdown) { @@ -951,9 +899,7 @@ int shutdown_CB() * None *------------------------------------------------------------------------*/ -int SRXAFSCB_InitCallBackState2(a_call, addr) -struct rx_call *a_call; -struct interfaceAddr * addr; +int SRXAFSCB_InitCallBackState2(struct rx_call *a_call, struct interfaceAddr *addr) { return RXGEN_OPCODE; } @@ -982,9 +928,7 @@ struct interfaceAddr * addr; * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_WhoAreYou(a_call, addr) -struct rx_call *a_call; -struct interfaceAddr *addr; +int SRXAFSCB_WhoAreYou(struct rx_call *a_call, struct interfaceAddr *addr) { int i; int code = 0; @@ -1033,9 +977,7 @@ struct interfaceAddr *addr; * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_InitCallBackState3(a_call, a_uuid) -struct rx_call *a_call; -afsUUID *a_uuid; +int SRXAFSCB_InitCallBackState3(struct rx_call *a_call, afsUUID *a_uuid) { int code; @@ -1071,9 +1013,7 @@ afsUUID *a_uuid; * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_ProbeUuid(a_call, a_uuid) -struct rx_call *a_call; -afsUUID *a_uuid; +int SRXAFSCB_ProbeUuid(struct rx_call *a_call, afsUUID *a_uuid) { int code = 0; XSTATS_DECLS; @@ -1115,11 +1055,8 @@ afsUUID *a_uuid; * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetServerPrefs( - struct rx_call *a_call, - afs_int32 a_index, - afs_int32 *a_srvr_addr, - afs_int32 *a_srvr_rank) +int SRXAFSCB_GetServerPrefs(struct rx_call *a_call, afs_int32 a_index, + afs_int32 *a_srvr_addr, afs_int32 *a_srvr_rank) { int i, j; struct srvAddr *sa; @@ -1171,15 +1108,11 @@ int SRXAFSCB_GetServerPrefs( * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetCellServDB( - struct rx_call *a_call, - afs_int32 a_index, - char **a_name, - serverList *a_hosts) +int SRXAFSCB_GetCellServDB(struct rx_call *a_call, afs_int32 a_index, + char **a_name, serverList *a_hosts) { afs_int32 i, j; struct cell *tcell; - struct afs_q *cq, *tq; char *t_name, *p_name = NULL; RX_AFS_GLOCK(); @@ -1241,9 +1174,7 @@ int SRXAFSCB_GetCellServDB( * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetLocalCell( - struct rx_call *a_call, - char **a_name) +int SRXAFSCB_GetLocalCell(struct rx_call *a_call, char **a_name) { int plen; struct cell *tcell; @@ -1309,10 +1240,8 @@ int SRXAFSCB_GetLocalCell( * * Returns void. */ -static void afs_MarshallCacheConfig( - afs_uint32 callerVersion, - cm_initparams_v1 *config, - afs_uint32 *ptr) +static void afs_MarshallCacheConfig(afs_uint32 callerVersion, + cm_initparams_v1 *config, afs_uint32 *ptr) { AFS_STATCNT(afs_MarshallCacheConfig); /* @@ -1327,7 +1256,6 @@ static void afs_MarshallCacheConfig( *(ptr++) = config->cacheSize; *(ptr++) = config->setTime; *(ptr++) = config->memCache; - } @@ -1356,12 +1284,8 @@ static void afs_MarshallCacheConfig( * As advertised. *------------------------------------------------------------------------*/ -int SRXAFSCB_GetCacheConfig( - struct rx_call *a_call, - afs_uint32 callerVersion, - afs_uint32 *serverVersion, - afs_uint32 *configCount, - cacheConfig *config) +int SRXAFSCB_GetCacheConfig(struct rx_call *a_call, afs_uint32 callerVersion, + afs_uint32 *serverVersion, afs_uint32 *configCount, cacheConfig *config) { afs_uint32 *t_config; size_t allocsize; @@ -1426,13 +1350,8 @@ int SRXAFSCB_GetCacheConfig( * * Side Effects: *------------------------------------------------------------------------*/ -SRXAFSCB_FetchData(rxcall, Fid, Fd, Position, Length, TotalLength) - struct rx_call *rxcall; - struct AFSFid *Fid; - afs_int32 Fd; - afs_int64 Position; - afs_int64 Length; - afs_int64 *TotalLength; +int SRXAFSCB_FetchData(struct rx_call *rxcall, struct AFSFid *Fid, afs_int32 Fd, + afs_int64 Position, afs_int64 Length, afs_int64 *TotalLength) { return ENOSYS; } @@ -1462,13 +1381,8 @@ SRXAFSCB_FetchData(rxcall, Fid, Fd, Position, Length, TotalLength) * Side Effects: * As advertised. *------------------------------------------------------------------------*/ -SRXAFSCB_StoreData(rxcall, Fid, Fd, Position, Length, TotalLength) - struct rx_call *rxcall; - struct AFSFid *Fid; - afs_int32 Fd; - afs_int64 Position; - afs_int64 Length; - afs_int64 *TotalLength; +int SRXAFSCB_StoreData(struct rx_call *rxcall, struct AFSFid *Fid, afs_int32 Fd, + afs_int64 Position, afs_int64 Length, afs_int64 *TotalLength) { return ENOSYS; } diff --git a/src/afs/afs_cbqueue.c b/src/afs/afs_cbqueue.c index 643bfa2..62e32b5 100644 --- a/src/afs/afs_cbqueue.c +++ b/src/afs/afs_cbqueue.c @@ -90,12 +90,8 @@ struct bucket { struct afs_q head; /* struct afs_lock lock; only if you want lots of locks... */ }; -struct bucket cbHashT[CBHTSIZE]; +static struct bucket cbHashT[CBHTSIZE]; struct afs_lock afs_xcbhash; -extern afs_int32 afs_cacheStats; -extern struct volume * afs_FindVolume(); -extern unsigned int afs_paniconwarn; -void afs_FlushCBs(); /* afs_QueueCallback * Takes a write-locked vcache pointer and a callback expiration time @@ -112,13 +108,8 @@ void afs_FlushCBs(); * NOTE: The caller must hold a write lock on afs_xcbhash */ -void afs_QueueCallback(avc, atime, avp) -struct vcache *avc; -unsigned int atime; -struct volume *avp; +void afs_QueueCallback(struct vcache *avc, unsigned int atime, struct volume *avp) { -struct vcache *list; - if (avp && (avp->expireTime < avc->cbExpires)) avp->expireTime = avc->cbExpires; if (!(avc->callsort.next)) { @@ -141,8 +132,7 @@ return ; * * NOTE: The caller must hold a write lock on afs_xcbhash */ -void afs_DequeueCallback(avc) -struct vcache *avc; +void afs_DequeueCallback(struct vcache *avc) { debugvc=avc; @@ -191,14 +181,12 @@ struct vcache *avc; /* Sanity check on the callback queue. Allow for slop in the computation. */ #ifdef AFS_OSF_ENV -extern afs_int32 afs_maxvcount; #define CBQ_LIMIT (afs_maxvcount + 10) #else #define CBQ_LIMIT (afs_cacheStats + afs_stats_cmperf.vcacheXAllocs + 10) #endif -void afs_CheckCallbacks(secs) -unsigned int secs; +void afs_CheckCallbacks(unsigned int secs) { struct vcache *tvc; register struct afs_q *tq; @@ -306,7 +294,7 @@ return; * the floor, without giving them back to the server. It's ok, the server can * deal with it, but it is a little bit rude. */ -void afs_FlushCBs() +void afs_FlushCBs(void) { register int i; register struct vcache *tvc; @@ -334,8 +322,7 @@ void afs_FlushCBs() * the floor for a specific server, without giving them back to the server. * It's ok, the server can deal with it, but it is a little bit rude. */ -void afs_FlushServerCBs(srvp) -struct server *srvp; +void afs_FlushServerCBs(struct server *srvp) { register int i; register struct vcache *tvc; @@ -364,8 +351,7 @@ struct server *srvp; * called to initialize static and global variables associated with * the Callback expiration management mechanism. */ -void afs_InitCBQueue(doLockInit) -int doLockInit; +void afs_InitCBQueue(int doLockInit) { register int i; @@ -402,12 +388,10 @@ if (doLockInit) * but weren't (say, if the server was down), they will be examined at every * opportunity thereafter. */ -int afs_BumpBase() +int afs_BumpBase(void) { afs_uint32 now; int didbump; -struct vcache *tvca, *tvcb; -afs_int32 ttime; u_int oldbase; ObtainWriteLock(&afs_xcbhash,87); @@ -426,17 +410,3 @@ ReleaseWriteLock(&afs_xcbhash); return didbump; } - - - - - - - - - - - - - - diff --git a/src/afs/afs_cbqueue.h b/src/afs/afs_cbqueue.h index 04787e6..9e814a6 100644 --- a/src/afs/afs_cbqueue.h +++ b/src/afs/afs_cbqueue.h @@ -19,13 +19,7 @@ /* how many slots in the table */ #define CBHTSIZE 128 /* 7 is LOG2(slotlen) */ -#define CBHash(t) (t>>7) - -extern int afs_BumpBase(); -extern void afs_InitCBQueue(); -extern void afs_CheckCallbacks(); -extern void afs_DequeueCallback(); -extern void afs_QueueCallback(); +#define CBHash(t) ((t)>>7) #define CBQTOV(e) ((struct vcache *)(((char *) (e)) - (((char *)(&(((struct vcache *)(e))->callsort))) - ((char *)(e))))) diff --git a/src/afs/afs_cell.c b/src/afs/afs_cell.c index f199353..07aee48 100644 --- a/src/afs/afs_cell.c +++ b/src/afs/afs_cell.c @@ -53,9 +53,9 @@ afs_uint32 afs_nextCellNum = 0x100; struct cell *afs_rootcell = 0; /* Handler waiting for request from client */ -static char afs_AfsdbHandlerWait; +static int afs_AfsdbHandlerWait; /* Client waiting for handler to become available or finish request */ -static char afs_AfsdbLookupWait; +static int afs_AfsdbLookupWait; /* Set to 1 when we've seen the userspace AFSDB process at least once */ char afs_AfsdbHandlerPresent = 0; @@ -77,9 +77,7 @@ char afs_AfsdbHandler_ReqPending = 0; /* Handler sets Completed to 1 when it completes the client request */ char afs_AfsdbHandler_Completed = 0; - -int afs_strcasecmp(s1, s2) - register char *s1, *s2; +int afs_strcasecmp(register char *s1, register char *s2) { while (*s1 && *s2) { register char c1, c2; @@ -97,7 +95,7 @@ int afs_strcasecmp(s1, s2) #ifdef AFS_AFSDB_ENV -void afs_StopAfsdb() +void afs_StopAfsdb(void) { if (afs_AfsdbHandlerPresent) { afs_osi_Wakeup(&afs_AfsdbHandlerWait); @@ -107,10 +105,7 @@ void afs_StopAfsdb() } } -int afs_AfsdbHandler(acellName, acellNameLen, kernelMsg) - char *acellName; - int acellNameLen; - afs_int32 *kernelMsg; +int afs_AfsdbHandler(char *acellName, int acellNameLen, afs_int32 *kernelMsg) { /* afs_syscall_call() has already grabbed the global lock */ @@ -165,11 +160,8 @@ int afs_AfsdbHandler(acellName, acellNameLen, kernelMsg) #endif -int afs_GetCellHostsFromDns(acellName, acellHosts, timeout, realName) - char *acellName; - afs_int32 *acellHosts; - int *timeout; - char **realName; +int afs_GetCellHostsFromDns(char *acellName, afs_int32 *acellHosts, + int *timeout, char **realName) { #ifdef AFS_AFSDB_ENV char grab_glock = 0; @@ -218,8 +210,7 @@ int afs_GetCellHostsFromDns(acellName, acellHosts, timeout, realName) } -void afs_RefreshCell(ac) - register struct cell *ac; +void afs_RefreshCell(register struct cell *ac) { afs_int32 cellHosts[MAXCELLHOSTS]; char *realName = NULL; @@ -236,7 +227,7 @@ void afs_RefreshCell(ac) goto done; /* Refresh the DB servers for the real cell; other values stay the same. */ - afs_NewCell(realName, cellHosts, 0, (char *) 0, 0, 0, timeout, (char *) 0); + afs_NewCell(realName, cellHosts, 0, NULL, 0, 0, timeout, NULL); /* If this is an alias, update the alias entry too */ if (afs_strcasecmp(ac->cellName, realName)) { @@ -247,7 +238,7 @@ void afs_RefreshCell(ac) tc = afs_FindCellByName(realName, READ_LOCK); if (tc) { - afs_NewCell(ac->cellName, 0, CAlias, (char *) 0, 0, 0, + afs_NewCell(ac->cellName, 0, CAlias, NULL, 0, 0, timeout, tc->cellName); afs_PutCell(tc, READ_LOCK); } @@ -259,9 +250,7 @@ done: } -struct cell *afs_GetCellByName_Dns(acellName, locktype) - register char *acellName; - afs_int32 locktype; +struct cell *afs_GetCellByName_Dns(register char *acellName, afs_int32 locktype) { afs_int32 cellHosts[MAXCELLHOSTS]; char *realName = NULL; @@ -270,8 +259,8 @@ struct cell *afs_GetCellByName_Dns(acellName, locktype) if (afs_GetCellHostsFromDns(acellName, cellHosts, &timeout, &realName)) goto bad; - if (afs_NewCell(realName, cellHosts, CNoSUID, (char *) 0, 0, 0, - timeout, (char *) 0)) + if (afs_NewCell(realName, cellHosts, CNoSUID, NULL, 0, 0, + timeout, NULL)) goto bad; /* If this is an alias, create an entry for it too */ @@ -284,7 +273,7 @@ struct cell *afs_GetCellByName_Dns(acellName, locktype) if (!tc) goto bad; - if (afs_NewCell(acellName, 0, CAlias, (char *) 0, 0, 0, + if (afs_NewCell(acellName, 0, CAlias, NULL, 0, 0, timeout, tc->cellName)) { afs_PutCell(tc, READ_LOCK); goto bad; @@ -300,13 +289,11 @@ struct cell *afs_GetCellByName_Dns(acellName, locktype) bad: if (realName) afs_osi_Free(realName, strlen(realName) + 1); - return (struct cell *) 0; + return NULL; } -struct cell *afs_FindCellByName(acellName, locktype) - register char *acellName; - afs_int32 locktype; +struct cell *afs_FindCellByName(register char *acellName, afs_int32 locktype) { register struct cell *tc; register struct afs_q *cq, *tq; @@ -324,7 +311,7 @@ retry: afs_RefreshCell(tc); if ((tc->states & CAlias) && (didAlias == 0)) { acellName = tc->realName; - if (!acellName) return (struct cell *) 0; + if (!acellName) return NULL; didAlias = 1; goto retry; } @@ -333,27 +320,22 @@ retry: } ReleaseWriteLock(&afs_xcell); - return (struct cell *) 0; -} /*afs_FindCellByName*/ - + return NULL; +} -struct cell *afs_GetCellByName(acellName, locktype) - register char *acellName; - afs_int32 locktype; +struct cell *afs_GetCellByName(register char *acellName, afs_int32 locktype) { struct cell *tc; tc = afs_FindCellByName(acellName, locktype); if (!tc) tc = afs_GetCellByName_Dns(acellName, locktype); - + return tc; -} /*afs_GetCellByName*/ +} -static struct cell *afs_GetCellInternal(acell, locktype, holdxcell) - register afs_int32 acell; - afs_int32 locktype; - int holdxcell; +static struct cell *afs_GetCellInternal(register afs_int32 acell, + afs_int32 locktype, int holdxcell) { register struct cell *tc; register struct afs_q *cq, *tq; @@ -375,29 +357,23 @@ static struct cell *afs_GetCellInternal(acell, locktype, holdxcell) } if (holdxcell) ReleaseWriteLock(&afs_xcell); - return (struct cell *) 0; + return NULL; -} /*afs_GetCell*/ +} -struct cell *afs_GetCell(acell, locktype) - register afs_int32 acell; - afs_int32 locktype; +struct cell *afs_GetCell(register afs_int32 acell, afs_int32 locktype) { return afs_GetCellInternal(acell, locktype, 1); } /* This is only to be called if the caller is already holding afs_xcell */ -struct cell *afs_GetCellNoLock(acell, locktype) - register afs_int32 acell; - afs_int32 locktype; +struct cell *afs_GetCellNoLock(register afs_int32 acell, afs_int32 locktype) { return afs_GetCellInternal(acell, locktype, 0); } -struct cell *afs_GetCellByIndex(cellindex, locktype, refresh) - register afs_int32 cellindex; - afs_int32 locktype; - afs_int32 refresh; +struct cell *afs_GetCellByIndex(register afs_int32 cellindex, + afs_int32 locktype, afs_int32 refresh) { register struct cell *tc; register struct afs_q *cq, *tq; @@ -415,15 +391,12 @@ struct cell *afs_GetCellByIndex(cellindex, locktype, refresh) } } ReleaseWriteLock(&afs_xcell); - return (struct cell *) 0; + return NULL; -} /*afs_GetCellByIndex*/ +} -struct cell *afs_GetRealCellByIndex(cellindex, locktype, refresh) - register afs_int32 cellindex; - afs_int32 locktype; - afs_int32 refresh; +struct cell *afs_GetRealCellByIndex(register afs_int32 cellindex, afs_int32 locktype, afs_int32 refresh) { register struct cell *tc; register struct afs_q *cq, *tq; @@ -441,18 +414,12 @@ struct cell *afs_GetRealCellByIndex(cellindex, locktype, refresh) } } ReleaseWriteLock(&afs_xcell); - return (struct cell *) 0; + return NULL; } /*afs_GetRealCellByIndex*/ -afs_int32 afs_NewCell(acellName, acellHosts, aflags, linkedcname, fsport, vlport, timeout, aliasFor) - int aflags; - char *acellName; - register afs_int32 *acellHosts; - char *linkedcname; - u_short fsport, vlport; - int timeout; - char *aliasFor; +afs_int32 afs_NewCell(char *acellName, register afs_int32 *acellHosts, int aflags, + char *linkedcname, u_short fsport, u_short vlport, int timeout, char *aliasFor) { register struct cell *tc, *tcl=0; register afs_int32 i, newc=0, code=0; @@ -507,7 +474,7 @@ afs_int32 afs_NewCell(acellName, acellHosts, aflags, linkedcname, fsport, vlport tc->cell = afs_nextCellNum++; } tc->states = 0; - tc->lcellp = (struct cell *)0; + tc->lcellp = NULL; tc->fsport = (fsport ? fsport : AFS_FSPORT); tc->vlport = (vlport ? vlport : AFS_VLPORT); afs_stats_cmperf.numCellsVisible++; @@ -536,7 +503,7 @@ afs_int32 afs_NewCell(acellName, acellHosts, aflags, linkedcname, fsport, vlport goto bad; } if (tcl->lcellp) { /* XXX Overwriting if one existed before! XXX */ - tcl->lcellp->lcellp = (struct cell *)0; + tcl->lcellp->lcellp = NULL; tcl->lcellp->states &= ~CLinkedCell; } tc->lcellp = tcl; @@ -585,10 +552,9 @@ bad: } ReleaseWriteLock(&afs_xcell); return code; +} -} /*afs_NewCell*/ - -afs_RemoveCellEntry(struct server *srvp) +void afs_RemoveCellEntry(struct server *srvp) { struct cell *tc; afs_int32 j, k; diff --git a/src/afs/afs_chunkops.h b/src/afs/afs_chunkops.h index fa246da..fe33e2e 100644 --- a/src/afs/afs_chunkops.h +++ b/src/afs/afs_chunkops.h @@ -26,13 +26,6 @@ #else /* AFS_NOCHUNKING */ -extern afs_int32 afs_OtherCSize, afs_LogChunk, afs_FirstCSize; -#ifdef AFS_64BIT_CLIENT -#ifdef AFS_VM_RDWR_ENV -extern afs_size_t afs_vmMappingEnd; -#endif /* AFS_VM_RDWR_ENV */ -#endif /* AFS_64BIT_CLIENT */ - #define AFS_OTHERCSIZE (afs_OtherCSize) #define AFS_LOGCHUNK (afs_LogChunk) #define AFS_FIRSTCSIZE (afs_FirstCSize) @@ -45,19 +38,6 @@ extern afs_size_t afs_vmMappingEnd; #define AFS_MINCHUNK 13 /* 8k is minimum */ #define AFS_MAXCHUNK 18 /* 256K is maximum */ -#ifdef notdef -extern int afs_ChunkOffset(), afs_Chunk(), afs_ChunkBase(), afs_ChunkSize(), - afs_ChunkToBase(), afs_ChunkToSize(); - -/* macros */ -#define AFS_CHUNKOFFSET(x) afs_ChunkOffset(x) -#define AFS_CHUNK(x) afs_Chunk(x) -#define AFS_CHUNKBASE(x) afs_ChunkBase(x) -#define AFS_CHUNKSIZE(x) afs_ChunkSize(x) -#define AFS_CHUNKTOBASE(x) afs_ChunkToBase(x) -#define AFS_CHUNKTOSIZE(x) afs_ChunkToSize(x) -#endif - #define AFS_CHUNKOFFSET(offset) ((offset < afs_FirstCSize) ? offset : \ ((offset - afs_FirstCSize) & (afs_OtherCSize - 1))) @@ -79,28 +59,30 @@ extern int afs_ChunkOffset(), afs_Chunk(), afs_ChunkBase(), afs_ChunkSize(), #define AFS_SETCHUNKSIZE(chunk) { afs_LogChunk = chunk; \ afs_FirstCSize = afs_OtherCSize = (1 << chunk); } - -extern void afs_CacheTruncateDaemon(); - /* * Functions exported by a cache type */ -extern struct afs_cacheOps *afs_cacheType; - struct afs_cacheOps { - void *(*open)(); - int (*truncate)(); - int (*fread)(); - int (*fwrite)(); - int (*close)(); - int (*vread)(); - int (*vwrite)(); - int (*FetchProc)(); - int (*StoreProc)(); - struct dcache *(*GetDSlot)(); - struct volume *(*GetVolSlot)(); - int (*HandleLink)(); + void *(*open)(afs_int32 ainode); + int (*truncate)(struct osi_file *fp, int len); + int (*fread)(struct osi_file *fp, int offset, char *buf, int len); + int (*fwrite)(struct osi_file *fp, int offset, char *buf, int len); + int (*close)(struct osi_file *fp); + int (*vread)(register struct vcache *avc, struct uio *auio, + struct AFS_UCRED *acred, daddr_t albn, struct buf **abpp, int noLock); + int (*vwrite)(register struct vcache *avc, struct uio *auio, + int aio, struct AFS_UCRED *acred, int noLock); + int (*FetchProc)(register struct rx_call *acall, + struct osi_file *afile, afs_size_t abase, struct dcache *adc, + struct vcache *avc, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 lengthFound); + int (*StoreProc)(register struct rx_call *acall, + struct osi_file *afile, register afs_int32 alen, struct vcache *avc, + int *shouldWake, afs_size_t *abytesToXferP, afs_size_t *abytesXferredP); + struct dcache *(*GetDSlot)(register afs_int32 aslot, register struct dcache *tmpdc); + struct volume *(*GetVolSlot)(void); + int (*HandleLink)(register struct vcache *avc, struct vrequest *areq); }; /* Ideally we should have used consistent naming - like COP_OPEN, COP_TRUNCATE, etc. */ diff --git a/src/afs/afs_conn.c b/src/afs/afs_conn.c index 8fa1273..ee351bf 100644 --- a/src/afs/afs_conn.c +++ b/src/afs/afs_conn.c @@ -42,33 +42,20 @@ RCSID("$Header$"); #include #endif -/* Imported variables */ -/* these are for storing alternate interface addresses - from afs_callback.c */ -extern struct interfaceAddr afs_cb_interface; - - -/* Imported functions. */ -struct rx_securityClass *rxnull_NewClientSecurityObject(); -struct rx_securityClass *rxkad_NewClientSecurityObject(); - /* Exported variables */ afs_rwlock_t afs_xconn; /* allocation lock for new things */ afs_rwlock_t afs_xinterface; /* for multiple client address */ - -/* Local variables */ -afs_int32 cryptall = 0; +afs_int32 cryptall = 0; /* encrypt all communications */ unsigned int VNOSERVERS = 0; -struct conn *afs_Conn(afid, areq, locktype) - register struct VenusFid *afid; - register struct vrequest *areq; - afs_int32 locktype; +struct conn *afs_Conn(register struct VenusFid *afid, + register struct vrequest *areq, afs_int32 locktype) { u_short fsport=AFS_FSPORT; struct volume *tv; - struct conn *tconn = (struct conn *)0; - struct srvAddr *lowp= (struct srvAddr *)0; + struct conn *tconn = NULL; + struct srvAddr *lowp= NULL; struct unixuser *tu; int notbusy; int i; @@ -81,7 +68,7 @@ struct conn *afs_Conn(afid, areq, locktype) afs_FinalizeReq(areq); areq->volumeError = 1; } - return (struct conn *) 0; + return NULL; } if (tv->serverHost[0] && tv->serverHost[0]->cell) { @@ -148,7 +135,7 @@ struct conn *afs_ConnBySA(struct srvAddr *sap, unsigned short aport, if (!sap || ((sap->sa_flags & SRVR_ISDOWN) && !force_if_down)) { /* sa is known down, and we don't want to force it. */ - return (struct conn *)0; + return NULL; } ObtainSharedLock(&afs_xconn,15); @@ -160,7 +147,7 @@ struct conn *afs_ConnBySA(struct srvAddr *sap, unsigned short aport, if (!tc && !create) { ReleaseSharedLock(&afs_xconn); - return (struct conn *)0; + return NULL; } if (!tc) { @@ -262,15 +249,9 @@ struct conn *afs_ConnBySA(struct srvAddr *sap, unsigned short aport, * Having force... true and UTokensBad true simultaneously means that the tokens * went bad and we're supposed to create a new, unauthenticated, connection. */ -struct conn *afs_ConnByHost(aserver, aport, acell, areq, aforce, locktype) - struct server *aserver; - afs_int32 acell; - unsigned short aport; - struct vrequest *areq; - int aforce; - afs_int32 locktype; -{ /*afs_ConnByHost*/ - +struct conn *afs_ConnByHost(struct server *aserver, unsigned short aport, + afs_int32 acell, struct vrequest *areq, int aforce, afs_int32 locktype) +{ struct unixuser *tu; struct conn *tc=0; struct srvAddr *sa=0; @@ -308,12 +289,8 @@ struct conn *afs_ConnByHost(aserver, aport, acell, areq, aforce, locktype) } /*afs_ConnByHost*/ -struct conn *afs_ConnByMHosts(ahosts, aport, acell, areq, locktype) - struct server *ahosts[]; - afs_int32 acell; - unsigned short aport; - register struct vrequest *areq; - afs_int32 locktype; +struct conn *afs_ConnByMHosts(struct server *ahosts[], unsigned short aport, + afs_int32 acell, register struct vrequest *areq, afs_int32 locktype) { register afs_int32 i; register struct conn *tconn; @@ -322,21 +299,19 @@ struct conn *afs_ConnByMHosts(ahosts, aport, acell, areq, locktype) /* try to find any connection from the set */ AFS_STATCNT(afs_ConnByMHosts); for (i=0;irefCount--; @@ -347,8 +322,7 @@ void afs_PutConn(ac, locktype) client network interface going down. We need to reopen new connections in this case */ -ForceNewConnections(sap) -struct srvAddr *sap; +void ForceNewConnections(struct srvAddr *sap) { struct conn *tc=0; diff --git a/src/afs/afs_daemons.c b/src/afs/afs_daemons.c index 159acd5..310c568 100644 --- a/src/afs/afs_daemons.c +++ b/src/afs/afs_daemons.c @@ -34,29 +34,22 @@ static int rxepoch_checked=0; #define afs_CheckRXEpoch() {if (rxepoch_checked == 0 && rxkad_EpochWasSet) { \ rxepoch_checked = 1; afs_GCUserData(/* force flag */ 1); } } -extern char afs_rootVolumeName[]; -extern struct vcache *afs_globalVp; -extern struct VenusFid afs_rootFid; -extern struct osi_dev cacheDev; -extern char *afs_indexFlags; -extern afs_rwlock_t afs_xvcache; -extern struct afs_exporter *afs_nfsexporter; -extern int cacheDiskType; -extern int afs_BumpBase(); -extern void afs_CheckCallbacks(); - /* PAG garbage collection */ /* We induce a compile error if param.h does not define AFS_GCPAGS */ afs_int32 afs_gcpags=AFS_GCPAGS; afs_int32 afs_gcpags_procsize; afs_int32 afs_CheckServerDaemonStarted = 0; +#ifdef DEFAULT_PROBE_INTERVAL +afs_int32 PROBE_INTERVAL=DEFAULT_PROBE_INTERVAL; /* overridding during compile */ +#else afs_int32 PROBE_INTERVAL=180; /* default to 3 min */ +#endif #define PROBE_WAIT() (1000 * (PROBE_INTERVAL - ((afs_random() & 0x7fffffff) \ % (PROBE_INTERVAL/2)))) -afs_CheckServerDaemon() +int afs_CheckServerDaemon(void) { afs_int32 now, delay, lastCheck, last10MinCheck; @@ -75,13 +68,13 @@ afs_CheckServerDaemon() now = osi_Time(); if (PROBE_INTERVAL + lastCheck <= now) { - afs_CheckServers(1, (struct cell *) 0); /* check down servers */ + afs_CheckServers(1, NULL); /* check down servers */ lastCheck = now = osi_Time(); } if (600 + last10MinCheck <= now) { afs_Trace1(afs_iclSetp, CM_TRACE_PROBEUP, ICL_TYPE_INT32, 600); - afs_CheckServers(0, (struct cell *) 0); + afs_CheckServers(0, NULL); last10MinCheck = now = osi_Time(); } /* shutdown check. */ @@ -103,9 +96,9 @@ afs_CheckServerDaemon() afs_CheckServerDaemonStarted = 0; } -void afs_Daemon() { +void afs_Daemon(void) +{ afs_int32 code; - extern struct afs_exporter *root_exported; struct afs_exporter *exporter; afs_int32 now; afs_int32 last3MinCheck, last10MinCheck, last60MinCheck, lastNMinCheck; @@ -186,7 +179,7 @@ void afs_Daemon() { } if (lastNMinCheck + PROBE_INTERVAL < now) { /* only check down servers */ - afs_CheckServers(1, (struct cell *) 0); + afs_CheckServers(1, NULL); lastNMinCheck = now; } } @@ -206,7 +199,7 @@ void afs_Daemon() { } #endif /* else AFS_USERSPACE_IP_ADDR */ if (!afs_CheckServerDaemonStarted) - afs_CheckServers(0, (struct cell *) 0); + afs_CheckServers(0, NULL); afs_GCUserData(0); /* gc old conns */ /* This is probably the wrong way of doing GC for the various exporters but it will suffice for a while */ for (exporter = root_exported; exporter; exporter = exporter->exp_next) { @@ -266,7 +259,8 @@ void afs_Daemon() { } } -afs_CheckRootVolume () { +int afs_CheckRootVolume (void) +{ char rootVolName[32]; register struct volume *tvp; int usingDynroot = afs_GetDynrootEnable(); @@ -280,9 +274,9 @@ afs_CheckRootVolume () { } if (usingDynroot) { afs_GetDynrootFid(&afs_rootFid); - tvp = afs_GetVolume(&afs_rootFid, (struct vrequest *) 0, READ_LOCK); + tvp = afs_GetVolume(&afs_rootFid, NULL, READ_LOCK); } else { - tvp = afs_GetVolumeByName(rootVolName, LOCALCELL, 1, (struct vrequest *) 0, READ_LOCK); + tvp = afs_GetVolumeByName(rootVolName, LOCALCELL, 1, NULL, READ_LOCK); } if (!tvp) { char buf[128]; @@ -291,7 +285,7 @@ afs_CheckRootVolume () { if ((len < 9) || strcmp(&rootVolName[len - 9], ".readonly")) { strcpy(buf, rootVolName); afs_strcat(buf, ".readonly"); - tvp = afs_GetVolumeByName(buf, LOCALCELL, 1, (struct vrequest *) 0, READ_LOCK); + tvp = afs_GetVolumeByName(buf, LOCALCELL, 1, NULL, READ_LOCK); } } if (tvp) { @@ -322,8 +316,6 @@ afs_CheckRootVolume () { /* This is to make sure that we update the root gnode */ /* every time root volume gets released */ { - extern struct vfs *afs_globalVFS; - extern int afs_root(); struct gnode *rootgp; struct mount *mp; int code; @@ -348,11 +340,11 @@ afs_CheckRootVolume () { } /* ptr_parm 0 is the pathname, size_parm 0 to the fetch is the chunk number */ -void BPath(ab) - register struct brequest *ab; { - register struct dcache *tdc; - struct vcache *tvc; - struct vnode *tvn; +static void BPath(register struct brequest *ab) +{ + register struct dcache *tdc = NULL; + struct vcache *tvc = NULL; + struct vnode *tvn = NULL; #ifdef AFS_LINUX22_ENV struct dentry *dp = NULL; #endif @@ -361,14 +353,14 @@ void BPath(ab) afs_int32 code; AFS_STATCNT(BPath); - if (code = afs_InitReq(&treq, ab->cred)) return; + if ((code = afs_InitReq(&treq, ab->cred))) return; AFS_GUNLOCK(); #ifdef AFS_LINUX22_ENV - code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, (struct vnode **) 0, &dp); + code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, &dp); if (dp) tvn = (struct vnode*)dp->d_inode; #else - code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, (struct vnode **) 0, (struct vnode **)&tvn); + code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, (struct vnode **)&tvn); #endif AFS_GLOCK(); osi_FreeLargeSpace((char *)ab->ptr_parm[0]); /* free path name buffer here */ @@ -414,15 +406,15 @@ void BPath(ab) * ptr_parm 0 is the dcache entry to wakeup, * size_parm 1 is true iff we should release the dcache entry here. */ -void BPrefetch(ab) - register struct brequest *ab; { +static void BPrefetch(register struct brequest *ab) +{ register struct dcache *tdc; register struct vcache *tvc; afs_size_t offset, len; struct vrequest treq; AFS_STATCNT(BPrefetch); - if (len = afs_InitReq(&treq, ab->cred)) return; + if ((len = afs_InitReq(&treq, ab->cred))) return; tvc = ab->vnode; tdc = afs_GetDCache(tvc, ab->size_parm[0], &treq, &offset, &len, 1); if (tdc) { @@ -448,8 +440,8 @@ void BPrefetch(ab) } -void BStore(ab) - register struct brequest *ab; { +static void BStore(register struct brequest *ab) +{ register struct vcache *tvc; register afs_int32 code; struct vrequest treq; @@ -458,7 +450,7 @@ void BStore(ab) #endif AFS_STATCNT(BStore); - if (code = afs_InitReq(&treq, ab->cred)) return; + if ((code = afs_InitReq(&treq, ab->cred))) return; code = 0; tvc = ab->vnode; #if defined(AFS_SGI_ENV) @@ -496,8 +488,8 @@ void BStore(ab) } /* release a held request buffer */ -void afs_BRelease(ab) - register struct brequest *ab; { +void afs_BRelease(register struct brequest *ab) +{ AFS_STATCNT(afs_BRelease); MObtainWriteLock(&afs_xbrs,294); @@ -509,19 +501,16 @@ void afs_BRelease(ab) } /* return true if bkg fetch daemons are all busy */ -int afs_BBusy() { +int afs_BBusy(void) +{ AFS_STATCNT(afs_BBusy); if (afs_brsDaemons > 0) return 0; return 1; } -struct brequest *afs_BQueue(aopcode, avc, dontwait, ause, acred, asparm0, asparm1, apparm0) - register short aopcode; - afs_int32 ause, dontwait; - register struct vcache *avc; - struct AFS_UCRED *acred; - afs_size_t asparm0, asparm1; - void *apparm0; +struct brequest *afs_BQueue(register short aopcode, register struct vcache *avc, + afs_int32 dontwait, afs_int32 ause, struct AFS_UCRED *acred, + afs_size_t asparm0, afs_size_t asparm1, void *apparm0) { register int i; register struct brequest *tb; @@ -562,7 +551,7 @@ struct brequest *afs_BQueue(aopcode, avc, dontwait, ause, acred, asparm0, asparm } if (dontwait) { MReleaseWriteLock(&afs_xbrs); - return (struct brequest *)0; + return NULL; } /* no free buffers, sleep a while */ afs_brsWaiters++; @@ -611,7 +600,7 @@ afs_int32 afs_biodcnt = 0; Simple_lock afs_asyncbuf_lock; /*static*/ struct buf *afs_get_bioreq() { - struct buf *bp = (struct buf *) 0; + struct buf *bp = NULL; struct buf *bestbp; struct buf **bestlbpP, **lbpP; int bestage, stop; @@ -719,8 +708,7 @@ Simple_lock afs_asyncbuf_lock; */ static int afs_initbiod = 0; /* this is self-initializing code */ int DOvmlock = 0; -afs_BioDaemon (nbiods) - afs_int32 nbiods; +int afs_BioDaemon (afs_int32 nbiods) { afs_int32 code, s, pflg = 0; label_t jmpbuf; @@ -898,7 +886,7 @@ afs_int32 afs_biodcnt = 0; struct afs_bioqueue *self; /* address on which to sleep */ { - struct buf *bp = (struct buf *) 0; + struct buf *bp = NULL; struct buf *bestbp; struct buf **bestlbpP, **lbpP; int bestage, stop; @@ -1192,10 +1180,10 @@ if (DOvmlock) int afs_nbrs = 0; -void afs_BackgroundDaemon() { +void afs_BackgroundDaemon(void) +{ struct brequest *tb; int i, foundAny; - afs_int32 pid; AFS_STATCNT(afs_BackgroundDaemon); /* initialize subsystem */ @@ -1242,7 +1230,7 @@ void afs_BackgroundDaemon() { } } } - if (tb = min_tb) { + if ((tb = min_tb)) { /* claim and process this request */ tb->flags |= BSTARTED; MReleaseWriteLock(&afs_xbrs); @@ -1262,7 +1250,7 @@ void afs_BackgroundDaemon() { #else AFS_RELE((struct vnode *)(tb->vnode)); /* MUST call vnode layer or could lose vnodes */ #endif - tb->vnode = (struct vcache *) 0; + tb->vnode = NULL; } if (tb->cred) { crfree(tb->cred); @@ -1283,12 +1271,8 @@ void afs_BackgroundDaemon() { } -void shutdown_daemons() +void shutdown_daemons(void) { - extern int afs_cold_shutdown; - register int i; - register struct brequest *tb; - AFS_STATCNT(shutdown_daemons); if (afs_cold_shutdown) { afs_brsDaemons = brsInit = 0; @@ -1325,8 +1309,7 @@ SV_TYPE afs_sgibkwait; lock_t afs_sgibklock; struct dcache *afs_sgibklist; -int -afs_sgidaemon(void) +int afs_sgidaemon(void) { int s; struct dcache *tdc; diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index 14d666a..19cc82d 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -27,13 +27,6 @@ static void afs_FreeDiscardedDCache(void); static void afs_DiscardDCache(struct dcache *); static void afs_FreeDCache(struct dcache *); -/* Imported variables */ -extern afs_rwlock_t afs_xvcache; -extern afs_rwlock_t afs_xcbhash; -extern afs_int32 afs_mariner; -extern afs_int32 cacheInfoModTime; /*Last time cache info modified*/ - - /* * --------------------- Exported definitions --------------------- */ @@ -95,8 +88,8 @@ extern struct dcache *afs_UFSGetDSlot(); extern struct volume *afs_UFSGetVolSlot(); extern int osi_UFSTruncate(), afs_osi_Read(), afs_osi_Write(), osi_UFSClose(); extern int afs_UFSRead(), afs_UFSWrite(); -static int afs_UFSCacheFetchProc(), afs_UFSCacheStoreProc(); extern int afs_UFSHandleLink(); +static int afs_UFSCacheFetchProc(), afs_UFSCacheStoreProc(); struct afs_cacheOps afs_UfsCacheOps = { osi_UFSOpen, osi_UFSTruncate, @@ -112,12 +105,6 @@ struct afs_cacheOps afs_UfsCacheOps = { afs_UFSHandleLink, }; -extern void *afs_MemCacheOpen(); -extern struct dcache *afs_MemGetDSlot(); -extern struct volume *afs_MemGetVolSlot(); -extern int afs_MemCacheTruncate(), afs_MemReadBlk(), afs_MemWriteBlk(), afs_MemCacheClose(); -extern int afs_MemRead(), afs_MemWrite(), afs_MemCacheFetchProc(), afs_MemCacheStoreProc(); -extern int afs_MemHandleLink(); struct afs_cacheOps afs_MemCacheOps = { afs_MemCacheOpen, afs_MemCacheTruncate, @@ -156,14 +143,8 @@ struct afs_cacheOps *afs_cacheType; * Call this from close call when vnodeops is RCS unlocked. */ -void -afs_StoreWarn(acode, avolume, aflags) - register afs_int32 acode; - afs_int32 avolume; - register afs_int32 aflags; - -{ /*afs_StoreWarn*/ - +void afs_StoreWarn(register afs_int32 acode, afs_int32 avolume, register afs_int32 aflags) +{ static char problem_fmt[] = "afs: failed to store file in volume %d (%s)\n"; static char problem_fmt_w_error[] = @@ -171,7 +152,6 @@ afs_StoreWarn(acode, avolume, aflags) static char netproblems[] = "network problems"; static char partfull[] = "partition full"; static char overquota[] = "over quota"; - static char unknownerr[] = "unknown error"; AFS_STATCNT(afs_StoreWarn); if (acode < 0) { @@ -219,21 +199,22 @@ afs_StoreWarn(acode, avolume, aflags) } } /*afs_StoreWarn*/ -void afs_MaybeWakeupTruncateDaemon() { +void afs_MaybeWakeupTruncateDaemon(void) +{ if (!afs_CacheTooFull && afs_CacheIsTooFull()) { afs_CacheTooFull = 1; if (!afs_TruncateDaemonRunning) - afs_osi_Wakeup((char *)afs_CacheTruncateDaemon); + afs_osi_Wakeup((int *)afs_CacheTruncateDaemon); } else if (!afs_TruncateDaemonRunning && afs_blocksDiscarded > CM_MAXDISCARDEDCHUNKS) { - afs_osi_Wakeup((char *)afs_CacheTruncateDaemon); + afs_osi_Wakeup((int *)afs_CacheTruncateDaemon); } } /* Keep statistics on run time for afs_CacheTruncateDaemon. This is a * struct so we need only export one symbol for AIX. */ -struct CTD_stats { +static struct CTD_stats { osi_timeval_t CTD_beforeSleep; osi_timeval_t CTD_afterSleep; osi_timeval_t CTD_sleepTime; @@ -242,7 +223,8 @@ struct CTD_stats { } CTD_stats; u_int afs_min_cache = 0; -void afs_CacheTruncateDaemon() { +void afs_CacheTruncateDaemon(void) +{ osi_timeval_t CTD_tmpTime; u_int counter; u_int cb_lowat; @@ -308,7 +290,7 @@ void afs_CacheTruncateDaemon() { afs_stats_AddTo(CTD_stats.CTD_runTime, CTD_tmpTime); afs_TruncateDaemonRunning = 0; - afs_osi_Sleep((char *)afs_CacheTruncateDaemon); + afs_osi_Sleep((int *)afs_CacheTruncateDaemon); afs_TruncateDaemonRunning = 1; osi_GetuTime(&CTD_stats.CTD_afterSleep); @@ -345,13 +327,8 @@ void afs_CacheTruncateDaemon() { * anewsize : New size desired. */ -void -afs_AdjustSize(adc, newSize) - register struct dcache *adc; - register afs_int32 newSize; - -{ /*afs_AdjustSize*/ - +void afs_AdjustSize(register struct dcache *adc, register afs_int32 newSize) +{ register afs_int32 oldSize; AFS_STATCNT(afs_AdjustSize); @@ -366,11 +343,7 @@ afs_AdjustSize(adc, newSize) } afs_blocksUsed += (newSize - oldSize); afs_stats_cmperf.cacheBlocksInUse = afs_blocksUsed; /* XXX */ - -} /*afs_AdjustSize*/ - - - +} /* @@ -521,7 +494,7 @@ static void afs_GetDownD(int anumber, int *aneedSpace) /* xdcache is lower than the xvcache lock */ MReleaseWriteLock(&afs_xdcache); MObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(afid, 0,0, 0, 0 /* no stats, no vlru */ ); + tvc = afs_FindVCache(afid, 0, 0 /* no stats, no vlru */ ); MReleaseReadLock(&afs_xvcache); MObtainWriteLock(&afs_xdcache, 527); skip = 0; @@ -691,11 +664,8 @@ endmultipage: * * Locks: Must have the afs_xdcache lock write-locked to call this function. */ -afs_HashOutDCache(adc) - struct dcache *adc; - -{ /*afs_HashOutDCache*/ - +int afs_HashOutDCache(struct dcache *adc) +{ int i, us; #ifndef AFS_DEC_ENV @@ -774,11 +744,8 @@ afs_HashOutDCache(adc) * (in write mode) */ -void -afs_FlushDCache(adc) -register struct dcache *adc; -{ /*afs_FlushDCache*/ - +void afs_FlushDCache(register struct dcache *adc) +{ AFS_STATCNT(afs_FlushDCache); /* * Bump the number of cache files flushed. @@ -819,8 +786,7 @@ register struct dcache *adc; * * Environment: called with afs_xdcache lock write-locked. */ -static void afs_FreeDCache(adc) - register struct dcache *adc; +static void afs_FreeDCache(register struct dcache *adc) { /* Thread on free list, update free list count and mark entry as * freed in its indexFlags element. Also, ensure DCache entry gets @@ -862,12 +828,8 @@ static void afs_FreeDCache(adc) * Must be called with afs_xdcache write-locked. */ -static void -afs_DiscardDCache(adc) - register struct dcache *adc; - -{ /*afs_DiscardDCache*/ - +static void afs_DiscardDCache(register struct dcache *adc) +{ register afs_int32 size; AFS_STATCNT(afs_DiscardDCache); @@ -902,8 +864,7 @@ afs_DiscardDCache(adc) * Description: * Free the next element on the list of discarded cache elements. */ -static void -afs_FreeDiscardedDCache() +static void afs_FreeDiscardedDCache(void) { register struct dcache *tdc; register struct osi_file *tfile; @@ -963,7 +924,7 @@ afs_FreeDiscardedDCache() * Parameters: * None */ -afs_MaybeFreeDiscardedDCache() +int afs_MaybeFreeDiscardedDCache(void) { AFS_STATCNT(afs_MaybeFreeDiscardedDCache); @@ -987,19 +948,8 @@ afs_MaybeFreeDiscardedDCache() * Environment: * Must be called with afs_xdcache write-locked. */ -#if defined(AFS_SGI_ENV) && defined(AFS_SGI_SHORTSTACK) -extern SV_TYPE afs_sgibksync; -extern SV_TYPE afs_sgibkwait; -extern lock_t afs_sgibklock; -extern struct dcache *afs_sgibklist; -#endif - -static void -afs_GetDownDSlot(anumber) - int anumber; - -{ /*afs_GetDownDSlot*/ - +static void afs_GetDownDSlot(int anumber) +{ struct afs_q *tq, *nq; struct dcache *tdc; int ix; @@ -1065,7 +1015,7 @@ afs_GetDownDSlot(anumber) /* finally put the entry in the free list */ - afs_indexTable[ix] = (struct dcache *) 0; + afs_indexTable[ix] = NULL; afs_indexFlags[ix] &= ~IFEverUsed; tdc->index = NULLIDX; tdc->lruq.next = (struct afs_q *) afs_freeDSList; @@ -1091,8 +1041,7 @@ afs_GetDownDSlot(anumber) * Environment: * Nothing interesting. */ -afs_RefDCache(adc) - struct dcache *adc; +int afs_RefDCache(struct dcache *adc) { ObtainWriteLock(&adc->tlock, 627); if (adc->refCount < 0) @@ -1115,10 +1064,8 @@ afs_RefDCache(adc) * Environment: * Nothing interesting. */ -afs_PutDCache(adc) - register struct dcache *adc; - -{ /*afs_PutDCache*/ +int afs_PutDCache(register struct dcache *adc) +{ AFS_STATCNT(afs_PutDCache); ObtainWriteLock(&adc->tlock, 276); if (adc->refCount <= 0) @@ -1126,8 +1073,7 @@ afs_PutDCache(adc) --adc->refCount; ReleaseWriteLock(&adc->tlock); return 0; - -} /*afs_PutDCache*/ +} /* @@ -1143,13 +1089,9 @@ afs_PutDCache(adc) * Environment: * Both pvnLock and lock are write held. */ -void -afs_TryToSmush(avc, acred, sync) - register struct vcache *avc; - struct AFS_UCRED *acred; - int sync; -{ /*afs_TryToSmush*/ - +void afs_TryToSmush(register struct vcache *avc, struct AFS_UCRED *acred, + int sync) +{ register struct dcache *tdc; register int index; register int i; @@ -1176,7 +1118,7 @@ afs_TryToSmush(avc, acred, sync) i = afs_dvnextTbl[index]; /* next pointer this hash table */ if (afs_indexUnique[index] == avc->fid.Fid.Unique) { int releaseTlock = 1; - tdc = afs_GetDSlot(index, (struct dcache *)0); + tdc = afs_GetDSlot(index, NULL); if (!FidCmp(&tdc->f.fid, &avc->fid)) { if (sync) { if ((afs_indexFlags[index] & IFDataMod) == 0 && @@ -1206,7 +1148,7 @@ afs_TryToSmush(avc, acred, sync) * trytoSmush occured during the lookup call */ afs_allCBs++; -} /*afs_TryToSmush*/ +} /* * afs_FindDCache @@ -1228,12 +1170,8 @@ afs_TryToSmush(avc, acred, sync) * The vcache entry is held upon entry. */ -struct dcache *afs_FindDCache(avc, abyte) - register struct vcache *avc; - afs_size_t abyte; - -{ /*afs_FindDCache*/ - +struct dcache *afs_FindDCache(register struct vcache *avc, afs_size_t abyte) +{ afs_int32 chunk; register afs_int32 i, index; register struct dcache *tdc; @@ -1249,7 +1187,7 @@ struct dcache *afs_FindDCache(avc, abyte) MObtainWriteLock(&afs_xdcache,278); for(index = afs_dchashTbl[i]; index != NULLIDX;) { if (afs_indexUnique[index] == avc->fid.Fid.Unique) { - tdc = afs_GetDSlot(index, (struct dcache *)0); + tdc = afs_GetDSlot(index, NULL); ReleaseReadLock(&tdc->tlock); if (!FidCmp(&tdc->f.fid, &avc->fid) && chunk == tdc->f.chunk) { break; /* leaving refCount high for caller */ @@ -1265,7 +1203,7 @@ struct dcache *afs_FindDCache(avc, abyte) return tdc; } else - return(struct dcache *) 0; + return NULL; } /*afs_FindDCache*/ @@ -1292,17 +1230,10 @@ struct dcache *afs_FindDCache(avc, abyte) * Environment: * Nothing interesting. */ -static int afs_UFSCacheStoreProc(acall, afile, alen, avc, shouldWake, - abytesToXferP, abytesXferredP) - register struct rx_call *acall; - struct osi_file *afile; - register afs_int32 alen; - afs_size_t *abytesToXferP; - afs_size_t *abytesXferredP; - struct vcache *avc; - int *shouldWake; -{ /* afs_UFSCacheStoreProc*/ - +static int afs_UFSCacheStoreProc(register struct rx_call *acall, + struct osi_file *afile, register afs_int32 alen, struct vcache *avc, + int *shouldWake, afs_size_t *abytesToXferP, afs_size_t *abytesXferredP) +{ afs_int32 code, got; register char *tbuffer; register int tlen; @@ -1391,17 +1322,11 @@ static int afs_UFSCacheStoreProc(acall, afile, alen, avc, shouldWake, * Nothing interesting. */ -static int afs_UFSCacheFetchProc(acall, afile, abase, adc, avc, - abytesToXferP, abytesXferredP, lengthFound) - register struct rx_call *acall; - afs_size_t abase; - afs_size_t *abytesToXferP; - afs_size_t *abytesXferredP; - struct dcache *adc; - struct vcache *avc; - struct osi_file *afile; - afs_int32 lengthFound; -{ /*UFS_CacheFetchProc*/ +static int afs_UFSCacheFetchProc(register struct rx_call *acall, + struct osi_file *afile, afs_size_t abase, struct dcache *adc, + struct vcache *avc, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 lengthFound) +{ afs_int32 length; register afs_int32 code; register char *tbuffer; @@ -1524,7 +1449,8 @@ struct tlocal1 { * Update the vnode-to-dcache hint if we can get the vnode lock * right away. Assumes dcache entry is at least read-locked. */ -void updateV2DC(int lockVc, struct vcache *v, struct dcache *d, int src) { +void updateV2DC(int lockVc, struct vcache *v, struct dcache *d, int src) +{ if (!lockVc || 0 == NBObtainWriteLock(&v->lock,src)) { if (hsame(v->m.DataVersion, d->f.versionNo) && v->callback) { v->quick.dc = d; @@ -1538,15 +1464,11 @@ void updateV2DC(int lockVc, struct vcache *v, struct dcache *d, int src) { } } -struct dcache *afs_GetDCache(avc, abyte, areq, aoffset, alen, aflags) - register struct vcache *avc; /* Write-locked unless aflags & 1 */ - afs_size_t abyte; - afs_size_t *aoffset, *alen; - int aflags; - register struct vrequest *areq; - -{ /*afs_GetDCache*/ - +/* avc - Write-locked unless aflags & 1 */ +struct dcache *afs_GetDCache(register struct vcache *avc, afs_size_t abyte, + register struct vrequest *areq, afs_size_t *aoffset, afs_size_t *alen, + int aflags) +{ register afs_int32 i, code, code1, shortcut , adjustsize=0; int setLocks; afs_int32 index; @@ -1625,7 +1547,7 @@ RetryGetDCache: shortcut = 0; /* check hints first! (might could use bcmp or some such...) */ - if (tdc = avc->h1.dchint) { + if ((tdc = avc->h1.dchint)) { int dcLocked; /* @@ -1706,7 +1628,7 @@ RetryLookup: us = NULLIDX; for (index = afs_dchashTbl[i]; index != NULLIDX; ) { if (afs_indexUnique[index] == avc->fid.Fid.Unique) { - tdc = afs_GetDSlot(index, (struct dcache *)0); + tdc = afs_GetDSlot(index, NULL); ReleaseReadLock(&tdc->tlock); /* * Locks held: @@ -2349,7 +2271,7 @@ RetryLookup: ObtainWriteLock(&afs_xcbhash, 453); afs_DequeueCallback(avc); avc->states &= ~(CStatd | CUnique); - avc->callback = (struct server *)0; + avc->callback = NULL; ReleaseWriteLock(&afs_xcbhash); if (avc->fid.Fid.Vnode & 1 || (vType(avc) == VDIR)) osi_dnlc_purgedp(avc); @@ -2374,7 +2296,7 @@ RetryLookup: } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_FETCHDATA, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); /* * Locks held: @@ -2430,7 +2352,7 @@ RetryLookup: * avc->lock(W); assert(!setLocks || slowPass) */ osi_Assert(!setLocks || slowPass); - tdc = (struct dcache *) 0; + tdc = NULL; goto done; } @@ -2572,11 +2494,8 @@ done: * Environment: * The afs_xdcache is write-locked through this whole affair. */ -void -afs_WriteThroughDSlots() - -{ /*afs_WriteThroughDSlots*/ - +void afs_WriteThroughDSlots(void) +{ register struct dcache *tdc; register afs_int32 i, touchedit=0; struct dcache **ents; @@ -2651,8 +2570,7 @@ afs_WriteThroughDSlots() afs_osi_Write(afs_cacheInodep, 0, &theader, sizeof(theader)); } MReleaseWriteLock(&afs_xdcache); - -} /*afs_WriteThroughDSlots*/ +} /* * afs_MemGetDSlot @@ -2669,12 +2587,8 @@ afs_WriteThroughDSlots() * Must be called with afs_xdcache write-locked. */ -struct dcache *afs_MemGetDSlot(aslot, tmpdc) - register afs_int32 aslot; - register struct dcache *tmpdc; - -{ /*afs_MemGetDSlot*/ - +struct dcache *afs_MemGetDSlot(register afs_int32 aslot, register struct dcache *tmpdc) +{ register afs_int32 code; register struct dcache *tdc; register char *tfile; @@ -2693,7 +2607,7 @@ struct dcache *afs_MemGetDSlot(aslot, tmpdc) ConvertWToRLock(&tdc->tlock); return tdc; } - if (tmpdc == (struct dcache *)0) { + if (tmpdc == NULL) { if (!afs_freeDSList) afs_GetDownDSlot(4); if (!afs_freeDSList) { /* none free, making one is better than a panic */ @@ -2739,7 +2653,7 @@ struct dcache *afs_MemGetDSlot(aslot, tmpdc) RWLOCK_INIT(&tdc->mflock, "dcache flock"); ObtainReadLock(&tdc->tlock); - if (tmpdc == (struct dcache *)0) + if (tmpdc == NULL) afs_indexTable[aslot] = tdc; return tdc; @@ -2761,12 +2675,8 @@ unsigned int last_error = 0, lasterrtime = 0; * Environment: * afs_xdcache lock write-locked. */ -struct dcache *afs_UFSGetDSlot(aslot, tmpdc) - register afs_int32 aslot; - register struct dcache *tmpdc; - -{ /*afs_UFSGetDSlot*/ - +struct dcache *afs_UFSGetDSlot(register afs_int32 aslot, register struct dcache *tmpdc) +{ register afs_int32 code; register struct dcache *tdc; int existing = 0; @@ -2789,7 +2699,7 @@ struct dcache *afs_UFSGetDSlot(aslot, tmpdc) * If we weren't passed an in-memory region to place the file info, * we have to allocate one. */ - if (tmpdc == (struct dcache *)0) { + if (tmpdc == NULL) { if (!afs_freeDSList) afs_GetDownDSlot(4); if (!afs_freeDSList) { /* none free, making one is better than a panic */ @@ -2849,7 +2759,7 @@ struct dcache *afs_UFSGetDSlot(aslot, tmpdc) * If we didn't read into a temporary dcache region, update the * slot pointer table. */ - if (tmpdc == (struct dcache *)0) + if (tmpdc == NULL) afs_indexTable[aslot] = tdc; return tdc; @@ -2874,12 +2784,8 @@ struct dcache *afs_UFSGetDSlot(aslot, tmpdc) * The reference count is not changed. */ -afs_WriteDCache(adc, atime) - int atime; - register struct dcache *adc; - -{ /*afs_WriteDCache*/ - +int afs_WriteDCache(register struct dcache *adc, int atime) +{ register struct osi_file *tfile; register afs_int32 code; @@ -2894,8 +2800,7 @@ afs_WriteDCache(adc, atime) (char *)(&adc->f), sizeof(struct fcache)); if (code != sizeof(struct fcache)) return EIO; return 0; - -} /*afs_WriteDCache*/ +} @@ -2913,11 +2818,8 @@ afs_WriteDCache(adc, atime) * Nothing interesting. */ -afs_wakeup(avc) - register struct vcache *avc; - -{ /*afs_wakeup*/ - +int afs_wakeup(register struct vcache *avc) +{ register int i; register struct brequest *tb; tb = afs_brs; @@ -2947,8 +2849,7 @@ afs_wakeup(avc) } } return 0; - -} /*afs_wakeup*/ +} /* @@ -2967,12 +2868,8 @@ afs_wakeup(avc) * This function is called only during initialization. */ -int afs_InitCacheFile(afile, ainode) - ino_t ainode; - char *afile; - -{ /*afs_InitCacheFile*/ - +int afs_InitCacheFile(char *afile, ino_t ainode) +{ register afs_int32 code; #if defined(AFS_LINUX22_ENV) struct dentry *filevp; @@ -2990,7 +2887,7 @@ int afs_InitCacheFile(afile, ainode) if (index >= afs_cacheFiles) return EINVAL; MObtainWriteLock(&afs_xdcache,282); - tdc = afs_GetDSlot(index, (struct dcache *)0); + tdc = afs_GetDSlot(index, NULL); ReleaseReadLock(&tdc->tlock); MReleaseWriteLock(&afs_xdcache); @@ -3000,7 +2897,7 @@ int afs_InitCacheFile(afile, ainode) code = gop_lookupname(afile, AFS_UIOSYS, 0, - (struct vnode **) 0, + NULL, &filevp); if (code) { ReleaseWriteLock(&afs_xdcache); @@ -3101,8 +2998,7 @@ int afs_InitCacheFile(afile, ainode) afs_PutDCache(tdc); afs_stats_cmperf.cacheNumEntries++; return 0; - -} /*afs_InitCacheFile*/ +} /*Max # of struct dcache's resident at any time*/ @@ -3128,7 +3024,7 @@ void afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk, afs_freeDCList = NULLIDX; afs_discardDCList = NULLIDX; afs_freeDCCount = 0; - afs_freeDSList = (struct dcache *)0; + afs_freeDSList = NULL; hzero(afs_indexCounter); LOCK_INIT(&afs_xdcache, "afs_xdcache"); diff --git a/src/afs/afs_dynroot.c b/src/afs/afs_dynroot.c index 1394e4c..ffbcf85 100644 --- a/src/afs/afs_dynroot.c +++ b/src/afs/afs_dynroot.c @@ -86,14 +86,10 @@ static struct afs_dynSymlink *afs_dynSymlinkBase = NULL; static int afs_dynSymlinkIndex = 0; /* End of variables protected by afs_dynSymlinkLock */ -extern afs_int32 afs_cellindex; -extern afs_rwlock_t afs_xvcache; - /* * Returns non-zero iff fid corresponds to the top of the dynroot volume. */ -int -afs_IsDynrootFid(struct VenusFid *fid) +int afs_IsDynrootFid(struct VenusFid *fid) { return (afs_dynrootEnable && @@ -106,8 +102,7 @@ afs_IsDynrootFid(struct VenusFid *fid) /* * Obtain the magic dynroot volume Fid. */ -void -afs_GetDynrootFid(struct VenusFid *fid) +void afs_GetDynrootFid(struct VenusFid *fid) { fid->Cell = AFS_DYNROOT_CELL; fid->Fid.Volume = AFS_DYNROOT_VOLUME; @@ -118,9 +113,7 @@ afs_GetDynrootFid(struct VenusFid *fid) /* * Returns non-zero iff avc is a pointer to the dynroot /afs vnode. */ -int -afs_IsDynroot(avc) - struct vcache *avc; +int afs_IsDynroot(struct vcache *avc) { return afs_IsDynrootFid(&avc->fid); } @@ -130,13 +123,8 @@ afs_IsDynroot(avc) * caller has allocated the directory to be large enough to hold * the necessary entry. */ -static void -afs_dynroot_addDirEnt(dirHeader, curPageP, curChunkP, name, vnode) - struct DirHeader *dirHeader; - int *curPageP; - int *curChunkP; - char *name; - int vnode; +static void afs_dynroot_addDirEnt(struct DirHeader *dirHeader, + int *curPageP, int *curChunkP, char *name, int vnode) { char *dirBase = (char *) dirHeader; struct PageHeader *pageHeader; @@ -201,8 +189,7 @@ afs_dynroot_addDirEnt(dirHeader, curPageP, curChunkP, name, vnode) * cells. Useful when the list of cells has changed due to * an AFSDB lookup, for instance. */ -void -afs_RefreshDynroot() +void afs_RefreshDynroot(void) { int cellidx, maxcellidx, i; struct cell *c; @@ -210,8 +197,6 @@ afs_RefreshDynroot() int dirSize, sizeOfCurEntry; char *newDir, *dotCell; struct DirHeader *dirHeader; - struct PageHeader *pageHeader; - struct DirEntry *dirEntry; int doFlush = 0; int linkCount = 0; struct afs_dynSymlink *ts; @@ -349,7 +334,7 @@ afs_RefreshDynroot() do { retry = 0; ObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(&tfid, 0, 0, &retry, 0); + tvc = afs_FindVCache(&tfid, &retry, 0); ReleaseReadLock(&afs_xvcache); } while (retry); if (tvc) { @@ -364,11 +349,7 @@ afs_RefreshDynroot() * Returns a pointer to the base of the dynroot directory in memory, * length thereof, and a FetchStatus. */ -void -afs_GetDynroot(dynrootDir, dynrootLen, status) - char **dynrootDir; - int *dynrootLen; - struct AFSFetchStatus *status; +void afs_GetDynroot(char **dynrootDir, int *dynrootLen, struct AFSFetchStatus *status) { ObtainReadLock(&afs_dynrootDirLock); if (!afs_dynrootDir) { @@ -398,8 +379,7 @@ afs_GetDynroot(dynrootDir, dynrootLen, status) /* * Puts back the dynroot read lock. */ -void -afs_PutDynroot() +void afs_PutDynroot(void) { ReleaseReadLock(&afs_dynrootDirLock); } @@ -409,10 +389,7 @@ afs_PutDynroot() * is non-zero if this vnode is handled by dynroot, in which case * FetchStatus will be filled in. */ -int -afs_DynrootNewVnode(avc, status) - struct vcache *avc; - struct AFSFetchStatus *status; +int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status) { if (!afs_dynrootEnable) return 0; @@ -528,9 +505,7 @@ afs_DynrootNewVnode(avc, status) /* * Enable or disable dynroot. Returns 0 if successful. */ -int -afs_SetDynrootEnable(enable) - int enable; +int afs_SetDynrootEnable(int enable) { afs_dynrootEnable = enable; return 0; @@ -539,8 +514,7 @@ afs_SetDynrootEnable(enable) /* * Check if dynroot support is enabled. */ -int -afs_GetDynrootEnable() +int afs_GetDynrootEnable(void) { return afs_dynrootEnable; } @@ -548,11 +522,7 @@ afs_GetDynrootEnable() /* * Remove a temporary symlink entry from /afs. */ -int -afs_DynrootVOPRemove(avc, acred, aname) - struct vcache *avc; - struct AFS_UCRED *acred; - char *aname; +int afs_DynrootVOPRemove(struct vcache *avc, struct AFS_UCRED *acred, char *aname) { struct afs_dynSymlink **tpps; struct afs_dynSymlink *tps; @@ -596,12 +566,8 @@ afs_DynrootVOPRemove(avc, acred, aname) /* * Create a temporary symlink entry in /afs. */ -int -afs_DynrootVOPSymlink(avc, acred, aname, atargetName) - struct vcache *avc; - struct AFS_UCRED *acred; - char *aname; - char *atargetName; +int afs_DynrootVOPSymlink(struct vcache *avc, struct AFS_UCRED *acred, + char *aname, char *atargetName) { struct afs_dynSymlink *tps; struct cell *c; diff --git a/src/afs/afs_exporter.c b/src/afs/afs_exporter.c index 77bb8a6..68e184c 100644 --- a/src/afs/afs_exporter.c +++ b/src/afs/afs_exporter.c @@ -22,10 +22,9 @@ afs_lock_t afs_xexp; /* Add a new "afs exporter" entry to the table of exporters. The default initial values of the entry are passed in as parameters. */ static afs_int32 init_xexported = 0; -struct afs_exporter *exporter_add(size, ops, state, type, data) -afs_int32 size, state, type; -struct exporterops *ops; -char *data; + +struct afs_exporter *exporter_add(afs_int32 size, struct exporterops *ops, afs_int32 state, + afs_int32 type, char *data) { struct afs_exporter *ex, *op; afs_int32 length; @@ -58,8 +57,7 @@ char *data; /* Returns the "afs exporter" structure of type, "type". NULL is returned if not found */ -struct afs_exporter *exporter_find(type) -int type; +struct afs_exporter *exporter_find(int type) { struct afs_exporter *op; @@ -76,7 +74,7 @@ int type; } -shutdown_exporter() +void shutdown_exporter(void) { struct afs_exporter *ex, *op; diff --git a/src/afs/afs_init.c b/src/afs/afs_init.c index 36ae3d5..26c7869 100644 --- a/src/afs/afs_init.c +++ b/src/afs/afs_init.c @@ -23,82 +23,6 @@ RCSID("$Header$"); #include "../afs/afsincludes.h" /* Afs-based standard headers */ #include "../afs/afs_stats.h" /* afs statistics */ - -/* Imported variables */ -extern afs_int32 afs_waitForever; -extern short afs_waitForeverCount; -extern afs_int32 afs_FVIndex; -extern struct server *afs_setTimeHost; -extern struct server *afs_servers[NSERVERS]; -extern struct unixuser *afs_users[NUSERS]; -extern struct volume *afs_freeVolList; -extern struct volume *afs_volumes[NVOLS]; -extern afs_int32 afs_volCounter; - -extern afs_rwlock_t afs_xaxs; -extern afs_rwlock_t afs_xvolume; -extern afs_rwlock_t afs_xuser; -extern afs_rwlock_t afs_xserver; -#ifndef AFS_AIX41_ENV -extern afs_lock_t osi_fsplock; -#endif -extern afs_lock_t osi_flplock; -extern afs_int32 fvTable[NFENTRIES]; - -/* afs_cell.c */ -extern afs_rwlock_t afs_xcell; -extern struct afs_q CellLRU; -extern afs_int32 afs_cellindex; -extern afs_int32 afs_nextCellNum; - -/* afs_conn.c */ -extern afs_rwlock_t afs_xconn; -extern afs_rwlock_t afs_xinterface; - -/* afs_mariner.c */ -extern struct rx_service *afs_server; - - -/* afs_mariner.c */ -extern afs_int32 afs_mariner; -extern afs_int32 afs_marinerHost; - -/* afs_volume.c */ -extern ino_t volumeInode; - -/* afs_osi_pag.c */ -extern afs_uint32 pag_epoch; - -/* afs_dcache.c */ -extern afs_rwlock_t afs_xdcache; -extern int cacheDiskType; -extern afs_int32 afs_fsfragsize; -extern ino_t cacheInode; -extern struct osi_file *afs_cacheInodep; -extern afs_int32 afs_freeDCList; /*Free list for disk cache entries*/ - - -/* afs_vcache.c */ -extern afs_rwlock_t afs_xvcache; -extern afs_rwlock_t afs_xvcb; - -/* VNOPS/afs_vnop_read.c */ -extern afs_int32 maxIHint; -extern afs_int32 nihints; /* # of above actually in-use */ -extern afs_int32 usedihint; - -/* afs_server.c */ -extern afs_int32 afs_setTime; - -/* Imported functions. */ -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); -extern int RXAFSCB_ExecuteRequest(); -extern int RXSTATS_ExecuteRequest(); - - -/* afs_osi.c */ -extern afs_lock_t afs_ftf; - /* Exported variables */ struct osi_dev cacheDev; /*Cache device*/ afs_int32 cacheInfoModTime; /*Last time cache info modified*/ @@ -117,9 +41,6 @@ int afs_sysnamecount = 0; struct volume *Initialafs_freeVolList; int afs_memvolumes = 0; -/* Local variables */ - - /* * Initialization order is important. Must first call afs_CacheInit, * then cache file and volume file initialization routines. Next, the @@ -153,15 +74,10 @@ int afs_memvolumes = 0; struct cm_initparams cm_initParams; static int afs_cacheinit_flag = 0; -int -afs_CacheInit(astatSize, afiles, ablocks, aDentries, aVolumes, achunk, aflags, - ninodes, nusers) - afs_int32 afiles; - afs_int32 astatSize, ablocks; - afs_int32 achunk, aflags, ninodes, nusers; - afs_int32 aDentries; -{ /*afs_CacheInit*/ - extern int afs_memvolumes; +int afs_CacheInit(afs_int32 astatSize, afs_int32 afiles, afs_int32 + ablocks, afs_int32 aDentries, afs_int32 aVolumes, afs_int32 achunk, + afs_int32 aflags, afs_int32 ninodes, afs_int32 nusers) +{ register afs_int32 i, preallocs; register struct volume *tv; long code; @@ -215,7 +131,7 @@ afs_CacheInit(astatSize, afiles, ablocks, aDentries, aVolumes, achunk, aflags, tv = (struct volume *) afs_osi_Alloc(aVolumes * sizeof(struct volume)); for (i=0;id_inode->i_ino; dput(dp); } #else - code = gop_lookupname(afile, AFS_UIOSYS, 0, (struct vnode **) 0, &filevp); + code = gop_lookupname(afile, AFS_UIOSYS, 0, NULL, &filevp); if (code) return ENOENT; fce.inode = volumeInode = afs_vnodeToInumber(filevp); #ifdef AFS_DEC_ENV @@ -348,8 +258,7 @@ afs_InitVolumeInfo(afile) afs_CFileTruncate(tfile, 0); afs_CFileClose(tfile); return 0; - -} /*afs_InitVolumeInfo*/ +} /* * afs_InitCacheInfo @@ -374,11 +283,8 @@ afs_InitVolumeInfo(afile) * code. * */ -afs_InitCacheInfo(afile) - register char *afile; - -{ /*afs_InitCacheInfo*/ - +int afs_InitCacheInfo(register char *afile) +{ register afs_int32 code; struct osi_stat tstat; register struct osi_file *tfile; @@ -393,7 +299,7 @@ afs_InitCacheInfo(afile) code = osi_InitCacheInfo(afile); if (code) return code; #else - code = gop_lookupname(afile, AFS_UIOSYS, 0, (struct vnode **) 0, &filevp); + code = gop_lookupname(afile, AFS_UIOSYS, 0, NULL, &filevp); if (code || !filevp) return ENOENT; { #if defined(AFS_SUN56_ENV) @@ -416,10 +322,10 @@ afs_InitCacheInfo(afile) #if defined(AFS_SGI_ENV) #ifdef AFS_SGI65_ENV - VFS_STATVFS(filevp->v_vfsp, &st, (struct vnode *)0, code); + VFS_STATVFS(filevp->v_vfsp, &st, NULL, code); if (!code) #else - if (!VFS_STATFS(filevp->v_vfsp, &st, (struct vnode *)0)) + if (!VFS_STATFS(filevp->v_vfsp, &st, NULL)) #endif /* AFS_SGI65_ENV */ #else /* AFS_SGI_ENV */ #if defined(AFS_SUN5_ENV) || defined(AFS_HPUX100_ENV) @@ -511,12 +417,10 @@ afs_InitCacheInfo(afile) */ afs_cacheInodep = (struct osi_file *)tfile; return 0; - -} /*afs_InitCacheInfo*/ +} int afs_resourceinit_flag = 0; -afs_ResourceInit(preallocs) - int preallocs; +int afs_ResourceInit(int preallocs) { register afs_int32 i; static struct rx_securityClass *secobj; @@ -547,7 +451,7 @@ afs_ResourceInit(preallocs) afs_sysnamecount = 1; QInit(&CellLRU); #if defined(AFS_AIX32_ENV) || defined(AFS_HPUX_ENV) - { extern afs_int32 afs_preallocs; + { if ((preallocs > 256) && (preallocs < 3600)) afs_preallocs = preallocs; @@ -611,8 +515,7 @@ afs_ResourceInit(preallocs) * support features that require knowing the size of struct proc. */ -static void -afs_procsize_init(void) +static void afs_procsize_init(void) { struct proc *p0; /* pointer to process 0 */ struct proc *pN; /* pointer to process 0's first child */ @@ -678,13 +581,9 @@ afs_procsize_init(void) * Environment: * Nothing interesting. */ -void -shutdown_cache() - -{ /*shutdown_cache*/ +void shutdown_cache(void) +{ register struct afs_cbr *tsp, *nsp; - extern int afs_cold_shutdown; - extern int pagCounter; int i; AFS_STATCNT(shutdown_cache); @@ -711,15 +610,8 @@ shutdown_cache() } /*shutdown_cache*/ -void shutdown_vnodeops() +void shutdown_vnodeops(void) { - extern int afs_cold_shutdown; -#ifndef AFS_LINUX20_ENV - extern int afs_rd_stash_i; -#endif -#ifndef AFS_SUN5_ENV - extern int lastWarnTime; -#endif #if !defined(AFS_SGI_ENV) && !defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV) struct buf *afs_bread_freebp = 0; #endif @@ -741,12 +633,10 @@ void shutdown_vnodeops() } -void shutdown_AFS() - +void shutdown_AFS(void) { int i; register struct srvAddr *sa; - extern int afs_cold_shutdown; AFS_STATCNT(shutdown_AFS); if (afs_cold_shutdown) { @@ -861,7 +751,7 @@ void shutdown_AFS() afs_sysnamecount = 0; afs_marinerHost = 0; QInit(&CellLRU); - afs_setTimeHost = (struct server *)0; + afs_setTimeHost = NULL; afs_volCounter = 1; afs_waitForever = afs_waitForeverCount = 0; afs_cellindex = 0; @@ -876,5 +766,4 @@ void shutdown_AFS() RWLOCK_INIT(&afs_xserver, "afs_xserver"); LOCK_INIT(&afs_puttofileLock, "afs_puttofileLock"); } - -} /*shutdown_AFS*/ +} diff --git a/src/afs/afs_lock.c b/src/afs/afs_lock.c index 8410292..7d8da93 100644 --- a/src/afs/afs_lock.c +++ b/src/afs/afs_lock.c @@ -31,22 +31,14 @@ RCSID("$Header$"); #include "../afs/afsincludes.h" /* Afs-based standard headers */ #include "../afs/afs_stats.h" /* afs statistics */ - -#ifndef FALSE -#define FALSE 0 -#endif -#ifndef TRUE -#define TRUE 1 -#endif - +/* probably needed if lock_trace is enabled - should ifdef */ int afs_trclock=0; void Lock_Obtain(); void Lock_ReleaseR(); void Lock_ReleaseW(); -void Lock_Init(lock) - register struct afs_lock *lock; +void Lock_Init(register struct afs_lock *lock) { AFS_STATCNT(Lock_Init); @@ -63,10 +55,8 @@ void Lock_Init(lock) lock->time_waiting.tv_usec = 0; } -void ObtainLock(lock, how, src_indicator) - register struct afs_lock *lock; - int how; - unsigned int src_indicator; +void ObtainLock(register struct afs_lock *lock, int how, + unsigned int src_indicator) { switch (how) { case READ_LOCK: @@ -101,9 +91,7 @@ void ObtainLock(lock, how, src_indicator) } } -void ReleaseLock(lock, how) - register struct afs_lock *lock; - int how; +void ReleaseLock(register struct afs_lock *lock, int how) { if (how == READ_LOCK) { if (!--lock->readers_reading && lock->wait_states) @@ -129,9 +117,7 @@ void ReleaseLock(lock, how) } } -Afs_Lock_Obtain(lock, how) - register struct afs_lock *lock; - int how; +void Afs_Lock_Obtain(register struct afs_lock *lock, int how) { osi_timeval_t tt1, tt2, et; @@ -192,8 +178,7 @@ Afs_Lock_Obtain(lock, how) } /* release a lock, giving preference to new readers */ -Afs_Lock_ReleaseR(lock) - register struct afs_lock *lock; +void Afs_Lock_ReleaseR(register struct afs_lock *lock) { AFS_STATCNT(Lock_ReleaseR); AFS_ASSERT_GLOCK(); @@ -208,8 +193,7 @@ Afs_Lock_ReleaseR(lock) } /* release a lock, giving preference to new writers */ -Afs_Lock_ReleaseW(lock) - register struct afs_lock *lock; +void Afs_Lock_ReleaseW(register struct afs_lock *lock) { AFS_STATCNT(Lock_ReleaseW); AFS_ASSERT_GLOCK(); @@ -225,8 +209,8 @@ Afs_Lock_ReleaseW(lock) /* Wait for some change in the lock status. -Lock_Wait(lock) - register struct afs_lock *lock; { +void Lock_Wait(register struct afs_lock *lock) +{ AFS_STATCNT(Lock_Wait); if (lock->readers_reading || lock->excl_locked) return 1; lock->wait_states |= READ_LOCK; @@ -240,27 +224,24 @@ Lock_Wait(lock) */ /* release a write lock and sleep on an address, atomically */ -afs_osi_SleepR(addr, alock) -register char *addr; -register struct afs_lock *alock; { +void afs_osi_SleepR(register char *addr, register struct afs_lock *alock) +{ AFS_STATCNT(osi_SleepR); ReleaseReadLock(alock); afs_osi_Sleep(addr); } /* release a write lock and sleep on an address, atomically */ -afs_osi_SleepW(addr, alock) -register char *addr; -register struct afs_lock *alock; { +void afs_osi_SleepW(register char *addr, register struct afs_lock *alock) +{ AFS_STATCNT(osi_SleepW); ReleaseWriteLock(alock); afs_osi_Sleep(addr); } /* release a write lock and sleep on an address, atomically */ -afs_osi_SleepS(addr, alock) -register char *addr; -register struct afs_lock *alock; { +void afs_osi_SleepS(register char *addr, register struct afs_lock *alock) +{ AFS_STATCNT(osi_SleepS); ReleaseSharedLock(alock); afs_osi_Sleep(addr); @@ -271,9 +252,8 @@ register struct afs_lock *alock; { /* operations on locks that don't mind if we lock the same thing twice. I'd like to dedicate this function to Sun Microsystems' Version 4.0 virtual memory system, without which this wouldn't have been necessary */ -void afs_BozonLock(alock, avc) -struct vcache *avc; -struct afs_bozoLock *alock; { +void afs_BozonLock(struct afs_bozoLock *alock, struct vcache *avc) +{ AFS_STATCNT(afs_BozonLock); while (1) { if (alock->count == 0) { @@ -313,9 +293,8 @@ struct afs_bozoLock *alock; { } /* releasing the same type of lock as defined above */ -void afs_BozonUnlock(alock, avc) -struct vcache *avc; -struct afs_bozoLock *alock; { +void afs_BozonUnlock(struct afs_bozoLock *alock, struct vcache *avc) +{ AFS_STATCNT(afs_BozonUnlock); if (alock->count <= 0) osi_Panic("BozoUnlock"); @@ -327,25 +306,24 @@ struct afs_bozoLock *alock; { } } -void afs_BozonInit(alock, avc) -struct vcache *avc; -struct afs_bozoLock *alock; { +void afs_BozonInit(struct afs_bozoLock *alock, struct vcache *avc) +{ AFS_STATCNT(afs_BozonInit); alock->count = 0; alock->flags = 0; - alock->proc = (char *) 0; + alock->proc = NULL; } -afs_CheckBozonLock(alock) -struct afs_bozoLock *alock; { +int afs_CheckBozonLock(struct afs_bozoLock *alock) +{ AFS_STATCNT(afs_CheckBozonLock); if (alock->count || (alock->flags & AFS_BOZONWAITING)) return 1; return 0; } -afs_CheckBozonLockBlocking(alock) -struct afs_bozoLock *alock; { +int afs_CheckBozonLockBlocking(struct afs_bozoLock *alock) +{ AFS_STATCNT(afs_CheckBozonLockBlocking); if (alock->count || (alock->flags & AFS_BOZONWAITING)) #ifdef AFS_SUN5_ENV @@ -363,12 +341,8 @@ struct afs_bozoLock *alock; { } #endif -Afs_Lock_Trace(op, alock, type, file, line) - int op; - struct afs_lock *alock; - int type; - char *file; - int line; +/* Not static - used conditionally if lock tracing is enabled */ +int Afs_Lock_Trace(int op, struct afs_lock *alock, int type, char *file, int line) { int traceok; struct afs_icl_log *tlp; diff --git a/src/afs/afs_mariner.c b/src/afs/afs_mariner.c index dd43304..022640b 100644 --- a/src/afs/afs_mariner.c +++ b/src/afs/afs_mariner.c @@ -36,9 +36,8 @@ static int marinerPtr = 0; /* pointer to next mariner slot to use */ afs_int32 afs_mariner = 0; afs_int32 afs_marinerHost = 0; -afs_AddMarinerName(aname, avc) - register char *aname; - register struct vcache *avc; { +int afs_AddMarinerName(register char *aname, register struct vcache *avc) +{ register int i; register char *tp; @@ -55,8 +54,8 @@ afs_AddMarinerName(aname, avc) return 0; } -char *afs_GetMariner(avc) - register struct vcache *avc; { +char *afs_GetMariner(register struct vcache *avc) +{ register int i; AFS_STATCNT(afs_GetMariner); for(i=0; isize - uioP->uio_offset; @@ -205,11 +182,7 @@ afs_MemReadUIO(blkno, uioP) } /*XXX: this extends a block arbitrarily to support big directories */ -afs_MemWriteBlk(mceP, offset, src, size) - register struct memCacheEntry *mceP; - int offset; - char *src; - int size; +int afs_MemWriteBlk(register struct memCacheEntry *mceP, int offset, char *src, int size) { AFS_STATCNT(afs_MemWriteBlk); MObtainWriteLock(&mceP->afs_memLock,560); @@ -250,12 +223,7 @@ afs_MemWriteBlk(mceP, offset, src, size) } /*XXX: this extends a block arbitrarily to support big directories */ -afs_MemWritevBlk(mceP, offset, iov, nio, size) - register struct memCacheEntry *mceP; - int offset; - struct iovec *iov; - int nio; - int size; +int afs_MemWritevBlk(register struct memCacheEntry *mceP, int offset, struct iovec *iov, int nio, int size) { int i; int bytesWritten; @@ -291,9 +259,7 @@ afs_MemWritevBlk(mceP, offset, iov, nio, size) return bytesWritten; } -afs_MemWriteUIO(blkno, uioP) - ino_t blkno; - struct uio *uioP; +int afs_MemWriteUIO(ino_t blkno, struct uio *uioP) { register struct memCacheEntry *mceP = (struct memCacheEntry *)afs_MemCacheOpen(blkno); afs_int32 code; @@ -322,9 +288,7 @@ afs_MemWriteUIO(blkno, uioP) return code; } -afs_MemCacheTruncate(mceP, size) - register struct memCacheEntry *mceP; - int size; +int afs_MemCacheTruncate(register struct memCacheEntry *mceP, int size) { AFS_STATCNT(afs_MemCacheTruncate); @@ -343,16 +307,9 @@ afs_MemCacheTruncate(mceP, size) return 0; } -afs_MemCacheStoreProc(acall, mceP, alen, avc, shouldWake, abytesToXferP, abytesXferredP, length) - register struct memCacheEntry *mceP; - register struct rx_call *acall; - register afs_int32 alen; - struct vcache *avc; - int *shouldWake; - afs_size_t *abytesToXferP; - afs_size_t *abytesXferredP; - afs_int32 length; - +int afs_MemCacheStoreProc(register struct rx_call *acall, register struct memCacheEntry *mceP, + register afs_int32 alen, struct vcache *avc, int *shouldWake, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 length) { register afs_int32 code; @@ -429,15 +386,9 @@ afs_MemCacheStoreProc(acall, mceP, alen, avc, shouldWake, abytesToXferP, abytesX return 0; } -afs_MemCacheFetchProc(acall, mceP, abase, adc, avc, abytesToXferP, abytesXferredP, lengthFound) - register struct rx_call *acall; - afs_size_t abase; - afs_size_t *abytesToXferP; - afs_size_t *abytesXferredP; - struct dcache *adc; - struct vcache *avc; - register struct memCacheEntry *mceP; - afs_int32 lengthFound; +int afs_MemCacheFetchProc(register struct rx_call *acall, register struct memCacheEntry *mceP, + afs_size_t abase, struct dcache *adc, struct vcache *avc, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 lengthFound) { register afs_int32 code; afs_int32 length; @@ -525,7 +476,7 @@ afs_MemCacheFetchProc(acall, mceP, abase, adc, avc, abytesToXferP, abytesXferred } -void shutdown_memcache() +void shutdown_memcache(void) { register int index; diff --git a/src/afs/afs_nfsclnt.c b/src/afs/afs_nfsclnt.c index 21f4042..b93819a 100644 --- a/src/afs/afs_nfsclnt.c +++ b/src/afs/afs_nfsclnt.c @@ -134,7 +134,7 @@ register afs_int32 uid, host, pag; } } MReleaseWriteLock(&afs_xnfspag); - return (struct nfsclientpag *) 0; + return NULL; } @@ -152,7 +152,7 @@ afs_nfsclient_init() { init_nfsexporter = 1; LOCK_INIT(&afs_xnfspag, "afs_xnfspag"); - afs_nfsexported = exporter_add(0, &nfs_exportops, EXP_EXPORTED, EXP_NFS, (char *)0); + afs_nfsexported = exporter_add(0, &nfs_exportops, EXP_EXPORTED, EXP_NFS, NULL); } } @@ -193,7 +193,7 @@ afs_int32 *pagparam; if (!au->exporter) { pag = NOPAG; afs_PutUser(au, READ_LOCK); - au = (struct unixuser *)0; + au = NULL; } } else pag = NOPAG; /* No unixuser struct so pag not trusted */ diff --git a/src/afs/afs_osi.c b/src/afs/afs_osi.c index fa75a1d..81db07a 100644 --- a/src/afs/afs_osi.c +++ b/src/afs/afs_osi.c @@ -20,7 +20,6 @@ RCSID("$Header$"); #endif static char memZero; /* address of 0 bytes for kmem_alloc */ -extern int afs_osicred_initialized; struct osimem { struct osimem *next; @@ -40,7 +39,7 @@ lock_t afs_event_lock; flid_t osi_flid; #endif -void osi_Init() +void osi_Init(void) { static int once = 0; if (once++ > 0) /* just in case */ @@ -81,8 +80,8 @@ void osi_Init() #endif } -osi_Active(avc) -register struct vcache *avc; { +int osi_Active(register struct vcache *avc) +{ AFS_STATCNT(osi_Active); #if defined(AFS_SUN_ENV) || defined(AFS_AIX_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SUN5_ENV) || (AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) if ((avc->opens > 0) || (avc->states & CMAPPED)) return 1; /* XXX: Warning, verify this XXX */ @@ -110,9 +109,7 @@ register struct vcache *avc; { avc->pvnLock is already held, avc->lock is guaranteed not to be held (by us, of course). */ -void osi_FlushPages(avc, credp) - register struct vcache *avc; - struct AFS_UCRED *credp; +void osi_FlushPages(register struct vcache *avc, struct AFS_UCRED *credp) { afs_hyper_t origDV; ObtainReadLock(&avc->lock); @@ -166,8 +163,8 @@ afs_lock_t afs_ftf; /* flush text lock */ * shouldn't do anything that would discard newly written data before * it is written to the file system. */ -void osi_FlushText_really(vp) - register struct vcache *vp; { +void osi_FlushText_really(register struct vcache *vp) +{ afs_hyper_t fdv; /* version before which we'll flush */ AFS_STATCNT(osi_FlushText); @@ -234,9 +231,8 @@ void osi_FlushText_really(vp) * cacheinval(). But they would panic. So it might be worth looking * into some middle ground... */ -static void -afs_gfs_FlushText(vp) - register struct vcache *vp; { +static void afs_gfs_FlushText(register struct vcache *vp) +{ afs_hyper_t fdv; /* version before which we'll flush */ register struct text *xp; struct gnode * gp; @@ -260,7 +256,7 @@ afs_gfs_FlushText(vp) return; } } - else xp = (struct text *) 0; + else xp = NULL; if (gp->g_flag & GTEXT) {/* still has a text object? */ xinval(gp); @@ -281,28 +277,32 @@ afs_gfs_FlushText(vp) #endif /* AFS_TEXT_ENV */ /* mask signals in afsds */ -void afs_osi_MaskSignals(){ +void afs_osi_MaskSignals(void) +{ #ifdef AFS_LINUX22_ENV osi_linux_mask(); #endif } /* unmask signals in rxk listener */ -void afs_osi_UnmaskRxkSignals(){ +void afs_osi_UnmaskRxkSignals(void) +{ #ifdef AFS_LINUX22_ENV osi_linux_unmask(); #endif } /* register rxk listener proc info */ -void afs_osi_RxkRegister(){ +void afs_osi_RxkRegister(void) +{ #ifdef AFS_LINUX22_ENV osi_linux_rxkreg(); #endif } /* procedure for making our processes as invisible as we can */ -void afs_osi_Invisible() { +void afs_osi_Invisible(void) +{ #ifdef AFS_LINUX22_ENV afs_osi_MaskSignals(); #endif @@ -332,9 +332,8 @@ void afs_osi_Invisible() { #ifndef AFS_LINUX20_ENV /* Linux version in osi_misc.c */ /* set the real time */ -afs_osi_SetTime(atv) - register osi_timeval_t *atv; { - +int afs_osi_SetTime(register osi_timeval_t *atv) +{ #ifdef AFS_AIX32_ENV struct timestruc_t t; @@ -354,7 +353,6 @@ afs_osi_SetTime(atv) struct stimea { time_t time; } sta; - extern int stime(struct stimea *time, rval_t *rvp); sta.time = atv->tv_sec; @@ -364,7 +362,6 @@ afs_osi_SetTime(atv) struct stimea { sysarg_t time; } sta; - extern int stime(struct stimea *time); AFS_GUNLOCK(); sta.time = atv->tv_sec; @@ -375,7 +372,6 @@ afs_osi_SetTime(atv) /* does not impliment security features of kern_time.c:settime() */ struct timespec ts; struct timeval tv,delta; - extern void (*lease_updatetime)(); int s; AFS_GUNLOCK(); s=splclock(); @@ -508,9 +504,7 @@ void afs_osi_Free(void *x, size_t asize) * correctly (or at least, not to introduce worse bugs than already exist) */ #ifdef notdef -int -osi_VMDirty_p(avc) - struct vcache *avc; +int osi_VMDirty_p(struct vcache *avc) { int dirtyPages; @@ -533,7 +527,6 @@ osi_VMDirty_p(avc) if (avc->vmh) { unsigned int pagef, pri, index, next; - extern struct vmkerdata vmker; index = VMHASH(avc->vmh); if (scb_valid(index)) { /* could almost be an ASSERT */ @@ -582,10 +575,7 @@ return 0; * * Locking: the vcache entry lock is held. It is dropped and re-obtained. */ -void -osi_ReleaseVM(avc, acred) - struct vcache *avc; - struct AFS_UCRED *acred; +void osi_ReleaseVM(struct vcache *avc, struct AFS_UCRED *acred) { #ifdef AFS_SUN5_ENV AFS_GUNLOCK(); @@ -601,18 +591,15 @@ osi_ReleaseVM(avc, acred) } -void shutdown_osi() +void shutdown_osi(void) { - extern int afs_cold_shutdown; - AFS_STATCNT(shutdown_osi); if (afs_cold_shutdown) { LOCK_INIT(&afs_ftf, "afs_ftf"); } } -afs_osi_suser(credp) - void * credp; +int afs_osi_suser(void *credp) { #ifdef AFS_SUN5_ENV return afs_suser(credp); @@ -628,7 +615,7 @@ afs_osi_suser(credp) */ #if defined(AFS_SUN5_ENV) -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { struct proc *prp; for (prp = practive; prp != NULL; prp = prp->p_next) { @@ -650,7 +637,7 @@ void afs_osi_TraverseProcTable() * changes. To be safe, we use both. */ -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { register proc_t *p; int endchain = 0; @@ -711,14 +698,14 @@ static int SGI_ProcScanFunc(proc_t *p, void *arg, int mode) } #endif /* AFS_SGI65_ENV */ -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { procscan(SGI_ProcScanFunc, afs_GCPAGs_perproc_func); } #endif /* AFS_SGI_ENV */ #if defined(AFS_AIX_ENV) -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { struct proc *p; int i; @@ -764,12 +751,10 @@ void afs_osi_TraverseProcTable() #endif #if defined(AFS_OSF_ENV) -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { struct pid_entry *pe; #ifdef AFS_DUX50_ENV -extern struct pid_entry *pidtab; -extern int npid; #define pidNPID (pidtab + npid) #define PID_LOCK() #define PID_UNLOCK() @@ -784,7 +769,7 @@ extern int npid; #endif #if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) -void afs_osi_TraverseProcTable() +void afs_osi_TraverseProcTable(void) { struct proc *p; LIST_FOREACH(p, &allproc, p_list) { @@ -820,12 +805,12 @@ void afs_osi_TraverseProcTable() */ #if defined(AFS_SGI65_ENV) -const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *pr) +const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *p) { return NULL; } #elif defined(AFS_HPUX_ENV) -const struct AFS_UCRED *afs_osi_proc2cred(proc_t *p) +const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *p) { if (!p) return; @@ -842,9 +827,6 @@ const struct AFS_UCRED *afs_osi_proc2cred(proc_t *p) /* GLOBAL DECLARATIONS */ -extern int xmattach(); /* fills out cross memory descriptor */ -extern int xmdetach(); /* decrements reference count to segment */ - /* * LOCKS: the caller must do * simple_lock(&proc_tbl_lock); diff --git a/src/afs/afs_osi.h b/src/afs/afs_osi.h index c92d06e..ed3cd01 100644 --- a/src/afs/afs_osi.h +++ b/src/afs/afs_osi.h @@ -53,7 +53,7 @@ struct osi_file { #else afs_int32 offset; #endif - int (*proc)(); /* proc, which, if not null, is called on writes */ + int (*proc)(struct osi_file *afile, afs_int32 code); /* proc, which, if not null, is called on writes */ char *rock; /* rock passed to proc */ ino_t inum; /* guarantee validity of hint */ #if defined(UKERNEL) @@ -88,23 +88,12 @@ struct afs_osi_WaitHandle { #define osi_NPACKETS 20 /* number of cluster pkts to alloc */ -extern struct osi_socket *osi_NewSocket(); - /* * Alloc declarations. */ -extern void *afs_osi_Alloc(size_t size); -extern void afs_osi_Free(void *x, size_t size); #define afs_osi_Alloc_NoSleep afs_osi_Alloc -extern void *osi_AllocSmallSpace(size_t size); -extern void osi_FreeSmallSpace(void *x); -extern void *osi_AllocMediumSpace(size_t size); -extern void osi_FreeMediumSpace(void *x); -extern void *osi_AllocLargeSpace(size_t size); -extern void osi_FreeLargeSpace(void *x); - /* * Vnode related macros */ @@ -189,9 +178,9 @@ typedef struct timeval osi_timeval_t; #ifdef AFS_GLOBAL_SUNLOCK #define AFS_ASSERT_GLOCK() \ - (ISAFS_GLOCK() || (osi_Panic("afs global lock not held"), 0)) + (ISAFS_GLOCK() || (osi_Panic("afs global lock not held at %s:%d\n", __FILE__, __LINE__), 0)) #define AFS_ASSERT_RXGLOCK() \ - (ISAFS_RXGLOCK() || (osi_Panic("rx global lock not held"), 0)) + (ISAFS_RXGLOCK() || (osi_Panic("rx global lock not held at %s:%d\n", __FILE__, __LINE__), 0)) #endif /* AFS_GLOBAL_SUNLOCK */ #ifdef RX_ENABLE_LOCKS @@ -372,24 +361,6 @@ typedef struct timeval osi_timeval_t; #define AfsLargeFileUio(uio) 0 #define AfsLargeFileSize(pos, off) 0 - -/* VM function prototypes. - */ -#if defined(AFS_SUN5_ENV) -extern int osi_VM_GetDownD(); -extern void osi_VM_PreTruncate(); -#endif -#if defined(AFS_SGI_ENV) -extern void osi_VM_FSyncInval(); -#endif -extern int osi_VM_FlushVCache(); -extern void osi_VM_StoreAllSegments(); -extern void osi_VM_TryToSmush(); -extern void osi_VM_FlushPages(); -extern void osi_VM_Truncate(); - -extern void osi_ReleaseVM(); - /* Now include system specific OSI header file. It will redefine macros * defined here as required by the OS. */ diff --git a/src/afs/afs_osi_alloc.c b/src/afs/afs_osi_alloc.c index c54eb31..8cb9d45 100644 --- a/src/afs/afs_osi_alloc.c +++ b/src/afs/afs_osi_alloc.c @@ -37,8 +37,7 @@ afs_lock_t osi_flplock; afs_int32 afs_preallocs = 512; /* Reserve space for all small allocs! */ -void osi_AllocMoreSSpace(preallocs) - register afs_int32 preallocs; +void osi_AllocMoreSSpace(register afs_int32 preallocs) { register int i; char *p; @@ -62,8 +61,7 @@ void osi_AllocMoreSSpace(preallocs) /* free space allocated by AllocLargeSpace. Also called by mclput when freeing * a packet allocated by osi_NetReceive. */ -void -osi_FreeLargeSpace(void *adata) +void osi_FreeLargeSpace(void *adata) { AFS_ASSERT_GLOCK(); @@ -76,8 +74,7 @@ osi_FreeLargeSpace(void *adata) MReleaseWriteLock(&osi_flplock); } -void -osi_FreeSmallSpace(void *adata) +void osi_FreeSmallSpace(void *adata) { #if defined(AFS_AIX32_ENV) @@ -106,8 +103,7 @@ osi_FreeSmallSpace(void *adata) } #if defined(AFS_AIX32_ENV) || defined(AFS_HPUX_ENV) -osi_AllocMoreMSpace(preallocs) - register afs_int32 preallocs; +osi_AllocMoreMSpace(register afs_int32 preallocs) { register int i; char *p; @@ -150,8 +146,7 @@ void *osi_AllocMediumSpace(size_t size) return tp; } -void -osi_FreeMediumSpace(void *adata) +void osi_FreeMediumSpace(void *adata) { #if defined(AFS_AIX32_ENV) @@ -208,9 +203,8 @@ void *osi_AllocLargeSpace(size_t size) * XXX We could have used a macro around osi_AllocSmallSpace but it's * probably better like this so that we can remove this at some point. */ -char *osi_AllocSmall(size, morespace) - register afs_int32 morespace; /* 1 - means we called at splnet level */ - register afs_int32 size; +/* morespace 1 - means we called at splnet level */ +char *osi_AllocSmall(register afs_int32 size, register afs_int32 morespace) { register struct osi_packet *tp; #if defined(AFS_AIX32_ENV) @@ -247,8 +241,8 @@ char *osi_AllocSmall(size, morespace) return (char *) tp; } -osi_FreeSmall(adata) - register struct osi_packet *adata; { +int osi_FreeSmall(register struct osi_packet *adata) +{ #if defined(AFS_AIX32_ENV) int x; #endif @@ -322,7 +316,7 @@ void *osi_AllocSmallSpace(size_t size) -void shutdown_osinet() +void shutdown_osinet(void) { extern int afs_cold_shutdown; @@ -330,7 +324,7 @@ void shutdown_osinet() if (afs_cold_shutdown) { struct osi_packet *tp; - while (tp = freePacketList) { + while ((tp = freePacketList)) { freePacketList = tp->next; afs_osi_Free(tp, AFS_LRALLOCSIZ); #ifdef AFS_AIX32_ENV @@ -338,7 +332,7 @@ void shutdown_osinet() #endif } - while (tp = freeSmallList) { + while ((tp = freeSmallList)) { freeSmallList = tp->next; afs_osi_Free(tp, AFS_SMALLOCSIZ); #ifdef AFS_AIX32_ENV diff --git a/src/afs/afs_osi_pag.c b/src/afs/afs_osi_pag.c index cba03db..cb0adba 100644 --- a/src/afs/afs_osi_pag.c +++ b/src/afs/afs_osi_pag.c @@ -70,7 +70,8 @@ afs_uint32 pagCounter = 0; * secure (although of course not absolutely secure). */ #if !defined(UKERNEL) || !defined(AFS_WEB_ENHANCEMENTS) -afs_uint32 genpag(void) { +afs_uint32 genpag(void) +{ AFS_STATCNT(genpag); #ifdef AFS_LINUX20_ENV /* Ensure unique PAG's (mod 200 days) when reloading the client. */ @@ -80,7 +81,8 @@ afs_uint32 genpag(void) { #endif /* AFS_LINUX20_ENV */ } -afs_uint32 getpag(void) { +afs_uint32 getpag(void) +{ AFS_STATCNT(getpag); #ifdef AFS_LINUX20_ENV /* Ensure unique PAG's (mod 200 days) when reloading the client. */ @@ -95,7 +97,8 @@ afs_uint32 getpag(void) { /* Web enhancement: we don't need to restrict pags to 41XXXXXX since * we are not sharing the space with anyone. So we use the full 32 bits. */ -afs_uint32 genpag(void) { +afs_uint32 genpag(void) +{ AFS_STATCNT(genpag); #ifdef AFS_LINUX20_ENV return (pag_epoch + pagCounter++); @@ -104,7 +107,8 @@ afs_uint32 genpag(void) { #endif /* AFS_LINUX20_ENV */ } -afs_uint32 getpag(void) { +afs_uint32 getpag(void) +{ AFS_STATCNT(getpag); #ifdef AFS_LINUX20_ENV /* Ensure unique PAG's (mod 200 days) when reloading the client. */ @@ -324,6 +328,7 @@ int afs_getpag_val() #endif /* UKERNEL && AFS_WEB_ENHANCEMENTS */ +/* Note - needs to be available on AIX, others can be static - rework this */ #if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) int AddPag(struct proc *p, afs_int32 aval, struct AFS_UCRED **credpp) #else /* AFS_OSF_ENV || AFS_FBSD_ENV */ @@ -333,9 +338,9 @@ int AddPag(afs_int32 aval, struct AFS_UCRED **credpp) afs_int32 newpag, code; AFS_STATCNT(AddPag); #if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) - if (code = setpag(p, credpp, aval, &newpag, 0)) + if ((code = setpag(p, credpp, aval, &newpag, 0))) #else /* AFS_OSF_ENV */ - if (code = setpag(credpp, aval, &newpag, 0)) + if ((code = setpag(credpp, aval, &newpag, 0))) #endif #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) || defined(AFS_OSF_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) return (code); @@ -346,10 +351,8 @@ int AddPag(afs_int32 aval, struct AFS_UCRED **credpp) } -afs_InitReq(av, acred) - register struct vrequest *av; - struct AFS_UCRED *acred; { - +int afs_InitReq(register struct vrequest *av, struct AFS_UCRED *acred) +{ AFS_STATCNT(afs_InitReq); if (afs_shuttingdown) return EIO; av->uid = PagInCred(acred); diff --git a/src/afs/afs_osi_uio.c b/src/afs/afs_osi_uio.c index 878c7f0..38bbd9d 100644 --- a/src/afs/afs_osi_uio.c +++ b/src/afs/afs_osi_uio.c @@ -25,9 +25,9 @@ RCSID("$Header$"); */ /* routine to make copy of uio structure in ainuio, using aoutvec for space */ -afsio_copy(ainuio, aoutuio, aoutvec) -struct uio *ainuio, *aoutuio; -register struct iovec *aoutvec; { +int afsio_copy(struct uio *ainuio, struct uio *aoutuio, + register struct iovec *aoutvec) +{ register int i; register struct iovec *tvec; @@ -45,9 +45,8 @@ register struct iovec *aoutvec; { } /* trim the uio structure to the specified size */ -afsio_trim(auio, asize) -register struct uio *auio; -register afs_int32 asize; { +int afsio_trim(register struct uio *auio, register afs_int32 asize) +{ register int i; register struct iovec *tv; @@ -75,9 +74,8 @@ register afs_int32 asize; { } /* skip asize bytes in the current uio structure */ -afsio_skip(auio, asize) -register struct uio *auio; -register afs_int32 asize; { +int afsio_skip(register struct uio *auio, register afs_int32 asize) +{ register struct iovec *tv; /* pointer to current iovec */ register int cnt; diff --git a/src/afs/afs_osi_vget.c b/src/afs/afs_osi_vget.c index 873f24f..b51b208 100644 --- a/src/afs/afs_osi_vget.c +++ b/src/afs/afs_osi_vget.c @@ -73,14 +73,14 @@ int afs_osi_vget(struct vcache **avcpp, struct fid *afidp, * afs_GetVCache. */ - ret = afs_NFSFindVCache(avcpp, &vfid, 1); + ret = afs_NFSFindVCache(avcpp, &vfid); if (ret > 1) { /* More than one entry matches. */ code = ENOENT; } else if (ret == 0) { /* didn't find an entry. */ - *avcpp = afs_GetVCache(&vfid, &treq, (afs_int32 *)0, (struct vcache*)0, 0); + *avcpp = afs_GetVCache(&vfid, &treq, NULL, NULL); } if (! *avcpp) { code = ENOENT; diff --git a/src/afs/afs_osidnlc.c b/src/afs/afs_osidnlc.c index 1631ec71..8bfdcb5 100644 --- a/src/afs/afs_osidnlc.c +++ b/src/afs/afs_osidnlc.c @@ -35,7 +35,7 @@ dnlcstats_t dnlcstats; #define NCSIZE 300 #define NHSIZE 256 /* must be power of 2. == NHASHENT in dir package */ -struct nc *ncfreelist = (struct nc *)0; +struct nc *ncfreelist = NULL; static struct nc nameCache[NCSIZE]; struct nc *nameHash[NHSIZE]; /* Hash table invariants: @@ -59,7 +59,8 @@ int dnlct; #define dnlcHash(ts, hval) for (hval=0; *ts; ts++) { hval *= 173; hval += *ts; } -static struct nc * GetMeAnEntry() { +static struct nc *GetMeAnEntry(void) +{ static unsigned int nameptr = 0; /* next bucket to pull something from */ struct nc *tnc; int j; @@ -83,7 +84,7 @@ static struct nc * GetMeAnEntry() { osi_Panic("null tnc in GetMeAnEntry"); if (tnc->prev == tnc) { /* only thing in list, don't screw around */ - nameHash[nameptr] = (struct nc *) 0; + nameHash[nameptr] = NULL; return (tnc); } @@ -95,8 +96,7 @@ static struct nc * GetMeAnEntry() { return (tnc); } -static void InsertEntry(tnc) - struct nc *tnc; +static void InsertEntry(struct nc *tnc) { unsigned int key; key = tnc->key & (NHSIZE -1); @@ -116,11 +116,7 @@ static void InsertEntry(tnc) } -int osi_dnlc_enter ( adp, aname, avc, avno ) - struct vcache *adp; - char *aname; - struct vcache *avc; - afs_hyper_t *avno; +int osi_dnlc_enter (struct vcache *adp, char *aname, struct vcache *avc, afs_hyper_t *avno) { struct nc *tnc; unsigned int key, skey; @@ -187,11 +183,7 @@ return 0; } -struct vcache * -osi_dnlc_lookup ( adp, aname, locktype ) - struct vcache *adp; - char *aname; - int locktype; +struct vcache *osi_dnlc_lookup (struct vcache *adp, char *aname, int locktype ) { struct vcache * tvc; int LRUme; @@ -215,7 +207,7 @@ osi_dnlc_lookup ( adp, aname, locktype ) ObtainReadLock(&afs_xvcache); ObtainReadLock(&afs_xdnlc); - for ( tvc = (struct vcache *) 0, tnc = nameHash[skey], safety=0; + for ( tvc = NULL, tnc = nameHash[skey], safety=0; tnc; tnc = tnc->next, safety++ ) { if ( /* (tnc->key == key) && */ (tnc->dirp == adp) && (!strcmp((char *)tnc->name, aname))) { @@ -289,17 +281,14 @@ return tvc; } -static void -RemoveEntry (tnc, key) - struct nc *tnc; - unsigned int key; +static void RemoveEntry (struct nc *tnc, unsigned int key) { if (!tnc->prev) /* things on freelist always have null prev ptrs */ osi_Panic("bogus free list"); TRACE(RemoveEntryT, key); if (tnc == tnc->next) { /* only one in list */ - nameHash[key] = (struct nc *) 0; + nameHash[key] = NULL; } else { if (tnc == nameHash[key]) @@ -308,16 +297,12 @@ RemoveEntry (tnc, key) tnc->next->prev = tnc->prev; } - tnc->prev = (struct nc *) 0; /* everything not in hash table has 0 prev */ + tnc->prev = NULL; /* everything not in hash table has 0 prev */ tnc->key = 0; /* just for safety's sake */ } -int -osi_dnlc_remove ( adp, aname, avc ) - struct vcache *adp; - char *aname; - struct vcache *avc; +int osi_dnlc_remove (struct vcache *adp, char *aname, struct vcache *avc ) { unsigned int key, skey; char *ts = aname; @@ -339,11 +324,11 @@ osi_dnlc_remove ( adp, aname, avc ) for (tnc = nameHash[skey]; tnc; tnc = tnc->next) { if ((tnc->dirp == adp) && (tnc->key == key) && (!strcmp((char *)tnc->name, aname))) { - tnc->dirp = (struct vcache *) 0; /* now it won't match anything */ + tnc->dirp = NULL; /* now it won't match anything */ break; } else if (tnc->next == nameHash[skey]) { /* end of list */ - tnc = (struct nc *) 0; + tnc = NULL; break; } } @@ -370,9 +355,7 @@ return 0; * things without the lock, since I am just looking through the array, * but to move things off the lists or into the freelist, I need the * write lock */ -int -osi_dnlc_purgedp (adp) - struct vcache *adp; +int osi_dnlc_purgedp (struct vcache *adp) { int i; int writelocked; @@ -386,7 +369,7 @@ osi_dnlc_purgedp (adp) for (i=0; ipath, uap->cmd, uap->cmarg, uap->follow)); } -extern struct mount *afs_globalVFS; #else /* AFS_OSF_ENV */ #if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) afs_pioctl(p, args, retval) @@ -717,9 +729,7 @@ afs_pioctl(p, args, retval) return (afs_syscall_pioctl(uap->path, uap->cmd, uap->cmarg, uap->follow, p->p_cred->pc_ucred)); } -extern struct mount *afs_globalVFS; #else /* AFS_OSF_ENV */ -extern struct vfs *afs_globalVFS; #endif #endif @@ -889,11 +899,11 @@ afs_syscall_pioctl(path, com, cmarg, follow) foreigncreds ? foreigncreds : credp); #else #ifdef AFS_LINUX22_ENV - code = gop_lookupname(path, AFS_UIOUSER, follow, (struct vnode **) 0, &dp); + code = gop_lookupname(path, AFS_UIOUSER, follow, NULL, &dp); if (!code) vp = (struct vnode *)dp->d_inode; #else - code = gop_lookupname(path, AFS_UIOUSER, follow, (struct vnode **) 0, &vp); + code = gop_lookupname(path, AFS_UIOUSER, follow, NULL, &vp); #endif /* AFS_LINUX22_ENV */ #endif /* AFS_AIX41_ENV */ AFS_GLOCK(); @@ -926,7 +936,7 @@ afs_syscall_pioctl(path, com, cmarg, follow) #endif } } - else vp = (struct vnode *) 0; + else vp = NULL; /* now make the call if we were passed no file, or were passed an AFS file */ if (!vp || IsAfsVnode(vp)) { @@ -940,7 +950,7 @@ afs_syscall_pioctl(path, com, cmarg, follow) gp = vp; /* remember for "put" */ vp = (struct vnode *) afs_gntovn(vp); /* get vcache from gp */ } - else gp = (struct vnode *) 0; + else gp = NULL; #endif #ifdef AFS_SUN5_ENV code = afs_HandlePioctl(vp, com, &data, follow, &credp); @@ -992,7 +1002,7 @@ afs_syscall_pioctl(path, com, cmarg, follow) #ifdef AFS_DEC_ENV if (vp) { GRELE(vp); - vp = (struct vnode *) 0; + vp = NULL; } #endif } @@ -1035,12 +1045,8 @@ afs_syscall_pioctl(path, com, cmarg, follow) } -afs_HandlePioctl(avc, acom, ablob, afollow, acred) - struct vcache *avc; - afs_int32 acom; - struct AFS_UCRED **acred; - register struct afs_ioctl *ablob; - int afollow; +int afs_HandlePioctl(struct vcache *avc, afs_int32 acom, + register struct afs_ioctl *ablob, int afollow, struct AFS_UCRED **acred) { struct vrequest treq; register afs_int32 code; @@ -1054,7 +1060,7 @@ afs_HandlePioctl(avc, acom, ablob, afollow, acred) afs_Trace3(afs_iclSetp, CM_TRACE_PIOCTL, ICL_TYPE_INT32, acom & 0xff, ICL_TYPE_POINTER, avc, ICL_TYPE_INT32, afollow); AFS_STATCNT(HandlePioctl); - if (code = afs_InitReq(&treq, *acred)) return code; + if ((code = afs_InitReq(&treq, *acred))) return code; afs_InitFakeStat(&fakestate); if (avc) { code = afs_EvalFakeStat(&avc, &fakestate, &treq); @@ -1097,10 +1103,7 @@ afs_HandlePioctl(avc, acom, ablob, afollow, acred) } outData = osi_AllocLargeSpace(AFS_LRALLOCSIZ); outSize = 0; - if (function == 3 && device == 'V') /* PSetTokens */ - code = (*pioctlSw[function])(avc, function, &treq, inData, outData, inSize, &outSize, acred); - else - code = (*pioctlSw[function])(avc, function, &treq, inData, outData, inSize, &outSize, *acred); + code = (*pioctlSw[function])(avc, function, &treq, inData, outData, inSize, &outSize, acred); osi_FreeLargeSpace(inData); if (code == 0 && ablob->out_size > 0) { if (outSize > ablob->out_size) outSize = ablob->out_size; @@ -1115,13 +1118,8 @@ afs_HandlePioctl(avc, acom, ablob, afollow, acred) return afs_CheckCode(code, &treq, 41); } -static PGetFID(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetFID) +{ register afs_int32 code; AFS_STATCNT(PGetFID); @@ -1131,13 +1129,8 @@ static PGetFID(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PSetAcl(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PSetAcl) +{ register afs_int32 code; struct conn *tconn; struct AFSOpaque acl; @@ -1165,7 +1158,7 @@ static PSetAcl(avc, afun, areq, ain, aout, ainSize, aoutSize) else code = -1; } while (afs_Analyze(tconn, code, &avc->fid, areq, - AFS_STATS_FS_RPCIDX_STOREACL, SHARED_LOCK, (struct cell *)0)); + AFS_STATS_FS_RPCIDX_STOREACL, SHARED_LOCK, NULL)); /* now we've forgotten all of the access info */ ObtainWriteLock(&afs_xcbhash, 455); @@ -1180,21 +1173,14 @@ static PSetAcl(avc, afun, areq, ain, aout, ainSize, aoutSize) int afs_defaultAsynchrony = 0; -static PStoreBehind(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED *acred; +DECL_PIOCTL(PStoreBehind) { afs_int32 code = 0; struct sbstruct *sbr; sbr = (struct sbstruct *)ain; if (sbr->sb_default != -1) { - if (afs_osi_suser(acred)) + if (afs_osi_suser(*acred)) afs_defaultAsynchrony = sbr->sb_default; else code = EPERM; } @@ -1216,29 +1202,17 @@ static PStoreBehind(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return code; } -static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED *acred; +DECL_PIOCTL(PGCPAGs) { - if (!afs_osi_suser(acred)) { + if (!afs_osi_suser(*acred)) { return EACCES; } afs_gcpags = AFS_GCPAGS_USERDISABLED; return 0; } - static PGetAcl(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetAcl) +{ struct AFSOpaque acl; struct AFSVolSync tsync; struct AFSFetchStatus OutStatus; @@ -1280,32 +1254,28 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) } while (afs_Analyze(tconn, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_FETCHACL, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (code == 0) { *aoutSize = (acl.AFSOpaque_len == 0 ? 1 : acl.AFSOpaque_len); } return code; - } +} - static PNoop() { +DECL_PIOCTL(PNoop) +{ AFS_STATCNT(PNoop); return 0; - } +} - static PBogus() { +DECL_PIOCTL(PBogus) +{ AFS_STATCNT(PBogus); return EINVAL; - } +} - static PGetFileCell(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetFileCell) +{ register struct cell *tcell; AFS_STATCNT(PGetFileCell); @@ -1318,14 +1288,8 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } - static PGetWSCell(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetWSCell) +{ register struct cell *tcell=0, *cellOne=0; register struct afs_q *cq, *tq; @@ -1334,7 +1298,7 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return EIO; /* Inappropriate ioctl for device */ ObtainReadLock(&afs_xcell); - cellOne = (struct cell *) 0; + cellOne = NULL; for (cq = CellLRU.next; cq != &CellLRU; cq = tq) { tcell = QTOC(cq); tq = QNext(cq); @@ -1352,14 +1316,8 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } - static PGetUserCell(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetUserCell) +{ register afs_int32 i; register struct unixuser *tu; register struct cell *tcell; @@ -1396,15 +1354,7 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } - static PSetTokens(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED **acred; +DECL_PIOCTL(PSetTokens) { afs_int32 i; register struct unixuser *tu; @@ -1484,7 +1434,7 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) /* now we just set the tokens */ tu = afs_GetUser(areq->uid, i, WRITE_LOCK); /* i has the cell # */ tu->vid = clear.ViceId; - if (tu->stp != (char *) 0) { + if (tu->stp != NULL) { afs_osi_Free(tu->stp, tu->stLen); } tu->stp = (char *) afs_osi_Alloc(stLen); @@ -1515,13 +1465,8 @@ static PGCPAGs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) } } -static PGetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetVolumeStatus) +{ char volName[32]; char offLineMsg[256]; char motd[256]; @@ -1551,7 +1496,7 @@ static PGetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_GETVOLUMESTATUS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (code) return code; /* Copy all this junk into msg->im_data, keeping track of the lengths. */ @@ -1568,13 +1513,8 @@ static PGetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PSetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PSetVolumeStatus) +{ char volName[32]; char offLineMsg[256]; char motd[256]; @@ -1636,7 +1576,7 @@ static PSetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_SETVOLUMESTATUS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (code) return code; /* we are sending parms back to make compat. with prev system. should @@ -1654,16 +1594,8 @@ static PSetVolumeStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PFlush(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - register struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED *acred; +DECL_PIOCTL(PFlush) { - AFS_STATCNT(PFlush); if (!avc) return EINVAL; #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) @@ -1675,12 +1607,12 @@ static PFlush(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) avc->states &= ~(CStatd | CDirty); /* next reference will re-stat cache entry */ ReleaseWriteLock(&afs_xcbhash); /* now find the disk cache entries */ - afs_TryToSmush(avc, acred, 1); + afs_TryToSmush(avc, *acred, 1); osi_dnlc_purgedp(avc); afs_symhint_inval(avc); if (avc->linkData && !(avc->states & CCore)) { afs_osi_Free(avc->linkData, strlen(avc->linkData)+1); - avc->linkData = (char *) 0; + avc->linkData = NULL; } ReleaseWriteLock(&avc->lock); #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) @@ -1689,13 +1621,8 @@ static PFlush(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } -static PNewStatMount(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PNewStatMount) +{ register afs_int32 code; register struct vcache *tvc; register struct dcache *tdc; @@ -1727,17 +1654,16 @@ static PNewStatMount(avc, afun, areq, ain, aout, ainSize, aoutSize) tfid.Cell = avc->fid.Cell; tfid.Fid.Volume = avc->fid.Fid.Volume; if (!tfid.Fid.Unique && (avc->states & CForeign)) { - tvc = afs_LookupVCache(&tfid, areq, (afs_int32 *)0, WRITE_LOCK, avc, bufp); + tvc = afs_LookupVCache(&tfid, areq, NULL, avc, bufp); } else { - tvc = afs_GetVCache(&tfid, areq, (afs_int32 *)0, (struct vcache*)0, - WRITE_LOCK); + tvc = afs_GetVCache(&tfid, areq, NULL, NULL); } if (!tvc) { code = ENOENT; goto out; } if (tvc->mvstat != 1) { - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); code = EINVAL; goto out; } @@ -1756,19 +1682,14 @@ static PNewStatMount(avc, afun, areq, ain, aout, ainSize, aoutSize) code = EIO; } ReleaseWriteLock(&tvc->lock); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); out: if (sysState.allocked) osi_FreeLargeSpace(bufp); return code; } -static PGetTokens(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetTokens) +{ register struct cell *tcell; register afs_int32 i; register struct unixuser *tu; @@ -1789,7 +1710,7 @@ static PGetTokens(avc, afun, areq, ain, aout, ainSize, aoutSize) tokens, the primary cell indicator (an afs_int32 0) and the cell name at the end, in that order. */ - if (newStyle = (ainSize > 0)) { + if ((newStyle = (ainSize > 0))) { memcpy((char *)&iterator, ain, sizeof(afs_int32)); } i = UHash(areq->uid); @@ -1851,13 +1772,8 @@ static PGetTokens(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PUnlog(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PUnlog) +{ register afs_int32 i; register struct unixuser *tu; @@ -1899,13 +1815,8 @@ static PUnlog(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PMariner(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PMariner) +{ afs_int32 newHostAddr; afs_int32 oldHostAddr; @@ -1929,14 +1840,7 @@ static PMariner(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PCheckServers(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED *acred; +DECL_PIOCTL(PCheckServers) { register char *cp = 0; register int i; @@ -1957,7 +1861,7 @@ static PCheckServers(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) memcpy(cp, (char *)&PROBE_INTERVAL, sizeof(afs_int32)); *aoutSize = sizeof(afs_int32); if (pcheck->tinterval > 0) { - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; PROBE_INTERVAL=pcheck->tinterval; } @@ -1983,7 +1887,7 @@ static PCheckServers(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) cellp = afs_GetCellByName(cp, READ_LOCK); if (!cellp) return ENOENT; } - else cellp = (struct cell *) 0; + else cellp = NULL; if (!cellp && (temp & 2)) { /* use local cell */ cellp = afs_GetCell(1, READ_LOCK); @@ -2010,13 +1914,8 @@ static PCheckServers(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } -static PCheckVolNames(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PCheckVolNames) +{ AFS_STATCNT(PCheckVolNames); if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ return EIO; /* Inappropriate ioctl for device */ @@ -2029,19 +1928,13 @@ static PCheckVolNames(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PCheckAuth(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PCheckAuth) +{ int i; struct srvAddr *sa; struct conn *tc; struct unixuser *tu; afs_int32 retValue; - extern afs_rwlock_t afs_xsrvAddr; AFS_STATCNT(PCheckAuth); if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ @@ -2075,11 +1968,7 @@ static PCheckAuth(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static Prefetch(apath, adata, afollow, acred) -char *apath; -struct afs_ioctl *adata; -int afollow; -struct AFS_UCRED *acred; +static int Prefetch(char *apath, struct afs_ioctl *adata, int afollow, struct AFS_UCRED *acred) { register char *tp; register afs_int32 code; @@ -2106,13 +1995,8 @@ struct AFS_UCRED *acred; return 0; } -static PFindVolume(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PFindVolume) +{ register struct volume *tvp; register struct server *ts; register afs_int32 i; @@ -2142,13 +2026,8 @@ static PFindVolume(avc, afun, areq, ain, aout, ainSize, aoutSize) return ENODEV; } -static PViceAccess(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PViceAccess) +{ register afs_int32 code; afs_int32 temp; @@ -2162,27 +2041,19 @@ static PViceAccess(avc, afun, areq, ain, aout, ainSize, aoutSize) else return EACCES; } -static PSetCacheSize(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ - struct AFS_UCRED *acred; -{ +DECL_PIOCTL(PSetCacheSize) +{ afs_int32 newValue; int waitcnt = 0; AFS_STATCNT(PSetCacheSize); - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; /* too many things are setup initially in mem cache version */ if (cacheDiskType == AFS_FCACHE_TYPE_MEM) return EROFS; memcpy((char *)&newValue, ain, sizeof(afs_int32)); if (newValue == 0) afs_cacheBlocks = afs_stats_cmperf.cacheBlocksOrig; else { - extern u_int afs_min_cache; if (newValue < afs_min_cache) afs_cacheBlocks = afs_min_cache; else @@ -2199,13 +2070,8 @@ static PSetCacheSize(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) } #define MAXGCSTATS 16 -static PGetCacheSize(avc, afun, areq, ain, aout, ainSize, aoutSize) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetCacheSize) +{ afs_int32 results[MAXGCSTATS]; AFS_STATCNT(PGetCacheSize); @@ -2217,13 +2083,8 @@ afs_int32 *aoutSize; /* set this */ { return 0; } -static PRemoveCallBack(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PRemoveCallBack) +{ register struct conn *tc; register afs_int32 code; struct AFSCallBack CallBacks_Array[1]; @@ -2254,7 +2115,7 @@ static PRemoveCallBack(avc, afun, areq, ain, aout, ainSize, aoutSize) } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_GIVEUPCALLBACKS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); ObtainWriteLock(&afs_xcbhash, 457); afs_DequeueCallback(avc); @@ -2268,15 +2129,8 @@ static PRemoveCallBack(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PNewCell(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PNewCell) +{ /* create a new cell */ afs_int32 cellHosts[MAXCELLHOSTS], *lp, magic=0; register struct cell *tcell; @@ -2289,7 +2143,7 @@ static PNewCell(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ return EIO; /* Inappropriate ioctl for device */ - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; memcpy((char *)&magic, tp, sizeof(afs_int32)); @@ -2322,19 +2176,11 @@ static PNewCell(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) } linkedstate |= CNoSUID; /* setuid is disabled by default for fs newcell */ - code = afs_NewCell(newcell, cellHosts, linkedstate, linkedcell, fsport, vlport, (int)0, (char *) 0); + code = afs_NewCell(newcell, cellHosts, linkedstate, linkedcell, fsport, vlport, (int)0, NULL); return code; } -static PNewAlias(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PNewAlias) { /* create a new cell alias */ register struct cell *tcell; @@ -2346,7 +2192,7 @@ static PNewAlias(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ return EIO; /* Inappropriate ioctl for device */ - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; aliasName = tp; @@ -2373,13 +2219,8 @@ static PNewAlias(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return code; } -static PListCells(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PListCells) +{ afs_int32 whichCell; register struct cell *tcell=0; register afs_int32 i; @@ -2410,13 +2251,7 @@ static PListCells(avc, afun, areq, ain, aout, ainSize, aoutSize) else return EDOM; } -static PListAliases(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PListAliases) { afs_int32 whichAlias; register struct cell *tcell=0; @@ -2455,14 +2290,8 @@ static PListAliases(avc, afun, areq, ain, aout, ainSize, aoutSize) else return EDOM; } -static PRemoveMount(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PRemoveMount) +{ register afs_int32 code; char *bufp; struct sysname_info sysState; @@ -2500,10 +2329,9 @@ static PRemoveMount(avc, afun, areq, ain, aout, ainSize, aoutSize) tfid.Cell = avc->fid.Cell; tfid.Fid.Volume = avc->fid.Fid.Volume; if (!tfid.Fid.Unique && (avc->states & CForeign)) { - tvc = afs_LookupVCache(&tfid, areq, (afs_int32 *)0, WRITE_LOCK, avc, bufp); + tvc = afs_LookupVCache(&tfid, areq, NULL, avc, bufp); } else { - tvc = afs_GetVCache(&tfid, areq, (afs_int32 *)0, - (struct vcache*)0/*xxx avc?*/, WRITE_LOCK); + tvc = afs_GetVCache(&tfid, areq, NULL, NULL); } if (!tvc) { code = ENOENT; @@ -2512,7 +2340,7 @@ static PRemoveMount(avc, afun, areq, ain, aout, ainSize, aoutSize) } if (tvc->mvstat != 1) { afs_PutDCache(tdc); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); code = EINVAL; goto out; } @@ -2527,7 +2355,7 @@ static PRemoveMount(avc, afun, areq, ain, aout, ainSize, aoutSize) } ReleaseWriteLock(&tvc->lock); osi_dnlc_purgedp(tvc); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); if (code) { afs_PutDCache(tdc); goto out; @@ -2548,7 +2376,7 @@ static PRemoveMount(avc, afun, areq, ain, aout, ainSize, aoutSize) } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_REMOVEFILE, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (code) { if (tdc) afs_PutDCache(tdc); @@ -2577,25 +2405,13 @@ out: return code; } -static PVenusLogging(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PVenusLogging) +{ return EINVAL; /* OBSOLETE */ } -static PGetCellStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetCellStatus) +{ register struct cell *tcell; afs_int32 temp; @@ -2612,18 +2428,12 @@ static PGetCellStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) return 0; } -static PSetCellStatus(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PSetCellStatus) +{ register struct cell *tcell; afs_int32 temp; - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ return EIO; /* Inappropriate ioctl for device */ @@ -2639,16 +2449,8 @@ static PSetCellStatus(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } -static PFlushVolumeData(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; /* set this */ -struct AFS_UCRED *acred; +DECL_PIOCTL(PFlushVolumeData) { - extern struct volume *afs_volumes[NVOLS]; register afs_int32 i; register struct dcache *tdc; register struct vcache *tvc; @@ -2693,7 +2495,7 @@ struct AFS_UCRED *acred; ReleaseWriteLock(&afs_xcbhash); if (tvc->fid.Fid.Vnode & 1 || (vType(tvc) == VDIR)) osi_dnlc_purgedp(tvc); - afs_TryToSmush(tvc, acred, 1); + afs_TryToSmush(tvc, *acred, 1); ReleaseWriteLock(&tvc->lock); #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) afs_BozonUnlock(&tvc->pvnLock, tvc); @@ -2710,7 +2512,7 @@ struct AFS_UCRED *acred; MObtainWriteLock(&afs_xdcache,328); /* needed if you're going to flush any stuff */ for(i=0;irefCount <= 1) { /* too high, in use by running sys call */ ReleaseReadLock(&tdc->tlock); if (tdc->f.fid.Fid.Volume == volume && tdc->f.fid.Cell == cell) { @@ -2751,13 +2553,8 @@ struct AFS_UCRED *acred; -static PGetVnodeXStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ { +DECL_PIOCTL(PGetVnodeXStatus) +{ register afs_int32 code; struct vcxstat stat; afs_int32 mode, i; @@ -2806,22 +2603,11 @@ static PGetVnodeXStatus(avc, afun, areq, ain, aout, ainSize, aoutSize) /* (since we don't really believe remote uids anyway) */ /* outname[] shouldn't really be needed- this is left as an excercise */ /* for the reader. */ -static PSetSysName(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; /* set this */ -register struct AFS_UCRED *acred; +DECL_PIOCTL(PSetSysName) { char *cp, inname[MAXSYSNAME], outname[MAXSYSNAME]; int setsysname, foundname=0; register struct afs_exporter *exporter; - extern struct unixuser *afs_FindUser(); - extern char *afs_sysname; - extern char *afs_sysnamelist[]; - extern int afs_sysnamecount; register struct unixuser *au; register afs_int32 pag, error; int t, count; @@ -2861,8 +2647,8 @@ register struct AFS_UCRED *acred; memcpy(inname, ain, t+1); /* include terminating null */ ain += t + 1; } - if (acred->cr_gid == RMTUSER_REQ) { /* Handles all exporters */ - pag = PagInCred(acred); + if ((*acred)->cr_gid == RMTUSER_REQ) { /* Handles all exporters */ + pag = PagInCred(*acred); if (pag == NOPAG) { return EINVAL; /* Better than panicing */ } @@ -2873,7 +2659,7 @@ register struct AFS_UCRED *acred; afs_PutUser(au, READ_LOCK); return EINVAL; /* Better than panicing */ } - error = EXP_SYSNAME(exporter, (setsysname? inname : (char *)0), outname); + error = EXP_SYSNAME(exporter, (setsysname? inname : NULL), outname); if (error) { if (error == ENODEV) foundname = 0; /* sysname not set yet! */ else { @@ -2891,7 +2677,7 @@ register struct AFS_UCRED *acred; strcpy(outname, afs_sysname); foundname = afs_sysnamecount; } else { /* Local guy; only root can change sysname */ - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; /* clear @sys entries from the dnlc, once afs_lookup can @@ -2938,14 +2724,13 @@ register struct AFS_UCRED *acred; * long-term solution here. For small n, though, it should be just * fine. Should consider special-casing the local cell for large n. * Likewise for PSetSPrefs. + * + * s - number of ids in array l[] -- NOT index of last id + * l - array of cell ids which have volumes that need to be sorted + * vlonly - sort vl servers or file servers? */ -static void ReSortCells(s,l, vlonly) - int s; /* number of ids in array l[] -- NOT index of last id */ - afs_int32 l[]; /* array of cell ids which have volumes that need to be sorted */ - int vlonly; /* sort vl servers or file servers?*/ +static void ReSortCells(int s, afs_int32 l[], int vlonly) { - extern struct volume *afs_volumes[NVOLS]; /* volume hash table */ - int i; struct volume *j; register int k; @@ -2978,8 +2763,8 @@ static void ReSortCells(s,l, vlonly) ReleaseReadLock(&afs_xvolume); } -int debugsetsp = 0; +static int debugsetsp = 0; static int afs_setsprefs(sp, num, vlonly) struct spref *sp; unsigned int num; @@ -3053,15 +2838,7 @@ static int afs_setsprefs(sp, num, vlonly) /* Note that this may only be performed by the local root user. */ -static int -PSetSPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; +DECL_PIOCTL(PSetSPrefs) { struct setspref *ssp; AFS_STATCNT(PSetSPrefs); @@ -3069,7 +2846,7 @@ PSetSPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ return EIO; /* Inappropriate ioctl for device */ - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; if (ainSize < sizeof(struct setspref)) @@ -3084,15 +2861,7 @@ PSetSPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return 0; } -static int -PSetSPrefs33(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - struct AFS_UCRED *acred; - afs_int32 *aoutSize; +DECL_PIOCTL(PSetSPrefs33) { struct spref *sp; AFS_STATCNT(PSetSPrefs); @@ -3100,7 +2869,7 @@ PSetSPrefs33(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) return EIO; /* Inappropriate ioctl for device */ - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; sp = (struct spref *)ain; @@ -3115,14 +2884,7 @@ PSetSPrefs33(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) * immediately previous slot in the hash table and some supporting information * Only reports file servers now. */ -static int - PGetSPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; +DECL_PIOCTL(PGetSPrefs) { struct sprefrequest *spin; /* input */ struct sprefinfo *spout; /* output */ @@ -3197,17 +2959,9 @@ afs_int32 *aoutSize; /* Enable/Disable the specified exporter. Must be root to disable an exporter */ int afs_NFSRootOnly = 1; -/*static*/ PExportAfs(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; /* set this */ -struct AFS_UCRED *acred; +DECL_PIOCTL(PExportAfs) { afs_int32 export, newint=0, type, changestate, handleValue, convmode, pwsync, smounts; - extern struct afs_exporter *exporter_find(); register struct afs_exporter *exporter; AFS_STATCNT(PExportAfs); @@ -3240,7 +2994,7 @@ struct AFS_UCRED *acred; memcpy(aout, (char *)&handleValue, sizeof(afs_int32)); *aoutSize = sizeof(afs_int32); } else { - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; /* Only superuser can do this */ if (newint) { if (export & 2) { @@ -3299,19 +3053,11 @@ struct AFS_UCRED *acred; return 0; } -static int -PGag(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -struct AFS_UCRED *acred; -afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PGag) { struct gaginfo *gagflags; - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; gagflags = (struct gaginfo *) ain; @@ -3321,19 +3067,11 @@ struct gaginfo *gagflags; } -static int -PTwiddleRx(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -struct AFS_UCRED *acred; -afs_int32 *aoutSize; +DECL_PIOCTL(PTwiddleRx) { struct rxparams *rxp; - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EACCES; rxp = (struct rxparams *) ain; @@ -3363,14 +3101,7 @@ afs_int32 *aoutSize; return 0; } -static int PGetInitParams(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - register char *ain; - char *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PGetInitParams) { if (sizeof(struct cm_initparams) > PIGGYSIZE) return E2BIG; @@ -3394,34 +3125,18 @@ static cred_t *crget(void) } #endif -static int -PGetRxkcrypt(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; -struct AFS_UCRED *acred; +DECL_PIOCTL(PGetRxkcrypt) { memcpy(aout, (char *)&cryptall, sizeof(afs_int32)); *aoutSize=sizeof(afs_int32); return 0; } -static int -PSetRxkcrypt(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; -struct AFS_UCRED *acred; +DECL_PIOCTL(PSetRxkcrypt) { afs_int32 tmpval; - if (!afs_osi_suser(acred)) + if (!afs_osi_suser(*acred)) return EPERM; if (ainSize != sizeof(afs_int32) || ain == NULL) return EINVAL; @@ -3443,17 +3158,16 @@ struct AFS_UCRED *acred; #define PIOCTL_HEADER 6 static int HandleClientContext(struct afs_ioctl *ablob, int *com, struct AFS_UCRED **acred, struct AFS_UCRED *credp) { +#if defined(AFS_DEC_ENV) || (defined(AFS_NONFSTRANS) && !defined(AFS_AIX_IAUTH_ENV)) + return EINVAL; /* NFS trans not supported for Ultrix */ +#else char *ain, *inData; afs_uint32 hostaddr; afs_int32 uid, g0, g1, i, code, pag, exporter_type; - extern struct afs_exporter *exporter_find(); struct afs_exporter *exporter, *outexporter; struct AFS_UCRED *newcred; struct unixuser *au; -#if defined(AFS_DEC_ENV) || (defined(AFS_NONFSTRANS) && !defined(AFS_AIX_IAUTH_ENV)) - return EINVAL; /* NFS trans not supported for Ultrix */ -#else #if defined(AFS_SGIMP_ENV) osi_Assert(ISAFS_GLOCK()); #endif @@ -3576,14 +3290,7 @@ static int HandleClientContext(struct afs_ioctl *ablob, int *com, struct AFS_UCR /* get all interface addresses of this client */ -static int -PGetCPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; +DECL_PIOCTL(PGetCPrefs) { struct sprefrequest *spin; /* input */ struct sprefinfo *spout; /* output */ @@ -3625,14 +3332,7 @@ afs_int32 *aoutSize; return 0; } -static int -PSetCPrefs(avc, afun, areq, ain, aout, ainSize, aoutSize) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; +DECL_PIOCTL(PSetCPrefs) { struct setspref *sin; int i; @@ -3661,14 +3361,8 @@ afs_int32 *aoutSize; return 0; } -static PFlushMount(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; - struct AFS_UCRED *acred; { +DECL_PIOCTL(PFlushMount) +{ register afs_int32 code; register struct vcache *tvc; register struct dcache *tdc; @@ -3700,17 +3394,16 @@ static PFlushMount(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) tfid.Cell = avc->fid.Cell; tfid.Fid.Volume = avc->fid.Fid.Volume; if (!tfid.Fid.Unique && (avc->states & CForeign)) { - tvc = afs_LookupVCache(&tfid, areq, (afs_int32 *)0, WRITE_LOCK, avc, bufp); + tvc = afs_LookupVCache(&tfid, areq, NULL, avc, bufp); } else { - tvc = afs_GetVCache(&tfid, areq, (afs_int32 *)0, (struct vcache*)0, - WRITE_LOCK); + tvc = afs_GetVCache(&tfid, areq, NULL, NULL); } if (!tvc) { code = ENOENT; goto out; } if (tvc->mvstat != 1) { - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); code = EINVAL; goto out; } @@ -3723,36 +3416,29 @@ static PFlushMount(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) tvc->states &= ~(CStatd | CDirty); /* next reference will re-stat cache entry */ ReleaseWriteLock(&afs_xcbhash); /* now find the disk cache entries */ - afs_TryToSmush(tvc, acred, 1); + afs_TryToSmush(tvc, *acred, 1); osi_dnlc_purgedp(tvc); afs_symhint_inval(tvc); if (tvc->linkData && !(tvc->states & CCore)) { afs_osi_Free(tvc->linkData, strlen(tvc->linkData)+1); - tvc->linkData = (char *) 0; + tvc->linkData = NULL; } ReleaseWriteLock(&tvc->lock); #if defined(AFS_SUN_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) afs_BozonUnlock(&tvc->pvnLock, tvc); #endif - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); out: if (sysState.allocked) osi_FreeLargeSpace(bufp); return code; } -static PRxStatProc(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; - struct AFS_UCRED *acred; +DECL_PIOCTL(PRxStatProc) { int code = 0; afs_int32 flags; - if (!afs_osi_suser(acred)) { + if (!afs_osi_suser(*acred)) { code = EACCES; goto out; } @@ -3780,19 +3466,12 @@ out: } -static PRxStatPeer(avc, afun, areq, ain, aout, ainSize, aoutSize, acred) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; - struct AFS_UCRED *acred; +DECL_PIOCTL(PRxStatPeer) { int code = 0; afs_int32 flags; - if (!afs_osi_suser(acred)) { + if (!afs_osi_suser(*acred)) { code = EACCES; goto out; } @@ -3819,13 +3498,7 @@ out: return code; } -static PPrefetchFromTape(avc, afun, areq, ain, aout, ainSize, aoutSize) - struct vcache *avc; - int afun; - struct vrequest *areq; - char *ain, *aout; - afs_int32 ainSize; - afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PPrefetchFromTape) { register afs_int32 code, code1; afs_int32 bytes; @@ -3852,8 +3525,7 @@ static PPrefetchFromTape(avc, afun, areq, ain, aout, ainSize, aoutSize) tfid.Fid.Vnode = Fid->Vnode; tfid.Fid.Unique = Fid->Unique; - tvc = afs_GetVCache(&tfid, areq, (afs_int32 *)0, (struct vcache *)0, - WRITE_LOCK); + tvc = afs_GetVCache(&tfid, areq, NULL, NULL); if (!tvc) { afs_Trace3(afs_iclSetp, CM_TRACE_PREFETCHCMD, ICL_TYPE_POINTER, tvc, @@ -3885,10 +3557,10 @@ static PPrefetchFromTape(avc, afun, areq, ain, aout, ainSize, aoutSize) } while (afs_Analyze(tc, code, &tvc->fid, areq, AFS_STATS_FS_RPCIDX_RESIDENCYRPCS, SHARED_LOCK, - (struct cell *)0)); + NULL)); /* This call is done only to have the callback things handled correctly */ afs_FetchStatus(tvc, &tfid, areq, &OutStatus); - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); if (!code) { *aoutSize = sizeof(afs_int32); @@ -3896,13 +3568,7 @@ static PPrefetchFromTape(avc, afun, areq, ain, aout, ainSize, aoutSize) return code; } -static PResidencyCmd(avc, afun, areq, ain, aout, ainSize, aoutSize) -struct vcache *avc; -int afun; -struct vrequest *areq; -char *ain, *aout; -afs_int32 ainSize; -afs_int32 *aoutSize; /* set this */ +DECL_PIOCTL(PResidencyCmd) { register afs_int32 code; struct conn *tc; @@ -3926,8 +3592,7 @@ afs_int32 *aoutSize; /* set this */ tfid.Fid.Vnode = Fid->Vnode; tfid.Fid.Unique = Fid->Unique; - tvc = afs_GetVCache(&tfid, areq, (afs_int32 *)0, (struct vcache *)0, - WRITE_LOCK); + tvc = afs_GetVCache(&tfid, areq, NULL, NULL); afs_Trace3(afs_iclSetp, CM_TRACE_RESIDCMD, ICL_TYPE_POINTER, tvc, ICL_TYPE_INT32, Inputs->command, @@ -3949,7 +3614,7 @@ afs_int32 *aoutSize; /* set this */ } while (afs_Analyze(tc, code, &tvc->fid, areq, AFS_STATS_FS_RPCIDX_RESIDENCYRPCS, SHARED_LOCK, - (struct cell *)0)); + NULL)); /* This call is done to have the callback things handled correctly */ afs_FetchStatus(tvc, &tfid, areq, &Outputs->status); } else { /* just a status request, return also link data */ @@ -3964,7 +3629,7 @@ afs_int32 *aoutSize; /* set this */ } } - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); if (!code) { *aoutSize = sizeof(struct ResidencyCmdOutputs); diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index 8c7fb39..51be67c 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -12,10 +12,172 @@ /* afs_analyze.c */ extern void afs_FinalizeReq(struct vrequest *areq); +extern int afs_Analyze(register struct conn *aconn, afs_int32 acode, + struct VenusFid *afid, register struct vrequest *areq, int op, + afs_int32 locktype, struct cell *cellp); +extern int afs_CheckCode(afs_int32 acode, struct vrequest *areq, int where); +extern void afs_CopyError(register struct vrequest *afrom, register struct vrequest *ato); -extern int afs_Analyze(struct conn *aconn, afs_int32 acode, struct VenusFid *afid, - register struct vrequest *areq, int op, afs_int32 locktype, - struct cell *cellp); + +/* afs_axscache.c */ +extern afs_rwlock_t afs_xaxs; +extern struct axscache *afs_SlowFindAxs(struct axscache **cachep, afs_int32 id); +extern struct axscache *axs_Alloc(void); +extern void afs_RemoveAxs(struct axscache **headp, struct axscache *axsp); +extern void afs_FreeAllAxs(struct axscache **headp); + +/* afs_buffer.c */ +extern void DInit (int abuffers); +extern char *DRead(register ino_t *fid, register int page); +extern void DRelease (register struct buffer *bp, int flag); +extern int DVOffset (register void *ap); +extern void DZap (ino_t *fid); +extern void DFlush (void); +extern char *DNew (register ino_t *fid, register int page); +extern void shutdown_bufferpackage(void); + +/* afs_call.c */ +extern int afs_cold_shutdown; +extern afs_int32 afs_setTime; +extern char afs_rootVolumeName[64]; +extern void afs_shutdown(void); +extern void afs_FlushCBs(void); +extern struct afs_icl_set *afs_icl_allSets; +extern int afs_icl_CreateLog(char *name, afs_int32 logSize, struct afs_icl_log **outLogpp); +extern int afs_icl_CreateLogWithFlags(char *name, afs_int32 logSize, afs_uint32 flags, + struct afs_icl_log **outLogpp); +extern int afs_icl_CopyOut(register struct afs_icl_log *logp, afs_int32 *bufferp, + afs_int32 *bufSizep, afs_uint32 *cookiep, afs_int32 *flagsp); +extern int afs_icl_GetLogParms(struct afs_icl_log *logp, afs_int32 *maxSizep, + afs_int32 *curSizep); +extern int afs_icl_LogHold(register struct afs_icl_log *logp); +extern int afs_icl_LogHoldNL(register struct afs_icl_log *logp); +extern int afs_icl_LogUse(register struct afs_icl_log *logp); +extern int afs_icl_LogFreeUse(register struct afs_icl_log *logp); +extern int afs_icl_LogSetSize(register struct afs_icl_log *logp, afs_int32 logSize); +extern int afs_icl_ZapLog(register struct afs_icl_log *logp); +extern int afs_icl_LogRele(register struct afs_icl_log *logp); +extern int afs_icl_LogReleNL(register struct afs_icl_log *logp); +extern int afs_icl_ZeroLog(register struct afs_icl_log *logp); +extern int afs_icl_LogFree(register struct afs_icl_log *logp); +extern struct afs_icl_log *afs_icl_FindLog(char *name); +extern int afs_icl_EnumerateLogs(int (*aproc)(), char *arock); +extern int afs_icl_CreateSet(char *name, struct afs_icl_log *baseLogp, + struct afs_icl_log *fatalLogp, struct afs_icl_set **outSetpp); +extern int afs_icl_CreateSetWithFlags(char *name, struct afs_icl_log *baseLogp, + struct afs_icl_log *fatalLogp, afs_uint32 flags, struct afs_icl_set **outSetpp); +extern int afs_icl_SetEnable(struct afs_icl_set *setp, afs_int32 eventID, int setValue); +extern int afs_icl_GetEnable(struct afs_icl_set *setp, afs_int32 eventID, + int *getValuep); +extern int afs_icl_ZeroSet(struct afs_icl_set *setp); +extern int afs_icl_EnumerateSets(int (*aproc)(), char *arock); +extern int afs_icl_AddLogToSet(struct afs_icl_set *setp, struct afs_icl_log *newlogp); +extern int afs_icl_SetSetStat(struct afs_icl_set *setp, int op); +extern int afs_icl_SetHold(register struct afs_icl_set *setp); +extern int afs_icl_ZapSet(register struct afs_icl_set *setp); +extern int afs_icl_SetRele(register struct afs_icl_set *setp); +extern int afs_icl_SetFree(register struct afs_icl_set *setp); +extern struct afs_icl_set *afs_icl_FindSet(char *name); + +extern int afs_icl_Event4(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2, long p3, long p4); +extern int afs_icl_Event3(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2, long p3); +extern int afs_icl_Event2(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1, long p2); +extern int afs_icl_Event1(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT, long p1); +extern int afs_icl_Event0(register struct afs_icl_set *setp, afs_int32 eventID, + afs_int32 lAndT); +extern int afs_icl_AppendRecord(register struct afs_icl_log *logp, afs_int32 op, + afs_int32 types, long p1, long p2, long p3, long p4); + +extern int afs_CheckInit(void); +extern void afs_shutdown(void); +extern void shutdown_afstest(void); +extern void afs_shutdown_BKG(void); + + +/* afs_callback.c */ +extern afs_int32 afs_allCBs; +extern afs_int32 afs_oddCBs; +extern afs_int32 afs_evenCBs; +extern afs_int32 afs_allZaps; +extern afs_int32 afs_oddZaps; +extern afs_int32 afs_evenZaps; +extern afs_int32 afs_connectBacks; +extern unsigned long lastCallBack_vnode; +extern unsigned int lastCallBack_dv; +extern osi_timeval_t lastCallBack_time; +extern struct interfaceAddr afs_cb_interface; + +extern int afs_RXCallBackServer(void); +extern int SRXAFSCB_GetCE(struct rx_call *a_call, afs_int32 a_index, struct AFSDBCacheEntry *a_result); +extern int SRXAFSCB_GetCE64(struct rx_call *a_call, afs_int32 a_index, struct AFSDBCacheEntry64 *a_result); +extern int SRXAFSCB_GetLock (struct rx_call *a_call, afs_int32 a_index, struct AFSDBLock *a_result); +extern int SRXAFSCB_CallBack(struct rx_call *a_call, register struct AFSCBFids *a_fids, struct AFSCBs *a_callbacks); +extern int SRXAFSCB_Probe(struct rx_call *a_call); +extern int SRXAFSCB_InitCallBackState(struct rx_call *a_call); +extern int SRXAFSCB_XStatsVersion(struct rx_call *a_call, afs_int32 *a_versionP); +extern int SRXAFSCB_GetXStats(struct rx_call *a_call, afs_int32 a_clientVersionNum, + afs_int32 a_collectionNumber, afs_int32 *a_srvVersionNumP, + afs_int32 *a_timeP, AFSCB_CollData *a_dataP); +extern int afs_RXCallBackServer(void); +extern int shutdown_CB(void) ; +extern int SRXAFSCB_InitCallBackState2(struct rx_call *a_call, struct interfaceAddr *addr); +extern int SRXAFSCB_WhoAreYou(struct rx_call *a_call, struct interfaceAddr *addr); +extern int SRXAFSCB_InitCallBackState3(struct rx_call *a_call, afsUUID *a_uuid); +extern int SRXAFSCB_ProbeUuid(struct rx_call *a_call, afsUUID *a_uuid); +extern int SRXAFSCB_GetServerPrefs(struct rx_call *a_call, afs_int32 a_index, + afs_int32 *a_srvr_addr, afs_int32 *a_srvr_rank); +extern int SRXAFSCB_GetCellServDB(struct rx_call *a_call, afs_int32 a_index, + char **a_name, serverList *a_hosts); +extern int SRXAFSCB_GetLocalCell(struct rx_call *a_call, char **a_name); +extern int SRXAFSCB_GetCacheConfig(struct rx_call *a_call, afs_uint32 callerVersion, + afs_uint32 *serverVersion, afs_uint32 *configCount, cacheConfig *config); +extern int SRXAFSCB_FetchData(struct rx_call *rxcall, struct AFSFid *Fid, afs_int32 Fd, + afs_int64 Position, afs_int64 Length, afs_int64 *TotalLength); +extern int SRXAFSCB_StoreData(struct rx_call *rxcall, struct AFSFid *Fid, afs_int32 Fd, + afs_int64 Position, afs_int64 Length, afs_int64 *TotalLength); + + +/* afs_cbqueue.c */ +extern afs_rwlock_t afs_xcbhash; +extern void afs_QueueCallback(struct vcache *avc, unsigned int atime, struct volume *avp); +extern void afs_CheckCallbacks(unsigned int secs); +extern void afs_FlushCBs(void); +extern void afs_FlushServerCBs(struct server *srvp); +extern int afs_BumpBase(void); +extern void afs_InitCBQueue(int doLockInit); +extern void afs_DequeueCallback(struct vcache *avc); + +/* afs_cell.c */ +extern struct afs_q CellLRU; +extern afs_rwlock_t afs_xcell; +extern afs_int32 afs_cellindex; +extern afs_uint32 afs_nextCellNum; +extern int afs_strcasecmp(register char *s1, register char *s2); +extern afs_int32 afs_NewCell(char *acellName, register afs_int32 *acellHosts, int aflags, + char *linkedcname, u_short fsport, u_short vlport, int timeout, char *aliasFor); +extern struct cell *afs_GetCell(register afs_int32 acell, afs_int32 locktype); +extern struct cell *afs_GetCellByIndex(register afs_int32 cellindex, + afs_int32 locktype, afs_int32 refresh); +extern struct cell *afs_FindCellByName(register char *acellName, afs_int32 locktype); +extern struct cell *afs_GetCellByName_Dns(register char *acellName, afs_int32 locktype); +extern struct cell *afs_GetCellByName(register char *acellName, afs_int32 locktype); +extern struct cell *afs_GetCellNoLock(register afs_int32 acell, afs_int32 locktype); +extern void afs_StopAfsdb(void); +extern int afs_AfsdbHandler(char *acellName, int acellNameLen, afs_int32 *kernelMsg); +extern int afs_GetCellHostsFromDns(char *acellName, afs_int32 *acellHosts, + int *timeout, char **realName); +extern void afs_RefreshCell(register struct cell *ac); +extern void afs_RemoveCellEntry(struct server *srvp); + + +/* afs_chunk.c */ +extern afs_int32 afs_FirstCSize; +extern afs_int32 afs_OtherCSize; +extern afs_int32 afs_LogChunk; /* afs_cell.c */ extern struct cell *afs_GetRealCellByIndex(register afs_int32 cellindex, @@ -23,39 +185,316 @@ extern struct cell *afs_GetRealCellByIndex(register afs_int32 cellindex, afs_int32 refresh); /* afs_conn.c */ +extern afs_int32 cryptall; +extern afs_rwlock_t afs_xinterface; +extern afs_rwlock_t afs_xconn; +extern struct conn *afs_Conn(register struct VenusFid *afid, + register struct vrequest *areq, afs_int32 locktype); extern struct conn *afs_ConnBySA(struct srvAddr *sap, unsigned short aport, afs_int32 acell, struct unixuser *tu, int force_if_down, afs_int32 create, afs_int32 locktype); +extern struct conn *afs_ConnByMHosts(struct server *ahosts[], unsigned short aport, + afs_int32 acell, register struct vrequest *areq, afs_int32 locktype); +extern struct conn *afs_ConnByHost(struct server *aserver, unsigned short aport, + afs_int32 acell, struct vrequest *areq, int aforce, afs_int32 locktype); +extern void afs_PutConn(register struct conn *ac, afs_int32 locktype); +extern void ForceNewConnections(struct srvAddr *sap); + + +/* afs_daemons.c */ +extern afs_lock_t afs_xbrs; +extern short afs_brsWaiters; +extern short afs_brsDaemons; +extern struct brequest afs_brs[NBRS]; +extern struct afs_osi_WaitHandle AFS_WaitHandler, AFS_CSWaitHandler; +extern afs_int32 afs_gcpags; +extern afs_int32 afs_gcpags_procsize; +extern afs_int32 afs_CheckServerDaemonStarted; +extern afs_int32 PROBE_INTERVAL; + +extern void afs_Daemon(void); +extern struct brequest *afs_BQueue(register short aopcode, register struct vcache *avc, + afs_int32 dontwait, afs_int32 ause, struct AFS_UCRED *acred, + afs_size_t asparm0, afs_size_t asparm1, void *apparm0); +extern int afs_CheckServerDaemon(void); +extern int afs_CheckRootVolume (void); +extern void afs_BRelease(register struct brequest *ab); +extern int afs_BBusy(void); +extern int afs_BioDaemon (afs_int32 nbiods); +extern void afs_BackgroundDaemon(void); +extern void shutdown_daemons(void); +extern int afs_sgidaemon(void); + /* afs_dcache.c */ +extern u_int afs_min_cache; +extern afs_int32 *afs_dvhashTbl; +extern afs_int32 afs_dhashsize; +extern afs_rwlock_t afs_xdcache; +extern afs_size_t afs_vmMappingEnd; +extern afs_int32 afs_blocksUsed; +extern afs_int32 afs_blocksDiscarded; +extern int afs_WaitForCacheDrain; +extern int cacheDiskType; +extern unsigned char *afs_indexFlags; +extern struct afs_cacheOps *afs_cacheType; +extern ino_t cacheInode; +extern struct osi_file *afs_cacheInodep; extern void afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk, int aflags); +extern int afs_PutDCache(register struct dcache *adc); +extern void afs_FlushDCache(register struct dcache *adc); +extern void shutdown_dcache(void); +extern void afs_CacheTruncateDaemon(void); +extern afs_int32 afs_fsfragsize; +extern struct dcache *afs_MemGetDSlot(register afs_int32 aslot, register struct dcache *tmpdc); +extern struct dcache *afs_GetDCache(register struct vcache *avc, afs_size_t abyte, + register struct vrequest *areq, afs_size_t *aoffset, afs_size_t *alen, + int aflags); +extern struct dcache *afs_FindDCache(register struct vcache *avc, afs_size_t abyte); +extern void afs_StoreWarn(register afs_int32 acode, afs_int32 avolume, register afs_int32 aflags); +extern void afs_MaybeWakeupTruncateDaemon(void); +extern void afs_CacheTruncateDaemon(void); +extern void afs_AdjustSize(register struct dcache *adc, register afs_int32 newSize); +extern int afs_HashOutDCache(struct dcache *adc); +extern int afs_MaybeFreeDiscardedDCache(void); +extern int afs_RefDCache(struct dcache *adc); +extern void afs_TryToSmush(register struct vcache *avc, struct AFS_UCRED *acred, + int sync); +extern void updateV2DC(int lockVc, struct vcache *v, struct dcache *d, int src); +extern void afs_WriteThroughDSlots(void); +extern struct dcache *afs_UFSGetDSlot(register afs_int32 aslot, register struct dcache *tmpdc); +extern int afs_WriteDCache(register struct dcache *adc, int atime); +extern int afs_wakeup(register struct vcache *avc); +extern int afs_InitCacheFile(char *afile, ino_t ainode); + + +/* afs_dynroot.c */ +extern int afs_IsDynrootFid(struct VenusFid *fid); +extern void afs_GetDynrootFid(struct VenusFid *fid); +extern int afs_IsDynroot(struct vcache *avc); +extern void afs_RefreshDynroot(void); +extern void afs_GetDynroot(char **dynrootDir, int *dynrootLen, struct AFSFetchStatus *status); +extern void afs_PutDynroot(void); +extern int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status); +extern int afs_SetDynrootEnable(int enable); +extern int afs_GetDynrootEnable(void); +extern int afs_DynrootVOPRemove(struct vcache *avc, struct AFS_UCRED *acred, char *aname); +extern int afs_DynrootVOPSymlink(struct vcache *avc, struct AFS_UCRED *acred, + char *aname, char *atargetName); + +/* afs_exporter.c */ +extern struct afs_exporter *root_exported; +extern struct afs_exporter *exporter_find(int type); + +/* afs_init.c */ +extern struct cm_initparams cm_initParams; +extern int afs_resourceinit_flag; +extern afs_rwlock_t afs_puttofileLock; +extern char *afs_sysname; +extern char *afs_sysnamelist[MAXNUMSYSNAMES]; +extern int afs_sysnamecount; +extern afs_int32 cacheInfoModTime; +extern int afs_CacheInit(afs_int32 astatSize, afs_int32 afiles, afs_int32 + ablocks, afs_int32 aDentries, afs_int32 aVolumes, afs_int32 achunk, + afs_int32 aflags, afs_int32 ninodes, afs_int32 nusers); +extern void afs_ComputeCacheParms(void); +extern int afs_InitCacheInfo(register char *afile); +extern int afs_ResourceInit(int preallocs); +extern void shutdown_cache(void); +extern void shutdown_vnodeops(void); +extern void shutdown_AFS(void); + +/* afs_lock.c */ +extern void Lock_Init(register struct afs_lock *lock); +extern void ObtainLock(register struct afs_lock *lock, int how, + unsigned int src_indicator); +extern void ReleaseLock(register struct afs_lock *lock, int how); +extern int Afs_Lock_Trace(int op, struct afs_lock *alock, int type, char *file, int line); +extern void Afs_Lock_Obtain(register struct afs_lock *lock, int how); +extern void Afs_Lock_ReleaseR(register struct afs_lock *lock); +extern void Afs_Lock_ReleaseW(register struct afs_lock *lock); +extern void afs_osi_SleepR(register char *addr, register struct afs_lock *alock); +extern void afs_osi_SleepW(register char *addr, register struct afs_lock *alock); +extern void afs_osi_SleepS(register char *addr, register struct afs_lock *alock); +#ifndef AFS_NOBOZO_LOCK +extern void afs_BozonLock(struct afs_bozoLock *alock, struct vcache *avc); +extern void afs_BozonUnlock(struct afs_bozoLock *alock, struct vcache *avc); +extern void afs_BozonInit(struct afs_bozoLock *alock, struct vcache *avc); +extern int afs_CheckBozonLock(struct afs_bozoLock *alock); +extern int afs_CheckBozonLockBlocking(struct afs_bozoLock *alock); +#endif + + + + +/* afs_mariner.c */ +extern afs_int32 afs_mariner; +extern afs_int32 afs_marinerHost; +extern struct rx_service *afs_server; +extern int afs_AddMarinerName(register char *aname, register struct vcache *avc); +extern char *afs_GetMariner(register struct vcache *avc); +extern void afs_MarinerLogFetch(register struct vcache *avc, register afs_int32 off, + register afs_int32 bytes, register afs_int32 idx); +extern void afs_MarinerLog(register char *astring, register struct vcache *avc); +extern void shutdown_mariner(void); + /* afs_memcache.c */ extern void *afs_MemCacheOpen(ino_t blkno); +extern int afs_InitMemCache(int size, int blkSize, int flags); +extern int afs_MemCacheClose(char *file); +extern void *afs_MemCacheOpen(ino_t blkno); +extern int afs_MemReadBlk(register struct memCacheEntry *mceP, int offset, char *dest, int size); +extern int afs_MemReadvBlk(register struct memCacheEntry *mceP, int offset, struct iovec *iov, int nio, int size); +extern int afs_MemReadUIO(ino_t blkno, struct uio *uioP); +extern int afs_MemWriteBlk(register struct memCacheEntry *mceP, int offset, char *src, int size); +extern int afs_MemWritevBlk(register struct memCacheEntry *mceP, int offset, struct iovec *iov, int nio, int size); +extern int afs_MemWriteUIO(ino_t blkno, struct uio *uioP); +extern int afs_MemCacheTruncate(register struct memCacheEntry *mceP, int size); +extern int afs_MemCacheStoreProc(register struct rx_call *acall, register struct memCacheEntry *mceP, + register afs_int32 alen, struct vcache *avc, int *shouldWake, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 length); +extern int afs_MemCacheFetchProc(register struct rx_call *acall, register struct memCacheEntry *mceP, + afs_size_t abase, struct dcache *adc, struct vcache *avc, afs_size_t *abytesToXferP, + afs_size_t *abytesXferredP, afs_int32 lengthFound); +extern void shutdown_memcache(void); + + +/* afs_nfsclnt.c */ +extern struct afs_exporter *afs_nfsexported; +extern struct afs_exporter *afs_nfsexporter; /* afs_osi.c */ -#if AFS_GCPAGS -extern const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *pr); +extern void afs_osi_Invisible(void); +extern void afs_osi_RxkRegister(void); +extern void afs_osi_MaskSignals(void); +extern void afs_osi_UnmaskRxkSignals(void); +extern void *afs_osi_Alloc(size_t x); +extern void *afs_osi_Alloc_NoSleep(size_t x); +extern void osi_Init(void); +extern int osi_Active(register struct vcache *avc); +extern void osi_FlushPages(register struct vcache *avc, struct AFS_UCRED *credp); +extern void osi_FlushText_really(register struct vcache *vp); +extern void afs_osi_MaskSignals(void); +extern void afs_osi_UnmaskRxkSignals(void); +extern void afs_osi_RxkRegister(void); +extern void afs_osi_Invisible(void); +extern int osi_VMDirty_p(struct vcache *avc); +#ifndef UKERNEL +extern void osi_ReleaseVM(struct vcache *avc, struct AFS_UCRED *acred); +#endif +extern void shutdown_osi(void); +extern int afs_osi_suser(void *credp); extern void afs_osi_TraverseProcTable(void); -#endif /* AFS_GCPAGS */ +#if defined(KERNEL) && !defined(UKERNEL) && defined(AFS_PROC) +extern const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *pr); +#endif /* afs_osi_pag.c */ extern afs_uint32 genpag(void); extern afs_uint32 getpag(void); -#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) -extern int AddPag(struct proc *p, afs_int32 aval, struct AFS_UCRED **credpp); -#else /* AFS_OSF_ENV || AFS_FBSD_ENV */ -extern int AddPag(afs_int32 aval, struct AFS_UCRED **credpp); -#endif -extern afs_uint32 afs_get_pag_from_groups(gid_t g0, gid_t g1); +extern int afs_InitReq(register struct vrequest *av, struct AFS_UCRED *acred); +extern afs_uint32 afs_get_pag_from_groups(gid_t g0a, gid_t g1a); extern void afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p); extern afs_int32 PagInCred(const struct AFS_UCRED *cred); -/* OS/osi_sleep.c */ +/* afs_osi.c */ +extern afs_lock_t afs_ftf; +extern void afs_osi_Free(void *x, size_t asize); + +/* afs_osi_alloc.c */ +extern afs_int32 afs_preallocs; +extern afs_lock_t osi_fsplock; +extern afs_lock_t osi_flplock; +extern void osi_FreeLargeSpace(void *adata); +extern void osi_FreeMediumSpace(void *adata); +extern void osi_FreeSmallSpace(void *adata); +extern void *osi_AllocLargeSpace(size_t size); +extern void *osi_AllocMediumSpace(size_t size); +extern void *osi_AllocSmallSpace(size_t size); +#ifndef osi_AllocSmall +extern char *osi_AllocSmall(register afs_int32 size, register afs_int32 morespace); +#endif + + + +/* ARCH/osi_misc.c */ +extern void osi_iput(struct inode *ip); + +/* LINUX/osi_misc.c */ +#if AFS_LINUX24_ENV +extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink, + vnode_t **dirvpp, struct dentry **dpp); +extern int osi_InitCacheInfo(char *aname); +extern int osi_rdwr(int rw, struct osi_file *file, caddr_t addrp, size_t asize, + size_t *resid); +extern int osi_file_uio_rdwr(struct osi_file *osifile, uio_t *uiop, int rw); +extern void setup_uio(uio_t *uiop, struct iovec *iovecp, char *buf, + afs_offs_t pos, int count, uio_flag_t flag, + uio_seg_t seg); +extern int uiomove(char *dp, int length, uio_flag_t rw, uio_t *uiop); +extern void afs_osi_SetTime(osi_timeval_t *tvp); +extern void osi_linux_free_inode_pages(void); +extern void osi_clear_inode(struct inode *ip); +extern void check_bad_parent(struct dentry *dp); +#endif +extern void osi_linux_mask(void); +extern void osi_linux_unmask(void); +extern void osi_linux_rxkreg(void); + + +/* ARCH/osi_sleep.c */ extern void afs_osi_InitWaitHandle(struct afs_osi_WaitHandle *achandle); extern void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle); extern int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok); +#ifndef afs_osi_Wakeup +extern void afs_osi_Wakeup(void *event); +#endif +#ifndef afs_osi_Sleep +extern void afs_osi_Sleep(void *event); +#endif +#ifndef afs_osi_SleepSig +extern int afs_osi_SleepSig(void *event); +#endif + +/* ARCH/osi_file.c */ +extern int afs_osicred_initialized; +#if defined(AFS_SUN57_64BIT_ENV) +extern void *osi_UFSOpen(ino_t ainode); +#else +extern void *osi_UFSOpen(afs_int32 ainode); +#endif +extern int afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat); +extern int osi_UFSClose(register struct osi_file *afile); +extern int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize); +extern void osi_DisableAtimes(struct vnode *avp); +extern int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize); +extern int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize); +extern int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp); +extern void shutdown_osifile(void); + + +/* ARCH/osi_vm.c */ +extern int osi_VM_FlushVCache(struct vcache *avc, int *slept); +extern void osi_VM_StoreAllSegments(struct vcache *avc); +extern void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, + int sync); +extern void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp); +extern void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred); +extern void osi_VM_TryReclaim(struct vcache *avc, int *slept); +extern void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size); +extern int osi_VM_Setup(struct vcache *avc); + +#ifdef AFS_SUN5_ENV +extern int osi_VM_GetDownD(struct vcache *avc, struct dcache *adc); +extern void osi_VM_PreTruncate(struct vcache *avc, int alen, struct AFS_UCRED *acred); +#endif + + +/* ARCH/osi_vnodeops.c */ +extern struct vnodeops Afs_vnodeops; + /* afs_osifile.c */ #ifdef AFS_SGI62_ENV @@ -64,7 +503,37 @@ extern void *osi_UFSOpen(ino_t); extern void *osi_UFSOpen(); #endif +/* afs_osi_pag.c */ +extern afs_uint32 pag_epoch; +extern afs_uint32 pagCounter; + +/* OS/osi_vfsops.c */ +extern struct vfs *afs_globalVFS; +extern struct vcache *afs_globalVp; +extern void vcache2inode(struct vcache *avc); + +/* afs_pioctl.c */ +extern struct VenusFid afs_rootFid; +extern afs_int32 afs_waitForever; +extern short afs_waitForeverCount; +extern afs_int32 afs_showflags; +extern int afs_defaultAsynchrony; + +/* afs_segments.c */ +extern int afs_StoreMini(register struct vcache *avc, struct vrequest *areq); +extern int afs_StoreAllSegments(register struct vcache *avc, struct vrequest *areq, + int sync); +extern int afs_InvalidateAllSegments(struct vcache *avc); +extern int afs_TruncateAllSegments(register struct vcache *avc, afs_size_t alen, + struct vrequest *areq, struct AFS_UCRED *acred); + /* afs_server.c */ +extern afs_rwlock_t afs_xsrvAddr; +extern afs_rwlock_t afs_xserver; +extern struct srvAddr *afs_srvAddrs[NSERVERS]; +extern struct server *afs_servers[NSERVERS]; +extern int afs_totalServers; +extern struct server *afs_setTimeHost; extern struct server *afs_FindServer (afs_int32 aserver, ushort aport, afsUUID *uuidp, afs_int32 locktype); extern struct server *afs_GetServer(afs_uint32 *aserver, afs_int32 nservers, @@ -73,14 +542,78 @@ extern struct server *afs_GetServer(afs_uint32 *aserver, afs_int32 nservers, afs_int32 addr_uniquifier); extern void afs_MarkServerUpOrDown(struct srvAddr *sa, int a_isDown); extern void afs_ServerDown(struct srvAddr *sa); +extern void afs_CountServers(void); +extern void afs_CheckServers(int adown, struct cell *acellp); +extern unsigned int afs_random(void); +extern int afs_randomMod15(void); +extern int afs_randomMod127(void); +extern void afs_SortOneServer(struct server *asp); +extern void afs_SortServers(struct server *aservers[], int count); +extern void afs_FlushServer(struct server *srvp); +extern void afs_RemoveSrvAddr(struct srvAddr *sap); +extern void afs_ActivateServer(struct srvAddr *sap); +#ifdef AFS_USERSPACE_IP_ADDR +extern int afsi_SetServerIPRank(struct srvAddr *sa, afs_int32 addr, afs_uint32 subnetmask); +#else +#if (!defined(AFS_SUN5_ENV)) && defined(USEIFADDR) +void afsi_SetServerIPRank(struct srvAddr *sa, struct in_ifaddr *ifa); +#endif +#endif + + + +/* afs_osidnlc.c */ +extern int osi_dnlc_enter(struct vcache *adp, char *aname, struct vcache *avc, afs_hyper_t *avno); +extern struct vcache *osi_dnlc_lookup(struct vcache *adp, char *aname, int locktype); +extern int osi_dnlc_remove(struct vcache *adp, char *aname, struct vcache *avc ); +extern int osi_dnlc_purgedp(struct vcache *adp); +extern int osi_dnlc_purgevp(struct vcache *avc); +extern int osi_dnlc_purge(void); +extern int osi_dnlc_purgevol(struct VenusFid *fidp); +extern int osi_dnlc_init(void); +extern int osi_dnlc_shutdown(void); + + +/* afs_stat.c */ +extern struct afs_CMStats afs_cmstats; +extern struct afs_stats_CMPerf afs_stats_cmperf; +extern struct afs_stats_CMFullPerf afs_stats_cmfullperf; +afs_int32 afs_stats_XferSumBytes[AFS_STATS_NUM_FS_XFER_OPS]; +extern void afs_InitStats(void); +extern int afs_GetCMStat(char **ptr, unsigned *size); +#ifndef AFS_NOSTATS +extern int afs_AddToMean(struct afs_MeanStats *oldMean, afs_int32 newValue); +#endif + + +/* UKERNEL/afs_usrops.c */ +#ifdef UKERNEL +extern void uafs_Shutdown(void); +extern void osi_ReleaseVM(struct vcache *avc, int len, struct usr_ucred *credp); +extern int osi_GetTime(struct timeval *tv); +#endif + + /* afs_user.c */ +extern afs_rwlock_t afs_xuser; +extern struct unixuser *afs_users[NUSERS]; extern struct unixuser *afs_FindUser(afs_int32 auid, afs_int32 acell, afs_int32 locktype); +extern struct unixuser *afs_GetUser(register afs_int32 auid, + afs_int32 acell, afs_int32 locktype); #if AFS_GCPAGS extern afs_int32 afs_GCPAGs(afs_int32 *ReleasedCount); extern void afs_GCPAGs_perproc_func(AFS_PROC *pproc); #endif /* AFS_GCPAGS */ +extern void afs_ComputePAGStats(void); +extern void afs_PutUser(register struct unixuser *au, afs_int32 locktype); +extern void afs_GCUserData(int aforce); +extern void afs_CheckTokenCache(void); +extern void afs_ResetAccessCache(afs_int32 uid, int alock); +extern void afs_ResetUserConns (register struct unixuser *auser); +extern void afs_SetPrimary(register struct unixuser *au, register int aflag); + /* afs_util.c */ extern char *afs_cv2string(char *ttp, afs_uint32 aval); @@ -88,34 +621,189 @@ extern void print_internet_address(char *preamble, struct srvAddr *sa, char *postamble, int flag); extern afs_int32 afs_data_pointer_to_int32(const void *p); +#if 0 /* problems - need to change to varargs, right now is incorrect usage + throughout code */ +extern void afs_warn(char *a, long b, long c, long d, long e, long f, long g, + long h, long i, long j); +extern void afs_warnuser(char *a, long b, long c, long d, long e, long f, + long g, long h, long i, long j); +#else +extern void afs_warn(); +extern void afs_warnuser(); +#endif +extern void afs_CheckLocks(void); +extern int afs_badop(void); +extern int afs_noop(void); +extern afs_int32 afs_data_pointer_to_int32(const void *p); + + /* afs_vcache.c */ +extern afs_int32 afs_maxvcount; +extern afs_int32 afs_vcount; +extern int afsvnumbers; +extern afs_rwlock_t afs_xvcache; +extern afs_lock_t afs_xvcb; +extern struct vcache *freeVCList; +extern struct vcache *Initial_freeVCList; +extern struct afs_q VLRU; +extern afs_int32 vcachegen; +extern unsigned int afs_paniconwarn; +extern struct vcache *afs_vhashT[VCSIZE]; +extern afs_int32 afs_bulkStatsLost; +extern int afs_norefpanic; + void afs_vcacheInit(int astatSize); -extern struct vcache *afs_FindVCache(struct VenusFid *afid, afs_int32 lockit, - afs_int32 locktype, afs_int32 *retry, afs_int32 flag); +extern struct vcache *afs_FindVCache(struct VenusFid *afid, afs_int32 *retry, afs_int32 flag); extern afs_int32 afs_FetchStatus(struct vcache *avc, struct VenusFid *afid, struct vrequest *areq, struct AFSFetchStatus *Outsp); extern afs_int32 afs_FlushVCBs(afs_int32 lockit); extern void afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred); -extern struct vcache *afs_LookupVCache(struct VenusFid *afid, - struct vrequest *areq, - afs_int32 *cached, afs_int32 locktype, - struct vcache *adp, char *aname); +extern struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, + afs_int32 *cached, struct vcache *adp, char *aname); extern int afs_FlushVCache(struct vcache *avc, int *slept); extern struct vcache *afs_GetRootVCache(struct VenusFid *afid, struct vrequest *areq, afs_int32 *cached, - struct volume *tvolp, afs_int32 locktype); + struct volume *tvolp); extern struct vcache *afs_NewVCache(struct VenusFid *afid, - struct server *serverp, - afs_int32 lockit, afs_int32 locktype); + struct server *serverp); extern int afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq); +extern struct vcache *afs_GetVCache(register struct VenusFid *afid, struct vrequest *areq, + afs_int32 *cached, struct vcache *avc); +extern void afs_PutVCache(register struct vcache *avc); +extern void afs_ProcessFS(register struct vcache *avc, register struct AFSFetchStatus *astat, + struct vrequest *areq); +extern struct afs_cbr *afs_AllocCBR(void); +extern int afs_FreeCBR(register struct afs_cbr *asp); +extern int afs_RemoveVCB(register struct VenusFid *afid); +extern void afs_FlushActiveVcaches(register afs_int32 doflocks); +extern int afs_WriteVCache(register struct vcache *avc, + register struct AFSStoreStatus *astatus, struct vrequest *areq); +extern int afs_RemoteLookup(register struct VenusFid *afid, struct vrequest *areq, + char *name, struct VenusFid *nfid, struct AFSFetchStatus *OutStatusp, + struct AFSCallBack *CallBackp, struct server **serverp, struct AFSVolSync *tsyncp); +extern afs_int32 afs_NFSFindVCache(struct vcache **avcp, struct VenusFid *afid); +extern void afs_vcacheInit(int astatSize); +extern void shutdown_vcache(void); + + +/* VNOPS/afs_vnop_access.c */ +extern afs_int32 afs_GetAccessBits(register struct vcache *avc, register afs_int32 arights, + register struct vrequest *areq); +extern int afs_AccessOK(struct vcache *avc, afs_int32 arights, struct vrequest *areq, + afs_int32 check_mode_bits); +#if defined(AFS_SUN5_ENV) || (defined(AFS_SGI_ENV) && !defined(AFS_SGI65_ENV)) +extern int afs_access(OSI_VC_DECL(avc), register afs_int32 amode, int flags, struct AFS_UCRED *acred); +#else +extern int afs_access(OSI_VC_DECL(avc), register afs_int32 amode, struct AFS_UCRED *acred); +#endif +extern int afs_getRights(OSI_VC_DECL(avc), register afs_int32 arights, struct AFS_UCRED *acred); + +/* VNOPS/afs_vnop_attrs.c */ +extern int afs_CopyOutAttrs(register struct vcache *avc, register struct vattr *attrs); +#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +extern int afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, int flags, struct AFS_UCRED *acred); +#else +extern int afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, struct AFS_UCRED *acred); +#endif +extern int afs_VAttrToAS(register struct vcache *avc, register struct vattr *av, + register struct AFSStoreStatus *as); +#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +extern int afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, int flags, struct AFS_UCRED *acred); +#else +extern int afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, struct AFS_UCRED *acred); +#endif + +/* VNOPS/afs_vnop_create.c */ +#ifdef AFS_OSF_ENV +extern int afs_create(struct nameidata *ndp, struct vattr *attrs); +#else /* AFS_OSF_ENV */ +#ifdef AFS_SGI64_ENV +extern int afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, int flags, + int amode, struct vcache **avcp, struct AFS_UCRED *acred); +#else /* AFS_SGI64_ENV */ +extern int afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, enum vcexcl aexcl, + int amode, struct vcache **avcp, struct AFS_UCRED *acred); +#endif /* AFS_SGI64_ENV */ +#endif /* AFS_OSF_ENV */ +extern int afs_LocalHero(register struct vcache *avc, register struct dcache *adc, + register AFSFetchStatus *astat, register int aincr); + + +/* VNOPS/afs_vnop_flock.c */ +extern void lockIdSet(struct AFS_FLOCK *flock, struct SimpleLocks *slp, int clid); +extern int HandleFlock(register struct vcache *avc, int acom, + struct vrequest *areq, pid_t clid, int onlymine); + + + +/* VNOPS/afs_vnop_lookup.c */ +extern char *afs_strcat(register char *s1, register char *s2); +extern char *afs_index(register char *a, register char c); +extern int EvalMountPoint(register struct vcache *avc, struct vcache *advc, + struct volume **avolpp, register struct vrequest *areq); +extern void afs_InitFakeStat(struct afs_fakestat_state *state); +extern int afs_EvalFakeStat(struct vcache **avcp, struct afs_fakestat_state *state, + struct vrequest *areq); +extern int afs_TryEvalFakeStat(struct vcache **avcp, struct afs_fakestat_state *state, + struct vrequest *areq); +extern void afs_PutFakeStat(struct afs_fakestat_state *state); +extern int afs_ENameOK(register char *aname); +extern int afs_getsysname(register struct vrequest *areq, register struct vcache *adp, + register char *bufp); +extern int Check_AtSys(register struct vcache *avc, const char *aname, + struct sysname_info *state, struct vrequest *areq); +extern int Next_AtSys(register struct vcache *avc, struct vrequest *areq, + struct sysname_info *state); +extern int afs_DoBulkStat(struct vcache *adp, long dirCookie, struct vrequest *areqp); + + + +/* VNOPS/afs_vnop_read.c */ +extern afs_int32 maxIHint; +extern afs_int32 nihints; +extern afs_int32 usedihint; +extern int afs_MemRead(register struct vcache *avc, struct uio *auio, struct AFS_UCRED *acred, + daddr_t albn, struct buf **abpp, int noLock); +/* VNOPS/afs_vnop_readdir.c */ +extern int afs_rd_stash_i; + +/* VNOPS/afs_vnop_remove.c */ +extern int afsremove(register struct vcache *adp, register struct dcache *tdc, + register struct vcache *tvc, char *aname, struct AFS_UCRED *acred, + struct vrequest *treqp); +extern int afs_remunlink(register struct vcache *avc, register int doit); + + +/* VNOPS/afs_vnop_symlink.c */ +extern int afs_MemHandleLink(register struct vcache *avc, struct vrequest *areq); + +/* VNOPS/afs_vnop_flock.c */ +extern afs_int32 lastWarnTime; + +/* VNOPS/afs_vnop_write.c */ +extern int afs_MemWrite(register struct vcache *avc, struct uio *auio, int aio, + struct AFS_UCRED *acred, int noLock); +extern int afs_StoreOnLastReference(register struct vcache *avc, register struct vrequest *treq); +extern int afs_UFSWrite(register struct vcache *avc, struct uio *auio, + int aio, struct AFS_UCRED *acred, int noLock); +extern int afs_DoPartialWrite(register struct vcache *avc, struct vrequest *areq); +extern int afs_closex(register struct file *afd); + /* afs_volume.c */ +extern afs_int32 afs_FVIndex; +extern afs_int32 afs_volCounter; +extern afs_rwlock_t afs_xvolume; +extern struct volume *afs_volumes[NVOLS]; +extern ino_t volumeInode; extern struct volume *afs_FindVolume(struct VenusFid *afid, afs_int32 locktype); +extern struct volume *afs_freeVolList; +extern afs_int32 fvTable[NFENTRIES]; extern void InstallVolumeEntry(struct volume *av, struct vldbentry *ve, int acell); extern void InstallNVolumeEntry(struct volume *av, struct nvldbentry *ve, @@ -123,11 +811,38 @@ extern void InstallNVolumeEntry(struct volume *av, struct nvldbentry *ve, extern void InstallUVolumeEntry(struct volume *av, struct uvldbentry *ve, int acell, struct cell *tcell, struct vrequest *areq); extern void afs_ResetVolumeInfo(struct volume *tv); +extern struct volume *afs_MemGetVolSlot(void); +extern void afs_ResetVolumes(struct server *srvp); +extern struct volume *afs_GetVolume(struct VenusFid *afid, struct vrequest *areq, + afs_int32 locktype); +extern struct volume *afs_GetVolumeByName(register char *aname, afs_int32 acell, + int agood, struct vrequest *areq, afs_int32 locktype); + +extern struct volume *afs_UFSGetVolSlot(void); +extern void afs_CheckVolumeNames(int flags); + + +/* Prototypes for generated files that aren't really in src/afs/ */ + +/* afs_uuid.c */ +extern afs_int32 afs_uuid_equal(afsUUID *u1, afsUUID *u2); +extern afs_int32 afs_uuid_is_nil(afsUUID *u1); +extern void afs_htonuuid(afsUUID *uuidp); +extern void afs_ntohuuid(afsUUID *uuidp); +extern afs_int32 afs_uuid_create (afsUUID *uuid); +extern u_short afs_uuid_hash (afsUUID *uuid); + + +/* MISC PROTOTYPES - THESE SHOULD NOT BE HERE */ +/* MOVE THEM TO APPROPRIATE LOCATIONS */ +extern int RXAFSCB_ExecuteRequest(); +extern int RXSTATS_ExecuteRequest(); + + #if defined(AFS_SUN5_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) #include "../afs/osi_prototypes.h" #endif - #endif /* _AFS_PROTOTYPES_H_ */ diff --git a/src/afs/afs_segments.c b/src/afs/afs_segments.c index ce95a08..8c1f978 100644 --- a/src/afs/afs_segments.c +++ b/src/afs/afs_segments.c @@ -21,19 +21,6 @@ RCSID("$Header$"); #include "../afs/afs_cbqueue.h" #include "../afs/afs_osidnlc.h" - - -/* Imported variables */ -extern afs_rwlock_t afs_xserver; -extern afs_rwlock_t afs_xdcache; -extern afs_rwlock_t afs_xcbhash; -extern afs_lock_t afs_ftf; -extern struct server *afs_servers[NSERVERS]; -extern afs_int32 afs_dhashsize; -extern afs_int32 *afs_dvhashTbl; -extern unsigned char *afs_indexFlags; /*(only one) Is there data there?*/ -extern int cacheDiskType; - afs_uint32 afs_stampValue=0; /* @@ -49,11 +36,8 @@ afs_uint32 afs_stampValue=0; * We're write-locked upon entry. */ -int afs_StoreMini(avc, areq) - register struct vcache *avc; - struct vrequest *areq; - -{ /*afs_StoreMini*/ +int afs_StoreMini(register struct vcache *avc, struct vrequest *areq) +{ register struct conn *tc; struct AFSStoreStatus InStatus; struct AFSFetchStatus OutStatus; @@ -132,7 +116,7 @@ retry: } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_STOREDATA, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (code == 0) { afs_ProcessFS(avc, &OutStatus, areq); @@ -168,12 +152,9 @@ int NCHUNKSATONCE = 64 ; int afs_dvhack=0; -afs_StoreAllSegments(avc, areq, sync) - register struct vcache *avc; - struct vrequest *areq; - int sync; - -{ /*afs_StoreAllSegments*/ +int afs_StoreAllSegments(register struct vcache *avc, struct vrequest *areq, + int sync) +{ register struct dcache *tdc; register afs_int32 code=0; register afs_int32 index; @@ -181,7 +162,7 @@ afs_StoreAllSegments(avc, areq, sync) int hash, stored; afs_hyper_t newDV, oldDV; /* DV when we start, and finish, respectively */ struct dcache **dcList, **dclist; - unsigned int i, j, minj, maxj, moredata, high, off; + unsigned int i, j, minj, moredata, high, off; afs_size_t tlen; afs_size_t maxStoredLength; /* highest offset we've written to server. */ int safety; @@ -309,7 +290,9 @@ afs_StoreAllSegments(avc, areq, sync) /* "moredata" just says "there are more dirty chunks yet to come". */ if (j) { +#ifdef AFS_NOSTATS static afs_uint32 lp1 = 10000, lp2 = 10000; +#endif struct AFSStoreStatus InStatus; struct AFSFetchStatus OutStatus; int doProcessFS = 0; @@ -321,7 +304,6 @@ afs_StoreAllSegments(avc, areq, sync) struct conn * tc; struct osi_file * tfile; struct rx_call * tcall; - extern int afs_defaultAsynchrony; XSTATS_DECLS for (bytes = 0, j = 0; !code && j<=high; j++) { @@ -372,7 +354,7 @@ afs_StoreAllSegments(avc, areq, sync) do { stored = 0; - tc = afs_Conn(&avc->fid, areq); + tc = afs_Conn(&avc->fid, areq, 0); if (tc) { restart: RX_AFS_GUNLOCK(); @@ -504,7 +486,7 @@ restart: #endif /* AFS_64BIT_CLIENT */ if ((tdc->f.chunkBytes < afs_OtherCSize) && (i < (nchunks-1))) { - int bsent, tlen, tlen1=0, sbytes = afs_OtherCSize - tdc->f.chunkBytes; + int bsent, tlen, sbytes = afs_OtherCSize - tdc->f.chunkBytes; char *tbuffer = osi_AllocLargeSpace(AFS_LRALLOCSIZ); while (sbytes > 0) { @@ -542,12 +524,12 @@ restart: } if (tcall) { RX_AFS_GUNLOCK(); - code = rx_EndCall(tcall, code, avc, base); + code = rx_EndCall(tcall, code); RX_AFS_GLOCK(); } } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_STOREDATA, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); /* put back all remaining locked dcache entries */ for (i=0; ivlock); #endif return 0; - -} /*afs_TruncateAllSegments*/ - - +} diff --git a/src/afs/afs_server.c b/src/afs/afs_server.c index 7ba2f13..0723773 100644 --- a/src/afs/afs_server.c +++ b/src/afs/afs_server.c @@ -65,12 +65,6 @@ RCSID("$Header$"); #include #endif -/* Imported variables */ -extern afs_int32 afs_setTime; -extern afs_int32 afs_waitForever; -extern short afs_waitForeverCount; - - /* Exported variables */ afs_rwlock_t afs_xserver; /* allocation lock for servers */ struct server *afs_setTimeHost=0; /* last host we used for time */ @@ -250,9 +244,7 @@ void afs_ServerDown(struct srvAddr *sa) /* return true if we have any callback promises from this server */ -static HaveCallBacksFrom(aserver) - struct server *aserver; - +static int HaveCallBacksFrom(struct server *aserver) { register afs_int32 now; register int i; @@ -276,9 +268,7 @@ static HaveCallBacksFrom(aserver) } /*HaveCallBacksFrom*/ -static void CheckVLServer(sa, areq) - struct vrequest *areq; - register struct srvAddr *sa; +static void CheckVLServer(register struct srvAddr *sa, struct vrequest *areq) { register struct server *aserver = sa->server; register struct conn *tc; @@ -348,10 +338,8 @@ static void CheckVLServer(sa, areq) * entries. *------------------------------------------------------------------------*/ -void afs_CountServers() - -{ /*afs_CountServers*/ - +void afs_CountServers(void) +{ int currIdx; /*Curr idx into srv table*/ struct server *currSrvP; /*Ptr to curr server record*/ afs_int32 currChainLen; /*Length of curr hash chain*/ @@ -491,10 +479,7 @@ void afs_CountServers() /* check down servers (if adown), or running servers (if !adown) */ -void afs_CheckServers(adown, acellp) - struct cell *acellp; - int adown; - +void afs_CheckServers(int adown, struct cell *acellp) { struct vrequest treq; struct server *ts; @@ -512,7 +497,7 @@ void afs_CheckServers(adown, acellp) XSTATS_DECLS; AFS_STATCNT(afs_CheckServers); - if (code = afs_InitReq(&treq, &afs_osi_cred)) return; + if ((code = afs_InitReq(&treq, &afs_osi_cred))) return; ObtainReadLock(&afs_xserver); /* Necessary? */ ObtainReadLock(&afs_xsrvAddr); @@ -579,7 +564,7 @@ void afs_CheckServers(adown, acellp) XSTATS_START_TIME(AFS_STATS_FS_RPCIDX_GETTIME); start = osi_Time(); /* time the gettimeofday call */ RX_AFS_GUNLOCK(); - code = RXAFS_GetTime(tc->id, &tv.tv_sec, &tv.tv_usec); + code = RXAFS_GetTime(tc->id, (afs_int32 *)&tv.tv_sec, (afs_int32 *)&tv.tv_usec); RX_AFS_GLOCK(); end = osi_Time(); XSTATS_END_TIME; @@ -687,7 +672,7 @@ struct server *afs_FindServer (afs_int32 aserver, ushort aport, } } } - return (struct server *)0; + return NULL; } /*afs_FindServer*/ @@ -721,10 +706,8 @@ NB: Has to be unsigned, since shifts on signed quantities may preserve */ #define ranstage(x) (x)= (afs_uint32) (3141592621U*((afs_uint32)x)+1) -extern afs_int32 rxi_getaddr(); - -unsigned int afs_random() +unsigned int afs_random(void) { static afs_int32 state = 0; register int i; @@ -755,7 +738,7 @@ unsigned int afs_random() need to multiply by something with lots of ones in it, so multiply by 8 or 16 is right out. */ -int afs_randomMod15() +int afs_randomMod15(void) { afs_uint32 temp; @@ -765,7 +748,7 @@ temp = (temp *15) >> 28; return temp; } -int afs_randomMod127() +int afs_randomMod127(void) { afs_uint32 temp; @@ -784,7 +767,7 @@ void afs_SortOneServer(struct server *asp) int lowrank, rank; for (rootsa=&(asp->addr); *rootsa; rootsa=&(lowsa->next_sa)) { - lowprev = (struct srvAddr *)0; + lowprev = NULL; lowsa = *rootsa; /* lowest sa is the first one */ lowrank = lowsa->sa_iprank; @@ -997,11 +980,13 @@ typedef struct ill_s { /**/ * passed into the kernel at startup time through the AFSOP_ADVISEADDR * system call. These are stored in the data structure * called 'afs_cb_interface'. + * + * struct srvAddr *sa; remote server + * afs_int32 addr; one of my local addr in net order + * afs_uint32 subnetmask; subnet mask of local addr in net order + * */ -afsi_SetServerIPRank(sa, addr, subnetmask) - struct srvAddr *sa; /* remote server */ - afs_int32 addr; /* one of my local addr in net order */ - afs_uint32 subnetmask; /* subnet mask of local addr in net order */ +int afsi_SetServerIPRank(struct srvAddr *sa, afs_int32 addr, afs_uint32 subnetmask) { afs_uint32 myAddr, myNet, mySubnet, netMask; afs_uint32 serverAddr ; @@ -1032,10 +1017,7 @@ afsi_SetServerIPRank(sa, addr, subnetmask) } #else /* AFS_USERSPACE_IP_ADDR */ #if (! defined(AFS_SUN5_ENV)) && defined(USEIFADDR) -void -afsi_SetServerIPRank(sa, ifa) - struct srvAddr *sa; - struct in_ifaddr *ifa; +void afsi_SetServerIPRank(struct srvAddr *sa, struct in_ifaddr *ifa) { struct sockaddr_in *sin; int t; @@ -1082,11 +1064,9 @@ afsi_enum_set_rank(struct hashbucket *h, caddr_t mkey, caddr_t arg1, } #endif /* AFS_SGI62_ENV */ -static afs_SetServerPrefs(sa) - struct srvAddr *sa; +static int afs_SetServerPrefs(struct srvAddr *sa) { #if defined(AFS_USERSPACE_IP_ADDR) - extern interfaceAddr afs_cb_interface; int i; sa->sa_iprank = LO; @@ -1101,7 +1081,6 @@ static afs_SetServerPrefs(sa) ipif_t * ipif; int subnet, subnetmask, net, netmask; long *addr = (long *) ill_g_headp; - extern struct ifnet *rxi_FindIfnet(); if (sa) sa->sa_iprank= 0; for (ill = (struct ill_s *)*addr /*ill_g_headp*/; ill; ill = ill->ill_next ) { @@ -1164,7 +1143,7 @@ static afs_SetServerPrefs(sa) } #else #ifndef USEIFADDR - struct ifnet *ifn = (struct ifnet *)0; + struct ifnet *ifn = NULL; struct in_ifaddr *ifad = (struct in_ifaddr *) 0; struct sockaddr_in *sin; @@ -1236,7 +1215,6 @@ static afs_SetServerPrefs(sa) } #else { - extern struct in_ifaddr *in_ifaddr; struct in_ifaddr *ifa; for ( ifa = in_ifaddr; ifa; ifa = ifa->ia_next ) { afsi_SetServerIPRank(sa, ifa); @@ -1264,8 +1242,7 @@ return 0; * clean up all other structures that may reference it. * The afs_xserver and afs_xsrvAddr locks are assumed taken. */ -void afs_FlushServer(srvp) - struct server *srvp; +void afs_FlushServer(struct server *srvp) { afs_int32 i; struct server *ts, **pts; @@ -1279,7 +1256,6 @@ void afs_FlushServer(srvp) /* Remove all the callbacks structs */ if (srvp->cbrs) { struct afs_cbr *cb, *cbnext; - extern afs_lock_t afs_xvcb; MObtainWriteLock(&afs_xvcb, 300); for (cb=srvp->cbrs; cb; cb=cbnext) { @@ -1320,8 +1296,7 @@ void afs_FlushServer(srvp) * The afs_xserver and afs_xsrvAddr locks are assumed taken. * It is not removed from the afs_srvAddrs hash chain. */ -void afs_RemoveSrvAddr(sap) - struct srvAddr *sap; +void afs_RemoveSrvAddr(struct srvAddr *sap) { struct srvAddr **psa, *sa; struct server *srv; @@ -1545,8 +1520,7 @@ struct server *afs_GetServer(afs_uint32 *aserverp, afs_int32 nservers, return(newts); } /* afs_GetServer */ -void afs_ActivateServer(sap) - struct srvAddr *sap; +void afs_ActivateServer(struct srvAddr *sap) { osi_timeval_t currTime; /*Filled with current time*/ osi_timeval_t *currTimeP; /*Ptr to above*/ diff --git a/src/afs/afs_stat.c b/src/afs/afs_stat.c index 01e1986..502040d 100644 --- a/src/afs/afs_stat.c +++ b/src/afs/afs_stat.c @@ -37,10 +37,8 @@ afs_int32 afs_stats_XferSumBytes[AFS_STATS_NUM_FS_XFER_OPS]; * Environment: * This routine should only be called once, at initialization time. */ -void afs_InitStats() - -{ /*afs_InitStats*/ - +void afs_InitStats(void) +{ struct afs_stats_opTimingData *opTimeP; /*Ptr to curr timing struct*/ struct afs_stats_xferData *xferP; /*Ptr to curr xfer struct*/ int currIdx; /*Current index*/ @@ -70,25 +68,18 @@ void afs_InitStats() xferP->minTime.tv_sec = 999999; xferP->minBytes = 999999999; } - -} /*afs_InitStats*/ - - +} -afs_GetCMStat(ptr, size) - char **ptr; /* memory area */ - unsigned *size; /* # of bytes */ - { +int afs_GetCMStat(char **ptr, unsigned *size) +{ #ifndef AFS_NOSTATS AFS_STATCNT(afs_GetCMStat); *ptr = (char *)&afs_cmstats; *size = sizeof(afs_cmstats); #endif /* AFS_NOSTATS */ - } +} -afs_AddToMean(oldMean, newValue) - struct afs_MeanStats *oldMean; - afs_int32 newValue; - { - AFS_STATCNT(afs_AddToMean); - } +int afs_AddToMean(struct afs_MeanStats *oldMean, afs_int32 newValue) +{ + AFS_STATCNT(afs_AddToMean); +} diff --git a/src/afs/afs_stats.h b/src/afs/afs_stats.h index 189ae73..2f46071 100644 --- a/src/afs/afs_stats.h +++ b/src/afs/afs_stats.h @@ -1139,9 +1139,9 @@ struct afs_stats_CMFullPerf { * These are the storage declarations for the structures accessible * via the xstat package. */ -extern struct afs_stats_CMPerf afs_stats_cmperf; -extern struct afs_stats_CMFullPerf afs_stats_cmfullperf; -extern afs_int32 afs_stats_XferSumBytes[]; +/* extern struct afs_stats_CMPerf afs_stats_cmperf; */ +/* extern struct afs_stats_CMFullPerf afs_stats_cmfullperf; */ +/* extern afs_int32 afs_stats_XferSumBytes[]; */ #ifndef AFS_NOSTATS /* diff --git a/src/afs/afs_user.c b/src/afs/afs_user.c index 3935063..228c8b7 100644 --- a/src/afs/afs_user.c +++ b/src/afs/afs_user.c @@ -43,14 +43,6 @@ RCSID("$Header$"); #endif -/* Imported variables */ -extern afs_rwlock_t afs_xserver; -extern afs_rwlock_t afs_xsrvAddr; -extern afs_rwlock_t afs_xconn; -extern afs_rwlock_t afs_xvcache; -extern struct srvAddr *afs_srvAddrs[NSERVERS]; /* Hashed by server's ip */ -extern struct server *afs_servers[NSERVERS]; - /* Exported variables */ afs_rwlock_t afs_xuser; struct unixuser *afs_users[NUSERS]; @@ -63,8 +55,7 @@ void afs_ResetAccessCache(afs_int32 uid, int alock); * Called with afs_xuser, afs_xserver and afs_xconn locks held, to delete * appropriate conn structures for au */ -static void RemoveUserConns(au) - register struct unixuser *au; +static void RemoveUserConns(register struct unixuser *au) { register int i; register struct server *ts; @@ -100,7 +91,8 @@ static void RemoveUserConns(au) * other epochs as soon as possible (old file servers act bizarrely when they * see epoch changes). */ -void afs_GCUserData(aforce) { +void afs_GCUserData(int aforce) +{ register struct unixuser *tu, **lu, *nu; register int i; afs_int32 now, delFlag; @@ -156,8 +148,7 @@ void afs_GCUserData(aforce) { * cache for these guys. Can't do this when token expiration detected, * since too many locks are set then. */ -void afs_CheckTokenCache() - +void afs_CheckTokenCache(void) { register int i; register struct unixuser *tu; @@ -232,9 +223,7 @@ void afs_ResetAccessCache(afs_int32 uid, int alock) * Ensure all connections make use of new tokens. Discard incorrectly-cached * access info. */ -void afs_ResetUserConns (auser) - register struct unixuser *auser; - +void afs_ResetUserConns (register struct unixuser *auser) { int i; struct server *ts; @@ -278,7 +267,7 @@ struct unixuser *afs_FindUser(afs_int32 auid, afs_int32 acell, afs_int32 locktyp } } ReleaseWriteLock(&afs_xuser); - return (struct unixuser *) 0; + return NULL; } /*afs_FindUser*/ @@ -305,10 +294,8 @@ struct unixuser *afs_FindUser(afs_int32 auid, afs_int32 acell, afs_int32 locktyp * As advertised. *------------------------------------------------------------------------*/ -void afs_ComputePAGStats() - -{ /*afs_ComputePAGStats*/ - +void afs_ComputePAGStats(void) +{ register struct unixuser *currPAGP; /*Ptr to curr PAG*/ register struct unixuser *cmpPAGP; /*Ptr to PAG being compared*/ register struct afs_stats_AuthentInfo *authP; /*Ptr to stats area*/ @@ -441,10 +428,8 @@ void afs_ComputePAGStats() } /*afs_ComputePAGStats*/ -struct unixuser *afs_GetUser(auid, acell, locktype) - afs_int32 acell; - register afs_int32 auid; - afs_int32 locktype; +struct unixuser *afs_GetUser(register afs_int32 auid, + afs_int32 acell, afs_int32 locktype) { register struct unixuser *tu, *pu=0; register afs_int32 i; @@ -456,7 +441,7 @@ struct unixuser *afs_GetUser(auid, acell, locktype) for (tu = afs_users[i]; tu; tu = tu->next) { if (tu->uid == auid) { RmtUser = 0; - pu = (struct unixuser *)0; + pu = NULL; if (tu->exporter) { RmtUser = 1; pu = tu; @@ -504,9 +489,7 @@ struct unixuser *afs_GetUser(auid, acell, locktype) } /*afs_GetUser*/ -void afs_PutUser(au, locktype) - register struct unixuser *au; - afs_int32 locktype; +void afs_PutUser(register struct unixuser *au, afs_int32 locktype) { AFS_STATCNT(afs_PutUser); --au->refCount; @@ -517,10 +500,7 @@ void afs_PutUser(au, locktype) * Set the primary flag on a unixuser structure, ensuring that exactly one * dude has the flag set at any time for a particular unix uid. */ -void afs_SetPrimary(au, aflag) - register struct unixuser *au; - register int aflag; - +void afs_SetPrimary(register struct unixuser *au, register int aflag) { register struct unixuser *tu; register int i; @@ -528,7 +508,7 @@ void afs_SetPrimary(au, aflag) AFS_STATCNT(afs_SetPrimary); i = UHash(au->uid); - pu = (struct unixuser *) 0; + pu = NULL; ObtainWriteLock(&afs_xuser,105); /* * See if anyone is this uid's primary cell yet; recording in pu the @@ -546,7 +526,7 @@ void afs_SetPrimary(au, aflag) * people see a primary identity until now. */ pu->states &= ~UPrimary; - pu = (struct unixuser *) 0; + pu = NULL; } if (aflag == 1) { /* setting au to be primary */ diff --git a/src/afs/afs_util.c b/src/afs/afs_util.c index cbdca63..0215c85 100644 --- a/src/afs/afs_util.c +++ b/src/afs/afs_util.c @@ -48,8 +48,6 @@ RCSID("$Header$"); #include #endif -extern struct volume *afs_volumes[NVOLS]; - char *afs_cv2string(char *ttp, afs_uint32 aval) { register char *tp = ttp; @@ -105,11 +103,14 @@ void print_internet_address(char *preamble, struct srvAddr *sa, * this code badly needs to be cleaned up... too many ugly ifdefs. * XXX */ -extern afs_int32 afs_showflags; - -afs_warn(a,b,c,d,e,f,g,h,i,j) +#if 0 +void afs_warn(char *a, long b, long c, long d, long e, long f, + long g, long h, long i, long j) +#else +void afs_warn(a,b,c,d,e,f,g,h,i,j) char *a; long b,c,d,e,f,g,h,i,j; +#endif { AFS_STATCNT(afs_warn); @@ -136,9 +137,14 @@ long b,c,d,e,f,g,h,i,j; } } -afs_warnuser(a,b,c,d,e,f,g,h,i,j) +#if 0 +void afs_warnuser(char *a, long b, long c, long d, long e, long f, + long g, long h, long i, long j) +#else +void afs_warnuser(a,b,c,d,e,f,g,h,i,j) char *a; long b,c,d,e,f,g,h,i,j; +#endif { AFS_STATCNT(afs_warnuser); if (afs_showflags & GAGUSER) @@ -160,14 +166,8 @@ long b,c,d,e,f,g,h,i,j; /* run everywhere, checking locks */ -void afs_CheckLocks() - +void afs_CheckLocks(void) { - extern afs_rwlock_t afs_xconn, afs_xvolume, afs_xuser, afs_xcell; - extern afs_rwlock_t afs_xserver; - extern struct server *afs_servers[NSERVERS]; - extern struct unixuser *afs_users[NUSERS]; - extern unsigned char *afs_indexFlags; register int i; afs_warn("Looking for locked data structures.\n"); @@ -243,7 +243,8 @@ void afs_CheckLocks() } -int afs_noop() { +int afs_noop(void) +{ AFS_STATCNT(afs_noop); #ifdef AFS_OSF30_ENV return (EOPNOTSUPP); @@ -252,10 +253,11 @@ int afs_noop() { #endif } -int afs_badop() { +int afs_badop(void) +{ AFS_STATCNT(afs_badop); osi_Panic("afs bad vnode op"); - return 0; /* make SGI C compiler happy */ + return 0; } /* @@ -266,8 +268,7 @@ int afs_badop() { * larger than an afs_int32. */ -afs_int32 -afs_data_pointer_to_int32(const void *p) +afs_int32 afs_data_pointer_to_int32(const void *p) { union { afs_int32 i32[sizeof(void *)/sizeof(afs_int32)]; diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index 1721f4c..4594339 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -49,38 +49,12 @@ RCSID("$Header$"); #ifdef AFS_OSF_ENV afs_int32 afs_maxvcount = 0; /* max number of vcache entries */ afs_int32 afs_vcount = 0; /* number of vcache in use now */ -#if defined(AFS_OSF30_ENV) -extern int max_vnodes; /* number of total system vnodes */ -#else -extern int nvnode; /* number of total system vnodes */ -#endif -#ifndef AFS_OSF30_ENV -extern int numvnodes; /* number vnodes in use now */ -#endif #endif /* AFS_OSF_ENV */ + #ifdef AFS_SGI_ENV int afsvnumbers = 0; #endif -/* Imported variables */ -extern struct server *afs_servers[NSERVERS]; -extern afs_rwlock_t afs_xserver; -extern afs_rwlock_t afs_xcbhash; -extern struct vcache *afs_globalVp; -#ifdef AFS_OSF_ENV -extern struct mount *afs_globalVFS; -extern struct vnodeops Afs_vnodeops; -#elif defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) -extern struct mount *afs_globalVFS; -#else -extern struct vfs *afs_globalVFS; -#endif /* AFS_OSF_ENV */ -#if defined(AFS_DUX40_ENV) -extern struct vfs_ubcops afs_ubcops; -#endif -#ifdef AFS_SGI62_ENV -extern struct vnodeops Afs_vnodeops; -#endif #ifdef AFS_SGI64_ENV char *makesname(); #endif /* AFS_SGI64_ENV */ @@ -124,7 +98,7 @@ int afs_FlushVCache(struct vcache *avc, int *slept) { /*afs_FlushVCache*/ register afs_int32 i, code; - register struct vcache **uvc, *wvc, *tvc; + register struct vcache **uvc, *wvc; *slept = 0; AFS_STATCNT(afs_FlushVCache); @@ -220,7 +194,7 @@ int afs_FlushVCache(struct vcache *avc, int *slept) if (afs_norefpanic) { printf ("flush vc refcnt < 1"); afs_norefpanic++; - (void) vgone(avc, VX_NOSLEEP, (struct vnodeops *) 0); + (void) vgone(avc, VX_NOSLEEP, NULL); AFS_GLOCK(); VN_UNLOCK(AFSTOV(avc)); } @@ -246,8 +220,6 @@ bad: */ void afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred) { - extern afs_rwlock_t afs_xdcache, afs_xvcache; - AFS_STATCNT(afs_inactive); if (avc->states & CDirty) { /* we can't keep trying to push back dirty data forever. Give up. */ @@ -276,7 +248,8 @@ void afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred) * held, so we don't have to worry about blocking in osi_Alloc. */ static struct afs_cbr *afs_cbrSpace = 0; -struct afs_cbr *afs_AllocCBR() { +struct afs_cbr *afs_AllocCBR(void) +{ register struct afs_cbr *tsp; int i; @@ -312,8 +285,8 @@ struct afs_cbr *afs_AllocCBR() { * * Environment: the xvcb lock is held over these calls. */ -afs_FreeCBR(asp) -register struct afs_cbr *asp; { +int afs_FreeCBR(register struct afs_cbr *asp) +{ asp->next = afs_cbrSpace; afs_cbrSpace = asp; return 0; @@ -343,10 +316,9 @@ afs_int32 afs_FlushVCBs (afs_int32 lockit) struct vrequest treq; struct conn *tc; int safety1, safety2, safety3; - extern int afs_totalServers; XSTATS_DECLS - if (code = afs_InitReq(&treq, &afs_osi_cred)) return code; + if ((code = afs_InitReq(&treq, &afs_osi_cred))) return code; treq.flags |= O_NONBLOCK; if (lockit) MObtainWriteLock(&afs_xvcb,273); @@ -462,6 +434,60 @@ static afs_int32 afs_QueueVCB(struct vcache *avc) return 0; } + +/* + * afs_RemoveVCB + * + * Description: + * Remove a queued callback by looking through all the servers + * to see if any have this callback queued. + * + * Parameters: + * afid: The fid we want cleansed of queued callbacks. + * + * Environment: + * Locks xvcb and xserver locks. + * Typically called with xdcache, xvcache and/or individual vcache + * entries locked. + */ + +int afs_RemoveVCB(register struct VenusFid *afid) +{ + register int i; + register struct server *tsp; + register struct afs_cbr *tcbrp; + struct afs_cbr **lcbrpp; + + AFS_STATCNT(afs_RemoveVCB); + MObtainWriteLock(&afs_xvcb,275); + ObtainReadLock(&afs_xserver); + for(i=0;inext) { + /* if cell is known, and is wrong, then skip this server */ + if (tsp->cell && tsp->cell->cell != afid->Cell) continue; + + /* + * Otherwise, iterate through file IDs we're sending to the + * server. + */ + lcbrpp = &tsp->cbrs; /* first queued return callback */ + for(tcbrp = *lcbrpp; tcbrp; lcbrpp = &tcbrp->next, tcbrp = *lcbrpp) { + if (afid->Fid.Volume == tcbrp->fid.Volume && + afid->Fid.Unique == tcbrp->fid.Unique && + afid->Fid.Vnode == tcbrp->fid.Vnode) { + *lcbrpp = tcbrp->next; /* unthread from list */ + afs_FreeCBR(tcbrp); + goto done; + } + } + } + } + done: + ReleaseReadLock(&afs_xserver); + MReleaseWriteLock(&afs_xvcb); + return 0; +} + #ifdef AFS_LINUX22_ENV static void __shrink_dcache_parent(struct dentry * parent) @@ -597,64 +623,6 @@ restart: #endif /* AFS_LINUX22_ENV */ /* - * afs_RemoveVCB - * - * Description: - * Remove a queued callback by looking through all the servers - * to see if any have this callback queued. - * - * Parameters: - * afid: The fid we want cleansed of queued callbacks. - * - * Environment: - * Locks xvcb and xserver locks. - * Typically called with xdcache, xvcache and/or individual vcache - * entries locked. - */ - -afs_RemoveVCB(afid) - register struct VenusFid *afid; - -{ /*afs_RemoveVCB*/ - - register int i, j; - register struct server *tsp; - register struct afs_cbr *tcbrp; - struct afs_cbr **lcbrpp; - - AFS_STATCNT(afs_RemoveVCB); - MObtainWriteLock(&afs_xvcb,275); - ObtainReadLock(&afs_xserver); - for(i=0;inext) { - /* if cell is known, and is wrong, then skip this server */ - if (tsp->cell && tsp->cell->cell != afid->Cell) continue; - - /* - * Otherwise, iterate through file IDs we're sending to the - * server. - */ - lcbrpp = &tsp->cbrs; /* first queued return callback */ - for(tcbrp = *lcbrpp; tcbrp; lcbrpp = &tcbrp->next, tcbrp = *lcbrpp) { - if (afid->Fid.Volume == tcbrp->fid.Volume && - afid->Fid.Unique == tcbrp->fid.Unique && - afid->Fid.Vnode == tcbrp->fid.Vnode) { - *lcbrpp = tcbrp->next; /* unthread from list */ - afs_FreeCBR(tcbrp); - goto done; - } - } - } - } - done: - ReleaseReadLock(&afs_xserver); - MReleaseWriteLock(&afs_xvcb); - return 0; - -} /*afs_RemoveVCB*/ - - -/* * afs_NewVCache * * Description: @@ -669,8 +637,7 @@ afs_RemoveVCB(afid) * created. */ /* LOCK: afs_NewVCache afs_xvcache W */ -struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, - afs_int32 lockit, afs_int32 locktype) +struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp) { struct vcache *tvc; afs_int32 i; @@ -751,7 +718,7 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, AFS_GLOCK(); tvc = nvc; - tvc->nextfree = (struct vcache *)0; + tvc->nextfree = NULL; afs_vcount++; #else /* AFS_OSF_ENV */ /* pull out a free cache entry */ @@ -761,12 +728,13 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, tvc = QTOV(tq); uq = QPrev(tq); - if (tvc->states & CVFlushed) + if (tvc->states & CVFlushed) { refpanic("CVFlushed on VLRU"); - else if (i++ > 2*afs_cacheStats) /* even allowing for a few xallocs...*/ + } else if (i++ > 2*afs_cacheStats) { /* even allowing for a few xallocs...*/ refpanic("Increase -stat parameter of afsd(VLRU cycle?)"); - else if (QNext(uq) != tq) + } else if (QNext(uq) != tq) { refpanic("VLRU inconsistent"); + } #ifdef AFS_DARWIN_ENV if (tvc->opens == 0 && ((tvc->states & CUnlinkedDel) == 0) && @@ -848,7 +816,7 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, else { tvc = freeVCList; /* take from free list */ freeVCList = tvc->nextfree; - tvc->nextfree = (struct vcache *)0; + tvc->nextfree = NULL; } #endif /* AFS_OSF_ENV */ @@ -872,8 +840,8 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, tvc->v.v_vm_info->pager = MEMORY_OBJECT_NULL; #endif /* AFS_MACH_ENV */ tvc->parentVnode = 0; - tvc->mvid = (struct VenusFid *) 0; - tvc->linkData = (char *) 0; + tvc->mvid = NULL; + tvc->linkData = NULL; tvc->cbExpires = 0; tvc->opens = 0; tvc->execsOrWriters = 0; @@ -1076,7 +1044,7 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, osi_dnlc_purgedp(tvc); /* this may be overkill */ memset((char *)&(tvc->quick), 0, sizeof(struct vtodc)); memset((char *)&(tvc->callsort), 0, sizeof(struct afs_q)); - tvc->slocks = (struct SimpleLocks *)0; + tvc->slocks = NULL; i = VCHash(afid); tvc->hnext = afs_vhashT[i]; @@ -1111,17 +1079,13 @@ struct vcache *afs_NewVCache(struct VenusFid *afid, struct server *serverp, * doflocks : Do we handle flocks? */ /* LOCK: afs_FlushActiveVcaches afs_xvcache N */ -void -afs_FlushActiveVcaches(doflocks) - register afs_int32 doflocks; - -{ /*afs_FlushActiveVcaches*/ - +void afs_FlushActiveVcaches(register afs_int32 doflocks) +{ register struct vcache *tvc; register int i; register struct conn *tc; register afs_int32 code; - register struct AFS_UCRED *cred; + register struct AFS_UCRED *cred = NULL; struct vrequest treq, ureq; struct AFSVolSync tsync; int didCore; @@ -1155,7 +1119,7 @@ afs_FlushActiveVcaches(doflocks) } while (afs_Analyze(tc, code, &tvc->fid, &treq, AFS_STATS_FS_RPCIDX_EXTENDLOCK, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); ReleaseWriteLock(&tvc->lock); ObtainReadLock(&afs_xvcache); @@ -1185,7 +1149,7 @@ afs_FlushActiveVcaches(doflocks) tvc->states &= ~CCore; /* XXXX Find better place-holder for cred XXXX */ cred = (struct AFS_UCRED *) tvc->linkData; - tvc->linkData = (char *) 0; /* XXX */ + tvc->linkData = NULL; /* XXX */ afs_InitReq(&ureq, cred); afs_Trace2(afs_iclSetp, CM_TRACE_ACTCCORE, ICL_TYPE_POINTER, tvc, @@ -1249,8 +1213,7 @@ afs_FlushActiveVcaches(doflocks) } } ReleaseReadLock(&afs_xvcache); - -} /*afs_FlushActiveVcaches*/ +} /* @@ -1294,7 +1257,7 @@ int afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq) } ObtainWriteLock(&afs_xcbhash, 461); avc->states &= ~( CStatd | CUnique ); - avc->callback = (struct server *)0; + avc->callback = NULL; afs_DequeueCallback(avc); ReleaseWriteLock(&afs_xcbhash); ReleaseWriteLock(&avc->lock); @@ -1309,10 +1272,10 @@ int afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq) osi_dnlc_purgevp (avc); /* fetch the status info */ - tvc = afs_GetVCache(&avc->fid, areq, (afs_int32*)0, avc, READ_LOCK); + tvc = afs_GetVCache(&avc->fid, areq, NULL, avc); if (!tvc) return ENOENT; /* Put it back; caller has already incremented vrefCount */ - afs_PutVCache(tvc, READ_LOCK); + afs_PutVCache(tvc); return 0; } /*afs_VerifyVCache*/ @@ -1333,13 +1296,9 @@ int afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq) * * Callers: as of 1992-04-29, only called by WriteVCache */ -static void -afs_SimpleVStat(avc, astat, areq) - register struct vcache *avc; - register struct AFSFetchStatus *astat; - struct vrequest *areq; -{ /*afs_SimpleVStat*/ - +static void afs_SimpleVStat(register struct vcache *avc, + register struct AFSFetchStatus *astat, struct vrequest *areq) +{ afs_size_t length; AFS_STATCNT(afs_SimpleVStat); @@ -1415,7 +1374,7 @@ afs_SimpleVStat(avc, astat, areq) */ #endif /* badidea */ if (avc->Access && (ac = afs_FindAxs(avc->Access, areq->uid))) - ac->axess = astat->CallerAccess; + ac->axess = astat->CallerAccess; else /* not found, add a new one if possible */ afs_AddAxs(avc->Access, areq->uid, astat->CallerAccess); } @@ -1440,12 +1399,9 @@ afs_SimpleVStat(avc, astat, areq) * Must be called with a shared lock held on the vnode. */ -afs_WriteVCache(avc, astatus, areq) - register struct vcache *avc; - register struct AFSStoreStatus *astatus; - struct vrequest *areq; - -{ /*afs_WriteVCache*/ +int afs_WriteVCache(register struct vcache *avc, + register struct AFSStoreStatus *astatus, struct vrequest *areq) +{ afs_int32 code; struct conn *tc; struct AFSFetchStatus OutStatus; @@ -1471,7 +1427,7 @@ afs_WriteVCache(avc, astatus, areq) } while (afs_Analyze(tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_STORESTATUS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); UpgradeSToWLock(&avc->lock,20); if (code == 0) { @@ -1516,15 +1472,9 @@ afs_WriteVCache(avc, astatus, areq) * been modified. This is less than ideal. I haven't thought about * it sufficiently to be certain that it is adequate. */ -void -afs_ProcessFS(avc, astat, areq) - register struct vcache *avc; - struct vrequest *areq; - register struct AFSFetchStatus *astat; - -{ /*afs_ProcessFS*/ - - register int i; +void afs_ProcessFS(register struct vcache *avc, register struct AFSFetchStatus *astat, + struct vrequest *areq) +{ afs_size_t length; AFS_STATCNT(afs_ProcessFS); @@ -1601,7 +1551,7 @@ afs_ProcessFS(avc, astat, areq) { struct axscache *ac; if (avc->Access && (ac = afs_FindAxs(avc->Access, areq->uid))) - ac->axess = astat->CallerAccess; + ac->axess = astat->CallerAccess; else /* not found, add a new one if possible */ afs_AddAxs(avc->Access, areq->uid, astat->CallerAccess); } @@ -1613,19 +1563,11 @@ afs_ProcessFS(avc, astat, areq) } /*afs_ProcessFS*/ -afs_RemoteLookup(afid, areq, name, nfid, OutStatusp, CallBackp, serverp, tsyncp) - register struct VenusFid *afid; - struct vrequest *areq; - char *name; - struct VenusFid *nfid; - struct AFSFetchStatus *OutStatusp; - struct AFSCallBack *CallBackp; - struct server **serverp; - struct AFSVolSync *tsyncp; +int afs_RemoteLookup(register struct VenusFid *afid, struct vrequest *areq, + char *name, struct VenusFid *nfid, struct AFSFetchStatus *OutStatusp, + struct AFSCallBack *CallBackp, struct server **serverp, struct AFSVolSync *tsyncp) { - afs_int32 code, i; - register struct vcache *tvc; - struct volume *tvp; + afs_int32 code; afs_uint32 start; register struct conn *tc; struct AFSFetchStatus OutDirStatus; @@ -1649,7 +1591,7 @@ afs_RemoteLookup(afid, areq, name, nfid, OutStatusp, CallBackp, serverp, tsyncp) } while (afs_Analyze(tc, code, afid, areq, AFS_STATS_FS_RPCIDX_XLOOKUP, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); return code; } @@ -1687,16 +1629,14 @@ afs_RemoteLookup(afid, areq, name, nfid, OutStatusp, CallBackp, serverp, tsyncp) * locking directories in a constant order. * NB. NewVCache -> FlushVCache presently (4/10/95) drops the xvcache lock. */ -struct vcache *afs_GetVCache(afid, areq, cached, avc, locktype) - register struct VenusFid *afid; - struct vrequest *areq; - afs_int32 *cached; - afs_int32 locktype; - struct vcache *avc; /* might have a vcache structure already, which must + /* might have a vcache structure already, which must * already be held by the caller */ -{ /*afs_GetVCache*/ - afs_int32 code, i, newvcache=0; +struct vcache *afs_GetVCache(register struct VenusFid *afid, struct vrequest *areq, + afs_int32 *cached, struct vcache *avc) +{ + + afs_int32 code, newvcache=0; register struct vcache *tvc; struct volume *tvp; afs_int32 retry; @@ -1705,10 +1645,13 @@ struct vcache *afs_GetVCache(afid, areq, cached, avc, locktype) if (cached) *cached = 0; /* Init just in case */ +#if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) loop: +#endif + ObtainSharedLock(&afs_xvcache,5); - tvc = afs_FindVCache(afid, 0, 0, &retry, DO_STATS | DO_VLRU ); + tvc = afs_FindVCache(afid, &retry, DO_STATS | DO_VLRU ); if (tvc && retry) { #if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) ReleaseSharedLock(&afs_xvcache); @@ -1729,7 +1672,7 @@ loop: UpgradeSToWLock(&afs_xvcache,21); /* no cache entry, better grab one */ - tvc = afs_NewVCache(afid, (struct server *)0, 1, WRITE_LOCK); + tvc = afs_NewVCache(afid, NULL); newvcache = 1; ConvertWToSLock(&afs_xvcache); @@ -1807,7 +1750,7 @@ loop: ObtainReadLock(&afs_xvcache); AFS_FAST_RELE(tvc); ReleaseReadLock(&afs_xvcache); - return (struct vcache *) 0; + return NULL; } ReleaseWriteLock(&tvc->lock); @@ -1821,10 +1764,9 @@ loop: struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, - afs_int32 *cached, afs_int32 locktype, - struct vcache *adp, char *aname) + afs_int32 *cached, struct vcache *adp, char *aname) { - afs_int32 code, now, newvcache=0, hash; + afs_int32 code, now, newvcache=0; struct VenusFid nfid; register struct vcache *tvc; struct volume *tvp; @@ -1838,9 +1780,12 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, AFS_STATCNT(afs_GetVCache); if (cached) *cached = 0; /* Init just in case */ +#if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) loop1: +#endif + ObtainReadLock(&afs_xvcache); - tvc = afs_FindVCache(afid, 0, 0, &retry, DO_STATS /* no vlru */); + tvc = afs_FindVCache(afid, &retry, DO_STATS /* no vlru */); if (tvc) { ReleaseReadLock(&afs_xvcache); @@ -1875,9 +1820,12 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, code = afs_RemoteLookup(&adp->fid, areq, aname, &nfid, &OutStatus, &CallBack, &serverp, &tsync); +#if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) loop2: +#endif + ObtainSharedLock(&afs_xvcache,6); - tvc = afs_FindVCache(&nfid, 0, 0, &retry, DO_VLRU /* no xstats now*/); + tvc = afs_FindVCache(&nfid, &retry, DO_VLRU /* no xstats now*/); if (tvc && retry) { #if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) ReleaseSharedLock(&afs_xvcache); @@ -1889,7 +1837,7 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, if (!tvc) { /* no cache entry, better grab one */ UpgradeSToWLock(&afs_xvcache,22); - tvc = afs_NewVCache(&nfid, (struct server *)0, 1, WRITE_LOCK); + tvc = afs_NewVCache(&nfid, NULL); newvcache = 1; ConvertWToSLock(&afs_xvcache); } @@ -1931,7 +1879,7 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, ObtainReadLock(&afs_xvcache); AFS_FAST_RELE(tvc); ReleaseReadLock(&afs_xvcache); - return (struct vcache *) 0; + return NULL; } ObtainWriteLock(&afs_xcbhash, 466); @@ -1949,7 +1897,7 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, tvc->states &= ~CBulkFetching; afs_QueueCallback(tvc, CBHash(3600), tvp); } else { - tvc->callback = (struct server *)0; + tvc->callback = NULL; afs_DequeueCallback(tvc); tvc->states &= ~(CStatd | CUnique); if ((tvc->states & CForeign) || (tvc->fid.Fid.Vnode & 1)) @@ -1959,7 +1907,7 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, afs_DequeueCallback(tvc); tvc->states &= ~CStatd; tvc->states &= ~CUnique; - tvc->callback = (struct server *)0; + tvc->callback = NULL; if ((tvc->states & CForeign) || (tvc->fid.Fid.Vnode & 1)) osi_dnlc_purgedp (tvc); /* if it (could be) a directory */ } @@ -1978,9 +1926,9 @@ struct vcache *afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq, struct vcache *afs_GetRootVCache(struct VenusFid *afid, struct vrequest *areq, afs_int32 *cached, - struct volume *tvolp, afs_int32 locktype) + struct volume *tvolp) { - afs_int32 code, i, newvcache = 0, haveStatus = 0; + afs_int32 code = 0, i, newvcache = 0, haveStatus = 0; afs_int32 getNewFid = 0; afs_uint32 start; struct VenusFid nfid; @@ -1989,7 +1937,7 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, struct AFSFetchStatus OutStatus; struct AFSCallBack CallBack; struct AFSVolSync tsync; - int origCBs; + int origCBs = 0; start = osi_Time(); @@ -2000,10 +1948,10 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, tfid = *afid; tfid.Fid.Vnode = 0; /* Means get rootfid of volume */ origCBs = afs_allCBs; /* ignore InitCallBackState */ - code = afs_RemoteLookup(&tfid, areq, (char *)0, &nfid, + code = afs_RemoteLookup(&tfid, areq, NULL, &nfid, &OutStatus, &CallBack, &serverp, &tsync); if (code) { - return (struct vcache *)0; + return NULL; } /* ReleaseReadLock(&tvolp->lock); */ ObtainWriteLock(&tvolp->lock,56); @@ -2052,7 +2000,7 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, if (!tvc) { UpgradeSToWLock(&afs_xvcache,23); /* no cache entry, better grab one */ - tvc = afs_NewVCache(afid, (struct server *)0, 1, WRITE_LOCK); + tvc = afs_NewVCache(afid, NULL); newvcache = 1; afs_stats_cmperf.vcacheMisses++; } @@ -2096,7 +2044,7 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, ObtainReadLock(&tvc->lock); tvc->states &= ~CUnique; - tvc->callback = (struct server *)0; /* redundant, perhaps */ + tvc->callback = NULL; /* redundant, perhaps */ ReleaseReadLock(&tvc->lock); } @@ -2128,14 +2076,14 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, tfid = *afid; tfid.Fid.Vnode = 0; /* Means get rootfid of volume */ origCBs = afs_allCBs; /* ignore InitCallBackState */ - code = afs_RemoteLookup(&tfid, areq, (char *)0, &nfid, &OutStatus, + code = afs_RemoteLookup(&tfid, areq, NULL, &nfid, &OutStatus, &CallBack, &serverp, &tsync); } if (code) { ObtainWriteLock(&afs_xcbhash, 467); afs_DequeueCallback(tvc); - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->states &= ~(CStatd|CUnique); ReleaseWriteLock(&afs_xcbhash); if ((tvc->states & CForeign) || (tvc->fid.Fid.Vnode & 1)) @@ -2144,7 +2092,7 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, ObtainReadLock(&afs_xvcache); AFS_FAST_RELE(tvc); ReleaseReadLock(&afs_xvcache); - return (struct vcache *) 0; + return NULL; } ObtainWriteLock(&afs_xcbhash, 468); @@ -2165,7 +2113,7 @@ struct vcache *afs_GetRootVCache(struct VenusFid *afid, } } else { afs_DequeueCallback(tvc); - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->states &= ~(CStatd | CUnique); if ((tvc->states & CForeign) || (tvc->fid.Fid.Vnode & 1)) osi_dnlc_purgedp (tvc); /* if it (could be) a directory */ @@ -2188,7 +2136,7 @@ afs_int32 afs_FetchStatus(struct vcache *avc, struct VenusFid *afid, struct vrequest *areq, struct AFSFetchStatus *Outsp) { int code; - afs_uint32 start; + afs_uint32 start = 0; register struct conn *tc; struct AFSCallBack CallBack; struct AFSVolSync tsync; @@ -2215,7 +2163,7 @@ afs_int32 afs_FetchStatus(struct vcache *avc, struct VenusFid *afid, } while (afs_Analyze(tc, code, afid, areq, AFS_STATS_FS_RPCIDX_FETCHSTATUS, - SHARED_LOCK, (struct cell *)0)); + SHARED_LOCK, NULL)); if (!code) { afs_ProcessFS(avc, Outsp, areq); @@ -2238,7 +2186,7 @@ if (!code) { } else { afs_DequeueCallback(avc); - avc->callback = (struct server *)0; + avc->callback = NULL; avc->states &= ~(CStatd|CUnique); if ((avc->states & CForeign) || (avc->fid.Fid.Vnode & 1)) osi_dnlc_purgedp (avc); /* if it (could be) a directory */ @@ -2246,7 +2194,7 @@ if (!code) { } else { afs_DequeueCallback(avc); - avc->callback = (struct server *)0; + avc->callback = NULL; avc->states &= ~(CStatd|CUnique); if ((avc->states & CForeign) || (avc->fid.Fid.Vnode & 1)) osi_dnlc_purgedp (avc); /* if it (could be) a directory */ @@ -2289,16 +2237,10 @@ return code; * Environment: * Nothing interesting. */ -void -afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) - register struct VenusFid *afid; - struct AFSFetchStatus *OutStatus; - struct AFSCallBack *CallBack; - register struct conn *tc; - struct vrequest *areq; - -{ /*afs_StuffVcache*/ - +void afs_StuffVcache(register struct VenusFid *afid, + struct AFSFetchStatus *OutStatus, struct AFSCallBack *CallBack, + register struct conn *tc, struct vrequest *areq) +{ register afs_int32 code, i, newvcache=0; register struct vcache *tvc; struct AFSVolSync tsync; @@ -2314,7 +2256,7 @@ afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) loop: ObtainSharedLock(&afs_xvcache,8); - tvc = afs_FindVCache(afid, 0, 0, &retry, DO_VLRU /* no stats */); + tvc = afs_FindVCache(afid, &retry, DO_VLRU /* no stats */); if (tvc && retry) { #if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) ReleaseSharedLock(&afs_xvcache); @@ -2326,7 +2268,7 @@ afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) if (!tvc) { /* no cache entry, better grab one */ UpgradeSToWLock(&afs_xvcache,25); - tvc = afs_NewVCache(afid, (struct server *)0, 1, WRITE_LOCK); + tvc = afs_NewVCache(afid, NULL); newvcache = 1; ConvertWToSLock(&afs_xvcache); } @@ -2387,7 +2329,7 @@ afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) } else { afs_DequeueCallback(tvc); - tvc->callback = (struct server *)0; + tvc->callback = NULL; tvc->states &= ~(CStatd|CUnique); if ((tvc->states & CForeign) || (tvc->fid.Fid.Vnode & 1)) osi_dnlc_purgedp (tvc); /* if it (could be) a directory */ @@ -2409,7 +2351,7 @@ afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) /* * Release ref count... hope this guy stays around... */ - afs_PutVCache(tvc, WRITE_LOCK); + afs_PutVCache(tvc); } /*afs_StuffVcache*/ #endif @@ -2425,12 +2367,8 @@ afs_StuffVcache(afid, OutStatus, CallBack, tc, areq) * Environment: * Nothing interesting. */ -void -afs_PutVCache(avc, locktype) - register struct vcache *avc; - afs_int32 locktype; -{ /*afs_PutVCache*/ - +void afs_PutVCache(register struct vcache *avc) +{ AFS_STATCNT(afs_PutVCache); /* * Can we use a read lock here? @@ -2459,8 +2397,7 @@ afs_PutVCache(avc, locktype) * must be shared-- we upgrade it here. */ -struct vcache *afs_FindVCache(struct VenusFid *afid, afs_int32 lockit, - afs_int32 locktype, afs_int32 *retry, afs_int32 flag) +struct vcache *afs_FindVCache(struct VenusFid *afid, afs_int32 *retry, afs_int32 flag) { register struct vcache *tvc; @@ -2568,21 +2505,18 @@ struct vcache *afs_FindVCache(struct VenusFid *afid, afs_int32 lockit, int afs_duplicate_nfs_fids=0; -afs_int32 afs_NFSFindVCache(avcp, afid, lockit) - struct vcache **avcp; - struct VenusFid *afid; - afs_int32 lockit; -{ /*afs_FindVCache*/ - +afs_int32 afs_NFSFindVCache(struct vcache **avcp, struct VenusFid *afid) +{ register struct vcache *tvc; afs_int32 i; - afs_int32 retry = 0; afs_int32 count = 0; struct vcache *found_tvc = NULL; AFS_STATCNT(afs_FindVCache); +#if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) loop: +#endif ObtainSharedLock(&afs_xvcache,331); @@ -2624,6 +2558,7 @@ afs_int32 afs_NFSFindVCache(avcp, afid, lockit) /* should I have a read lock on the vnode here? */ if (tvc) { #if defined(AFS_SGI_ENV) && !defined(AFS_SGI53_ENV) + afs_int32 retry = 0; osi_vnhold(tvc, &retry); if (retry) { count = 0; @@ -2703,7 +2638,7 @@ void afs_vcacheInit(int astatSize) } } #else /* AFS_OSF_ENV */ - freeVCList = (struct vcache *)0; + freeVCList = NULL; #endif RWLOCK_INIT(&afs_xvcache, "afs_xvcache"); @@ -2719,7 +2654,7 @@ void afs_vcacheInit(int astatSize) for(i=0; i < astatSize-1; i++) { tvp[i].nextfree = &(tvp[i+1]); } - tvp[astatSize-1].nextfree = (struct vcache *) 0; + tvp[astatSize-1].nextfree = NULL; #ifdef AFS_AIX32_ENV pin((char *)tvp, astatSize * sizeof(struct vcache)); /* XXX */ #endif diff --git a/src/afs/afs_volume.c b/src/afs/afs_volume.c index 2f268da..2a76bb2 100644 --- a/src/afs/afs_volume.c +++ b/src/afs/afs_volume.c @@ -47,14 +47,6 @@ RCSID("$Header$"); #include #endif -/* Imported variables */ -extern afs_rwlock_t afs_xserver; -extern afs_rwlock_t afs_xsrvAddr; -extern afs_rwlock_t afs_xvcache; -extern afs_rwlock_t afs_xcbhash; -extern struct srvAddr *afs_srvAddrs[NSERVERS]; /* Hashed by server's ip */ -extern int afs_totalSrvAddrs; - /* In case we don't have the vl error table yet. */ #ifndef ERROR_TABLE_BASE_VL #define ERROR_TABLE_BASE_VL (363520L) @@ -77,15 +69,13 @@ static inVolList(); /* Convert a volume name to a #; return 0 if can't parse as a number */ -static int afs_vtoi(aname) - register char *aname; - +static int afs_vtoi(register char *aname) { register afs_int32 temp; register int tc; temp = 0; AFS_STATCNT(afs_vtoi); - while(tc = *aname++) { + while((tc = *aname++)) { if (tc > '9' || tc < '0') return 0; /* invalid name */ temp *= 10; @@ -108,8 +98,7 @@ afs_int32 afs_FVIndex = -1; /* UFS specific version of afs_GetVolSlot */ -struct volume *afs_UFSGetVolSlot() - +struct volume *afs_UFSGetVolSlot(void) { register struct volume *tv, **lv; register char *tfile; @@ -141,7 +130,7 @@ struct volume *afs_UFSGetVolSlot() *bestLp = tv->next; if (tv->name) afs_osi_Free(tv->name, strlen(tv->name)+1); - tv->name = (char *) 0; + tv->name = NULL; /* now write out volume structure to file */ if (tv->vtix < 0) { tv->vtix = afs_volCounter++; @@ -188,8 +177,7 @@ struct volume *afs_UFSGetVolSlot() } /*afs_UFSGetVolSlot*/ -struct volume *afs_MemGetVolSlot() - +struct volume *afs_MemGetVolSlot(void) { register struct volume *tv, **lv; register afs_int32 i; @@ -202,7 +190,7 @@ struct volume *afs_MemGetVolSlot() newVp = (struct volume *) afs_osi_Alloc(sizeof(struct volume)); - newVp->next = (struct volume *)0; + newVp->next = NULL; afs_freeVolList = newVp; } tv = afs_freeVolList; @@ -236,11 +224,9 @@ void afs_ResetVolumes(struct server *srvp) /* reset volume name to volume id mapping cache */ -void afs_CheckVolumeNames(flags) - int flags; +void afs_CheckVolumeNames(int flags) { afs_int32 i,j; - extern int osi_dnlc_purge(); struct volume *tv; unsigned int now; struct vcache *tvc; @@ -341,9 +327,7 @@ void afs_CheckVolumeNames(flags) } /*afs_CheckVolumeNames*/ -static inVolList(fid, nvols, vID, cID) - struct VenusFid *fid; - afs_int32 nvols, *vID, *cID; +static int inVolList(struct VenusFid *fid, afs_int32 nvols, afs_int32 *vID, afs_int32 *cID) { afs_int32 i; @@ -394,10 +378,8 @@ struct volume *afs_FindVolume(struct VenusFid *afid, afs_int32 locktype) * Note that areq may be null, in which case we don't bother to set any * request status information. */ -struct volume *afs_GetVolume(afid, areq, locktype) - struct vrequest *areq; - struct VenusFid *afid; - afs_int32 locktype; +struct volume *afs_GetVolume(struct VenusFid *afid, struct vrequest *areq, + afs_int32 locktype) { struct volume *tv; char *bp, tbuf[CVBS]; @@ -417,12 +399,8 @@ struct volume *afs_GetVolume(afid, areq, locktype) -static struct volume *afs_SetupVolume(volid, aname, ve, tcell, agood, type, areq) - char *aname; - char *ve; - afs_int32 volid, agood, type; - struct cell *tcell; - struct vrequest *areq; +static struct volume *afs_SetupVolume(afs_int32 volid, char *aname, + char *ve, struct cell *tcell, afs_int32 agood, afs_int32 type, struct vrequest *areq) { struct volume *tv; struct vldbentry *ove = (struct vldbentry *)ve; @@ -527,12 +505,8 @@ static struct volume *afs_SetupVolume(volid, aname, ve, tcell, agood, type, areq } -struct volume *afs_GetVolumeByName(aname, acell, agood, areq, locktype) - struct vrequest *areq; - afs_int32 acell; - int agood; - register char *aname; - afs_int32 locktype; +struct volume *afs_GetVolumeByName(register char *aname, afs_int32 acell, + int agood, struct vrequest *areq, afs_int32 locktype) { afs_int32 i; struct volume *tv; @@ -556,7 +530,8 @@ struct volume *afs_GetVolumeByName(aname, acell, agood, areq, locktype) return(tv); } -static struct volume *afs_NewDynrootVolume(struct VenusFid *fid) { +static struct volume *afs_NewDynrootVolume(struct VenusFid *fid) +{ struct cell *tcell; struct volume *tv; struct vldbentry tve; @@ -564,7 +539,7 @@ static struct volume *afs_NewDynrootVolume(struct VenusFid *fid) { tcell = afs_GetCell(fid->Cell, READ_LOCK); if (!tcell) - return (struct volume *) 0; + return NULL; if (!(tcell->states & CHasVolRef)) tcell->states |= CHasVolRef; @@ -595,11 +570,11 @@ static struct volume *afs_NewVolumeByName(char *aname, afs_int32 acell, int agoo XSTATS_DECLS; if (strlen(aname) > VL_MAXNAMELEN) /* Invalid volume name */ - return (struct volume *) 0; + return NULL; tcell = afs_GetCell(acell, READ_LOCK); if (!tcell) { - return (struct volume *) 0; + return NULL; } /* allow null request if we don't care about ENODEV/ETIMEDOUT distinction */ @@ -654,7 +629,7 @@ static struct volume *afs_NewVolumeByName(char *aname, afs_int32 acell, int agoo } else code = -1; } while - (afs_Analyze(tconn, code, (struct VenusFid *) 0, &treq, + (afs_Analyze(tconn, code, NULL, &treq, -1, /* no op code for this */ SHARED_LOCK, tcell)); @@ -669,7 +644,7 @@ static struct volume *afs_NewVolumeByName(char *aname, afs_int32 acell, int agoo struct server *sp; struct srvAddr *sap; for (i=0; icellHosts[i]) == (struct server *) 0) break; + if ((sp = tcell->cellHosts[i]) == NULL) break; for (sap = sp->addr; sap; sap = sap->next_sa) afs_MarkServerUpOrDown(sap, 0); } @@ -677,7 +652,7 @@ static struct volume *afs_NewVolumeByName(char *aname, afs_int32 acell, int agoo afs_CopyError(&treq, areq); osi_FreeLargeSpace(tbuffer); afs_PutCell(tcell, READ_LOCK); - return (struct volume *) 0; + return NULL; } /* * Check to see if this cell has not yet referenced a volume. If @@ -702,7 +677,7 @@ static struct volume *afs_NewVolumeByName(char *aname, afs_int32 acell, int agoo * This means that very soon we'll ask for the RO volume so * we'll prefetch it (well we did already.) */ - tv1 = afs_SetupVolume(tv->roVol, (char *)0, ve, tcell, 0, type, areq); + tv1 = afs_SetupVolume(tv->roVol, NULL, ve, tcell, 0, type, areq); tv1->refCount--; } osi_FreeLargeSpace(tbuffer); @@ -959,7 +934,7 @@ void InstallUVolumeEntry(struct volume *av, struct uvldbentry *ve, if (code == 0 && nentries == 0) code = VL_NOENT; - } while (afs_Analyze(tconn, code, (struct VenusFid *) 0, areq, + } while (afs_Analyze(tconn, code, NULL, areq, -1, SHARED_LOCK, tcell)); if (code) { /* Better handing of such failures; for now we'll simply retry this call */ @@ -1007,7 +982,7 @@ void afs_ResetVolumeInfo(struct volume *tv) tv->status[i] = not_busy; if (tv->name) { afs_osi_Free(tv->name, strlen(tv->name)+1); - tv->name = (char *) 0; + tv->name = NULL; } ReleaseWriteLock(&tv->lock); -} /*afs_ResetVolumeInfo*/ +} diff --git a/src/afs/afsincludes.h b/src/afs/afsincludes.h index 2c96eba..5c22421 100644 --- a/src/afs/afsincludes.h +++ b/src/afs/afsincludes.h @@ -52,6 +52,7 @@ #include "../afs/dir.h" #include "../afs/afs_axscache.h" #include "../afs/icl.h" +#include "../afs/afs_stats.h" #include "../afs/afs_prototypes.h" #if defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) #include "../afs/osi_machdep.h" diff --git a/src/afs/lock.h b/src/afs/lock.h index 8a6266b..b3d2e95 100644 --- a/src/afs/lock.h +++ b/src/afs/lock.h @@ -15,17 +15,6 @@ * LICENSED MATERIALS - PROPERTY OF IBM */ -/* The following macros allow multi statement macros to be defined safely, i.e. - - the multi statement macro can be the object of an if statement; - - the call to the multi statement macro may be legally followed by a semi-colon. - BEGINMAC and ENDMAC have been tested with both the portable C compiler and - Hi-C. Both compilers were from the Palo Alto 4.2BSD software releases, and - both optimized out the constant loop code. For an example of the use - of BEGINMAC and ENDMAC, see the definition for ReleaseWriteLock, below. - An alternative to this, using "if(1)" for BEGINMAC is not used because it - may generate worse code with pcc, and may generate warning messages with hi-C. -*/ - #if (defined(AFS_SUN5_ENV)) || defined(AFS_OSF_ENV) #define AFS_NOBOZO_LOCK #endif @@ -83,6 +72,17 @@ typedef struct afs_bozoLock afs_bozoLock_t; #undef LOCK_INIT #define LOCK_INIT(lock, nm) Lock_Init(lock) +/* The following macros allow multi statement macros to be defined safely, i.e. + - the multi statement macro can be the object of an if statement; + - the call to the multi statement macro may be legally followed by a semi-colon. + BEGINMAC and ENDMAC have been tested with both the portable C compiler and + Hi-C. Both compilers were from the Palo Alto 4.2BSD software releases, and + both optimized out the constant loop code. For an example of the use + of BEGINMAC and ENDMAC, see the definition for ReleaseWriteLock, below. + An alternative to this, using "if(1)" for BEGINMAC is not used because it + may generate worse code with pcc, and may generate warning messages with hi-C. +*/ + #define BEGINMAC do { #define ENDMAC } while (0) diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index e80c2b8..f38df4d 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -1640,8 +1640,8 @@ mainproc(as, arock) */ lookingForHomeCell = 1; - afsconf_CellApply(cdir, ConfigCell, (char *) 0); - afsconf_CellAliasApply(cdir, ConfigCellAlias, (char *) 0); + afsconf_CellApply(cdir, ConfigCell, NULL); + afsconf_CellAliasApply(cdir, ConfigCellAlias, NULL); /* * If we're still looking for the home cell after the whole cell configuration database @@ -1819,7 +1819,7 @@ mainproc(as, arock) if (aix_vmount()) { #else #if defined(AFS_HPUX100_ENV) - if ((mount("",cacheMountDir,mountFlags,"afs", (char *)0, 0)) < 0) { + if ((mount("",cacheMountDir,mountFlags,"afs", NULL, 0)) < 0) { #else #ifdef AFS_HPUX_ENV #if defined(AFS_HPUX90_ENV) @@ -1845,7 +1845,7 @@ mainproc(as, arock) #endif #else #ifdef AFS_SUN5_ENV - if ((mount("AFS",cacheMountDir,mountFlags,"afs", (char *)0, 0)) < 0) { + if ((mount("AFS",cacheMountDir,mountFlags,"afs", NULL, 0)) < 0) { #else #if defined(AFS_SGI_ENV) mountFlags = MS_FSS; @@ -1897,7 +1897,7 @@ int argc; char **argv; { register struct cmd_syndesc *ts; - ts = cmd_CreateSyntax((char *) 0, mainproc, (char *) 0, "start AFS"); + ts = cmd_CreateSyntax(NULL, mainproc, NULL, "start AFS"); cmd_AddParm(ts, "-blocks", CMD_SINGLE, CMD_OPTIONAL, "1024 byte blocks in cache"); cmd_AddParm(ts, "-files", CMD_SINGLE, CMD_OPTIONAL, "files in cache"); cmd_AddParm(ts, "-rootvol", CMD_SINGLE, CMD_OPTIONAL, "name of AFS root volume"); diff --git a/src/afsmonitor/afsmon-output.c b/src/afsmonitor/afsmon-output.c index f1aca55..9d39fc4 100644 --- a/src/afsmonitor/afsmon-output.c +++ b/src/afsmonitor/afsmon-output.c @@ -20,6 +20,14 @@ #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + RCSID("$Header$"); #include diff --git a/src/afsmonitor/afsmon-win.c b/src/afsmonitor/afsmon-win.c index 5bc016f..fa6f137 100644 --- a/src/afsmonitor/afsmon-win.c +++ b/src/afsmonitor/afsmon-win.c @@ -350,7 +350,7 @@ initLightObject(a_name, a_x, a_y, a_width, a_win) } #endif - newlightp = (struct onode *)0; + newlightp = NULL; /* * Set up the creation parameters according to the information we've @@ -376,10 +376,10 @@ initLightObject(a_name, a_x, a_y, a_width, a_win) light_crparams.onode_params.cr_width = a_width; light_crparams.onode_params.cr_height = 1; light_crparams.onode_params.cr_window = a_win; - light_crparams.onode_params.cr_home_obj = (struct onode *)0; - light_crparams.onode_params.cr_prev_obj = (struct onode *)0; - light_crparams.onode_params.cr_parent_obj = (struct onode *)0; - light_crparams.onode_params.cr_helpstring = (char *)0; + light_crparams.onode_params.cr_home_obj = NULL; + light_crparams.onode_params.cr_prev_obj = NULL; + light_crparams.onode_params.cr_parent_obj = NULL; + light_crparams.onode_params.cr_helpstring = NULL; light_crparams.appearance = 0; light_crparams.flashfreq = 0; @@ -1069,7 +1069,7 @@ create_ovwFrame_objects() long */ initMsg_o = initLightObject(initMsg, maxX/2 - 18,maxY/3,sizeof(initMsg),afsmon_win); - if (initMsg_o == (struct onode *)0) { + if (initMsg_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create initMsg_o onode\n",rn); afsmon_Exit(250); } @@ -1083,7 +1083,7 @@ create_ovwFrame_objects() ovw_cmd_o = initLightObject("", 0,maxY-1,OVW_CMD_O_WIDTH,afsmon_win); - if (ovw_cmd_o == (struct onode *)0) { + if (ovw_cmd_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create command onode\n",rn); afsmon_Exit(265); } @@ -1094,7 +1094,7 @@ create_ovwFrame_objects() ovw_progName_o = initLightObject("",0,0, PROGNAME_O_WIDTH,afsmon_win); - if (ovw_progName_o == (struct onode *)0) { + if (ovw_progName_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create programName onode\n",rn); afsmon_Exit(255); } @@ -1105,7 +1105,7 @@ create_ovwFrame_objects() ovw_pageNum_o = initLightObject("", maxX-OVW_PAGENUM_O_WIDTH,0,OVW_PAGENUM_O_WIDTH,afsmon_win); - if (ovw_pageNum_o == (struct onode *)0) { + if (ovw_pageNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create pageNumber onode\n",rn); afsmon_Exit(260); } @@ -1115,7 +1115,7 @@ create_ovwFrame_objects() /* create the probe number object */ ovw_probeNum_o = initLightObject("", maxX-OVW_PROBENUM_O_WIDTH,maxY-1,OVW_PROBENUM_O_WIDTH,afsmon_win); - if (ovw_probeNum_o == (struct onode *)0) { + if (ovw_probeNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create probe number onode\n",rn); afsmon_Exit(270); } @@ -1125,7 +1125,7 @@ create_ovwFrame_objects() /* create the numFS monitored object */ ovw_numFS_o = initLightObject("", 0,2,FC_NUMHOSTS_O_WIDTH,afsmon_win); - if (ovw_numFS_o == (struct onode *)0) { + if (ovw_numFS_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create numFS onode\n",rn); afsmon_Exit(275); } @@ -1134,7 +1134,7 @@ create_ovwFrame_objects() /* create the numCM monitored object */ ovw_numCM_o = initLightObject("", maxX/2,2,OVW_NUMCM_O_WIDTH,afsmon_win); - if (ovw_numCM_o == (struct onode *)0) { + if (ovw_numCM_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create numCM_o onode\n",rn); afsmon_Exit(280); } @@ -1143,7 +1143,7 @@ create_ovwFrame_objects() /* create the number-of-FS-alerts object */ ovw_FSalerts_o = initLightObject("", 0,3,OVW_FSALERTS_O_WIDTH,afsmon_win); - if (ovw_FSalerts_o == (struct onode *)0) { + if (ovw_FSalerts_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create FSalerts_o onode\n",rn); afsmon_Exit(285); } @@ -1152,7 +1152,7 @@ create_ovwFrame_objects() /* create the number-of-CM-alerts object */ ovw_CMalerts_o = initLightObject("", maxX/2,3,OVW_CMALERTS_O_WIDTH,afsmon_win); - if (ovw_CMalerts_o == (struct onode *)0) { + if (ovw_CMalerts_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create CMalerts_o onode\n",rn); afsmon_Exit(290); } @@ -1164,7 +1164,7 @@ create_ovwFrame_objects() /* allocate memory for a list of onode pointers for file server names */ ovw_fsNames_o = (struct onode **) malloc( sizeof(struct onode *) * ovw_numHosts_perPage); - if (ovw_fsNames_o == (struct onode **)0) { + if (ovw_fsNames_o == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate memory for FS onodes\n",rn); afsmon_Exit(295); } @@ -1174,7 +1174,7 @@ create_ovwFrame_objects() for (i=0; i< ovw_numHosts_perPage; i++) { *ovw_fsNames_o_Ptr = initLightObject("", 0,OVW_FIRST_HOST_ROW+i,OVW_HOSTNAME_O_WIDTH,afsmon_win); - if (*ovw_fsNames_o_Ptr == (struct onode *)0) { + if (*ovw_fsNames_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create an FS name onode\n",rn); afsmon_Exit(300); } @@ -1194,7 +1194,7 @@ create_ovwFrame_objects() /* allocate memory for a list of onode pointers for cache manager names */ ovw_cmNames_o = (struct onode **) malloc( sizeof(struct onode *) * ovw_numHosts_perPage); - if (ovw_cmNames_o == (struct onode **)0) { + if (ovw_cmNames_o == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate memory for CM onodes\n",rn); afsmon_Exit(305); } @@ -1204,7 +1204,7 @@ create_ovwFrame_objects() for (i=0; i< ovw_numHosts_perPage; i++) { *ovw_cmNames_o_Ptr = initLightObject("", maxX/2,OVW_FIRST_HOST_ROW+i,OVW_HOSTNAME_O_WIDTH,afsmon_win); - if (*ovw_cmNames_o_Ptr == (struct onode *)0) { + if (*ovw_cmNames_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create a CM name onode\n",rn); afsmon_Exit(310); } @@ -1239,21 +1239,21 @@ create_ovwFrame_objects() /* bind the overview frame to a keyboard input handler */ /* bind Q and  to exit */ - keymap_BindToString(ovwFrame->keymap,"Q",afsmonExit_gtx,(char *)0,(char *)0); - keymap_BindToString(ovwFrame->keymap,"",afsmonExit_gtx,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"Q",afsmonExit_gtx,NULL,NULL); + keymap_BindToString(ovwFrame->keymap,"",afsmonExit_gtx,NULL,NULL); /* f -> switch of fs frame */ - keymap_BindToString(ovwFrame->keymap,"f",Switch_ovw_2_fs,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"f",Switch_ovw_2_fs,NULL,NULL); /* c -> switch of cm frame */ - keymap_BindToString(ovwFrame->keymap,"c",Switch_ovw_2_cm,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"c",Switch_ovw_2_cm,NULL,NULL); /* n -> switch to next overview page */ - keymap_BindToString(ovwFrame->keymap,"n",Switch_ovw_next,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"n",Switch_ovw_next,NULL,NULL); /* N -> switch to last overview page */ - keymap_BindToString(ovwFrame->keymap,"N",Switch_ovw_last,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"N",Switch_ovw_last,NULL,NULL); /* p -> switch to previous overview page */ - keymap_BindToString(ovwFrame->keymap,"p",Switch_ovw_prev,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"p",Switch_ovw_prev,NULL,NULL); /* P -> switch to first overview page */ - keymap_BindToString(ovwFrame->keymap,"P",Switch_ovw_first,(char *)0,(char *)0); + keymap_BindToString(ovwFrame->keymap,"P",Switch_ovw_first,NULL,NULL); return(0); @@ -1740,7 +1740,7 @@ int a_LcolNum; /* starting (leftmost) column number */ } if (fsIdx >= numFS) { /* whoops! screwed up */ - sprintf(errMsg,"[ %s ] Programming error 1\n"); + sprintf(errMsg,"[ %s ] Programming error 1\n", rn); afsmon_Exit(325); } @@ -2108,7 +2108,7 @@ create_FSframe_objects() /* create the command line object */ fs_cmd_o = initLightObject("Command [oview, cm, prev, next, left, right] ? ", 0,maxY-1,FC_CMD_O_WIDTH,afsmon_win); - if (fs_cmd_o == (struct onode *)0) { + if (fs_cmd_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create fs command onode\n",rn); afsmon_Exit(340); } @@ -2124,7 +2124,7 @@ create_FSframe_objects() /* create the page number object */ fs_pageNum_o = initLightObject("[File Servers, p. X of X, c. Y of Y]", maxX-FC_PAGENUM_O_WIDTH,0,FC_PAGENUM_O_WIDTH,afsmon_win); - if (fs_pageNum_o == (struct onode *)0) { + if (fs_pageNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create pageNumber onode\n",rn); afsmon_Exit(335); } @@ -2134,7 +2134,7 @@ create_FSframe_objects() /* create the probe number object */ fs_probeNum_o = initLightObject("[FS probes 1, freq=30 sec]", maxX-FC_PROBENUM_O_WIDTH ,maxY-1, FC_PROBENUM_O_WIDTH, afsmon_win); - if (fs_probeNum_o == (struct onode *)0) { + if (fs_probeNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create fs probeNum onode\n",rn); afsmon_Exit(345); } @@ -2146,7 +2146,7 @@ create_FSframe_objects() fs_numFS_o = initLightObject( " 0 File Servers monitored, 0 alerts on 0 machines", 4,2,FC_NUMHOSTS_O_WIDTH,afsmon_win); - if (fs_numFS_o == (struct onode *)0) { + if (fs_numFS_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create numFS onode for the fs frame\n", rn); afsmon_Exit(350); @@ -2155,7 +2155,7 @@ create_FSframe_objects() /* create the "more columns to left" indicator */ fs_leftArrows_o = initLightObject("<<<", 0,2,FC_ARROWS_O_WIDTH, afsmon_win); - if (fs_leftArrows_o == (struct onode *)0) { + if (fs_leftArrows_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create leftArrows onode for the fs frame\n", rn); afsmon_Exit(355); } @@ -2164,7 +2164,7 @@ create_FSframe_objects() /* create the "more columns to right" indicator */ fs_rightArrows_o = initLightObject(">>>", maxX-FC_ARROWS_O_WIDTH, 2, FC_ARROWS_O_WIDTH, afsmon_win); - if (fs_rightArrows_o == (struct onode *)0) { + if (fs_rightArrows_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create rightArrows onode for the fs frame\n", rn); afsmon_Exit(360); } @@ -2207,7 +2207,7 @@ create_FSframe_objects() for(arrIdx=0; arrIdx<2; arrIdx++) { numBytes = fs_cols_perPage * sizeof(struct onode *); fs_lines_Ptr->data_o[arrIdx] = (struct onode **) malloc(numBytes); - if (fs_lines_Ptr->data_o[arrIdx] == (struct onode **)0) { + if (fs_lines_Ptr->data_o[arrIdx] == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate %d bytes for FS data onodes\n", rn, numBytes); afsmon_Exit(370); @@ -2224,7 +2224,7 @@ create_FSframe_objects() /* initialize host name onode */ fs_lines_Ptr->host_o = initLightObject("FSHostName", 0,FC_FIRST_HOST_ROW + 2*i, FC_HOSTNAME_O_WIDTH, afsmon_win); - if (fs_lines_Ptr->host_o == (struct onode *)0) { + if (fs_lines_Ptr->host_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create an FS name onode\n",rn); afsmon_Exit(375); } @@ -2253,7 +2253,7 @@ create_FSframe_objects() sprintf(tmpBuf,"-FSData %d-",arrIdx); *fs_data_o_Ptr = initLightObject(tmpBuf, x_pos, y_pos, FC_COLUMN_WIDTH, afsmon_win); - if (*fs_data_o_Ptr == (struct onode *)0) { + if (*fs_data_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create an FS data onode\n",rn); afsmon_Exit(380); } @@ -2276,7 +2276,7 @@ create_FSframe_objects() fsLabels_o[arrIdx] = (struct onode **) malloc( sizeof(struct onode *) * fs_cols_perPage); - if (fsLabels_o[arrIdx] == (struct onode **)0) { + if (fsLabels_o[arrIdx] == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate memory for FS label onodes\n", rn); afsmon_Exit(385); @@ -2290,7 +2290,7 @@ create_FSframe_objects() FC_FIRST_LABEL_ROW + arrIdx, FC_COLUMN_WIDTH,afsmon_win); - if (*fsLabels_o_Ptr == (struct onode *)0) { + if (*fsLabels_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create a FS label onode\n",rn); afsmon_Exit(390); } @@ -2313,22 +2313,22 @@ create_FSframe_objects() /* create keyboard bindings */ /* bind Q and  to exit */ - keymap_BindToString(fsFrame->keymap,"Q",afsmonExit_gtx,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"",afsmonExit_gtx,(char *)0,(char *)0); + keymap_BindToString(fsFrame->keymap,"Q",afsmonExit_gtx,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"",afsmonExit_gtx,NULL,NULL); /* o = overview, c = cm, n = next, p = prev, l = left, r = right N = last page, P = first page, L = leftmost col, R = rightmost col */ - keymap_BindToString(fsFrame->keymap,"o",Switch_fs_2_ovw,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"c",Switch_fs_2_cm,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"n",Switch_fs_next,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"N",Switch_fs_last,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"p",Switch_fs_prev,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"P",Switch_fs_first,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"l",Switch_fs_left,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"L",Switch_fs_leftmost,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"r",Switch_fs_right,(char *)0,(char *)0); - keymap_BindToString(fsFrame->keymap,"R",Switch_fs_rightmost,(char *)0,(char *)0); + keymap_BindToString(fsFrame->keymap,"o",Switch_fs_2_ovw,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"c",Switch_fs_2_cm,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"n",Switch_fs_next,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"N",Switch_fs_last,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"p",Switch_fs_prev,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"P",Switch_fs_first,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"l",Switch_fs_left,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"L",Switch_fs_leftmost,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"r",Switch_fs_right,NULL,NULL); + keymap_BindToString(fsFrame->keymap,"R",Switch_fs_rightmost,NULL,NULL); return(0); } /* create_FSframe_objects */ @@ -2887,7 +2887,7 @@ create_CMframe_objects() /* create the command line object */ cm_cmd_o = initLightObject("Command [oview, fs, prev, next, left, right] ? ", 0,maxY-1,FC_CMD_O_WIDTH,afsmon_win); - if (cm_cmd_o == (struct onode *)0) { + if (cm_cmd_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create cm command onode\n",rn); afsmon_Exit(420); } @@ -2904,7 +2904,7 @@ create_CMframe_objects() /* create the page number object */ cm_pageNum_o = initLightObject("[Cache Managers, p. X of X, c. Y of Y]", maxX-FC_PAGENUM_O_WIDTH,0,FC_PAGENUM_O_WIDTH,afsmon_win); - if (cm_pageNum_o == (struct onode *)0) { + if (cm_pageNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create pageNumber onode\n",rn); afsmon_Exit(415); } @@ -2914,7 +2914,7 @@ create_CMframe_objects() /* create the probe number object */ cm_probeNum_o = initLightObject("[CM probes 1, freq=30 sec]", maxX-FC_PROBENUM_O_WIDTH ,maxY-1, FC_PROBENUM_O_WIDTH, afsmon_win); - if (cm_probeNum_o == (struct onode *)0) { + if (cm_probeNum_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create cm probeNum onode\n",rn); afsmon_Exit(425); } @@ -2926,7 +2926,7 @@ create_CMframe_objects() cm_numCM_o = initLightObject( " 0 Cache Mangers monitored, 0 alerts on 0 machines", 4,2,FC_NUMHOSTS_O_WIDTH,afsmon_win); - if (cm_numCM_o == (struct onode *)0) { + if (cm_numCM_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create numCM onode for the cm frame\n", rn); afsmon_Exit(430); @@ -2935,7 +2935,7 @@ create_CMframe_objects() /* create the "more columns to left" indicator */ cm_leftArrows_o = initLightObject("<<<", 0,2,FC_ARROWS_O_WIDTH, afsmon_win); - if (cm_leftArrows_o == (struct onode *)0) { + if (cm_leftArrows_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create leftArrows onode for the cm frame\n", rn); afsmon_Exit(435); } @@ -2944,7 +2944,7 @@ create_CMframe_objects() /* create the "more columns to right" indicator */ cm_rightArrows_o = initLightObject(">>>", maxX-FC_ARROWS_O_WIDTH, 2, FC_ARROWS_O_WIDTH, afsmon_win); - if (cm_rightArrows_o == (struct onode *)0) { + if (cm_rightArrows_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create rightArrows onode for the cm frame\n", rn); afsmon_Exit(440); } @@ -2987,7 +2987,7 @@ create_CMframe_objects() for(arrIdx=0; arrIdx<2; arrIdx++) { numBytes = cm_cols_perPage * sizeof(struct onode *); cm_lines_Ptr->data_o[arrIdx] = (struct onode **) malloc(numBytes); - if (cm_lines_Ptr->data_o[arrIdx] == (struct onode **)0) { + if (cm_lines_Ptr->data_o[arrIdx] == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate %d bytes for CM data onodes\n", rn, numBytes); afsmon_Exit(450); @@ -3004,7 +3004,7 @@ create_CMframe_objects() /* initialize host name onode */ cm_lines_Ptr->host_o = initLightObject("CMHostName", 0,FC_FIRST_HOST_ROW + 2*i, FC_HOSTNAME_O_WIDTH, afsmon_win); - if (cm_lines_Ptr->host_o == (struct onode *)0) { + if (cm_lines_Ptr->host_o == NULL) { sprintf(errMsg,"[ %s ] Failed to create an CM name onode\n",rn); afsmon_Exit(455); } @@ -3033,7 +3033,7 @@ create_CMframe_objects() sprintf(tmpBuf,"-CMData %d-",arrIdx); *cm_data_o_Ptr = initLightObject(tmpBuf, x_pos, y_pos, FC_COLUMN_WIDTH, afsmon_win); - if (*cm_data_o_Ptr == (struct onode *)0) { + if (*cm_data_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create an CM data onode\n",rn); afsmon_Exit(460); } @@ -3056,7 +3056,7 @@ create_CMframe_objects() cmLabels_o[arrIdx] = (struct onode **) malloc( sizeof(struct onode *) * cm_cols_perPage); - if (cmLabels_o[arrIdx] == (struct onode **)0) { + if (cmLabels_o[arrIdx] == NULL) { sprintf(errMsg,"[ %s ] Failed to allocate memory for CM label onodes\n", rn); afsmon_Exit(465); @@ -3070,7 +3070,7 @@ create_CMframe_objects() FC_FIRST_LABEL_ROW + arrIdx, FC_COLUMN_WIDTH,afsmon_win); - if (*cmLabels_o_Ptr == (struct onode *)0) { + if (*cmLabels_o_Ptr == NULL) { sprintf(errMsg,"[ %s ] Failed to create a CM label onode\n",rn); afsmon_Exit(470); } @@ -3097,22 +3097,22 @@ create_CMframe_objects() /* create keyboard bindings */ /* bind Q and  to exit */ - keymap_BindToString(cmFrame->keymap,"Q",afsmonExit_gtx,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"",afsmonExit_gtx,(char *)0,(char *)0); + keymap_BindToString(cmFrame->keymap,"Q",afsmonExit_gtx,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"",afsmonExit_gtx,NULL,NULL); /* o = overview, c = cm, n = next, p = prev, l = left, r = right N = last page, P = first page, L = leftmost col, R = rightmost col */ - keymap_BindToString(cmFrame->keymap,"o",Switch_cm_2_ovw,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"f",Switch_cm_2_fs,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"n",Switch_cm_next,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"N",Switch_cm_last,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"p",Switch_cm_prev,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"P",Switch_cm_first,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"l",Switch_cm_left,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"L",Switch_cm_leftmost,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"r",Switch_cm_right,(char *)0,(char *)0); - keymap_BindToString(cmFrame->keymap,"R",Switch_cm_rightmost,(char *)0,(char *)0); + keymap_BindToString(cmFrame->keymap,"o",Switch_cm_2_ovw,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"f",Switch_cm_2_fs,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"n",Switch_cm_next,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"N",Switch_cm_last,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"p",Switch_cm_prev,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"P",Switch_cm_first,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"l",Switch_cm_left,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"L",Switch_cm_leftmost,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"r",Switch_cm_right,NULL,NULL); + keymap_BindToString(cmFrame->keymap,"R",Switch_cm_rightmost,NULL,NULL); return(0); } /* create_CMframe_objects */ @@ -3139,7 +3139,7 @@ gtx_initialize() afsmon_win = gtx_Init(0,-1); /* 0 => dont start input server, 1 => use curses */ - if(afsmon_win == (struct gwin *)0) { + if(afsmon_win == NULL) { sprintf(errMsg,"[ %s ] gtx initialization failed\n",rn); afsmon_Exit(475); } diff --git a/src/afsmonitor/afsmonitor.c b/src/afsmonitor/afsmonitor.c index f399e8b..6470952 100644 --- a/src/afsmonitor/afsmonitor.c +++ b/src/afsmonitor/afsmonitor.c @@ -319,7 +319,7 @@ char *name; he = gethostbyname(name); #ifdef AFS_SUN5_ENV /* On solaris the above does not resolve hostnames to full names */ - if (he != (struct hostent *)0) { + if (he != NULL) { memcpy(ip_addr, he->h_addr, he->h_length); he = gethostbyaddr(ip_addr, he->h_length, he->h_addrtype); } @@ -499,7 +499,7 @@ int a_exitVal; /* exit code */ curr_hostEntry = FSnameList; for(i=0; ithresh != (struct Threshold *)0) + if (curr_hostEntry->thresh != NULL) free(curr_hostEntry->thresh); free(curr_hostEntry); if (afsmon_debug) @@ -515,7 +515,7 @@ int a_exitVal; /* exit code */ curr_hostEntry = CMnameList; for(i=0; ithresh != (struct Threshold *)0) + if (curr_hostEntry->thresh != NULL) free(curr_hostEntry->thresh); free(curr_hostEntry); if (afsmon_debug) @@ -575,7 +575,7 @@ char *a_hostName; /* name of cache manager to be inserted in list */ strncpy(curr_item->hostName,a_hostName,CFG_STR_LEN); curr_item->next = (struct afsmon_hostEntry *)0; curr_item->numThresh = 0; - curr_item->thresh = (struct Threshold *)0; + curr_item->thresh = NULL; if (FSnameList == (struct afsmon_hostEntry *)0) FSnameList = curr_item; @@ -664,7 +664,7 @@ char *a_hostName; /* name of cache manager to be inserted in list */ strncpy(curr_item->hostName,a_hostName,CFG_STR_LEN); curr_item->next = (struct afsmon_hostEntry *)0; curr_item->numThresh = 0; - curr_item->thresh = (struct Threshold *)0; + curr_item->thresh = NULL; if (CMnameList == (struct afsmon_hostEntry *)0) CMnameList = curr_item; @@ -771,7 +771,7 @@ char *a_line; /* good host ? */ he = GetHostByName(arg1); - if ( he == (struct hostent *)0) { + if ( he == NULL) { fprintf(stderr,"[ %s ] Unable to resolve hostname %s\n", rn,arg1); return(-1); @@ -1187,7 +1187,7 @@ char *a_line; while(idx < FS_NUM_DATA_CATEGORIES && numGroups) { sscanf(fs_categories[idx],"%s %d %d",catName, &fromIdx, &toIdx); - if (strcasestr(catName,"_group") != (char *)0) { + if (strcasestr(catName,"_group") != NULL) { if (fromIdx < 0 || toIdx < 0 || fromIdx > NUM_FS_STAT_ENTRIES || toIdx > NUM_FS_STAT_ENTRIES) return(-4); @@ -1294,7 +1294,7 @@ char *a_line; while(idx < CM_NUM_DATA_CATEGORIES && numGroups) { sscanf(cm_categories[idx],"%s %d %d",catName, &fromIdx, &toIdx); - if (strcasestr(catName,"_group") != (char *)0) { + if (strcasestr(catName,"_group") != NULL) { if (fromIdx < 0 || toIdx < 0 || fromIdx > NUM_CM_STAT_ENTRIES || toIdx > NUM_CM_STAT_ENTRIES) return(-12); @@ -1504,7 +1504,7 @@ char *a_config_filename; if (curr_host->numThresh) { numBytes = curr_host->numThresh * sizeof(struct Threshold); curr_host->thresh = (struct Threshold *) malloc(numBytes); - if (curr_host->thresh == (struct Threshold *)0) { + if (curr_host->thresh == NULL) { fprintf(stderr,"[ %s ] Memory Allocation error 1",rn); afsmon_Exit(25); } @@ -1522,7 +1522,7 @@ char *a_config_filename; if (curr_host->numThresh) { numBytes = curr_host->numThresh * sizeof(struct Threshold); curr_host->thresh = (struct Threshold *) malloc(numBytes); - if (curr_host->thresh == (struct Threshold *)0) { + if (curr_host->thresh == NULL) { fprintf(stderr,"[ %s ] Memory Allocation error 2",rn); afsmon_Exit(35); } @@ -1942,7 +1942,7 @@ char *a_actValue; /* actual value */ } - fsHandler_argv[argNum] = (char *)0; + fsHandler_argv[argNum] = NULL; for(i=0; idata.AFS_CollData_val = (afs_int32 *) malloc( XSTAT_FS_FULLPERF_RESULTS_LEN * sizeof(afs_int32)); - if (new_fsPR->data.AFS_CollData_val == (afs_int32 *)0) { + if (new_fsPR->data.AFS_CollData_val == NULL) { free(new_fslist_item); free(new_fsPR->connP); free(new_fsPR); @@ -3248,7 +3248,7 @@ init_cm_buffers() new_cmPR->data.AFSCB_CollData_val = (afs_int32 *) malloc( XSTAT_CM_FULLPERF_RESULTS_LEN * sizeof(afs_int32)); - if (new_cmPR->data.AFSCB_CollData_val == (afs_int32 *)0) { + if (new_cmPR->data.AFSCB_CollData_val == NULL) { free(new_cmlist_item); free(new_cmPR->connP); free(new_cmPR); @@ -3484,7 +3484,7 @@ afsmon_execute() while (curr_FS) { strncpy(fullhostname,curr_FS->hostName,sizeof(fullhostname)); he = GetHostByName(fullhostname); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr,"[ %s ] Cannot get host info for %s\n",rn, fullhostname); return(-1); } @@ -3506,7 +3506,7 @@ afsmon_execute() numCollIDs = 1; collIDP = (afs_int32 *) malloc (sizeof (afs_int32)); - if (collIDP == (afs_int32 *)0) { + if (collIDP == NULL) { fprintf(stderr,"[ %s ] failed to allocate a measely afs_int32 word.Argh!\n", rn); return(-1); } @@ -3558,7 +3558,7 @@ afsmon_execute() while (curr_CM) { strncpy(fullhostname,curr_CM->hostName,sizeof(fullhostname)); he = GetHostByName(fullhostname); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr,"[ %s ] Cannot get host info for %s\n",rn, fullhostname); return(-1); } @@ -3580,7 +3580,7 @@ afsmon_execute() numCollIDs = 1; collIDP = (afs_int32 *) malloc (sizeof (afs_int32)); - if (collIDP == (afs_int32 *)0) { + if (collIDP == NULL) { fprintf(stderr,"[ %s ] failed to allocate a measely long word.Argh!\n", rn); return(-1); } diff --git a/src/afsweb/apache_afs_plugin.c b/src/afsweb/apache_afs_plugin.c index 08d2066..463316c 100644 --- a/src/afsweb/apache_afs_plugin.c +++ b/src/afsweb/apache_afs_plugin.c @@ -169,7 +169,7 @@ void afs_plugin_init(int tokenExpiration, char *weblogPath,char *error_fname, ch sleep(5); execlp(weblogPath,"weblog_starter", weblogPath, error_fname, weblogarg1,weblogarg2,weblogarg3,weblogarg4, - (char *)0); + NULL); fprintf(stderr, "%s: Error executing %s - %s\n", module_name, weblogPath, strerror(errno)); perror("execlp"); diff --git a/src/afsweb/apache_afs_weblog.c b/src/afsweb/apache_afs_weblog.c index c8d53c4..accca8e 100644 --- a/src/afsweb/apache_afs_weblog.c +++ b/src/afsweb/apache_afs_weblog.c @@ -141,7 +141,7 @@ int main(int argc, char **argv) switch (weblog_pid) { case 0: /* the child process - in this case weblog */ - execlp(path, "weblog", argv[3],argv[4],argv[5],argv[6],(char *)0); + execlp(path, "weblog", argv[3],argv[4],argv[5],argv[6],NULL); #ifdef DEBUG perror("apache_afs_weblog:Could not execute weblog"); #endif diff --git a/src/afsweb/weblog.c b/src/afsweb/weblog.c index 4f49722..8a5e18d 100644 --- a/src/afsweb/weblog.c +++ b/src/afsweb/weblog.c @@ -121,7 +121,7 @@ main (int argc, char **argv) zero_argc = argc; zero_argv = argv; - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "obtain Kerberos authentication for web servers"); /* define the command line arguments */ @@ -309,7 +309,7 @@ static char *makeString(char *sp) return NULL; } new_string=(char *) malloc(len+1); - if (new_string==(char *)0) { + if (new_string==NULL) { fprintf(stderr, "weblog: Out of memory - malloc failed\n"); return NULL; } @@ -366,7 +366,7 @@ static char *make_string(s_p, length) int length; { char *new_p = (char *) malloc(length + 1); - if (new_p == (char *) 0) { + if (new_p == NULL) { fprintf(stderr, "dlog: out of memory\n"); exit(1); } diff --git a/src/audit/audit.c b/src/audit/audit.c index 7928daa..7b56798 100644 --- a/src/audit/audit.c +++ b/src/audit/audit.c @@ -344,8 +344,8 @@ int osi_auditU (struct rx_call *call, } else if (secClass == 2) /* authenticated */ { - code = rxkad_GetServerInfo(conn, (char *)0, (char *)0, afsName, - (char *)0, (char *)0, (char *)0); + code = rxkad_GetServerInfo(conn, NULL, NULL, afsName, + NULL, NULL, NULL); if (code) { osi_audit ("AFS_Aud_NoAFSId", (-1), AUD_STR, audEvent, AUD_END); diff --git a/src/auth/authcon.c b/src/auth/authcon.c index f990f0c..a462ad9 100644 --- a/src/auth/authcon.c +++ b/src/auth/authcon.c @@ -48,18 +48,12 @@ RCSID("$Header$"); #include "auth.h" #endif /* defined(UKERNEL) */ - -extern afs_int32 afsconf_Authenticate(); -extern int afsconf_GetKey(); -extern struct rx_securityClass *rxkad_NewServerSecurityObject(); -extern struct rx_securityClass *rxkad_NewClientSecurityObject(); - /* return a null security object if nothing else can be done */ static afs_int32 QuickAuth(astr, aindex) struct rx_securityClass **astr; afs_int32 *aindex; { register struct rx_securityClass *tc; - tc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + tc = rxnull_NewClientSecurityObject(); *astr = tc; *aindex = 0; return 0; @@ -75,7 +69,7 @@ afs_int32 *aindex; { LOCK_GLOBAL_MUTEX tclass = (struct rx_securityClass *) - rxkad_NewServerSecurityObject(0, adir, afsconf_GetKey, (char *) 0); + rxkad_NewServerSecurityObject(0, adir, afsconf_GetKey, NULL); if (tclass) { *astr = tclass; *aindex = 2; /* kerberos security index */ @@ -140,10 +134,9 @@ rxkad_level enclevel; { /* build a fake ticket for 'afs' using keys from adir, returning an * appropriate security class and index */ -afs_int32 afsconf_ClientAuth(adir, astr, aindex) -struct afsconf_dir *adir; -struct rx_securityClass **astr; -afs_int32 *aindex; { +afs_int32 afsconf_ClientAuth(struct afsconf_dir *adir, + struct rx_securityClass **astr, afs_int32 *aindex) +{ afs_int32 rc; LOCK_GLOBAL_MUTEX diff --git a/src/auth/cellconfig.c b/src/auth/cellconfig.c index 5d221a9..8c19ac5 100644 --- a/src/auth/cellconfig.c +++ b/src/auth/cellconfig.c @@ -61,12 +61,6 @@ RCSID("$Header$"); #include "cellconfig.h" #include "keys.h" -static ParseHostLine(); -static ParseCellLine(); -static afsconf_OpenInternal(); -static afsconf_CloseInternal(); -static afsconf_Reopen(); - static struct afsconf_servPair serviceTable [] = { { "afs", 7000, }, { "afscb", 7001, }, @@ -83,6 +77,27 @@ static struct afsconf_servPair serviceTable [] = { { 0, 0 } /* insert new services before this spot */ }; +/* Prototypes */ +static afs_int32 afsconf_FindService(register const char *aname); +static int TrimLine(char *abuffer); +#ifdef AFS_NT40_ENV +static int IsClientConfigDirectory(const char *path); +static int GetCellNT(struct afsconf_dir *adir); +#endif +static int afsconf_Check(register struct afsconf_dir *adir); +static int afsconf_Touch(register struct afsconf_dir *adir); +static int GetCellUnix(struct afsconf_dir *adir); +static int afsconf_OpenInternal(register struct afsconf_dir *adir, + char *cell, char clones[]); +static int ParseHostLine(char *aline, register struct sockaddr_in *addr, + char *aname, char *aclone); +static int ParseCellLine(register char *aline, register char *aname, + register char *alname); +static int afsconf_CloseInternal(register struct afsconf_dir *adir); +static int afsconf_Reopen(register struct afsconf_dir *adir); +static int SaveKeys(struct afsconf_dir *adir); + + /* * Basic Rule: we touch "/CellServDB" every time we change anything, so * our code can tell if there is new info in the key files, the cell server db @@ -91,8 +106,8 @@ static struct afsconf_servPair serviceTable [] = { */ /* return port number in network byte order in the low 16 bits of a long; return -1 if not found */ -static afs_int32 afsconf_FindService(aname) -register char *aname; { +static afs_int32 afsconf_FindService(register const char *aname) +{ /* lookup a service name */ struct servent *ts; register struct afsconf_servPair *tsp; @@ -100,7 +115,7 @@ register char *aname; { #if defined(AFS_OSF_ENV) || defined(AFS_DEC_ENV) ts = getservbyname(aname, ""); #else - ts = getservbyname(aname, (char *) 0); + ts = getservbyname(aname, NULL); #endif if (ts) { /* we found it in /etc/services, so we use this value */ @@ -109,13 +124,13 @@ register char *aname; { /* not found in /etc/services, see if it is one of ours */ for(tsp = serviceTable;; tsp++) { - if (tsp->name == (char *) 0) return -1; + if (tsp->name == NULL) return -1; if (!strcmp(tsp->name, aname)) return htons(tsp->port); } } -static int TrimLine(abuffer) -char *abuffer; { +static int TrimLine(char *abuffer) +{ char tbuffer[256]; register char *tp; register int tc; @@ -171,8 +186,8 @@ static int IsClientConfigDirectory(const char *path) #endif /* AFS_NT40_ENV */ -static int afsconf_Check(adir) -register struct afsconf_dir *adir; { +static int afsconf_Check(register struct afsconf_dir *adir) +{ char tbuffer[256]; struct stat tstat; register afs_int32 code; @@ -203,8 +218,8 @@ register struct afsconf_dir *adir; { } /* set modtime on file */ -static afsconf_Touch(adir) -register struct afsconf_dir *adir; { +static int afsconf_Touch(register struct afsconf_dir *adir) +{ char tbuffer[256]; #ifndef AFS_NT40_ENV struct timeval tvp[2]; @@ -233,8 +248,8 @@ register struct afsconf_dir *adir; { #endif /* AFS_NT40_ENV */ } -struct afsconf_dir *afsconf_Open(adir) -register char *adir; { +struct afsconf_dir *afsconf_Open(register const char *adir) +{ register struct afsconf_dir *tdir; register afs_int32 code; @@ -247,7 +262,7 @@ register char *adir; { code = afsconf_OpenInternal(tdir, 0, 0); if (code) { - char *afsconf_path, *getenv(), afs_confdir[128]; + char *afsconf_path, afs_confdir[128]; free(tdir->name); /* Check global place only when local Open failed for whatever reason */ @@ -349,10 +364,8 @@ static int GetCellNT(struct afsconf_dir *adir) #endif /* AFS_NT40_ENV */ -static int afsconf_OpenInternal(adir, cell, clones) -register struct afsconf_dir *adir; -char *cell; -char clones[]; +static int afsconf_OpenInternal(register struct afsconf_dir *adir, + char *cell, char clones[]) { FILE *tf; register char *tp, *bp; @@ -444,9 +457,9 @@ char clones[]; } i = curEntry->cellInfo.numServers; if (cell && !strcmp(cell, curEntry->cellInfo.name)) - code = ParseHostLine(tbuffer, (char *) &curEntry->cellInfo.hostAddr[i], curEntry->cellInfo.hostName[i], &clones[i]); + code = ParseHostLine(tbuffer, &curEntry->cellInfo.hostAddr[i], curEntry->cellInfo.hostName[i], &clones[i]); else - code = ParseHostLine(tbuffer, (char *) &curEntry->cellInfo.hostAddr[i], curEntry->cellInfo.hostName[i], 0); + code = ParseHostLine(tbuffer, &curEntry->cellInfo.hostAddr[i], curEntry->cellInfo.hostName[i], 0); if (code) { if (code == AFSCONF_SYNTAX) { for (bp=tbuffer; *bp != '\n'; bp++) { /* Take out the from the buffer */ @@ -520,10 +533,8 @@ char clones[]; *"[128.2.1.3] #hostname" for clones * into the appropriate pieces. */ -static ParseHostLine(aline, addr, aname, aclone) - char *aclone; - register struct sockaddr_in *addr; - char *aline, *aname; +static int ParseHostLine(char *aline, register struct sockaddr_in *addr, + char *aname, char *aclone) { int c1, c2, c3, c4; register afs_int32 code; @@ -554,8 +565,9 @@ static ParseHostLine(aline, addr, aname, aclone) * ">cellname [linkedcellname] [#comments]" * into the appropriate pieces. */ -static ParseCellLine(aline, aname, alname) -register char *aline, *aname, *alname; { +static int ParseCellLine(register char *aline, register char *aname, + register char *alname) +{ register int code; code = sscanf(aline, ">%s %s", aname, alname); if (code == 1) *alname = '\0'; @@ -568,10 +580,8 @@ register char *aline, *aname, *alname; { } /* call aproc(entry, arock, adir) for all cells. Proc must return 0, or we'll stop early and return the code it returns */ -afsconf_CellApply(adir, aproc, arock) -struct afsconf_dir *adir; -int (*aproc)(); -char *arock; { +int afsconf_CellApply(struct afsconf_dir *adir, int (*aproc)(), char *arock) +{ register struct afsconf_entry *tde; register afs_int32 code; LOCK_GLOBAL_MUTEX @@ -589,10 +599,7 @@ char *arock; { /* call aproc(entry, arock, adir) for all cell aliases. * Proc must return 0, or we'll stop early and return the code it returns */ -afsconf_CellAliasApply(adir, aproc, arock) - struct afsconf_dir *adir; - int (*aproc)(); - char *arock; +int afsconf_CellAliasApply(struct afsconf_dir *adir, int (*aproc)(), char *arock) { register struct afsconf_aliasentry *tde; register afs_int32 code; @@ -610,12 +617,9 @@ afsconf_CellAliasApply(adir, aproc, arock) afs_int32 afsconf_SawCell = 0; -afsconf_GetExtendedCellInfo(adir, acellName, aservice, acellInfo, clones) - struct afsconf_dir *adir; - char *aservice; - char *acellName; - struct afsconf_cell *acellInfo; - char clones[]; +int afsconf_GetExtendedCellInfo(struct afsconf_dir *adir, + char *acellName, char *aservice, struct afsconf_cell *acellInfo, + char clones[]) { afs_int32 code; char *cell; @@ -635,10 +639,8 @@ afsconf_GetExtendedCellInfo(adir, acellName, aservice, acellInfo, clones) #ifdef AFS_AFSDB_ENV #if !defined(AFS_NT40_ENV) -afsconf_GetAfsdbInfo(acellName, aservice, acellInfo) - char *acellName; - char *aservice; - struct afsconf_cell *acellInfo; +int afsconf_GetAfsdbInfo(char *acellName, char *aservice, + struct afsconf_cell *acellInfo) { afs_int32 code; int tservice, i; @@ -743,10 +745,8 @@ afsconf_GetAfsdbInfo(acellName, aservice, acellInfo) return 0; } #else /* windows */ -int afsconf_GetAfsdbInfo(acellName, aservice, acellInfo) - char *aservice; - char *acellName; - struct afsconf_cell *acellInfo; +int afsconf_GetAfsdbInfo(char *acellName, char *aservice, + struct afsconf_cell *acellInfo) { register afs_int32 i; int tservice; @@ -796,11 +796,9 @@ int afsconf_GetAfsdbInfo(acellName, aservice, acellInfo) #endif /* windows */ #endif /* AFS_AFSDB_ENV */ -afsconf_GetCellInfo(adir, acellName, aservice, acellInfo) -struct afsconf_dir *adir; -char *aservice; -char *acellName; -struct afsconf_cell *acellInfo; { +int afsconf_GetCellInfo(struct afsconf_dir *adir, char *acellName, + char *aservice, struct afsconf_cell *acellInfo) +{ register struct afsconf_entry *tce; struct afsconf_aliasentry *tcae; struct afsconf_entry *bestce; @@ -882,13 +880,11 @@ struct afsconf_cell *acellInfo; { } } -afsconf_GetLocalCell(adir, aname, alen) -register struct afsconf_dir *adir; -char *aname; -afs_int32 alen; { +int afsconf_GetLocalCell(register struct afsconf_dir *adir, + char *aname, afs_int32 alen) +{ static int afsconf_showcell = 0; char *afscell_path; - char *getenv(); afs_int32 code = 0; LOCK_GLOBAL_MUTEX @@ -916,8 +912,8 @@ afs_int32 alen; { return(code); } -afsconf_Close(adir) -struct afsconf_dir *adir; { +int afsconf_Close(struct afsconf_dir *adir) +{ LOCK_GLOBAL_MUTEX afsconf_CloseInternal(adir); if (adir->name) free(adir->name); @@ -926,8 +922,8 @@ struct afsconf_dir *adir; { return 0; } -static int afsconf_CloseInternal(adir) -register struct afsconf_dir *adir; { +static int afsconf_CloseInternal(register struct afsconf_dir *adir) +{ register struct afsconf_entry *td, *nd; register char *tname; @@ -949,8 +945,8 @@ register struct afsconf_dir *adir; { return 0; } -static int afsconf_Reopen(adir) -register struct afsconf_dir *adir; { +static int afsconf_Reopen(register struct afsconf_dir *adir) +{ register afs_int32 code; code = afsconf_CloseInternal(adir); if (code) return code; @@ -959,8 +955,7 @@ register struct afsconf_dir *adir; { } /* called during opening of config file */ -afsconf_IntGetKeys(adir) -struct afsconf_dir *adir; +int afsconf_IntGetKeys(struct afsconf_dir *adir) { char tbuffer[256]; register int fd; @@ -1011,9 +1006,7 @@ struct afsconf_dir *adir; } /* get keys structure */ -afsconf_GetKeys(adir, astr) -struct afsconf_dir *adir; -struct afsconf_keys *astr; +int afsconf_GetKeys(struct afsconf_dir *adir, struct afsconf_keys *astr) { register afs_int32 code; @@ -1027,10 +1020,8 @@ struct afsconf_keys *astr; } /* get latest key */ -afs_int32 afsconf_GetLatestKey(adir, avno, akey) - IN struct afsconf_dir *adir; - OUT afs_int32 *avno; - OUT char *akey; +afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir, + afs_int32 *avno, char *akey) { register int i; int maxa; @@ -1065,10 +1056,8 @@ afs_int32 afsconf_GetLatestKey(adir, avno, akey) } /* get a particular key */ -afsconf_GetKey(adir, avno, akey) -struct afsconf_dir *adir; -afs_int32 avno; -char *akey; +int afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno, + char *akey) { register int i, maxa; register struct afsconf_key *tk; @@ -1093,8 +1082,7 @@ char *akey; } /* save the key structure in the appropriate file */ -static SaveKeys(adir) -struct afsconf_dir *adir; +static int SaveKeys(struct afsconf_dir *adir) { struct afsconf_keys tkeys; register int fd; @@ -1121,10 +1109,8 @@ struct afsconf_dir *adir; return 0; } -afsconf_AddKey(adir, akvno, akey, overwrite) -struct afsconf_dir *adir; -afs_int32 akvno, overwrite; -char akey[8]; +int afsconf_AddKey(struct afsconf_dir *adir, afs_int32 akvno, + char akey[8], afs_int32 overwrite) { register struct afsconf_keys *tk; register struct afsconf_key *tkey; @@ -1169,9 +1155,7 @@ char akey[8]; /* this proc works by sliding the other guys down, rather than using a funny kvno value, so that callers can count on getting a good key in key[0]. */ -afsconf_DeleteKey(adir, akvno) -struct afsconf_dir *adir; -afs_int32 akvno; +int afsconf_DeleteKey(struct afsconf_dir *adir, afs_int32 akvno) { register struct afsconf_keys *tk; register struct afsconf_key *tkey; diff --git a/src/auth/cellconfig.p.h b/src/auth/cellconfig.p.h index 5fa71d1..3293162 100644 --- a/src/auth/cellconfig.p.h +++ b/src/auth/cellconfig.p.h @@ -93,16 +93,39 @@ struct afsconf_dir { struct afsconf_aliasentry *alias_entries; /* cell aliases */ }; -extern struct afsconf_dir *afsconf_Open(); -extern afs_int32 afsconf_ClientAuth(); -extern afs_int32 afsconf_Authenticate(); -extern int afsconf_GetKey(); - struct afsconf_servPair { char *name; int port; }; +extern struct afsconf_dir *afsconf_Open(register const char *adir); +extern int afsconf_CellApply(struct afsconf_dir *adir, int (*aproc)(), char *arock); +extern int afsconf_CellAliasApply(struct afsconf_dir *adir, int (*aproc)(), char *arock); +extern int afsconf_GetExtendedCellInfo(struct afsconf_dir *adir, + char *acellName, char *aservice, struct afsconf_cell *acellInfo, + char clones[]); +extern int afsconf_GetAfsdbInfo(char *acellName, char *aservice, + struct afsconf_cell *acellInfo); +extern int afsconf_GetCellInfo(struct afsconf_dir *adir, char *acellName, + char *aservice, struct afsconf_cell *acellInfo); +extern int afsconf_GetLocalCell(register struct afsconf_dir *adir, + char *aname, afs_int32 alen); +extern int afsconf_Close(struct afsconf_dir *adir); +extern int afsconf_IntGetKeys(struct afsconf_dir *adir); +extern int afsconf_GetKeys(struct afsconf_dir *adir, struct afsconf_keys *astr); +extern afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir, + afs_int32 *avno, char *akey); +extern int afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno, + char *akey); +extern int afsconf_AddKey(struct afsconf_dir *adir, afs_int32 akvno, + char akey[8], afs_int32 overwrite); +extern int afsconf_DeleteKey(struct afsconf_dir *adir, afs_int32 akvno); + + +extern afs_int32 afsconf_ClientAuth(struct afsconf_dir *adir, + struct rx_securityClass **astr, afs_int32 *aindex); + + /* some well-known ports and their names; new additions to table in cellconfig.c, too */ #define AFSCONF_FILESERVICE "afs" diff --git a/src/auth/copyauth.c b/src/auth/copyauth.c index 7ca3e0b..2db7071 100644 --- a/src/auth/copyauth.c +++ b/src/auth/copyauth.c @@ -12,6 +12,14 @@ RCSID("$Header$"); +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include "auth.h" #ifdef AFS_NT40_ENV @@ -65,7 +73,7 @@ char **argv; { strcpy(tserver.cell, localName); strcpy(tserver.name, "afs"); tserver.instance[0] = 0; - code = ktc_GetToken(&tserver, &token, sizeof(token), (char *) 0); + code = ktc_GetToken(&tserver, &token, sizeof(token), NULL); if (code) { printf("%s: failed to get '%s' service ticket in cell '%s' (code %d)\n", whoami, tserver.name, tserver.cell, code); exit(1); @@ -73,7 +81,7 @@ char **argv; { /* and now set the ticket in the new cell */ strcpy(tserver.cell, argv[1]); - code = ktc_SetToken(&tserver, &token, (char *) 0, 0); + code = ktc_SetToken(&tserver, &token, NULL, 0); if (code) { printf("%s: failed to set ticket (code %d), are you sure you're authenticated?\n", whoami, code); exit(1); diff --git a/src/auth/test/testcellconf.c b/src/auth/test/testcellconf.c index 15a44856..e84d07a 100644 --- a/src/auth/test/testcellconf.c +++ b/src/auth/test/testcellconf.c @@ -92,17 +92,17 @@ char *argv[]; printf("Done.\n\n"); /* do this junk once */ printf("start of special test\n"); - code = afsconf_GetCellInfo(theDir, (char *) 0, "afsprot", &theCell); + code = afsconf_GetCellInfo(theDir, NULL, "afsprot", &theCell); if (code) printf("failed to find afsprot service (%d)\n", code); else { printf("AFSPROT service:\n"); - PrintOneCell(&theCell, (char *) (char *) 0, theDir); + PrintOneCell(&theCell, (char *) NULL, theDir); } code = afsconf_GetCellInfo(theDir, 0, "bozotheclown", &theCell); if (code == 0) printf("unexpectedly found service 'bozotheclown'\n"); - code = afsconf_GetCellInfo(theDir, (char *) 0, "telnet", &theCell); + code = afsconf_GetCellInfo(theDir, NULL, "telnet", &theCell); printf("Here's the telnet service:\n"); - PrintOneCell(&theCell, (char *) 0, theDir); + PrintOneCell(&theCell, NULL, theDir); printf("done with special test\n"); } else { @@ -112,7 +112,7 @@ char *argv[]; if (code) { printf("Could not find info for cell '%s', code %d\n", argv[i], code); } - else PrintOneCell(&theCell, (char *) 0, theDir); + else PrintOneCell(&theCell, NULL, theDir); } } diff --git a/src/auth/userok.c b/src/auth/userok.c index 1ea0854..bfad52e 100644 --- a/src/auth/userok.c +++ b/src/auth/userok.c @@ -52,7 +52,7 @@ int afsconf_CheckAuth(adir, acall) register struct rx_call *acall; register struct afsconf_dir *adir; { LOCK_GLOBAL_MUTEX - return ((afsconf_SuperUser(adir, acall, (char *)0) == 0)? 10029 : 0); + return ((afsconf_SuperUser(adir, acall, NULL) == 0)? 10029 : 0); UNLOCK_GLOBAL_MUTEX } #endif /* !defined(UKERNEL) */ @@ -156,7 +156,7 @@ register char *auser; { while (1) { /* check for our user id */ tp = fgets(nbuffer, sizeof(nbuffer), tf); - if (tp == (char *)0) break; + if (tp == NULL) break; code = sscanf(nbuffer, "%64s", tname); if (code == 1 && strcmp(tname, auser) == 0) { /* found the guy, don't copy to output file */ @@ -211,7 +211,7 @@ afs_int32 abufferLen; { while (1) { /* check for our user id */ tp = fgets(tbuffer, sizeof(tbuffer), tf); - if (tp == (char *)0) break; + if (tp == NULL) break; code = sscanf(tbuffer, "%64s", tname); if (code == 1 && an-- == 0) { flag = 0; @@ -373,8 +373,8 @@ char *namep; { /* get auth details from server connection */ code = rxkad_GetServerInfo - (acall->conn, (afs_int32 *) 0, &exp, - tname, tinst, tcell, (afs_int32 *) 0); + (acall->conn, NULL, &exp, + tname, tinst, tcell, NULL); if (code) { UNLOCK_GLOBAL_MUTEX return 0; /* bogus connection/other error */ diff --git a/src/auth/writeconfig.c b/src/auth/writeconfig.c index aafb8fe..66e3eeb 100644 --- a/src/auth/writeconfig.c +++ b/src/auth/writeconfig.c @@ -92,7 +92,7 @@ struct afsconf_cell *acellInfo; { afs_int32 code; - code = afsconf_SetExtendedCellInfo(adir, apath, acellInfo, (char *)0); + code = afsconf_SetExtendedCellInfo(adir, apath, acellInfo, NULL); return code; } diff --git a/src/bozo/bnode.c b/src/bozo/bnode.c index cef731d..4116ed4 100644 --- a/src/bozo/bnode.c +++ b/src/bozo/bnode.c @@ -27,6 +27,15 @@ RCSID("$Header$"); #include #endif #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /* signal(), kill(), wait(), etc. */ #include #include @@ -66,7 +75,7 @@ register struct bnode_proc *ap; { tbnodep = ap->bnode; if (tbnodep->lastErrorName) { free(tbnodep->lastErrorName); - tbnodep->lastErrorName = (char *) 0; + tbnodep->lastErrorName = NULL; } if (ap->coreName) { tbnodep->lastErrorName = (char *) malloc(strlen(ap->coreName)+1); @@ -262,7 +271,7 @@ register char *aname; { for(tb=allBnodes;tb;tb=tb->next) { if (!strcmp(tb->name, aname)) return tb; } - return (struct bnode *) 0; + return NULL; } static struct bnode_type *FindType(aname) @@ -864,7 +873,7 @@ char *aexecString; { for (tt = tlist, i = 0; i < (MAXVARGS - 1) && tt; tt = tt->next, i++) { argv[i] = tt->key; } - argv[i] = (char *) 0; /* null-terminated */ + argv[i] = NULL; /* null-terminated */ cpid = spawnprocve(argv[0], argv, environ, -1); osi_audit(BOSSpawnProcEvent, 0, AUD_STR, aexecString, AUD_END ); @@ -891,7 +900,7 @@ int asignal; { if (!(aproc->flags & BPROC_STARTED) || (aproc->flags & BPROC_EXITED)) return BZNOTACTIVE; - osi_audit( BOSStopProcEvent, 0, AUD_STR, (aproc ? aproc->comLine : (char *)0), AUD_END ); + osi_audit( BOSStopProcEvent, 0, AUD_STR, (aproc ? aproc->comLine : NULL), AUD_END ); code = kill(aproc->pid, asignal); bnode_Check(aproc->bnode); diff --git a/src/bozo/bos.c b/src/bozo/bos.c index 6a7c52d..e82fa5e 100644 --- a/src/bozo/bos.c +++ b/src/bozo/bos.c @@ -190,10 +190,10 @@ struct cmd_syndesc *as; { if (as->parms[ADDPARMOFFSET].items) tname = as->parms[ADDPARMOFFSET].items->data; - else tname = (char *) 0; + else tname = NULL; /* next call expands cell name abbrevs for us and handles looking up * local cell */ - code = afsconf_GetCellInfo(tdir, tname, (char *) 0, &info); + code = afsconf_GetCellInfo(tdir, tname, NULL, &info); if (code) { com_err ("bos", code, "(can't find cell '%s' in cell database)", (tname? tname : "")); @@ -207,7 +207,7 @@ struct cmd_syndesc *as; { } sname.instance[0] = 0; strcpy(sname.name, "afs"); - sc[0] = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc[0] = rxnull_NewClientSecurityObject(); sc[1] = 0; sc[2] = 0; scIndex = 0; @@ -226,7 +226,7 @@ struct cmd_syndesc *as; { sc[scIndex] = sc[2]; } } else { /* not -localauth, check for tickets */ - code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), NULL); if (code == 0) { /* have tickets, will travel */ if (ttoken.kvno >= 0 && ttoken.kvno <= 255) ; @@ -832,7 +832,7 @@ register struct cmd_syndesc *as; { ucstring(cellBuffer, cellBuffer, strlen(cellBuffer)); tcell = cellBuffer; } - else tcell = (char *) 0; /* no cell specified, use current */ + else tcell = NULL; /* no cell specified, use current */ /* ka_StringToKey(as->parms[1].items->data, tcell, &tkey); */ @@ -1185,7 +1185,7 @@ char *orphans; } /* add the parallel option if given */ - if (parallel != (char *)0) { + if (parallel != NULL) { if ( (strlen(tbuffer) + 11 + strlen(parallel) + 1) > BOZO_BSSIZE ) { printf("bos: command line too big\n"); return(E2BIG); @@ -1195,7 +1195,7 @@ char *orphans; } /* add the tmpdir option if given */ - if (atmpDir != (char *)0) { + if (atmpDir != NULL) { if ( (strlen(tbuffer) + 9 + strlen(atmpDir) + 1) > BOZO_BSSIZE ) { printf("bos: command line too big\n"); return(E2BIG); @@ -1205,7 +1205,7 @@ char *orphans; } /* add the orphans option if given */ - if (orphans != (char *)0) { + if (orphans != NULL) { if ( (strlen(tbuffer) + 10 + strlen(orphans) + 1) > BOZO_BSSIZE ) { printf("bos: command line too big\n"); return(E2BIG); @@ -1384,23 +1384,23 @@ struct cmd_syndesc *as; { if (as->parms[3].items) outName = as->parms[3].items->data; else - outName = (char *) 0; + outName = NULL; if (as->parms[5].items) showlog = 1; /* parallel option */ - parallel = (char *) 0; + parallel = NULL; if (as->parms[6].items) parallel = as->parms[6].items->data; /* get the tmpdir filename if any */ - tmpDir = (char *)0; + tmpDir = NULL; if (as->parms[7].items) tmpDir = as->parms[7].items->data; /* -orphans option */ - orphans = (char *)0; + orphans = NULL; if (as->parms[8].items) { if (mrafs) { printf("Can't specify -orphans for MR-AFS fileserver\n"); @@ -1487,7 +1487,7 @@ struct cmd_syndesc *as; { } /* now do the salvage operation */ printf("Starting salvage.\n"); - rc = DoSalvage(tconn, (char *) 0, (char *) 0, outName, showlog,parallel,tmpDir,orphans); + rc = DoSalvage(tconn, NULL, NULL, outName, showlog,parallel,tmpDir,orphans); if (curGoal == BSTAT_NORMAL) { printf("bos: restarting fs.\n"); code = BOZO_SetTStatus(tconn, "fs", BSTAT_NORMAL); @@ -1526,7 +1526,7 @@ struct cmd_syndesc *as; { } /* now do the salvage operation */ printf("Starting salvage.\n"); - rc = DoSalvage(tconn, as->parms[1].items->data, (char *) 0, + rc = DoSalvage(tconn, as->parms[1].items->data, NULL, outName, showlog,parallel,tmpDir,orphans); if (curGoal == BSTAT_NORMAL) { printf("bos: restarting fs.\n"); @@ -1549,7 +1549,7 @@ struct cmd_syndesc *as; { if (as->parms[ADDPARMOFFSET].items) tmpname = as->parms[ADDPARMOFFSET].items->data; - else tmpname = (char *) 0; + else tmpname = NULL; localauth = (as->parms[ADDPARMOFFSET + 2].items != 0); confdir = (localauth ? AFSDIR_SERVER_ETC_DIRPATH : AFSDIR_CLIENT_ETC_DIRPATH); @@ -1664,7 +1664,7 @@ static DoStat (aname, aconn, aint32p, firstTime) printf(" Last exit at %s\n", DateOf(istatus.lastAnyExit)); } if (istatus.lastErrorExit) { - is1 = is2 = is3 = is4 = (char *) 0; + is1 = is2 = is3 = is4 = NULL; printf(" Last error exit at %s, ", DateOf(istatus.lastErrorExit)); code = BOZO_GetInstanceStrings(aconn, aname, &is1, &is2, &is3, &is4); /* don't complain about failing call, since could simply mean diff --git a/src/bozo/bos_util.c b/src/bozo/bos_util.c index 17152aa..fbf3411 100644 --- a/src/bozo/bos_util.c +++ b/src/bozo/bos_util.c @@ -28,6 +28,14 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -61,7 +69,7 @@ main(int argc, char **argv) struct ktc_encryptionKey tkey; int kvno; char buf[BUFSIZ], ver[BUFSIZ]; - char *tcell = (char *) 0; + char *tcell = NULL; if (argc != 3) { printf("bos_util add: usage is 'bos_util add \n"); @@ -86,7 +94,7 @@ main(int argc, char **argv) exit(1); } ka_StringToKey(buf,tcell,&tkey); - code = afsconf_AddKey(tdir, kvno, &tkey); + code = afsconf_AddKey(tdir, kvno, &tkey, 0); if (code) { printf("bos_util: failed to set key, code %d.\n", code); exit(1); @@ -97,7 +105,7 @@ main(int argc, char **argv) int kvno; register afs_int32 code; char buf[BUFSIZ], ver[BUFSIZ]; - char *tcell = (char *) 0; + char *tcell = NULL; if (argc != 3) { printf("bos_util adddes: usage is 'bos_util adddes \n"); @@ -122,7 +130,7 @@ main(int argc, char **argv) exit(1); } des_string_to_key(buf,&tkey); - code = afsconf_AddKey(tdir, kvno, &tkey); + code = afsconf_AddKey(tdir, kvno, &tkey, 0); if (code) { printf("bos_util: failed to set key, code %d.\n", code); exit(1); @@ -148,7 +156,7 @@ main(int argc, char **argv) printf("Can't find key in %s\n", argv[3]); exit(1); } - code = afsconf_AddKey(tdir, kvno, tkey); + code = afsconf_AddKey(tdir, kvno, tkey, 0); if (code) { printf("bos_util: failed to set key, code %d.\n", code); exit(1); @@ -194,7 +202,7 @@ main(int argc, char **argv) printf("All done.\n"); } else { - printf("bos_util: unknown operation '%s', type 'bos_util' for assistance\n"); + printf("bos_util: unknown operation '%s', type 'bos_util' for assistance\n", argv[1]); exit(1); } exit(0); diff --git a/src/bozo/bosoprocs.c b/src/bozo/bosoprocs.c index 79593e9..9ab57ff 100644 --- a/src/bozo/bosoprocs.c +++ b/src/bozo/bosoprocs.c @@ -37,6 +37,14 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "bnode.h" #include "bosint.h" @@ -372,7 +380,7 @@ char *aname; { } if (DoLogging) bozo_Log("%s is executing SetCellName '%s'\n", caller, aname); - code = afsconf_GetExtendedCellInfo(bozo_confdir, (char *) 0, (char *) 0, &tcell, &clones); + code = afsconf_GetExtendedCellInfo(bozo_confdir, NULL, NULL, &tcell, &clones); if (code) goto fail; @@ -421,7 +429,7 @@ char **aname; { register char *tp; char clones[MAXHOSTSPERCELL]; - code = afsconf_GetExtendedCellInfo(bozo_confdir, (char *) 0, (char *) 0, &tcell, &clones); + code = afsconf_GetExtendedCellInfo(bozo_confdir, NULL, NULL, &tcell, &clones); if (code) goto fail; if (awhich >= tcell.numServers) { @@ -464,7 +472,7 @@ char *aname; { if (DoLogging) bozo_Log("%s is executing DeleteCellHost '%s'\n", caller, aname); - code = afsconf_GetExtendedCellInfo(bozo_confdir, (char *) 0, (char *) 0, &tcell, &clones); + code = afsconf_GetExtendedCellInfo(bozo_confdir, NULL, NULL, &tcell, &clones); if (code) goto fail; @@ -509,7 +517,7 @@ char *aname; { if (DoLogging) bozo_Log("%s is executing AddCellHost '%s'\n", caller, aname); - code = afsconf_GetExtendedCellInfo(bozo_confdir, (char *) 0, (char *) 0, &tcell, &clones); + code = afsconf_GetExtendedCellInfo(bozo_confdir, NULL, NULL, &tcell, &clones); if (code) goto fail; @@ -868,7 +876,7 @@ struct rx_call *acall; { } if (DoLogging) bozo_Log("%s is executing ShutdownAll\n", caller); - code = bnode_ApplyInstance(sdproc, (char *) 0); + code = bnode_ApplyInstance(sdproc, NULL); fail: osi_auditU (acall, BOS_ShutdownAllEvent, code, AUD_END); @@ -888,15 +896,15 @@ struct rx_call *acall; { if (DoLogging) bozo_Log("%s is executing RestartAll\n", caller); /* start shutdown of all processes */ - code = bnode_ApplyInstance(sdproc, (char *) 0); + code = bnode_ApplyInstance(sdproc, NULL); if (code) goto fail; /* wait for all done */ - code = bnode_ApplyInstance(swproc, (char *) 0); + code = bnode_ApplyInstance(swproc, NULL); if (code) goto fail; /* start them up again */ - code = bnode_ApplyInstance(stproc, (char *) 0); + code = bnode_ApplyInstance(stproc, NULL); fail: osi_auditU (acall, BOS_RestartAllEvent, code, AUD_END); @@ -916,11 +924,11 @@ register struct rx_call *acall; { if (DoLogging) bozo_Log("%s is executing ReBozo\n", caller); /* start shutdown of all processes */ - code = bnode_ApplyInstance(sdproc, (char *) 0); + code = bnode_ApplyInstance(sdproc, NULL); if (code) goto fail; /* wait for all done */ - code = bnode_ApplyInstance(swproc, (char *) 0); + code = bnode_ApplyInstance(swproc, NULL); if (code) goto fail; if (acall) osi_auditU (acall, BOS_RebozoEvent, code, AUD_END); @@ -948,7 +956,7 @@ struct rx_call *acall; { goto fail; } if (DoLogging) bozo_Log("%s is executing StartupAll\n", caller); - code = bnode_ApplyInstance(stproc, (char *) 0); + code = bnode_ApplyInstance(stproc, NULL); fail: osi_auditU (acall, BOS_StartupAllEvent, code, AUD_END); @@ -1497,9 +1505,9 @@ void bozo_ShutdownAndExit(int asignal) asignal); /* start shutdown of all processes */ - if ((code = bnode_ApplyInstance(sdproc, (char *) 0)) == 0) { + if ((code = bnode_ApplyInstance(sdproc, NULL)) == 0) { /* wait for shutdown to complete */ - code = bnode_ApplyInstance(swproc, (char *) 0); + code = bnode_ApplyInstance(swproc, NULL); } if (code) { diff --git a/src/bozo/bosserver.c b/src/bozo/bosserver.c index 11c2717..a30ebbd 100644 --- a/src/bozo/bosserver.c +++ b/src/bozo/bosserver.c @@ -92,7 +92,7 @@ struct bztemp { int bozo_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(bozo_confdir, call, (char *)0); + return afsconf_SuperUser(bozo_confdir, call, NULL); } /* restart bozo process */ @@ -279,8 +279,8 @@ char *aname; { bozo_nextDayKT.min = 0; for(code=0;code #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include #include #include /* signal(), kill(), wait(), etc. */ @@ -67,7 +77,7 @@ static int cron_hascore(abnode) register struct ezbnode *abnode; { char tbuffer[256]; - bnode_CoreName(abnode, (char *) 0, tbuffer); + bnode_CoreName(abnode, NULL, tbuffer); if (access(tbuffer, 0) == 0) return 1; else return 0; } @@ -100,7 +110,7 @@ register struct cronbnode *abnode; { if (!abnode->running) { /* start up */ abnode->lastStart = FT_ApproxTime(); - code = bnode_NewProc(abnode, abnode->command, (char *) 0, &tp); + code = bnode_NewProc(abnode, abnode->command, NULL, &tp); if (code) { bozo_Log("cron bnode %s failed to start (code %d)\n", abnode->b.name, code); @@ -148,7 +158,7 @@ char *acommand; { /* construct local path from canonical (wire-format) path */ if (ConstructLocalBinPath(acommand, &cmdpath)) { bozo_Log("BNODE: command path invalid '%s'\n", acommand); - return (struct bnode *)0; + return NULL; } te = (struct cronbnode *) malloc(sizeof(struct cronbnode)); @@ -157,7 +167,7 @@ char *acommand; { if (code < 0) { free(te); free(cmdpath); - return (struct bnode *) 0; + return NULL; } bnode_InitBnode(te, &cronbnode_ops, ainstance); te->when = ktime_next(&te->whenToRun, 0); @@ -180,7 +190,7 @@ struct cronbnode *abnode; { if (FT_ApproxTime() >= abnode->when) { abnode->lastStart = FT_ApproxTime(); bnode_SetTimeout(abnode, 0); - code = bnode_NewProc(abnode, abnode->command, (char *) 0, &tp); + code = bnode_NewProc(abnode, abnode->command, NULL, &tp); if (code) { bozo_Log("cron failed to start bnode %s (code %d)\n", abnode->b.name, code); diff --git a/src/bozo/ezbnodeops.c b/src/bozo/ezbnodeops.c index 75e6261..520a362 100644 --- a/src/bozo/ezbnodeops.c +++ b/src/bozo/ezbnodeops.c @@ -19,6 +19,16 @@ RCSID("$Header$"); #ifdef AFS_NT40_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include #include /* signal(), kill(), wait(), etc. */ #include "bnode.h" @@ -47,7 +57,7 @@ static int ez_hascore(abnode) register struct ezbnode *abnode; { char tbuffer[256]; - bnode_CoreName(abnode, (char *) 0, tbuffer); + bnode_CoreName(abnode, NULL, tbuffer); if (access(tbuffer, 0) == 0) return 1; else return 0; } @@ -87,7 +97,7 @@ char *acommand; { if (ConstructLocalBinPath(acommand, &cmdpath)) { bozo_Log("BNODE: command path invalid '%s'\n", acommand); - return (struct bnode *)0; + return NULL; } te = (struct ezbnode *) malloc(sizeof(struct ezbnode)); @@ -129,7 +139,7 @@ afs_int32 astatus; { if (astatus == BSTAT_NORMAL && !abnode->running) { /* start up */ abnode->lastStart = FT_ApproxTime(); - code = bnode_NewProc(abnode, abnode->command, (char *) 0, &tp); + code = bnode_NewProc(abnode, abnode->command, NULL, &tp); if (code) return code; abnode->running = 1; abnode->proc = tp; diff --git a/src/bozo/fsbnodeops.c b/src/bozo/fsbnodeops.c index 8df3178..6b6a32d 100644 --- a/src/bozo/fsbnodeops.c +++ b/src/bozo/fsbnodeops.c @@ -24,6 +24,16 @@ RCSID("$Header$"); #include #else #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #endif /* AFS_NT40_ENV */ #include #include /* signal(), kill(), wait(), etc. */ @@ -338,7 +348,7 @@ char *ascancmd; { if (bailout) { free(fileCmdpath); free(volCmdpath); free(salCmdpath); - return (struct bnode *)0; + return NULL; } te = (struct fsbnode *) malloc(sizeof(struct fsbnode)); @@ -349,7 +359,7 @@ char *ascancmd; { if (ascancmd && strlen(ascancmd)) te->scancmd = scanCmdpath; else - te->scancmd = (char *)0; + te->scancmd = NULL; bnode_InitBnode(te, &fsbnode_ops, ainstance); bnode_SetTimeout(te, POLLTIME); /* ask for timeout activations every 10 seconds */ RestoreSalFlag(te); /* restore needsSalvage flag based on file's existence */ diff --git a/src/bu_utils/fms.c b/src/bu_utils/fms.c index 33c8f07..9c17010 100644 --- a/src/bu_utils/fms.c +++ b/src/bu_utils/fms.c @@ -63,7 +63,7 @@ main(argc, argv) sigaction(SIGINT, &intaction, &oldaction); - cptr = cmd_CreateSyntax((char *) 0, tt_fileMarkSize, 0, + cptr = cmd_CreateSyntax(NULL, tt_fileMarkSize, 0, "write a tape full of file marks"); cmd_AddParm(cptr, "-tape", CMD_SINGLE, CMD_REQUIRED, "tape special file"); diff --git a/src/bucoord/btest.c b/src/bucoord/btest.c index d793392..da98da5 100644 --- a/src/bucoord/btest.c +++ b/src/bucoord/btest.c @@ -16,8 +16,6 @@ #include #include "bc.h" -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); - #include "AFS_component_version_number.c" main(argc, argv) diff --git a/src/bucoord/commands.c b/src/bucoord/commands.c index b619750..2dce307 100644 --- a/src/bucoord/commands.c +++ b/src/bucoord/commands.c @@ -687,7 +687,7 @@ char *bc_CopyString(astring) afs_int32 tlen; char *tp; - if (!astring) return((char *) 0); /* propagate null strings easily */ + if (!astring) return(NULL); /* propagate null strings easily */ tlen = strlen(astring); tp = (char *) malloc(tlen+1); /* don't forget the terminating null */ if (!tp) @@ -722,14 +722,14 @@ char *concatParams(itemPtr) if ( length == 0 ) /* no string (0 length) */ { com_err(whoami, 0, "Can't have zero length date and time string"); - return((char *)0); + return(NULL); } string = (char *) malloc(length); /* allocate the string */ if (!string) { com_err(whoami,BC_NOMEM,""); - return((char *)0); + return(NULL); } string[0] = 0; @@ -1143,7 +1143,7 @@ bc_VolRestoreCmd(as, arock) afs_int32 fromDate; char *newExt, *timeString; afs_int32 i, portRemain; - afs_int32 *ports = (afs_int32 *)0; + afs_int32 *ports = NULL; afs_int32 portCount=0; int dontExecute; @@ -1219,7 +1219,7 @@ bc_VolRestoreCmd(as, arock) fromDate = 0x7fffffff; /* latest one */ } - newExt = (as->parms[3].items ? as->parms[3].items->data : (char *)0); + newExt = (as->parms[3].items ? as->parms[3].items->data : NULL); oldFlag = 0; /* Read all the port offsets into the ports array. The first element in the @@ -1277,7 +1277,7 @@ char *arock; { int oldFlag; afs_int32 fromDate; char *newExt; - afs_int32 *ports = (afs_int32 *)0; + afs_int32 *ports = NULL; afs_int32 portCount=0; int dontExecute; struct bc_volumeDump *prev, *tvol, *nextvol; @@ -1365,7 +1365,7 @@ char *arock; { } } - newExt = (as->parms[10].items ? as->parms[10].items->data : (char *)0); + newExt = (as->parms[10].items ? as->parms[10].items->data : NULL); dontExecute = (as->parms[11].items ? 1 : 0); /* -n */ /* @@ -1428,7 +1428,7 @@ bc_VolsetRestoreCmd (as, arock) char *newExt; int dontExecute; - afs_int32 *ports = (afs_int32 *)0; + afs_int32 *ports = NULL; afs_int32 portCount=0; afs_int32 code = 0; afs_int32 portoffset = 0; @@ -1558,7 +1558,7 @@ bc_VolsetRestoreCmd (as, arock) } } - newExt = (as->parms[3].items ? as->parms[3].items->data : (char *)0); + newExt = (as->parms[3].items ? as->parms[3].items->data : NULL); dontExecute = (as->parms[4].items ? 1 : 0); fromDate = 0x7fffffff; /* last one before this date */ @@ -1616,7 +1616,7 @@ int bc_DumpCmd(as, arock) afs_int32 level; /* this dump's level # */ afs_int32 problemFindingDump; /* can't find parent(s) */ - afs_int32 *portp = (afs_int32 *)0; + afs_int32 *portp = NULL; afs_int32 portCount = 0; afs_int32 doAt, atTime; /* Time a timed-dump is to start at */ afs_int32 length; diff --git a/src/bucoord/dlq.c b/src/bucoord/dlq.c index b357da4..30e77a6 100644 --- a/src/bucoord/dlq.c +++ b/src/bucoord/dlq.c @@ -9,6 +9,9 @@ #include #include +#ifdef HAVE_STDLIB_H +#include +#endif RCSID("$Header$"); @@ -44,7 +47,7 @@ dlqInit(headptr) headptr->dlq_next = headptr; headptr->dlq_prev = headptr; headptr->dlq_type = DLQ_HEAD; - headptr->dlq_structPtr = (char *)0; + headptr->dlq_structPtr = NULL; return(0); } diff --git a/src/bucoord/dump.c b/src/bucoord/dump.c index b800e21..1be89e9 100644 --- a/src/bucoord/dump.c +++ b/src/bucoord/dump.c @@ -505,7 +505,7 @@ bc_GetConn (aconfig, aport, tconn) /* use non-secure connections to butc */ if (!rxsc) - rxsc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + rxsc = rxnull_NewClientSecurityObject(); if (!rxsc || !aconfig) return(-1); for (te = aconfig->tapeHosts; te; te = te->next) diff --git a/src/bucoord/main.c b/src/bucoord/main.c index b474904..ac8dc9e 100644 --- a/src/bucoord/main.c +++ b/src/bucoord/main.c @@ -89,8 +89,6 @@ extern PrintError(); */ struct bc_config *bc_globalConfig; /*Ptr to global BC configuration info*/ -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); - struct ubik_client *cstruct; /* Ptr to Ubik client structure*/ struct ktc_token ttoken; /* The token */ @@ -386,7 +384,7 @@ afs_int32 doDispatch(targc, targv, dispatchCount) lock_Dispatch(); - loadFile = (char *) 0; + loadFile = NULL; code = cmd_Dispatch(targc, targv); internalLoadFile = loadFile; @@ -502,7 +500,7 @@ main(argc, argv) /* Get early warning if the command is interacive mode or not */ interact = ( ((argc < 2) || (argv[1][0] == '-')) ? 1 : 0 ); - cmd_SetBeforeProc(MyBeforeProc, (char *)0); + cmd_SetBeforeProc(MyBeforeProc, NULL); ts = cmd_CreateSyntax("dump", bc_DumpCmd, 0, "start dump"); cmd_AddParm(ts, "-volumeset", CMD_SINGLE, CMD_OPTIONAL, "volume set name"); diff --git a/src/bucoord/restore.c b/src/bucoord/restore.c index 54a4ba8..e60fd93 100644 --- a/src/bucoord/restore.c +++ b/src/bucoord/restore.c @@ -190,7 +190,7 @@ bc_Restorer(aindex) struct rx_connection *aconn = (struct rx_connection *)0; statusP statusPtr, newStatusPtr; - struct dumpinfo *dumpinfolist = (struct dumpinfo *)0; + struct dumpinfo *dumpinfolist = NULL; struct dumpinfo *pdi, *ndi, *di, dlevels[BC_MAXLEVELS]; struct volinfo *pvi, *nvi, *vi; afs_int32 lvl, lv; diff --git a/src/bucoord/ttest.c b/src/bucoord/ttest.c index e39495d..1bcd823 100644 --- a/src/bucoord/ttest.c +++ b/src/bucoord/ttest.c @@ -52,7 +52,7 @@ char **argv; { printf("ttest: could not initialize rx, code %d.\n", code); exit(1); } - rxsc[0] = (struct rx_securityClass *) rxnull_NewServerSecurityObject(); + rxsc[0] = rxnull_NewServerSecurityObject(); tservice = rx_NewService(0, 1, "tape-controller", rxsc, 1, TC_ExecuteRequest); rx_SetMinProcs(tservice, 3); rx_SetMaxProcs(tservice, 5); diff --git a/src/bucoord/ubik_db_if.c b/src/bucoord/ubik_db_if.c index 85aee54..dad67e1 100644 --- a/src/bucoord/ubik_db_if.c +++ b/src/bucoord/ubik_db_if.c @@ -883,7 +883,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken) sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname, ttoken, sizeof(struct ktc_token), (char *)0); + code = ktc_GetToken(&sname, ttoken, sizeof(struct ktc_token), NULL); if (code) { com_err(whoami,code, 0,"; Can't get AFS tokens - running unauthenticated"); @@ -900,7 +900,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken) switch (scIndex) { case 0: - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); break; case 2: sc = (struct rx_securityClass *) @@ -1035,7 +1035,7 @@ udbClientInit(noAuthFlag, localauth, cellName) strcpy(principal.name, "afs"); /* get token */ - code = ktc_GetToken(&principal, &token, sizeof(token), (char *)0); + code = ktc_GetToken(&principal, &token, sizeof(token), NULL); if (code) { com_err(whoami, code, "; Can't get tokens - running unauthenticated"); @@ -1052,7 +1052,7 @@ udbClientInit(noAuthFlag, localauth, cellName) switch (udbHandle.uh_scIndex) { case 0: - udbHandle.uh_secobj = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + udbHandle.uh_secobj = rxnull_NewClientSecurityObject(); break; case 2: diff --git a/src/budb/database.c b/src/budb/database.c index b98c150..ebc38be 100644 --- a/src/budb/database.c +++ b/src/budb/database.c @@ -27,6 +27,13 @@ RCSID("$Header$"); #include "error_macros.h" #include "afs/audit.h" +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif int pollCount; diff --git a/src/budb/db_alloc.c b/src/budb/db_alloc.c index 59f8a7f..09484d3 100644 --- a/src/budb/db_alloc.c +++ b/src/budb/db_alloc.c @@ -17,6 +17,13 @@ RCSID("$Header$"); #else #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include @@ -41,10 +48,10 @@ afs_int32 InitDBalloc () nEntries[tape_BLOCK] = NtapeS; nEntries[dump_BLOCK] = NdumpS; - sizeEntries[volFragment_BLOCK] = sizeof(((struct vfBlock *)0)->a[0]); - sizeEntries[volInfo_BLOCK] = sizeof(((struct viBlock *)0)->a[0]); - sizeEntries[tape_BLOCK] = sizeof(((struct tBlock *)0)->a[0]); - sizeEntries[dump_BLOCK] = sizeof(((struct dBlock *)0)->a[0]); + sizeEntries[volFragment_BLOCK] = sizeof(((struct vfBlock *)NULL)->a[0]); + sizeEntries[volInfo_BLOCK] = sizeof(((struct viBlock *)NULL)->a[0]); + sizeEntries[tape_BLOCK] = sizeof(((struct tBlock *)NULL)->a[0]); + sizeEntries[dump_BLOCK] = sizeof(((struct dBlock *)NULL)->a[0]); return 0; } diff --git a/src/budb/db_dump.c b/src/budb/db_dump.c index 7776a5f..1f19b76 100644 --- a/src/budb/db_dump.c +++ b/src/budb/db_dump.c @@ -28,6 +28,14 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "database.h" #include "budb.h" #include "globals.h" diff --git a/src/budb/db_hash.c b/src/budb/db_hash.c index ad80d91..fa4246c 100644 --- a/src/budb/db_hash.c +++ b/src/budb/db_hash.c @@ -17,6 +17,13 @@ RCSID("$Header$"); #else #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include diff --git a/src/budb/db_text.c b/src/budb/db_text.c index d362485..06307d0 100644 --- a/src/budb/db_text.c +++ b/src/budb/db_text.c @@ -21,6 +21,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include @@ -133,7 +140,7 @@ afs_int32 GetText (call, lockHandle, textType, maxLength, offset, /* allocate the transfer storage */ if (transferSize <= 0) { charListPtr->charListT_len = 0L; - charListPtr->charListT_val = (char *)0; + charListPtr->charListT_val = NULL; } else { charListPtr->charListT_len = transferSize; diff --git a/src/budb/dbs_dump.c b/src/budb/dbs_dump.c index 78b16a0..8140a23 100644 --- a/src/budb/dbs_dump.c +++ b/src/budb/dbs_dump.c @@ -126,7 +126,7 @@ afs_int32 DumpDB (call, firstcall, maxLength, charListPtr, done) */ if (maxLength == 0) { - charListPtr->charListT_val = (char *)0; + charListPtr->charListT_val = NULL; charListPtr->charListT_len = 0; *done = ((dumpSyncPtr->statusFlags == 0) ? 1 : 0); diff --git a/src/budb/ol_verify.c b/src/budb/ol_verify.c index ac0af72..f773abf 100644 --- a/src/budb/ol_verify.c +++ b/src/budb/ol_verify.c @@ -21,6 +21,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include @@ -139,10 +146,10 @@ int blockEntries[NBLOCKTYPES] = int blockEntrySize[NBLOCKTYPES] = { 0 /* free */, - sizeof(((struct vfBlock *)0)->a[0]), - sizeof(((struct viBlock *)0)->a[0]), - sizeof(((struct tBlock *)0)->a[0]), - sizeof(((struct dBlock *)0)->a[0]), + sizeof(((struct vfBlock *)NULL)->a[0]), + sizeof(((struct viBlock *)NULL)->a[0]), + sizeof(((struct tBlock *)NULL)->a[0]), + sizeof(((struct dBlock *)NULL)->a[0]), 0}; char *typeName[NBLOCKTYPES] = diff --git a/src/budb/procs.c b/src/budb/procs.c index 57bb72d..adce63e 100644 --- a/src/budb/procs.c +++ b/src/budb/procs.c @@ -26,8 +26,16 @@ RCSID("$Header$"); #include #include #include +#endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H #include #endif +#endif + #include #include #include @@ -152,7 +160,7 @@ callPermitted(call) acdir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH); if (!acdir) return 0; - if ( afsconf_SuperUser(acdir, call, (char *)0) ) + if ( afsconf_SuperUser(acdir, call, NULL) ) permitted = 1; exit: diff --git a/src/budb/server.c b/src/budb/server.c index 8be2aa1..af8a7bf 100644 --- a/src/budb/server.c +++ b/src/budb/server.c @@ -22,6 +22,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -73,7 +82,7 @@ int debugging = 0; int BU_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(BU_conf, call, (char *)0); + return afsconf_SuperUser(BU_conf, call, NULL); } int @@ -127,9 +136,9 @@ initializeArgHandler() int argHandler(); - cmd_SetBeforeProc(MyBeforeProc, (char *)0); + cmd_SetBeforeProc(MyBeforeProc, NULL); - cptr = cmd_CreateSyntax((char *) 0, argHandler, (char *) 0, + cptr = cmd_CreateSyntax(NULL, argHandler, NULL, "Backup database server"); cmd_AddParm(cptr, "-database", CMD_SINGLE, CMD_OPTIONAL, @@ -310,7 +319,6 @@ main(argc, argv) extern int afsconf_CheckAuth(); extern int rx_stackSize; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int BUDB_ExecuteRequest(); #ifdef AFS_NT40_ENV @@ -470,7 +478,7 @@ main(argc, argv) sca[RX_SCINDEX_KAD] = rxkad_NewServerSecurityObject(rxkad_clear, BU_conf, afsconf_GetKey, - (char *) 0); + NULL); /* Disable jumbograms */ rx_SetNoJumbo(); diff --git a/src/butc/dbentries.c b/src/butc/dbentries.c index 68c9bb6..edf1385 100644 --- a/src/butc/dbentries.c +++ b/src/butc/dbentries.c @@ -50,7 +50,7 @@ afs_int32 threadEntryDir(anEntry, size, type) afs_int32 size, type; { dlqlinkP entryPtr; - char *entry = (char *)0; + char *entry = NULL; int tried; for (tried=0; tried<5; tried++) { @@ -93,7 +93,7 @@ threadEntry(anEntry, size, type) afs_int32 size, type; { dlqlinkP entryPtr; - char *entry = (char *)0; + char *entry = NULL; int tried; for (tried=0; tried<5; tried++) { diff --git a/src/butc/dump.c b/src/butc/dump.c index 63b78b0..f9955ea 100644 --- a/src/butc/dump.c +++ b/src/butc/dump.c @@ -1165,7 +1165,7 @@ Dumper(nodePtr) dataSize = (tapeblocks * BUTM_BLKSIZE); allocbufferSize = BUTM_HDRSIZE + dataSize + sizeof(struct volumeHeader); } - bufferBlock = (char *)0; + bufferBlock = NULL; bufferBlock = malloc(allocbufferSize); if (!bufferBlock) { ErrorLog(0, taskId, TC_NOMEMORY, 0, "Can't allocate BUFFERSIZE for dumps\n"); @@ -2157,7 +2157,7 @@ DeleteDump(ptr) } /* Switch back to the original server */ - rc = InitToServer(taskId, &butxInfo, (char *)0); + rc = InitToServer(taskId, &butxInfo, NULL); if (vl.budb_volumeList_val) free(vl.budb_volumeList_val); diff --git a/src/butc/list.c b/src/butc/list.c index 7f97c27..85f6aa1 100644 --- a/src/butc/list.c +++ b/src/butc/list.c @@ -53,7 +53,7 @@ void InitNodeList(portOffset) { maxTaskID = (portOffset * 1000) + 1; /* this is the first task id alotted */ headNode.taskID = -1; - headNode.next = (struct dumpNode *)0; + headNode.next = NULL; headNode.dumps = (struct tc_dumpDesc *)0; headNode.restores = (struct tc_restoreDesc *)0; dumpQHeader = &headNode; /* noone in the list to start with */ @@ -93,9 +93,9 @@ afs_int32 taskID; curPtr = dumpQHeader; oldPtr = dumpQHeader; if(curPtr) newPtr = dumpQHeader->next; - else newPtr = (struct dumpNode *)0; + else newPtr = NULL; done = 0; - while((!done) && (curPtr != (struct dumpNode *)0)) { + while((!done) && (curPtr != NULL)) { if(curPtr->taskID == taskID){ done = 1; oldPtr->next = newPtr; @@ -147,7 +147,7 @@ struct dumpNode **resultNode; done = 0; tmpPtr = dumpQHeader; - while((!done) && (tmpPtr != (struct dumpNode *)0)) { + while((!done) && (tmpPtr != NULL)) { if(tmpPtr->taskID == taskID) { *resultNode = tmpPtr; done = 1; diff --git a/src/butc/lwps.c b/src/butc/lwps.c index 2a90a1c..bf9f149 100644 --- a/src/butc/lwps.c +++ b/src/butc/lwps.c @@ -466,7 +466,7 @@ int callOutRoutine(taskId, tapePath, flag, name, dbDumpId, tapecount) if (flag == CLOSEOPCODE) { - CO_argv[3] = (char *)0; + CO_argv[3] = NULL; } else { @@ -493,10 +493,10 @@ int callOutRoutine(taskId, tapePath, flag, name, dbDumpId, tapecount) sprintf(Sdumpid, "%u", dbDumpId); CO_argv[5] = Sdumpid; - CO_argv[6] = (char *)0; + CO_argv[6] = NULL; } - CO_envp[0] = (char *)0; + CO_envp[0] = NULL; pid = spawnprocve(callOut, CO_argv, CO_envp, 2); if (pid < 0) { @@ -1295,7 +1295,7 @@ afs_int32 restoreVolumeData (call, rparamsPtr) * Seach for the volume trailer in these two blocks. */ if (lastbuf == startWbuf) - found = FindVolTrailer2((char *)0 , 0 , &headBytes, + found = FindVolTrailer2(NULL, 0 , &headBytes, bufferBlock[lastbuf].data, nbytes, &tailBytes, &tapeVolTrailer); else @@ -1708,7 +1708,7 @@ Restorer (newNode) if (tapeblocks < 2) tapeblocks = 2; allocbufferSize = tapeblocks * BUTM_BLOCKSIZE; /* This many full tapeblocks */ } - bufferBlock = (struct TapeBlock *)0; + bufferBlock = NULL; bufferBlock = (struct TapeBlock *) malloc(allocbufferSize); if (!bufferBlock) ERROR_EXIT(TC_NOMEMORY); memset(bufferBlock, 0, allocbufferSize); diff --git a/src/butc/read_tape.c b/src/butc/read_tape.c index 75c27e4..47d8c5b 100644 --- a/src/butc/read_tape.c +++ b/src/butc/read_tape.c @@ -509,7 +509,7 @@ main(argc, argv) setlinebuf(stdout); - ts=cmd_CreateSyntax((char *)0, WorkerBee, (char *) 0, "Restore volumes from backup tape"); + ts=cmd_CreateSyntax(NULL, WorkerBee, NULL, "Restore volumes from backup tape"); cmd_AddParm(ts, "-tape", CMD_SINGLE, CMD_REQUIRED, "tape device"); cmd_AddParm(ts, "-restore", CMD_SINGLE, CMD_OPTIONAL, "# volumes to restore"); cmd_AddParm(ts, "-skip", CMD_SINGLE, CMD_OPTIONAL, "# volumes to skip"); diff --git a/src/butc/recoverDb.c b/src/butc/recoverDb.c index bf99054..4ddd2fa 100644 --- a/src/butc/recoverDb.c +++ b/src/butc/recoverDb.c @@ -351,7 +351,7 @@ scanVolData(taskId, curTapePtr, tapeVersion, volumeHeader, volumeTrailer, bytesR afs_uint32 *bytesRead; { afs_int32 headBytes, tailBytes; - char *block = (char *) 0; + char *block = NULL; char *buffer[2]; int hasdata[2], curr, prev; afs_uint32 chunkSize = 0; diff --git a/src/butc/tcmain.c b/src/butc/tcmain.c index 90859a3..c616375 100644 --- a/src/butc/tcmain.c +++ b/src/butc/tcmain.c @@ -66,8 +66,6 @@ RCSID("$Header$"); struct ubik_client *cstruct; extern void TC_ExecuteRequest(); extern int dbWatcher(); -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); -extern struct rx_service *rx_NewService(); FILE *logIO, *ErrorlogIO, *centralLogIO, *lastLogIO; char lFile[AFSDIR_PATH_MAX]; char logFile[256]; @@ -421,21 +419,21 @@ static afs_int32 GetConfigParams(filename, port) queryoperator = 1; /* can question operator */ autoQuery = 1; /* prompt for first tape */ isafile = 0; /* Do not dump to a file */ - opencallout = (char *)0; /* open callout routine */ - closecallout = (char *)0; /* close callout routine */ + opencallout = NULL; /* open callout routine */ + closecallout = NULL; /* close callout routine */ tapemounted = 0; /* tape is not mounted */ #ifdef xbsa BufferSize = (CONF_XBSA ? XBSADFLTBUFFER : BUTM_BLOCKSIZE); dumpRestAuthnLevel = rpc_c_protect_level_default; - xbsaObjectOwner = (char *)0; /* bsaObjectOwner */ - appObjectOwner = (char *)0; /* appObjectOwner */ - adsmServerName = (char *)0; /* TSM server name - same as ADSM */ - xbsaSecToken = (char *)0; /* XBSA sercurity token */ - xbsalGName = (char *)0; /* XBSA IGName */ + xbsaObjectOwner = NULL; /* bsaObjectOwner */ + appObjectOwner = NULL; /* appObjectOwner */ + adsmServerName = NULL; /* TSM server name - same as ADSM */ + xbsaSecToken = NULL; /* XBSA sercurity token */ + xbsalGName = NULL; /* XBSA IGName */ #else BufferSize = BUTM_BLOCKSIZE; #endif /*xbsa*/ - centralLogFile = (char *)0; /* Log for all butcs */ + centralLogFile = NULL; /* Log for all butcs */ centralLogIO = 0; /* Log for all butcs */ statusSize = 0; /* size before status message */ maxpass = PASSESDFLT; /* dump passes */ @@ -1037,7 +1035,7 @@ char *arock; { * security on connections made to this server */ - securityObjects[0] = (struct rx_securityClass *) rxnull_NewServerSecurityObject(); + securityObjects[0] = rxnull_NewServerSecurityObject(); securityObjects[1] = (struct rx_securityClass *) 0; /* don't bother with rxvab */ if ( !securityObjects[0] ) { @@ -1134,7 +1132,7 @@ char **argv; setlinebuf(stdout); - ts = cmd_CreateSyntax((char *) 0, WorkerBee, (char *) 0, "tape coordinator"); + ts = cmd_CreateSyntax(NULL, WorkerBee, NULL, "tape coordinator"); cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "port offset"); cmd_AddParm(ts, "-debuglevel", CMD_SINGLE, CMD_OPTIONAL, "0 | 1 | 2"); cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell name"); @@ -1179,7 +1177,7 @@ char **argv; ts->parms[3].items = (struct cmd_item *) NULL; ts->parms[4].items = (struct cmd_item *) NULL; ts->parms[5].items = (struct cmd_item *) NULL; - return WorkerBee(ts, (char *) 0); + return WorkerBee(ts, NULL); } else return cmd_Dispatch(argc, argv); diff --git a/src/butc/tcudbprocs.c b/src/butc/tcudbprocs.c index 506e1b7..348f315 100644 --- a/src/butc/tcudbprocs.c +++ b/src/butc/tcudbprocs.c @@ -308,7 +308,7 @@ afs_int32 freeTapeList() listEntryPtr = next; } - listEntryHead = (struct tapeEntryList *)0; + listEntryHead = NULL; return(0); } @@ -422,7 +422,7 @@ saveDbToTape(saveDbIfPtr) } - listEntryHead = (struct tapeEntryList *)0; + listEntryHead = NULL; /* Get the tape and write a new label to it */ code = GetDBTape(taskId, expires, &tapeInfo, dumpEntry.id, 1, autoQuery, &wroteLabel); @@ -688,7 +688,7 @@ restoreDbFromTape(taskId) ERROR_EXIT(code); } - listEntryHead = (struct tapeEntryList *)0; + listEntryHead = NULL; rstTapeInfo.taskId = taskId; rstTapeInfo.tapeSeq = 1; @@ -910,7 +910,7 @@ writeDbDump(tapeInfoPtr, taskId, expires, dumpid) code = pthread_create(&alivePid, &tattr, KeepAlive, 0); AFS_SIGSET_RESTORE(); #else - code = LWP_CreateProcess(KeepAlive, 16384, 1, (char *)0, + code = LWP_CreateProcess(KeepAlive, 16384, 1, NULL, "Keep-alive process", &alivePid); #endif /* XXX should we check code here ??? XXX */ diff --git a/src/butc/test.c b/src/butc/test.c index 49c8a9c..ceef113 100644 --- a/src/butc/test.c +++ b/src/butc/test.c @@ -35,7 +35,6 @@ #endif #define SERVERNAME "server1" -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); afs_int32 code = 0; struct tc_tapeSet ttapeSet; @@ -52,7 +51,7 @@ afs_int32 aserver, port; register struct rx_connection *tc; struct rx_securityClass *uvclass; - uvclass = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + uvclass = rxnull_NewClientSecurityObject(); tc = rx_NewConnection(aserver, htons(port), TCSERVICE_ID, uvclass, 0); return tc; } @@ -273,7 +272,7 @@ char **argv; { sigaction(SIGABRT, &nsa, NULL); sigaction(SIGSEGV, &nsa, NULL); #endif - cmd_SetBeforeProc(MyBeforeProc, (char *) 0); + cmd_SetBeforeProc(MyBeforeProc, NULL); ts = cmd_CreateSyntax("dump",PerformDump,0,"perform a dump"); diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 6606ac4..9aa9d08 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -157,6 +157,8 @@ case $AFS_SYSNAME in ;; i386_linux22) + CC="gcc -pipe" + MT_CC="gcc -pipe" LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" @@ -168,13 +170,15 @@ case $AFS_SYSNAME in ;; i386_linux24) + CC="gcc -pipe" + MT_CC="gcc -pipe" LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' MT_LIBS="-lpthread" - PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" + PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC" SHLIB_LDFLAGS="-shared -Xlinker -x" TXLIBS="/usr/lib/libncurses.so" - XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" + XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE" ;; i386_obsd29) diff --git a/src/cmd/cmd.c b/src/cmd/cmd.c index 906a348..9419038 100644 --- a/src/cmd/cmd.c +++ b/src/cmd/cmd.c @@ -29,14 +29,14 @@ struct cmd_token { static int dummy; /* non-null ptr used for flag existence */ static struct cmd_syndesc *allSyntax=0; static int noOpcodes = 0; -static int (*beforeProc)() = 0, (*afterProc)() = 0; +static int (*beforeProc)(struct cmd_syndesc *ts, char *beforeRock) = 0, (*afterProc)(struct cmd_syndesc *ts, char *afterRock) = 0; static char *beforeRock, *afterRock; static char initcmd_opcode[] = "initcmd"; /*Name of initcmd opcode*/ /* take name and string, and return null string if name is empty, otherwise return the concatenation of the two strings */ -static char *NName(a1, a2) -char *a1, *a2; { +static char *NName(char *a1, char *a2) +{ static char tbuffer[80]; if (strlen(a1) == 0) { return ""; @@ -49,8 +49,8 @@ char *a1, *a2; { } /* return true if asub is a substring of amain */ -static int SubString(amain, asub) -register char *amain, *asub; { +static int SubString(register char *amain, register char *asub) +{ int mlen, slen; register int i,j; mlen = strlen(amain); @@ -64,9 +64,8 @@ register char *amain, *asub; { return 0; /* didn't find it */ } -static int FindType(as, aname) -register struct cmd_syndesc *as; -register char *aname; { +static int FindType(register struct cmd_syndesc *as, register char *aname) +{ register int i; size_t cmdlen; int ambig; @@ -90,9 +89,8 @@ register char *aname; { return (ambig? -1 : best); } -static struct cmd_syndesc *FindSyntax(aname, aambig) -int *aambig; -char *aname; { +static struct cmd_syndesc *FindSyntax(char *aname, int *aambig) +{ register struct cmd_syndesc *ts; struct cmd_syndesc *best; size_t cmdLen; @@ -128,8 +126,8 @@ char *aname; { } /* print the help for a single parameter */ -static void PrintParmHelp(aparm) -register struct cmd_parmdesc *aparm; { +static void PrintParmHelp(register struct cmd_parmdesc *aparm) +{ if (aparm->type == CMD_FLAG) { #ifdef notdef /* doc people don't like seeing this information */ @@ -147,8 +145,8 @@ register struct cmd_parmdesc *aparm; { printf(" +"); } -void PrintSyntax(as) -register struct cmd_syndesc *as; { +void PrintSyntax(register struct cmd_syndesc *as) +{ register int i; register struct cmd_parmdesc *tp; @@ -176,8 +174,8 @@ register struct cmd_syndesc *as; { } /* must print newline in any case, to terminate preceding line */ -static void PrintAliases(as) -register struct cmd_syndesc *as; { +static void PrintAliases(register struct cmd_syndesc *as) +{ register struct cmd_syndesc *ts; if (as->flags & CMD_ALIAS) { @@ -195,8 +193,8 @@ register struct cmd_syndesc *as; { } } -void PrintFlagHelp(as) -register struct cmd_syndesc *as; { +void PrintFlagHelp(register struct cmd_syndesc *as) +{ register int i; register struct cmd_parmdesc *tp; size_t flag_width; @@ -228,9 +226,8 @@ register struct cmd_syndesc *as; { } } -static int AproposProc(as, arock) -char *arock; -register struct cmd_syndesc *as; { +static int AproposProc(register struct cmd_syndesc *as, char *arock) +{ register struct cmd_syndesc *ts; char *tsub; int didAny; @@ -254,9 +251,8 @@ register struct cmd_syndesc *as; { return 0; } -static int HelpProc(as, arock) -char *arock; -register struct cmd_syndesc *as; { +static int HelpProc(register struct cmd_syndesc *as, char *arock) +{ register struct cmd_syndesc *ts; register struct cmd_item *ti; int ambig; @@ -299,25 +295,23 @@ register struct cmd_syndesc *as; { return(code); } -int cmd_SetBeforeProc(aproc, arock) -int (*aproc)(); -char *arock; { +int cmd_SetBeforeProc(int (*aproc)(struct cmd_syndesc *ts, char *beforeRock), char *arock) +{ beforeProc = aproc; beforeRock = arock; return 0; } -int cmd_SetAfterProc(aproc, arock) -int (*aproc)(); -char *arock; { +int cmd_SetAfterProc(int (*aproc)(struct cmd_syndesc *ts, char *afterRock), char *arock) +{ afterProc = aproc; afterRock = arock; return 0; } /* thread on list in alphabetical order */ -static int SortSyntax(as) -struct cmd_syndesc *as; { +static int SortSyntax(struct cmd_syndesc *as) +{ register struct cmd_syndesc **ld, *ud; for(ld = &allSyntax, ud = *ld; ud; ld = &ud->next, ud = *ld) { @@ -331,11 +325,8 @@ struct cmd_syndesc *as; { return 0; } -struct cmd_syndesc *cmd_CreateSyntax(aname, aproc, arock, ahelp) -int (*aproc)(); -char *ahelp; -char *arock; -char *aname; { +struct cmd_syndesc *cmd_CreateSyntax(char *aname, int (*aproc)(struct cmd_syndesc *ts, char *arock), char *arock, char *ahelp) +{ register struct cmd_syndesc *td; /* can't have two cmds in no opcode mode */ @@ -352,7 +343,7 @@ char *aname; { strcpy(td->name, aname); } else { - td->name = (char *) 0; + td->name = NULL; noOpcodes = 1; } if (ahelp) { @@ -365,7 +356,7 @@ char *aname; { strcpy(td->help, ahelp); } } - else td->help = (char *) 0; + else td->help = NULL; td->proc = aproc; td->rock = arock; @@ -378,9 +369,8 @@ char *aname; { return td; } -int cmd_CreateAlias(as, aname) -register struct cmd_syndesc *as; -char *aname; { +int cmd_CreateAlias(register struct cmd_syndesc *as, char *aname) +{ register struct cmd_syndesc *td; td = (struct cmd_syndesc *) malloc(sizeof(struct cmd_syndesc)); @@ -403,27 +393,22 @@ char *aname; { return 0; /* all done */ } -int cmd_IsAdministratorCommand(as) -register struct cmd_syndesc *as; +int cmd_IsAdministratorCommand(register struct cmd_syndesc *as) { as->flags |= CMD_ADMIN; return 0; } -int cmd_Seek(as, apos) -register struct cmd_syndesc *as; -int apos; { +int cmd_Seek(register struct cmd_syndesc *as, int apos) +{ if (apos >= CMD_MAXPARMS) return CMD_EXCESSPARMS; as->nParms = apos; return 0; } -int cmd_AddParm(as, aname, atype, aflags, ahelp) -register struct cmd_syndesc *as; -char *aname; -int atype; -char *ahelp; -afs_int32 aflags;{ +int cmd_AddParm(register struct cmd_syndesc *as, char *aname, int atype, + afs_int32 aflags, char *ahelp) +{ register struct cmd_parmdesc *tp; if (as->nParms >= CMD_MAXPARMS) return CMD_EXCESSPARMS; @@ -440,14 +425,13 @@ afs_int32 aflags;{ assert(tp->help); strcpy(tp->help, ahelp); } - else tp->help = (char *) 0; + else tp->help = NULL; return 0; } /* add a text item to the end of the parameter list */ -static int AddItem(aparm, aval) -register struct cmd_parmdesc *aparm; -register char *aval; { +static int AddItem(register struct cmd_parmdesc *aparm, register char *aval) +{ register struct cmd_item *ti, *ni; ti = (struct cmd_item *) calloc(1, sizeof(struct cmd_item)); assert(ti); @@ -464,9 +448,8 @@ register char *aval; { } /* skip to next non-flag item, if any */ -static int AdvanceType(as, aval) -register afs_int32 aval; -register struct cmd_syndesc *as; { +static int AdvanceType(register struct cmd_syndesc *as, register afs_int32 aval) +{ register afs_int32 next; register struct cmd_parmdesc *tp; @@ -482,8 +465,8 @@ register struct cmd_syndesc *as; { } /* discard parameters filled in by dispatch */ -static void ResetSyntax(as) -register struct cmd_syndesc *as; { +static void ResetSyntax(register struct cmd_syndesc *as) +{ int i; register struct cmd_parmdesc *tp; register struct cmd_item *ti, *ni; @@ -509,8 +492,8 @@ register struct cmd_syndesc *as; { } /* move the expands flag to the last one in the list */ -static int SetupExpandsFlag(as) -register struct cmd_syndesc *as; { +static int SetupExpandsFlag(register struct cmd_syndesc *as) +{ register struct cmd_parmdesc *tp; register int last, i; @@ -529,11 +512,8 @@ register struct cmd_syndesc *as; { } /*Take the current argv & argc and alter them so that the initialization opcode is made to appear. This is used in cases where the initialization opcode is implicitly invoked.*/ -static char **InsertInitOpcode(aargc, aargv) -int *aargc; -char **aargv; -{ /*InsertInitOpcode*/ - +static char **InsertInitOpcode(int *aargc, char **aargv) +{ char **newargv; /*Ptr to new, expanded argv space*/ char *pinitopcode; /*Ptr to space for name of init opcode*/ int i; /*Loop counter*/ @@ -542,14 +522,14 @@ char **aargv; newargv = (char **) malloc(((*aargc)+2) * sizeof(char *)); if (!newargv) { fprintf(stderr, "%s: Can't create new argv array with %d+2 slots\n", aargv[0], *aargc); - return((char **)0); + return(NULL); } /*Create space for the initial opcode & fill it in*/ pinitopcode = (char *) malloc(sizeof(initcmd_opcode)); if (!pinitopcode) { fprintf(stderr, "%s: Can't malloc initial opcode space\n", aargv[0]); - return((char **)0); + return(NULL); } strcpy(pinitopcode, initcmd_opcode); @@ -561,15 +541,15 @@ char **aargv; newargv[0] = aargv[0]; newargv[1] = pinitopcode; (*aargc)++; - newargv[*aargc] = (char *)0; + newargv[*aargc] = NULL; /*Return the happy news*/ return(newargv); } /*InsertInitOpcode*/ -static int NoParmsOK(as) -register struct cmd_syndesc *as; { +static int NoParmsOK(register struct cmd_syndesc *as) +{ register int i; register struct cmd_parmdesc *td; @@ -585,10 +565,8 @@ register struct cmd_syndesc *as; { } /* Call the appropriate function, or return syntax error code. Note: if no opcode is specified, an initialization routine exists, and it has NOT been called before, we invoke the special initialization opcode*/ -int cmd_Dispatch(argc, argv) -int argc; -char **argv; - { +int cmd_Dispatch(int argc, char **argv) +{ char *pname; struct cmd_syndesc *ts; struct cmd_parmdesc *tparm; @@ -606,7 +584,7 @@ char **argv; ts = cmd_CreateSyntax("help", HelpProc, (char*)0, "get help on commands"); cmd_AddParm(ts, "-topic", CMD_LIST, CMD_OPTIONAL, "help string"); - cmd_AddParm(ts, "-admin", CMD_FLAG, CMD_OPTIONAL, (char *)0); + cmd_AddParm(ts, "-admin", CMD_FLAG, CMD_OPTIONAL, NULL); ts = cmd_CreateSyntax("apropos", AproposProc, (char*)0, "search by help text"); @@ -836,8 +814,8 @@ char **argv; } /* free token list returned by parseLine */ -static int FreeTokens(alist) - register struct cmd_token *alist; { +static int FreeTokens(register struct cmd_token *alist) +{ register struct cmd_token *nlist; for(; alist; alist = nlist) { nlist = alist->next; @@ -848,8 +826,8 @@ static int FreeTokens(alist) } /* free an argv list returned by parseline */ -int cmd_FreeArgv(argv) -register char **argv; { +int cmd_FreeArgv(register char **argv) +{ register char *tp; for(tp = *argv; tp; argv++, tp = *argv) free(tp); @@ -860,11 +838,9 @@ register char **argv; { data is still malloc'd, and will be freed when the caller calls cmd_FreeArgv later on */ #define INITSTR "" -static int CopyBackArgs(alist, argv, an, amaxn) -register struct cmd_token *alist; -register char **argv; -afs_int32 amaxn; -afs_int32 *an; { +static int CopyBackArgs(register struct cmd_token *alist, register char **argv, + afs_int32 *an, afs_int32 amaxn) +{ register struct cmd_token *next; afs_int32 count; @@ -892,23 +868,20 @@ afs_int32 *an; { return 0; } -static int quote(x) -register int x; { +static int quote(register int x) +{ if (x == '"' || x == 39 /* single quote */) return 1; else return 0; } -static int space(x) -register int x; { +static int space(register int x) +{ if (x == 0 || x == ' ' || x == '\t' || x== '\n') return 1; else return 0; } -int cmd_ParseLine(aline, argv, an, amaxn) -char **argv; -afs_int32 *an; -afs_int32 amaxn; -char *aline; { +int cmd_ParseLine(char *aline, char **argv, afs_int32 *an, afs_int32 amaxn) +{ char tbuffer[256]; register char *tptr = 0; int inToken, inQuote; diff --git a/src/cmd/cmd.p.h b/src/cmd/cmd.p.h index 13e7a29..d639aa5 100644 --- a/src/cmd/cmd.p.h +++ b/src/cmd/cmd.p.h @@ -51,62 +51,26 @@ struct cmd_syndesc { char *name; /* subcommand name */ char *a0name; /* command name from argv[0] */ char *help; /* help description */ - int (*proc)(); + int (*proc)(struct cmd_syndesc *ts, char *arock); char *rock; int nParms; /* number of parms */ afs_int32 flags; /* random flags */ struct cmd_parmdesc parms[CMD_MAXPARMS]; /* parms themselves */ }; -extern struct cmd_syndesc *cmd_CreateSyntax( - char *namep, - int (*aprocp)(), - char *rockp, - char *helpp -); - -extern int cmd_SetBeforeProc( - int (*aproc)(), - char *arock -); - -extern int cmd_SetAfterProc( - int (*aproc)(), - char *arock -); - -extern int cmd_CreateAlias( - struct cmd_syndesc *as, - char *aname -); - -extern int cmd_Seek( - struct cmd_syndesc *as, - int apos -); - -extern int cmd_AddParm( - struct cmd_syndesc *as, - char *aname, - int atype, - afs_int32 aflags, - char *ahelp -); - -extern int cmd_Dispatch( - int argc, - char **argv -); - -extern int cmd_FreeArgv( - char **argv -); - -extern int cmd_ParseLine( - char *aline, - char **argv, - afs_int32 *an, - afs_int32 amaxn -); +extern struct cmd_syndesc *cmd_CreateSyntax(char *namep, + int (*aprocp)(struct cmd_syndesc *ts, char *arock), char *rockp, char *helpp); +extern int cmd_SetBeforeProc(int (*aproc)(struct cmd_syndesc *ts, char *beforeRock), char *arock); +extern int cmd_SetAfterProc(int (*aproc)(struct cmd_syndesc *ts, char *afterRock), char *arock); +extern int cmd_CreateAlias(struct cmd_syndesc *as, char *aname); +extern int cmd_Seek(struct cmd_syndesc *as, int apos); +extern int cmd_AddParm(struct cmd_syndesc *as, char *aname, int atype, + afs_int32 aflags, char *ahelp); +extern int cmd_Dispatch(int argc, char **argv); +extern int cmd_FreeArgv(char **argv); +extern int cmd_ParseLine(char *aline, char **argv, afs_int32 *an, afs_int32 amaxn); +extern int cmd_IsAdministratorCommand(register struct cmd_syndesc *as); +extern void PrintSyntax(register struct cmd_syndesc *as); +extern void PrintFlagHelp(register struct cmd_syndesc *as); #endif /* __CMD_INCL__ */ diff --git a/src/cmd/test/ctest.c b/src/cmd/test/ctest.c index 17d4e57..3fd0457 100644 --- a/src/cmd/test/ctest.c +++ b/src/cmd/test/ctest.c @@ -42,10 +42,10 @@ int argc; char **argv; { register struct cmd_syndesc *ts; - ts = cmd_CreateSyntax("apple", cproc1, (char *) 0, "describe apple"); + ts = cmd_CreateSyntax("apple", cproc1, NULL, "describe apple"); cmd_CreateAlias(ts, "appl"); - ts = cmd_CreateSyntax("pear", cproc2, (char *) 0, "describe pear"); + ts = cmd_CreateSyntax("pear", cproc2, NULL, "describe pear"); cmd_AddParm(ts, "-num", CMD_LIST, 0, "number of pears"); cmd_AddParm(ts, "-noauth", CMD_FLAG, CMD_OPTIONAL, "don't authenticate"); cmd_AddParm(ts, "-spotpos", CMD_LIST, CMD_OPTIONAL | CMD_EXPANDS, 0); diff --git a/src/cmd/test/dtest.c b/src/cmd/test/dtest.c index ff965c2..ef26ab1 100644 --- a/src/cmd/test/dtest.c +++ b/src/cmd/test/dtest.c @@ -33,7 +33,7 @@ int argc; char **argv; { register struct cmd_syndesc *ts; - ts = cmd_CreateSyntax((char *) 0, cproc, (char *) 0, "describe pear"); + ts = cmd_CreateSyntax(NULL, cproc, NULL, "describe pear"); cmd_AddParm(ts, "-num", CMD_SINGLE, 0, "number of pears"); cmd_AddParm(ts, "-noauth", CMD_FLAG, CMD_OPTIONAL, "don't authenticate"); cmd_AddParm(ts, "-spotpos", CMD_LIST, CMD_OPTIONAL, 0); diff --git a/src/cmd/test/itest.c b/src/cmd/test/itest.c index 3e3123d..4866eed 100644 --- a/src/cmd/test/itest.c +++ b/src/cmd/test/itest.c @@ -56,9 +56,9 @@ char **argv; { initialize_CMD_error_table(); - ts = cmd_CreateSyntax("apple", cproc1, (char *) 0, "describe apple"); + ts = cmd_CreateSyntax("apple", cproc1, NULL, "describe apple"); - ts = cmd_CreateSyntax("pear", cproc2, (char *) 0, "describe pear"); + ts = cmd_CreateSyntax("pear", cproc2, NULL, "describe pear"); cmd_AddParm(ts, "-num", CMD_LIST, 0, "number of pears"); cmd_AddParm(ts, "-noauth", CMD_FLAG, CMD_OPTIONAL, "don't authenticate"); cmd_AddParm(ts, "-spotpos", CMD_LIST, CMD_OPTIONAL | CMD_EXPANDS, 0); @@ -71,7 +71,7 @@ char **argv; { while (1) { printf("> "); tp = gets(tline); - if (tp == (char *) 0) break; + if (tp == NULL) break; code = cmd_ParseLine(tline, tv, &tc, 100); if (code) { printf("itest: parsing failure: %s\n", error_message(code)); diff --git a/src/comerr/com_err.c b/src/comerr/com_err.c index 932fe73..8f57e27 100644 --- a/src/comerr/com_err.c +++ b/src/comerr/com_err.c @@ -13,18 +13,7 @@ RCSID("$Header$"); #include #include #include "error_table.h" - - -/* - * Protect us from header version (externally visible) of com_err, so - * we can survive in a environment. I think. - */ -#define com_err com_err_external -/* #include "com_err.h" */ -char *error_message(); -#undef com_err - -extern char *error_message (); +#include "com_err.h" static void default_com_err_proc (const char *whoami, afs_int32 code, const char *fmt, va_list args) @@ -50,18 +39,12 @@ typedef void (*errf) (const char *, afs_int32, const char *, va_list); static errf com_err_hook = default_com_err_proc; -void com_err_va (whoami, code, fmt, args) - const char *whoami; - afs_int32 code; - const char *fmt; - va_list args; +void com_err_va (const char *whoami, afs_int32 code, const char *fmt, va_list args) { (*com_err_hook) (whoami, code, fmt, args); } -void com_err (const char *whoami, - afs_int32 code, - const char *fmt, ...) +void com_err (const char *whoami, afs_int32 code, const char *fmt, ...) { va_list pvar; @@ -72,8 +55,7 @@ void com_err (const char *whoami, va_end(pvar); } -errf set_com_err_hook (new_proc) - errf new_proc; +errf set_com_err_hook (errf new_proc) { errf x = com_err_hook; if (new_proc) com_err_hook = new_proc; @@ -81,7 +63,8 @@ errf set_com_err_hook (new_proc) return x; } -errf reset_com_err_hook () { +errf reset_com_err_hook (void) +{ errf x = com_err_hook; com_err_hook = default_com_err_proc; return x; diff --git a/src/comerr/com_err.h b/src/comerr/com_err.h index b3be716..210cc98 100644 --- a/src/comerr/com_err.h +++ b/src/comerr/com_err.h @@ -12,12 +12,13 @@ #include -void com_err (const char *, afs_int32, const char *, ...); -char const *error_table_name(afs_int32); -char const *error_message (afs_int32); -void (*set_com_err_hook (void (*) (const char *, afs_int32, const char *, va_list))) +extern void com_err (const char *, afs_int32, const char *, ...); +extern void com_err_va (const char *whoami, afs_int32 code, const char *fmt, va_list args); +extern const char *error_table_name(afs_int32); +extern const char *error_message (afs_int32); +extern void (*set_com_err_hook (void (*) (const char *, afs_int32, const char *, va_list))) (const char *, afs_int32, const char *, va_list); -void (*reset_com_err_hook ()) (const char *, afs_int32, const char *, va_list); +extern void (*reset_com_err_hook (void)) (const char *, afs_int32, const char *, va_list); #define __COM_ERR_H #endif /* ! defined(__COM_ERR_H) */ diff --git a/src/comerr/compile_et.c b/src/comerr/compile_et.c index 8c42caf..16d09b4 100644 --- a/src/comerr/compile_et.c +++ b/src/comerr/compile_et.c @@ -10,6 +10,7 @@ #undef MEMORYLEAK #include #include +#include RCSID("$Header$"); @@ -27,6 +28,7 @@ RCSID("$Header$"); #include #endif #include "mit-sipb-cr.h" +#include "internal.h" #include "compiler.h" #ifndef lint @@ -34,7 +36,6 @@ static const char copyright[] = "Copyright 1987,1988 by MIT Student Information Processing Board"; #endif -extern char *gensym(); extern char *current_token; extern int table_number, current; char buffer[BUFSIZ]; @@ -48,7 +49,8 @@ extern FILE *yyin; extern FILE *yyout; extern int yylineno; -char * xmalloc (size) unsigned int size; { +char * xmalloc (unsigned int size) +{ char * p = malloc (size); if (!p) { perror (whoami); @@ -57,7 +59,8 @@ char * xmalloc (size) unsigned int size; { return p; } -static int check_arg (str_list, arg) char const *const *str_list, *arg; { +static int check_arg (char const *const *str_list, char const *arg) +{ while (*str_list) if (!strcmp(arg, *str_list++)) return 1; @@ -115,13 +118,17 @@ char h_file[MAXPATHLEN]; /* output */ char msf_file[MAXPATHLEN]; char et_file[MAXPATHLEN]; /* full path to input file */ -static void usage () { +static void usage (void) +{ fprintf (stderr, "%s: usage: %s ERROR_TABLE [-debug] [-language LANG] [-h INCLUDE] [-p prefix] [-v version]\n", whoami, whoami); exit (1); } -static void dup_err (type, one, two) char const *type, *one, *two; { +static void dup_err (char const *type, + char const *one, + char const *two) +{ fprintf (stderr, "%s: multiple %s specified: `%s' and `%s'\n", whoami, type, one, two); usage (); @@ -129,7 +136,8 @@ static void dup_err (type, one, two) char const *type, *one, *two; { #include "AFS_component_version_number.c" -int main (argc, argv) int argc; char **argv; { +int main (int argc, char **argv) +{ char *p, *ename; char const * const *cpp; int got_language = 0; @@ -354,17 +362,16 @@ int main (argc, argv) int argc; char **argv; { "static const struct error_table et = { text, %ldL, %d };\n\n", (long int) table_number, current); fputs("static struct et_list etlink = { 0, &et};\n\n", cfile); - fprintf(cfile, "void initialize_%s_error_table (%s) {\n", - table_name, (language == lang_C) ? "void" : "NOARGS"); + fprintf(cfile, "void initialize_%s_error_table(void) {\n", table_name); fputs(" add_to_error_table(&etlink);\n", cfile); fputs("}\n", cfile); fclose(cfile); - fprintf (hfile, "extern void initialize_%s_error_table ();\n", + fprintf (hfile, "extern void initialize_%s_error_table(void);\n", table_name); } else { - fprintf (hfile, "#define initialize_%s_error_table()\n", + fprintf (hfile, "#define initialize_%s_error_table(void)\n", table_name); } @@ -392,7 +399,8 @@ int main (argc, argv) int argc; char **argv; { return 0; } -void yyerror(const char *s) { +void yyerror(const char *s) +{ fputs(s, stderr); fprintf(stderr, "\nLine number %d; last token was '%s'\n", yylineno, current_token); diff --git a/src/comerr/error_msg.c b/src/comerr/error_msg.c index b5205af..394db71 100644 --- a/src/comerr/error_msg.c +++ b/src/comerr/error_msg.c @@ -18,6 +18,7 @@ RCSID("$Header$"); #include "mit-sipb-cr.h" #include #include +#include "com_err.h" static const char copyright[] = "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology"; @@ -72,8 +73,8 @@ static char *vmsgs[] = { (char *) 0 }; -static char *negative_message(code) -int code; { +static char *negative_message(int code) +{ if (code == -1) return "server or network not responding"; else if (code == -2) @@ -92,16 +93,15 @@ int code; { } } -static char *volume_message(code) -int code; { +static char *volume_message(int code) +{ if (code >= 101 && code <= 111) return vmsgs[code-101]; else return "unknown volume error"; } -const char * error_message (code) - int code; +const char *error_message (afs_int32 code) { int offset; struct et_list *et; diff --git a/src/comerr/error_table.h b/src/comerr/error_table.h index 35fcc88..c0f4101 100644 --- a/src/comerr/error_table.h +++ b/src/comerr/error_table.h @@ -25,7 +25,7 @@ struct et_list { #define ERRCODE_RANGE 8 /* # of bits to shift table number */ #define BITS_PER_CHAR 6 /* # bits to shift per character in name */ -extern const char *error_table_name(); +extern char const *error_table_name(afs_int32 num); extern void add_to_error_table(struct et_list *new_table); #define _ET_H #endif diff --git a/src/comerr/error_table.y b/src/comerr/error_table.y index 7fba9de..4d3a320 100644 --- a/src/comerr/error_table.y +++ b/src/comerr/error_table.y @@ -46,6 +46,8 @@ RCSID("$Header$"); #include "internal.h" +int char_to_num(char c); +char *gensym(const char *x); char *current_token = (char *)NULL; extern char *table_name; diff --git a/src/comerr/et_lex.lex_nt.c b/src/comerr/et_lex.lex_nt.c index 28b46a9..e68c2b6 100644 --- a/src/comerr/et_lex.lex_nt.c +++ b/src/comerr/et_lex.lex_nt.c @@ -215,7 +215,7 @@ static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -388,13 +388,6 @@ static yyconst short int yy_chk[65] = static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; static char *yy_full_match; static int yy_lp; -#define REJECT \ -{ \ -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \ -yy_cp = yy_full_match; /* restore poss. backed-over text */ \ -++yy_lp; \ -goto find_rule; \ -} static int yy_more_flag = 0; static int yy_more_len = 0; #define yymore() (yy_more_flag = 1) @@ -621,7 +614,6 @@ yy_match: yy_find_action: yy_current_state = *--yy_state_ptr; yy_lp = yy_accept[yy_current_state]; -find_rule: /* we branch to this label when backing up */ for ( ; ; ) /* until we find what rule we matched */ { if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] ) diff --git a/src/comerr/et_name.c b/src/comerr/et_name.c index 1605ef8..d2259f0 100644 --- a/src/comerr/et_name.c +++ b/src/comerr/et_name.c @@ -6,6 +6,7 @@ #include #include +#include RCSID("$Header$"); @@ -23,15 +24,12 @@ static const char char_set[] = static char buf[6]; -const char * error_table_name(num) - int num; +const char *error_table_name(afs_int32 num) { int ch; int i; char *p; - extern char *lcstring(); - /* num = aa aaa abb bbb bcc ccc cdd ddd d?? ??? ??? */ p = buf; num >>= ERRCODE_RANGE; diff --git a/src/comerr/internal.h b/src/comerr/internal.h index cfe083c..015be5b 100644 --- a/src/comerr/internal.h +++ b/src/comerr/internal.h @@ -8,3 +8,4 @@ #include /* perror() */ extern void yyerror(const char *s); +extern char *xmalloc(unsigned int size); diff --git a/src/comerr/test/test.c b/src/comerr/test/test.c index 44810be..a85b783 100644 --- a/src/comerr/test/test.c +++ b/src/comerr/test/test.c @@ -50,7 +50,7 @@ main() printf("\n\nCOM_ERR tests:\n"); com_err("whoami", FOO_ERR, (char *)NULL); com_err("whoami", FOO_ERR, " -- message goes %s", "here"); - com_err("whoami", 0, (char *)0); + com_err("whoami", 0, NULL); com_err("whoami", 0, "error number %d\n", 0); return 0; diff --git a/src/config/Makefile.in b/src/config/Makefile.in index 7b46312..bc845b8 100644 --- a/src/config/Makefile.in +++ b/src/config/Makefile.in @@ -8,7 +8,7 @@ srcdir=@srcdir@ include @TOP_OBJDIR@/src/config/Makefile.config -CFLAGS=$(DBG) -I${TOP_INCDIR} ${XCFLAGS} +CFLAGS=$(DBG) -I${TOP_INCDIR} -I. ${XCFLAGS} INST=$(RM) -f $@; $(CP) $? $@ diff --git a/src/config/config.c b/src/config/config.c index 46f4610..0bed9d3 100644 --- a/src/config/config.c +++ b/src/config/config.c @@ -41,7 +41,7 @@ int main(int argc, char **argv) { } alist[0] = argv[3]; alist[1] = "all"; - alist[2] = (char *) 0; + alist[2] = NULL; code = mc_copy(infile, outfile, alist); if (code) { printf("config: failed to correctly write makefile '%s', code %d\n", diff --git a/src/config/mc.c b/src/config/mc.c index ac1dba5..809f3b1 100644 --- a/src/config/mc.c +++ b/src/config/mc.c @@ -15,6 +15,11 @@ #include #include +#include +#ifdef HAVE_STRING_H +#include +#endif + #define TOK_DONTUSE 1 /* Don't copy if match and this flag is set. */ struct token { struct token *next; @@ -23,8 +28,8 @@ struct token { }; /* free token list returned by parseLine */ -static int FreeTokens(alist) - register struct token *alist; { +static int FreeTokens(register struct token *alist) +{ register struct token *nlist; for(; alist; alist = nlist) { nlist = alist->next; @@ -35,9 +40,8 @@ static int FreeTokens(alist) } #define space(x) ((x) == ' ' || (x) == '\t' || (x) == '<' || (x) == '>') -static int ParseLine(aline, alist) - char *aline; - struct token **alist; { +static int ParseLine(char *aline, struct token **alist) +{ char tbuffer[MAXTOKLEN+1]; register char *tptr = NULL; int inToken; @@ -47,8 +51,8 @@ static int ParseLine(aline, alist) int dontUse = 0; inToken = 0; /* not copying token chars at start */ - first = (struct token *) 0; - last = (struct token *) 0; + first = NULL; + last = NULL; while (1) { tc = *aline++; if (tc == 0 || space(tc)) { /* terminating null gets us in here, too */ @@ -59,7 +63,7 @@ static int ParseLine(aline, alist) else *tptr++ = 0; ttok = (struct token *) malloc(sizeof(struct token)); - ttok->next = (struct token *) 0; + ttok->next = NULL; if (dontUse) { ttok->key = (char *) malloc(strlen(tbuffer)); strcpy(ttok->key, tbuffer+1); @@ -93,7 +97,7 @@ static int ParseLine(aline, alist) } if (tc == 0) { /* last token flushed 'cause space(0) --> true */ - if (last) last->next = (struct token *) 0; + if (last) last->next = NULL; *alist = first; return 0; } @@ -101,10 +105,8 @@ static int ParseLine(aline, alist) } /* read a line into a buffer, putting in null termination and stopping on appropriate end of line char. Returns 0 at eof, > 0 at normal line end, and < 0 on error */ -static int GetLine(afile, abuffer, amax) - FILE *afile; - int amax; - register char *abuffer; { +static int GetLine(FILE *afile, register char *abuffer, int amax) +{ register int tc; int first; @@ -125,10 +127,8 @@ static int GetLine(afile, abuffer, amax) } } -int mc_copy(ain, aout, alist) - register FILE *ain; - register FILE *aout; - char *alist[]; { +int mc_copy(register FILE *ain, register FILE *aout, char *alist[]) +{ char tbuffer[MAXLINELEN]; struct token *tokens; register char **tp; @@ -150,7 +150,7 @@ int mc_copy(ain, aout, alist) if (code != 0) return -1; copying = 0; done = 0; - for(tp = alist; (!done) && (*tp != (char *)0) ; tp++) { + for(tp = alist; (!done) && (*tp != NULL) ; tp++) { for(tt = tokens; tt; tt=tt->next) { if (!strcmp(*tp, tt->key)) { /* Need to search all tokens in case a dont use diff --git a/src/config/mkvers.c b/src/config/mkvers.c index f6cac44..6c056ef 100644 --- a/src/config/mkvers.c +++ b/src/config/mkvers.c @@ -83,7 +83,7 @@ void Usage(void) exit(1); } -main(int argc, char **argv) +int main(int argc, char **argv) { char stampsFile[1024]; char stateFile[1024]; diff --git a/src/config/param.i386_fbsd_42.h b/src/config/param.i386_fbsd_42.h index 7e3a557..04612e1 100644 --- a/src/config/param.i386_fbsd_42.h +++ b/src/config/param.i386_fbsd_42.h @@ -25,9 +25,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.i386_fbsd_43.h b/src/config/param.i386_fbsd_43.h index 7a2d347..3f84a33 100644 --- a/src/config/param.i386_fbsd_43.h +++ b/src/config/param.i386_fbsd_43.h @@ -27,9 +27,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.i386_fbsd_44.h b/src/config/param.i386_fbsd_44.h index b7ac6fb..de509e0 100644 --- a/src/config/param.i386_fbsd_44.h +++ b/src/config/param.i386_fbsd_44.h @@ -29,9 +29,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.i386_fbsd_45.h b/src/config/param.i386_fbsd_45.h index a880ef0..7e99750 100644 --- a/src/config/param.i386_fbsd_45.h +++ b/src/config/param.i386_fbsd_45.h @@ -30,9 +30,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.i386_fbsd_46.h b/src/config/param.i386_fbsd_46.h index 285d432..e78d4dc 100644 --- a/src/config/param.i386_fbsd_46.h +++ b/src/config/param.i386_fbsd_46.h @@ -31,9 +31,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.i386_obsd29.h b/src/config/param.i386_obsd29.h index e8e04c6..32d292e 100644 --- a/src/config/param.i386_obsd29.h +++ b/src/config/param.i386_obsd29.h @@ -26,9 +26,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define AFS_VM_RDWR_ENV 0 #define AFS_VFS_ENV 1 diff --git a/src/config/param.nbsd15.h b/src/config/param.nbsd15.h index 15a26cb..8af39cb 100644 --- a/src/config/param.nbsd15.h +++ b/src/config/param.nbsd15.h @@ -22,9 +22,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.nbsd16.h b/src/config/param.nbsd16.h index d0f7974..33398e6 100644 --- a/src/config/param.nbsd16.h +++ b/src/config/param.nbsd16.h @@ -23,9 +23,9 @@ #define IMOD 0x0080 #define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ - (struct simplelock *)0, curproc) + NULL, curproc) #include diff --git a/src/config/param.sun4x_57_usr.h b/src/config/param.sun4x_57_usr.h index dfb623a..0e020e5 100644 --- a/src/config/param.sun4x_57_usr.h +++ b/src/config/param.sun4x_57_usr.h @@ -24,7 +24,9 @@ #include -/*#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ +#ifdef undef +#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ +#endif #define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ #define AFS_SYSCALL 73 diff --git a/src/config/stds.h b/src/config/stds.h index b55170e..7f815c4 100644 --- a/src/config/stds.h +++ b/src/config/stds.h @@ -217,6 +217,5 @@ struct afsUUID { char node[6]; }; typedef struct afsUUID afsUUID; -extern int xdr_afsUUID(); #endif /* TRANSARC_CONFIG_AFS_STDS_H */ diff --git a/src/dauth/dlog.c b/src/dauth/dlog.c index a5bb28b..9464e19 100644 --- a/src/dauth/dlog.c +++ b/src/dauth/dlog.c @@ -80,6 +80,14 @@ RCSID("$Header$"); #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include @@ -160,7 +168,7 @@ int store_afs_token(unix_id, realm_p, tkt_type, ticket_p, ticket_len, token.kvno = tkt_type; token.ticketLen = ticket_len; if (ticket_len > MAXKTCTICKETLEN) { - fprintf(stderr, "dlog: DCE ticket is too long (length %d). Maximum length accepted by AFS cache manager is %d\n", MAXKTCTICKETLEN); + fprintf(stderr, "dlog: DCE ticket is too long (length %d). Maximum length accepted by AFS cache manager is %d\n", ticket_len, MAXKTCTICKETLEN); exit(1); } memcpy((char *) token.ticket, (char *) ticket_p, ticket_len); @@ -182,7 +190,7 @@ char *make_string(s_p, length) int length; { char *new_p = (char *) malloc(length + 1); - if (new_p == (char *) 0) { + if (new_p == NULL) { fprintf(stderr, "dlog: out of memory\n"); exit(1); } @@ -404,7 +412,7 @@ main (argc, argv) initialize_KTC_error_table(); initialize_ACFG_error_table(); - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "obtain Kerberos authentication"); #define aPRINCIPAL 0 #define aCELL 1 diff --git a/src/dauth/dpass.c b/src/dauth/dpass.c index 66ccd4f..bbb289a 100644 --- a/src/dauth/dpass.c +++ b/src/dauth/dpass.c @@ -26,6 +26,13 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include @@ -143,7 +150,7 @@ main (argc, argv) nsa.sa_flags = SA_FULLDUMP; sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "show new DCE passord"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "show new DCE passord"); cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL,"original AFS cell name"); code = cmd_Dispatch(argc, argv); exit(code); diff --git a/src/des/Makefile.in b/src/des/Makefile.in index 073e8a2..43e3bf2 100644 --- a/src/des/Makefile.in +++ b/src/des/Makefile.in @@ -44,7 +44,13 @@ OBJS = \ crypt.o \ util.o -all: ukinstall ${TOP_LIBDIR}/libdes.a ${TOP_INCDIR}/des.h ${TOP_INCDIR}/des_conf.h ${TOP_INCDIR}/mit-cpyright.h ${TOP_INCDIR}/des_odd.h +all: ukinstall \ + ${TOP_LIBDIR}/libdes.a \ + ${TOP_INCDIR}/des.h \ + ${TOP_INCDIR}/des_prototypes.h \ + ${TOP_INCDIR}/des_conf.h \ + ${TOP_INCDIR}/mit-cpyright.h \ + ${TOP_INCDIR}/des_odd.h # # Build rules @@ -114,7 +120,7 @@ fp.c: make_fp # # Dependency rules # -INCLS=des.h mit-cpyright.h des_conf.h des_internal.h conf.h +INCLS=des.h des_prototypes.h mit-cpyright.h des_conf.h des_internal.h conf.h make_keyperm.o: make_keyperm.c ${INCLS} make_ip.o: make_ip.c tables.h ${INCLS} @@ -147,7 +153,13 @@ make_e.o: make_e.c ${INCLS} # # Install targets # -install: ${DESTDIR}${libdir}/libdes.a ${DESTDIR}${includedir}/des.h ${DESTDIR}${includedir}/des_conf.h ${DESTDIR}${includedir}/mit-cpyright.h ${DESTDIR}${includedir}/des_odd.h +install: \ + ${DESTDIR}${libdir}/libdes.a \ + ${DESTDIR}${includedir}/des.h \ + ${DESTDIR}${includedir}/des_prototypes.h \ + ${DESTDIR}${includedir}/des_conf.h \ + ${DESTDIR}${includedir}/mit-cpyright.h \ + ${DESTDIR}${includedir}/des_odd.h ${DEST}/lib/libdes.a: libdes.a ${INSTALL} $? $@ @@ -155,6 +167,9 @@ ${DEST}/lib/libdes.a: libdes.a ${DEST}/include/des.h: des.h ${INSTALL} $? $@ +${DEST}/include/des_prototypes.h: des_prototypes.h + ${INSTALL} $? $@ + ${DEST}/include/des_conf.h: des_conf.h ${INSTALL} $? $@ @@ -167,6 +182,7 @@ ${DEST}/include/des_odd.h: odd.h ukinstall: \ ${UKERNELDIR}/des/libdes.a \ ${UKERNELDIR}/des/des.h \ + ${UKERNELDIR}/des/des_prototypes.h \ ${UKERNELDIR}/des/mit-cpyright.h ${UKERNELDIR}/des: @@ -178,6 +194,9 @@ ${UKERNELDIR}/des/libdes.a: libdes.a ${UKERNELDIR}/des/des.h: des.h ${INSTALL} $? $@ +${UKERNELDIR}/des/des_prototypes.h: des_prototypes.h + ${INSTALL} $? $@ + ${UKERNELDIR}/des/mit-cpyright.h: mit-cpyright.h ${INSTALL} $? $@ @@ -208,6 +227,12 @@ ${DESTDIR}${includedir}/des.h: des.h ${TOP_INCDIR}/des.h: des.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/des_prototypes.h: des_prototypes.h + ${INSTALL} $? $@ + +${TOP_INCDIR}/des_prototypes.h: des_prototypes.h + ${INSTALL} $? $@ + ${DESTDIR}${includedir}/des_conf.h: des_conf.h ${INSTALL} $? $@ @@ -226,5 +251,11 @@ ${DESTDIR}${includedir}/des_odd.h: odd.h ${TOP_INCDIR}/des_odd.h: odd.h ${INSTALL} $? $@ -dest: ${DEST}/lib/libdes.a ${DEST}/include/des.h ${DEST}/include/des_conf.h ${DEST}/include/mit-cpyright.h ${DEST}/include/des_odd.h +dest: \ + ${DEST}/lib/libdes.a \ + ${DEST}/include/des.h \ + ${DEST}/include/des_prototypes.h \ + ${DEST}/include/des_conf.h \ + ${DEST}/include/mit-cpyright.h \ + ${DEST}/include/des_odd.h diff --git a/src/des/cbc_encrypt.c b/src/des/cbc_encrypt.c index db79c88..2624600 100644 --- a/src/des/cbc_encrypt.c +++ b/src/des/cbc_encrypt.c @@ -18,20 +18,21 @@ */ #include -#include -#include #include #include +#ifndef KERNEL +#include +#endif + +#include +#include "des_prototypes.h" + RCSID("$Header$"); #define XPRT_CBC_ENCRYPT -extern int des_debug; -extern int des_debug_print(); -extern int des_ecb_encrypt(); - /* * This routine performs DES cipher-block-chaining operation, either * encrypting from cleartext to ciphertext, if encrypt != 0 or @@ -50,15 +51,17 @@ extern int des_ecb_encrypt(); * of 8 bytes, but only the first "length" bytes returned into the * cleartext. */ - -afs_int32 -des_cbc_encrypt(in,out,length,key,iv,encrypt) - des_cblock *in; /* >= length bytes of input text */ - des_cblock *out; /* >= length bytes of output text */ - register afs_int32 length; /* in bytes */ - int encrypt; /* 0 ==> decrypt, else encrypt */ - des_key_schedule key; /* precomputed key schedule */ - des_cblock *iv; /* 8 bytes of ivec */ +/* + des_cblock *in; * >= length bytes of input text * + des_cblock *out; * >= length bytes of output text * + register afs_int32 length; * in bytes * + int encrypt; * 0 ==> decrypt, else encrypt * + des_key_schedule key; * precomputed key schedule * + des_cblock *iv; * 8 bytes of ivec * +*/ +afs_int32 des_cbc_encrypt(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, + des_cblock *iv, int encrypt) { register afs_uint32 *input = (afs_uint32 *) in; register afs_uint32 *output = (afs_uint32 *) out; diff --git a/src/des/cksum.c b/src/des/cksum.c index 4df1731..f4eda47 100644 --- a/src/des/cksum.c +++ b/src/des/cksum.c @@ -23,7 +23,9 @@ RCSID("$Header$"); #include +#ifndef KERNEL #include +#endif #ifdef HAVE_STRING_H #include #else @@ -34,13 +36,10 @@ RCSID("$Header$"); #include #include "des_internal.h" +#include "des_prototypes.h" #define XPRT_CKSUM -extern int des_debug; -extern int des_debug_print(); -extern int des_ecb_encrypt(); - /* * This routine performs DES cipher-block-chaining checksum operation, * a.k.a. Message Authentication Code. It ALWAYS encrypts from input @@ -55,14 +54,16 @@ extern int des_ecb_encrypt(); * The input is null padded, at the end (highest addr), to an integral * multiple of eight bytes. */ +/* + des_cblock *in; * >= length bytes of inputtext * + des_cblock *out; * >= length bytes of outputtext * + register afs_int32 length; * in bytes * + des_key_schedule key; * precomputed key schedule * + des_cblock *iv; * 8 bytes of ivec * +*/ -afs_uint32 -des_cbc_cksum(in,out,length,key,iv) - des_cblock *in; /* >= length bytes of inputtext */ - des_cblock *out; /* >= length bytes of outputtext */ - register afs_int32 length; /* in bytes */ - des_key_schedule key; /* precomputed key schedule */ - des_cblock *iv; /* 8 bytes of ivec */ +afs_uint32 des_cbc_cksum(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, des_cblock *iv) { register afs_uint32 *input = (afs_uint32 *) in; register afs_uint32 *output = (afs_uint32 *) out; diff --git a/src/des/des.c b/src/des/des.c index 491bba8..20f79f1 100644 --- a/src/des/des.c +++ b/src/des/des.c @@ -38,7 +38,9 @@ RCSID("$Header$"); +#ifndef KERNEL #include +#endif #ifdef AFS_PTHREAD_ENV #include #endif /* AFS_PTHREAD_ENV */ @@ -50,6 +52,8 @@ RCSID("$Header$"); #endif #include "stats.h" +#include "des_prototypes.h" + #define XPRT_DES #ifdef DEBUG @@ -60,23 +64,15 @@ RCSID("$Header$"); #define DBG_PRINT(s) #endif -extern int des_debug; -extern int des_cblock_print_file (); -extern int des_debug_print (); -extern int swap_long_bytes_bit_number(int); - #ifdef AFS_PTHREAD_ENV pthread_mutex_t rxkad_stats_mutex; #endif /* AFS_PTHREAD_ENV */ -afs_int32 -des_ecb_encrypt(clear, cipher, schedule, encrypt) - afs_uint32 *clear; - afs_uint32 *cipher; - int encrypt; /* 0 ==> decrypt, else encrypt */ - register des_key_schedule schedule; /* r11 */ -{ +/* encrypt == 0 ==> decrypt, else encrypt */ +afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher, + register des_key_schedule schedule, int encrypt) +{ /* better pass 8 bytes, length not checked here */ register afs_uint32 R1, L1; /* R1 = r10, L1 = r9 */ diff --git a/src/des/des_prototypes.h b/src/des/des_prototypes.h new file mode 100644 index 0000000..66fa051 --- /dev/null +++ b/src/des/des_prototypes.h @@ -0,0 +1,76 @@ +#ifndef DES_PROTOTYPES_H +#define DES_PROTOTYPES_H + +/* misc.c */ +extern afs_uint32 long_swap_bits(afs_uint32 x); +extern afs_uint32 swap_six_bits_to_ansi(afs_uint32 old); +extern afs_uint32 swap_four_bits_to_ansi(afs_uint32 old); +extern afs_uint32 swap_bit_pos_1(afs_uint32 x); +extern afs_uint32 swap_bit_pos_0(afs_uint32 x); +extern afs_uint32 swap_bit_pos_0_to_ansi(afs_uint32 x); +extern afs_uint32 rev_swap_bit_pos_0(afs_uint32 x); +extern afs_uint32 swap_byte_bits(afs_uint32 x); +extern int swap_long_bytes_bit_number(afs_uint32 x); +#if !defined(KERNEL) +extern void test_set(FILE *stream, const char *src, int testbit, + const char *dest, int setbit); +#endif +extern int des_debug; + +/* cbc_encrypt.c */ +extern afs_int32 des_cbc_encrypt(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, + des_cblock *iv, int encrypt); + +/* pcbc_encrypt.c */ +extern afs_int32 des_pcbc_encrypt(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, + des_cblock *iv, int encrypt); + +/* des.c */ +extern afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher, + register des_key_schedule schedule, int encrypt); + +/* util.c */ +#if !defined(KERNEL) +extern int des_cblock_print_file(des_cblock *x, FILE *fp); +#endif + +/* make_*.c */ +#if !defined(KERNEL) +extern void gen(FILE *stream); +#endif + +/* weak_key.c */ +extern int des_is_weak_key(des_cblock key); + +/* key_parity.c */ +extern void des_fixup_key_parity(register des_cblock key); +extern int des_check_key_parity(register des_cblock key); + +/* cksum.c */ +extern afs_uint32 des_cbc_cksum(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, des_cblock *iv); + +/* quad_cksum.c */ +extern afs_uint32 des_quad_cksum(unsigned char *in, afs_uint32 *out, + afs_int32 length, int out_count, des_cblock *c_seed); + +/* key_sched.c */ +extern int afs_des_key_sched(register des_cblock k, des_key_schedule schedule); +extern int des_key_sched(register des_cblock k, des_key_schedule schedule); + + +/* strng_to_key.c */ +extern void des_string_to_key(char *str, register des_cblock *key); + +/* new_rnd_key.c */ +extern int des_random_key(des_cblock key); +extern void des_init_random_number_generator(des_cblock key); +extern void des_set_random_generator_seed(des_cblock key); + +/* read_pssword.c */ +extern int des_read_password(des_cblock *k, char *prompt, int verify); + + +#endif diff --git a/src/des/key_parity.c b/src/des/key_parity.c index 3dbdadd..d9b3769 100644 --- a/src/des/key_parity.c +++ b/src/des/key_parity.c @@ -20,8 +20,10 @@ RCSID("$Header$"); #include +#include #include #include "des_internal.h" +#include "des_prototypes.h" #include "odd.h" /* Load compile-time generated odd_parity table */ @@ -30,9 +32,7 @@ RCSID("$Header$"); * 8,16,...64 in des order, implies 0, 8, 16, ... * vax order. */ -void -des_fixup_key_parity(key) - register des_cblock key; +void des_fixup_key_parity(register des_cblock key) { int i; @@ -47,9 +47,7 @@ des_fixup_key_parity(key) * See des_fix_key_parity for the definition of * correct des parity. */ -int -des_check_key_parity(key) - register des_cblock key; +int des_check_key_parity(register des_cblock key) { int i; diff --git a/src/des/key_sched.c b/src/des/key_sched.c index f7279d9..d8d22b3 100644 --- a/src/des/key_sched.c +++ b/src/des/key_sched.c @@ -39,25 +39,19 @@ RCSID("$Header$"); #include "des.h" #include "key_perm.h" #include "stats.h" - -extern int des_debug; -extern int rev_swap_bit_pos_0(); -extern int des_check_key_parity(des_cblock); -extern int des_is_weak_key(des_cblock); +#include "des_prototypes.h" typedef char key[64]; + /* the following are really void but cc86 doesnt allow it */ static int make_key_sched(); - #ifdef AFS_DUX40_ENV #pragma weak des_key_sched = afs_des_key_sched -int afs_des_key_sched(k,schedule) +int afs_des_key_sched(register des_cblock k, des_key_schedule schedule) #else -int des_key_sched(k,schedule) +int des_key_sched(register des_cblock k, des_key_schedule schedule) #endif - register des_cblock k; /* r11 */ - des_key_schedule schedule; { /* better pass 8 bytes, length not checked here */ @@ -132,10 +126,7 @@ int des_key_sched(k,schedule) return 0; } -static int -make_key_sched(Key,Schedule) - register key Key; /* r11 */ - des_key_schedule Schedule; +static int make_key_sched(register key Key, des_key_schedule Schedule) { /* * The key has been converted to an array to make this run faster; diff --git a/src/des/main.c b/src/des/main.c index 79fa2b4..fc23b79 100644 --- a/src/des/main.c +++ b/src/des/main.c @@ -27,19 +27,17 @@ RCSID("$Header$"); #endif #endif +#include #include "des_internal.h" +#include "des_prototypes.h" -extern void gen PROTOTYPE((FILE * stream)); -extern int des_debug; char const *whoami; #ifndef DONT_INCL_MAIN #include "AFS_component_version_number.c" -int main(argc, argv) - int argc; - char *argv[]; +int main(int argc, char *argv[]) { char *filename; char *arg; diff --git a/src/des/make_fp.c b/src/des/make_fp.c index 553fd4a..252893d 100644 --- a/src/des/make_fp.c +++ b/src/des/make_fp.c @@ -15,19 +15,14 @@ RCSID("$Header$"); #include #include +#include #include "des_internal.h" +#include "des_prototypes.h" #define WANT_FP_TABLE #include "tables.h" -extern unsigned int swap_bit_pos_0_to_ansi PROTOTYPE((unsigned int)); -extern afs_int32 swap_long_bytes(); -extern afs_int32 swap_long_bytes_bit_number(); -extern void test_set PROTOTYPE((FILE *, char const *, int, - char const *, int)); - -void gen (stream) - FILE * stream; +void gen (FILE *stream) { register int i; diff --git a/src/des/make_ip.c b/src/des/make_ip.c index 5c9afd6..7817332 100644 --- a/src/des/make_ip.c +++ b/src/des/make_ip.c @@ -16,22 +16,17 @@ RCSID("$Header$"); #include #include #include +#include #include "des_internal.h" #define WANT_IP_TABLE #include "tables.h" -extern afs_int32 swap_bit_pos_0(); -extern afs_int32 rev_swap_bit_pos_0(); -extern void test_set PROTOTYPE((FILE *, char const *, int, - char const *, int)); -extern int swap_long_bytes_bit_number(int); -extern int swap_bit_pos_0_to_ansi(int); +#include "des_prototypes.h" #define SWAP(x) swap_long_bytes_bit_number(swap_bit_pos_0_to_ansi(x)) -void gen(stream) - FILE *stream; +void gen(FILE *stream) { register int i; diff --git a/src/des/make_keyperm.c b/src/des/make_keyperm.c index 983884c..ce3dfd1 100644 --- a/src/des/make_keyperm.c +++ b/src/des/make_keyperm.c @@ -20,22 +20,16 @@ RCSID("$Header$"); #include #include #include +#include #include "des_internal.h" +#include "des_prototypes.h" char *progname; -extern char *errmsg(); -extern afs_int32 swap_bit_pos_1(); -extern afs_int32 swap_bit_pos_0(); -int sflag; -int vflag; -int dflag; -int pid; -int child_status; - -int key_position[64+1]; -int C[28+1]; -int D[28+1]; -int C_temp, D_temp; + +static int key_position[64+1]; +static int C[28+1]; +static int D[28+1]; +static int C_temp, D_temp; /* * CONVENTIONS for numbering the bits @@ -49,11 +43,11 @@ int C_temp, D_temp; /* * Sequence of shifts used for the key schedule. */ -int const shift[16+1] = { 0, +static int const shift[16+1] = { 0, 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1, }; -int const pc_1[64+1] = { 0, +static int const pc_1[64+1] = { 0, 57,49,41,33,25,17, 9, 1,58,50,42,34,26,18, @@ -71,7 +65,7 @@ int const pc_1[64+1] = { 0, * Permuted-choice 2, to pick out the bits from * the CD array that generate the key schedule. */ -int const pc_2[48+1] = { 0, +static int const pc_2[48+1] = { 0, 14,17,11,24, 1, 5, 3,28,15, 6,21,10, @@ -84,12 +78,11 @@ int const pc_2[48+1] = { 0, 46,42,50,36,29,32, }; -int ks_perm[16+1][48+1]; +static int ks_perm[16+1][48+1]; -int des_debug; +static int des_debug; -void gen(stream) - FILE *stream; +void gen(FILE *stream) { /* Local Declarations */ register int i, j, iter; diff --git a/src/des/make_p.c b/src/des/make_p.c index 44b9cb1..1adee72 100644 --- a/src/des/make_p.c +++ b/src/des/make_p.c @@ -14,11 +14,12 @@ RCSID("$Header$"); #include #include +#include #include "des_internal.h" #include "tables.h" +#include "des_prototypes.h" -void gen(stream) - FILE *stream; +void gen(FILE *stream) { /* P permutes 32 bit input R1 into 32 bit output R2 */ diff --git a/src/des/make_p_table.c b/src/des/make_p_table.c index 8b8c766..a344fec 100644 --- a/src/des/make_p_table.c +++ b/src/des/make_p_table.c @@ -13,18 +13,17 @@ RCSID("$Header$"); #include #include +#include #include "des_internal.h" +#include "des_prototypes.h" #define WANT_P_TABLE #include "tables.h" -extern afs_uint32 swap_byte_bits(); -extern afs_uint32 rev_swap_bit_pos_0(); static unsigned char P_temp[32]; static afs_uint32 P_prime[4][256]; -void gen(stream) - FILE *stream; +void gen(FILE *stream) { register int i,j,k,m; /* P permutes 32 bit input R1 into 32 bit output R2 */ diff --git a/src/des/make_s_table.c b/src/des/make_s_table.c index cccbae9..2f739f3 100644 --- a/src/des/make_s_table.c +++ b/src/des/make_s_table.c @@ -12,19 +12,17 @@ RCSID("$Header$"); #include #include +#include #include "des_internal.h" +#include "des_prototypes.h" #define WANT_S_TABLE #include "tables.h" -extern afs_uint32 swap_bit_pos_0(); -extern afs_uint32 swap_six_bits_to_ansi(); -extern afs_uint32 swap_four_bits_to_ansi(); char temp[8][64]; int des_debug; -void gen(stream) - FILE *stream; +void gen(FILE *stream) { register afs_uint32 i,j,k,l,m,n; @@ -52,7 +50,7 @@ void gen(stream) if (des_debug) fprintf(stderr, "i = %ld, j = %ld, k = %ld, l = %ld, m = %ld, n = %ld\n", - i,j,k,l,m,n); + (long) i,(long) j,(long) k,(long) l,(long) m,(long) n); temp[i][j] = n; } } diff --git a/src/des/misc.c b/src/des/misc.c index b56ccd6..351f83d 100644 --- a/src/des/misc.c +++ b/src/des/misc.c @@ -16,8 +16,12 @@ RCSID("$Header$"); #include +#ifndef KERNEL #include +#endif +#include #include "des_internal.h" +#include "des_prototypes.h" int des_debug; @@ -28,8 +32,7 @@ int des_debug; */ #if 0 /* These don't seem to get used anywhere.... */ -void swap_bits(array) - char *array; +void swap_bits(char *array) { #ifdef MSBFIRST /* just return */ @@ -55,8 +58,7 @@ void swap_bits(array) #endif /* MSBFIRST */ } -afs_uint32 long_swap_bits(x) - afs_uint32 x; +afs_uint32 long_swap_bits(afs_uint32 x) { #ifdef MSBFIRST return x; @@ -83,8 +85,7 @@ afs_uint32 long_swap_bits(x) } #endif /* 0 */ -afs_uint32 swap_six_bits_to_ansi(old) - afs_uint32 old; +afs_uint32 swap_six_bits_to_ansi(afs_uint32 old) { register afs_uint32 new, j; @@ -101,8 +102,7 @@ afs_uint32 swap_six_bits_to_ansi(old) return new; } -afs_uint32 swap_four_bits_to_ansi(old) - afs_uint32 old; +afs_uint32 swap_four_bits_to_ansi(afs_uint32 old) { register afs_uint32 new,j; @@ -118,8 +118,7 @@ afs_uint32 swap_four_bits_to_ansi(old) return new; } -afs_uint32 swap_bit_pos_1(x) - afs_uint32 x; +afs_uint32 swap_bit_pos_1(afs_uint32 x) { /* * This corrects for the bit ordering of the algorithm, e.g. @@ -139,8 +138,7 @@ afs_uint32 swap_bit_pos_1(x) return x; } -afs_uint32 swap_bit_pos_0(x) - afs_uint32 x; +afs_uint32 swap_bit_pos_0(afs_uint32 x) { /* zero based version */ @@ -167,8 +165,7 @@ afs_uint32 swap_bit_pos_0(x) #endif /* LSBFIRST */ } -afs_uint32 swap_bit_pos_0_to_ansi(x) - afs_uint32 x; +afs_uint32 swap_bit_pos_0_to_ansi(afs_uint32 x) { /* zero based version */ @@ -190,8 +187,7 @@ afs_uint32 swap_bit_pos_0_to_ansi(x) return x; } -afs_uint32 rev_swap_bit_pos_0(x) - afs_uint32 x; +afs_uint32 rev_swap_bit_pos_0(afs_uint32 x) { /* zero based version */ @@ -221,8 +217,7 @@ afs_uint32 rev_swap_bit_pos_0(x) #endif /* MSBFIRST */ } -afs_uint32 swap_byte_bits(x) - afs_uint32 x; +afs_uint32 swap_byte_bits(afs_uint32 x) { #ifdef MSBFIRST return x; @@ -245,8 +240,7 @@ afs_uint32 swap_byte_bits(x) #endif /* LSBFIRST */ } -int swap_long_bytes_bit_number(x) - afs_uint32 x; +int swap_long_bytes_bit_number(afs_uint32 x) { /* * given a bit number (0-31) from a vax, swap the byte part of the @@ -265,12 +259,8 @@ int swap_long_bytes_bit_number(x) #endif /* MSBFIRST */ } -void test_set(stream, src, testbit, dest, setbit) - FILE *stream; - const char *src; - int testbit; - const char *dest; - int setbit; +void test_set(FILE *stream, const char *src, int testbit, + const char *dest, int setbit) { #ifdef DES_SHIFT_SHIFT if (testbit == setbit) diff --git a/src/des/new_rnd_key.c b/src/des/new_rnd_key.c index 6b10308..c480b79 100644 --- a/src/des/new_rnd_key.c +++ b/src/des/new_rnd_key.c @@ -20,8 +20,13 @@ RCSID("$Header$"); +#ifndef KERNEL +#include +#endif #include #include "des_internal.h" +#include "des_prototypes.h" + #ifdef AFS_PTHREAD_ENV #include #endif @@ -34,12 +39,6 @@ RCSID("$Header$"); #endif #include "stats.h" -extern void des_fixup_key_parity(); -extern int des_is_weak_key(); -extern int des_ecb_encrypt(); -extern int des_key_sched(); - -void des_set_random_generator_seed(); static afs_int32 des_set_sequence_number(des_cblock new_sequence_number); static afs_int32 des_generate_random_block(des_cblock block); @@ -72,9 +71,7 @@ pthread_mutex_t des_init_mutex; * to be a weak des key. Des_generate_random_block is used to * provide the random bits. */ -int -des_random_key(key) - des_cblock key; +int des_random_key(des_cblock key) { LOCK_INIT if (!is_inited) { @@ -119,8 +116,7 @@ des_random_key(key) #include #endif -void des_init_random_number_generator(key) - des_cblock key; +void des_init_random_number_generator(des_cblock key) { struct { /* This must be 64 bits exactly */ afs_int32 process_id; @@ -156,7 +152,7 @@ void des_init_random_number_generator(key) * use a time stamp to ensure that a server started later does not reuse * an old stream: */ - gettimeofday(&time, (struct timezone *)0); + gettimeofday(&time, NULL); des_set_sequence_number((unsigned char *)&time); /* @@ -215,9 +211,7 @@ pthread_mutex_t des_random_mutex; * Requires: key is a valid des key. I.e., has correct parity and is not a * weak des key. */ -void -des_set_random_generator_seed(key) - des_cblock key; +void des_set_random_generator_seed(des_cblock key) { register int i; @@ -239,8 +233,7 @@ des_set_random_generator_seed(key) * * Note that des_set_random_generator_seed resets the sequence number to 0. */ -static afs_int32 -des_set_sequence_number(des_cblock new_sequence_number) +static afs_int32 des_set_sequence_number(des_cblock new_sequence_number) { LOCK_RANDOM memcpy((char *)sequence_number, (char *)new_sequence_number, sizeof(sequence_number)); @@ -256,8 +249,7 @@ des_set_sequence_number(des_cblock new_sequence_number) * Requires: des_set_random_generator_seed must have been called at least once * before this routine is called. */ -static afs_int32 -des_generate_random_block(des_cblock block) +static afs_int32 des_generate_random_block(des_cblock block) { int i; diff --git a/src/des/pcbc_encrypt.c b/src/des/pcbc_encrypt.c index 66676bb..19f3c2f 100644 --- a/src/des/pcbc_encrypt.c +++ b/src/des/pcbc_encrypt.c @@ -21,10 +21,13 @@ */ #include +#ifndef KERNEL #include +#endif #include #include #include +#include "des_prototypes.h" RCSID("$Header$"); @@ -32,10 +35,6 @@ RCSID("$Header$"); #define XPRT_PCBC_ENCRYPT -extern int des_debug; -extern int des_debug_print(); -extern int des_ecb_encrypt(); - /* * pcbc_encrypt is an "error propagation chaining" encrypt operation * for DES, similar to CBC, but that, on encryption, "xor"s the @@ -65,15 +64,17 @@ extern int des_ecb_encrypt(); * This is NOT a standard mode of operation. * */ - -afs_int32 -des_pcbc_encrypt(in,out,length,key,iv,encrypt) - des_cblock *in; /* >= length bytes of inputtext */ - des_cblock *out; /* >= length bytes of outputtext */ - register afs_int32 length; /* in bytes */ - int encrypt; /* 0 ==> decrypt, else encrypt */ - des_key_schedule key; /* precomputed key schedule */ - des_cblock *iv; /* 8 bytes of ivec */ +/* + des_cblock *in; * >= length bytes of input text * + des_cblock *out; * >= length bytes of output text * + register afs_int32 length; * in bytes * + int encrypt; * 0 ==> decrypt, else encrypt * + des_key_schedule key; * precomputed key schedule * + des_cblock *iv; * 8 bytes of ivec * +*/ +afs_int32 des_pcbc_encrypt(des_cblock *in, des_cblock *out, + register afs_int32 length, des_key_schedule key, + des_cblock *iv, int encrypt) { register afs_uint32 *input = (afs_uint32 *) in; register afs_uint32 *output = (afs_uint32 *) out; diff --git a/src/des/quad_cksum.c b/src/des/quad_cksum.c index 40311b8..e1a007a 100644 --- a/src/des/quad_cksum.c +++ b/src/des/quad_cksum.c @@ -71,12 +71,16 @@ RCSID("$Header$"); #include /* System include files */ +#ifndef KERNEL #include +#endif #include /* Application include files */ #include #include "des_internal.h" +#include "des_prototypes.h" + /* Definitions for byte swapping */ #ifdef LSBFIRST @@ -89,19 +93,18 @@ static unsigned short two_bytes_vax_to_nets(); #define vaxtohs(x) two_bytes_vax_to_nets((char *)(x)) #endif -/* Externals */ -extern char *errmsg(); -extern int des_debug; - /*** Routines ***************************************************** */ -afs_uint32 -des_quad_cksum(in,out,length,out_count,c_seed) - des_cblock *c_seed; /* secret seed, 8 bytes */ - unsigned char *in; /* input block */ - afs_uint32 *out; /* optional longer output */ - int out_count; /* number of iterations */ - afs_int32 length; /* original length in bytes */ +/* + des_cblock *c_seed; * secret seed, 8 bytes * + unsigned char *in; * input block * + afs_uint32 *out; * optional longer output * + int out_count; * number of iterations * + afs_int32 length; * original length in bytes * +*/ + +afs_uint32 des_quad_cksum(unsigned char *in, afs_uint32 *out, + afs_int32 length, int out_count, des_cblock *c_seed) { /* @@ -157,8 +160,7 @@ des_quad_cksum(in,out,length,out_count,c_seed) } #ifdef MSBFIRST -static unsigned short two_bytes_vax_to_nets(p) - char *p; +static unsigned short two_bytes_vax_to_nets(char *p) { union { char pieces[2]; @@ -170,8 +172,7 @@ static unsigned short two_bytes_vax_to_nets(p) return(short_conv.result); } -static afs_uint32 four_bytes_vax_to_nets(p) - char *p; +static afs_uint32 four_bytes_vax_to_nets(char *p) { union { char pieces[4]; diff --git a/src/des/read_pssword.c b/src/des/read_pssword.c index f28881a..870f52e 100644 --- a/src/des/read_pssword.c +++ b/src/des/read_pssword.c @@ -61,6 +61,10 @@ static int intrupt; #include #endif +#ifdef HAVE_SYS_TYPES_H +#include +#endif + static int intrupt; #if defined(AFS_SGI_ENV) || defined (AFS_AIX_ENV) || defined(AFS_XBSD_ENV) /*|| defined (AFS_HPUX_ENV) || defined(AFS_SUN5_ENV)*/ #undef BSDUNIX @@ -85,11 +89,7 @@ int des_read_pw_string(char *, int, char *, int); int des_string_to_key(char *, des_cblock *); /*** Routines ****************************************************** */ -int -des_read_password(k,prompt,verify) - des_cblock *k; - char *prompt; - int verify; +int des_read_password(des_cblock *k, char *prompt, int verify) { int ok; char key_string[BUFSIZ]; @@ -157,8 +157,6 @@ des_read_pw_string(s,maxa,prompt,verify) FILE *fi; char savel, flags; void (*sig)(); - extern void setbuf(); - extern int kill(), fclose(); #endif #endif #ifdef AFS_NT40_ENV @@ -316,7 +314,7 @@ lose: * Restore the old signal handler for SIGINT. */ tcsetattr(fno, TCSANOW, &save_ttyb); - sigaction(SIGINT, &oldsig, (struct sigaction *)0); + sigaction(SIGINT, &oldsig, NULL); if (fi != stdin) fclose(fi); diff --git a/src/des/strng_to_key.c b/src/des/strng_to_key.c index 2854c45..f8a8318 100644 --- a/src/des/strng_to_key.c +++ b/src/des/strng_to_key.c @@ -21,14 +21,19 @@ */ #include -#include #include #include RCSID("$Header$"); +#ifndef KERNEL +#include +#endif + #include #include "des_internal.h" +#include "des_prototypes.h" + #ifdef HAVE_STRING_H #include #else @@ -37,21 +42,10 @@ RCSID("$Header$"); #endif #endif -extern int des_debug; -extern int des_debug_print(); -extern void des_fixup_key_parity(); -extern afs_uint32 des_cbc_cksum(); - -/* prototypes */ -int des_key_sched(register des_cblock *k, des_key_schedule schedule); - /* * convert an arbitrary length string to a DES key */ -void -des_string_to_key(str,key) - char *str; - register des_cblock *key; +void des_string_to_key(char *str, register des_cblock *key) { register char *in_str; register unsigned temp,i,j; diff --git a/src/des/util.c b/src/des/util.c index 866a1eb..a0bbda1 100644 --- a/src/des/util.c +++ b/src/des/util.c @@ -12,14 +12,15 @@ RCSID("$Header$"); -#include +#include "mit-cpyright.h" +#ifndef KERNEL #include +#endif #include #include +#include "des_prototypes.h" -int des_cblock_print_file(x, fp) - des_cblock *x; - FILE *fp; +int des_cblock_print_file(des_cblock *x, FILE *fp) { unsigned char *y = (unsigned char *) x; register int i = 0; @@ -36,11 +37,7 @@ int des_cblock_print_file(x, fp) } #ifdef DEBUG -int des_debug_print(area, x, arg1, arg2) - char *area; - int x; - char *arg1; - char *arg2; +int des_debug_print(char *area, int x, char *arg1, char *arg2) { ; } diff --git a/src/des/weak_key.c b/src/des/weak_key.c index 04d0391..177f403 100644 --- a/src/des/weak_key.c +++ b/src/des/weak_key.c @@ -17,8 +17,14 @@ RCSID("$Header$"); -#include +#ifndef KERNEL +#include +#endif + +#include "des.h" #include "des_internal.h" +#include "des_prototypes.h" + #ifdef HAVE_STRING_H #include #else @@ -62,9 +68,7 @@ static const des_cblock weak[16] = { * * Requires: key has correct odd parity. */ -int -des_is_weak_key(key) - des_cblock key; +int des_is_weak_key(des_cblock key) { int i; const des_cblock *weak_p = weak; diff --git a/src/dir/dir.c b/src/dir/dir.c index 4b98d16..853f303 100644 --- a/src/dir/dir.c +++ b/src/dir/dir.c @@ -105,6 +105,9 @@ RCSID("$Header$"); #define IsEmpty afs_dir_IsEmpty #else /* KERNEL */ +# ifdef HAVE_UNISTD_H +# include +# endif # include # include # include "dir.h" @@ -113,29 +116,35 @@ RCSID("$Header$"); #else #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #endif /* KERNEL */ afs_int32 DErrno; char *DRelease(); -static struct DirEntry *FindItem(); -struct DirEntry *GetBlob(); struct DirEntry *DRead(); struct DirEntry *DNew(); -void AddPage(); -void FreeBlobs(); +/* Local static prototypes */ +static struct DirEntry *FindItem (char *dir, char *ename, + unsigned short **previtem); + -int NameBlobs (name) -char * name; {/* Find out how many entries are required to store a name. */ +int NameBlobs (char *name) +{/* Find out how many entries are required to store a name. */ register int i; i = strlen(name)+1; return 1+((i+15)>>5); } -int Create (dir, entry, vfid) -char *dir; -char *entry; -afs_int32 *vfid; { +int Create (char *dir, char *entry, afs_int32 *vfid) +{ /* Create an entry in a file. Dir is a file representation, while entry is a string name. */ int blobs, firstelt; register int i; @@ -176,8 +185,8 @@ afs_int32 *vfid; { return 0; } -int Length (dir) -char *dir; { +int Length (char *dir) +{ int i,ctr; struct DirHeader *dhp; dhp = (struct DirHeader *) DRead(dir,0); @@ -193,9 +202,8 @@ char *dir; { return ctr*AFS_PAGESIZE; } -Delete (dir, entry) -char *dir; -char *entry; { +int Delete (char *dir, char *entry) +{ /* Delete an entry from a directory, including update of all free entry descriptors. */ int nitems, index; register struct DirEntry *firstitem; @@ -211,12 +219,11 @@ char *entry; { return 0; } -FindBlobs (dir,nblobs) -char *dir; -int nblobs; { +int FindBlobs (char *dir, int nblobs) +{ /* Find a bunch of contiguous entries; at least nblobs in a row. */ register int i, j, k; - int failed; + int failed = 0; register struct DirHeader *dhp; struct PageHeader *pp; int pgcount; @@ -279,9 +286,8 @@ int nblobs; { return -1; } -void AddPage (dir,pageno) -char *dir; -int pageno; {/* Add a page to a directory. */ +void AddPage (char *dir, int pageno) +{/* Add a page to a directory. */ register int i; register struct PageHeader *pp; @@ -295,10 +301,8 @@ int pageno; {/* Add a page to a directory. */ DRelease(pp,1); } -void FreeBlobs(dir,firstblob,nblobs) -char *dir; -register int firstblob; -int nblobs; { +void FreeBlobs(char *dir, register int firstblob, int nblobs) +{ /* Free a whole bunch of directory entries. */ register int i; int page; @@ -316,10 +320,8 @@ int nblobs; { DRelease(pp,1); } -MakeDir (dir,me,parent) -char *dir; -afs_int32 *me; -afs_int32 *parent; { +int MakeDir (char *dir, afs_int32 *me, afs_int32 *parent) +{ /* Format an empty directory properly. Note that the first 13 entries in a directory header page are allocated, 1 to the page header, 4 to the allocation map and 8 to the hash table. */ register int i; @@ -340,10 +342,8 @@ afs_int32 *parent; { return 0; } -Lookup (dir, entry, fid) - char *dir; - char *entry; - register afs_int32 *fid; { +int Lookup (char *dir, char *entry, register afs_int32 *fid) +{ /* Look up a file name in directory. */ register struct DirEntry *firstitem; unsigned short *previtem; @@ -357,11 +357,8 @@ Lookup (dir, entry, fid) return 0; } -LookupOffset (dir, entry, fid, offsetp) - char *dir; - char *entry; - long *offsetp; - register afs_int32 *fid; { +int LookupOffset (char *dir, char *entry, register afs_int32 *fid, long *offsetp) +{ /* Look up a file name in directory. */ register struct DirEntry *firstitem; unsigned short *previtem; @@ -377,10 +374,8 @@ LookupOffset (dir, entry, fid, offsetp) return 0; } -EnumerateDir (dir,hookproc,hook) - char *dir; - void *hook; - int (*hookproc)(); { +int EnumerateDir (char *dir, int (*hookproc)(), void *hook) +{ /* Enumerate the contents of a directory. */ register int i; int num; @@ -413,8 +408,8 @@ EnumerateDir (dir,hookproc,hook) return 0; } -IsEmpty (dir) -char *dir; { +int IsEmpty (char *dir) +{ /* Enumerate the contents of a directory. */ register int i; int num; @@ -442,9 +437,8 @@ char *dir; { return 0; } -struct DirEntry *GetBlob (dir, blobno) - char *dir; - afs_int32 blobno; { +struct DirEntry *GetBlob (char *dir, afs_int32 blobno) +{ /* Return a pointer to an entry, given its number. */ struct DirEntry *ep; ep=DRead(dir,blobno>>LEPP); @@ -452,14 +446,14 @@ struct DirEntry *GetBlob (dir, blobno) return (struct DirEntry *) (((long)ep)+32*(blobno&(EPP-1))); } -DirHash (string) - register char *string; { +int DirHash (register char *string) +{ /* Hash a string to a number between 0 and NHASHENT. */ register unsigned char tc; register int hval; register int tval; hval = 0; - while(tc=(*string++)) { + while((tc=(*string++))) { hval *= 173; hval += tc; } @@ -469,10 +463,9 @@ DirHash (string) return tval; } -static struct DirEntry *FindItem (dir,ename,previtem) -char *dir; -char *ename; -unsigned short **previtem; { +static struct DirEntry *FindItem (char *dir, char *ename, + unsigned short **previtem) +{ /* Find a directory entry, given its name. This entry returns a pointer to a locked buffer, and a pointer to a locked buffer (in previtem) referencing the found item (to aid the delete code). If no entry is found, however, no items are left locked, and a null pointer is returned instead. */ register int i; register struct DirHeader *dhp; diff --git a/src/dir/dir.h b/src/dir/dir.h index 97aaede..1c2f4fb 100644 --- a/src/dir/dir.h +++ b/src/dir/dir.h @@ -78,4 +78,37 @@ struct DirPage1 */ extern int DVOffset(void *ap); + + +/* Prototypes */ +extern int NameBlobs (char *name); +extern int Create (char *dir, char *entry, afs_int32 *vfid); +extern int Length (char *dir); +extern int Delete (char *dir, char *entry); +extern int FindBlobs (char *dir, int nblobs); +extern void AddPage (char *dir, int pageno); +extern void FreeBlobs(char *dir, register int firstblob, int nblobs); +extern int MakeDir (char *dir, afs_int32 *me, afs_int32 *parent); +extern int Lookup (char *dir, char *entry, register afs_int32 *fid); +extern int LookupOffset (char *dir, char *entry, register afs_int32 *fid, long *offsetp); +extern int EnumerateDir (char *dir, int (*hookproc)(void *dir, char *name, afs_int32 vnode, afs_int32 unique), void *hook); +extern int IsEmpty (char *dir); +extern struct DirEntry *GetBlob (char *dir, afs_int32 blobno); +extern int DirHash (register char *string); + +#ifdef KERNEL +extern int afs_dir_NameBlobs (char *name); +extern int afs_dir_Create (char *dir, char *entry, afs_int32 *vfid); +extern int afs_dir_Length (char *dir); +extern int afs_dir_Delete (char *dir, char *entry); +extern int afs_dir_MakeDir (char *dir, afs_int32 *me, afs_int32 *parent); +extern int afs_dir_Lookup (char *dir, char *entry, register afs_int32 *fid); +extern int afs_dir_LookupOffset (char *dir, char *entry, register afs_int32 *fid, long *offsetp); +extern int afs_dir_EnumerateDir (char *dir, int (*hookproc)(void *dir, char *name, afs_int32 vnode, afs_int32 unique), void *hook); +extern int afs_dir_IsEmpty (char *dir); +extern struct DirEntry *afs_dir_GetBlob (char *dir, afs_int32 blobno); +#endif + + + #endif /* !defined(__AFS_DIR_H) */ diff --git a/src/dir/salvage.c b/src/dir/salvage.c index 0c074dc..965746a 100644 --- a/src/dir/salvage.c +++ b/src/dir/salvage.c @@ -22,6 +22,14 @@ RCSID("$Header$"); #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "dir.h" #define printf Log /* To make it work with volume salvager */ diff --git a/src/export/Makefile.in b/src/export/Makefile.in index 3ba6a3a..2c2f9b3 100644 --- a/src/export/Makefile.in +++ b/src/export/Makefile.in @@ -24,12 +24,12 @@ noversion system: install install: ${DESTDIR}${libdir}/afs/export.exp ${DESTDIR}${libdir}/afs/extras.exp kinstall: - ${INSTALL} export.h ${KERNELDIR} - ${INSTALL} export.exp ${KERNELDIR} + ${INSTALL} ${srcdir}/export.h ${KERNELDIR} + ${INSTALL} ${srcdir}/export.exp ${KERNELDIR} ukinstall webinstall: - ${INSTALL} export.h ${UKERNELDIR} - ${INSTALL} export.exp ${UKERNELDIR} + ${INSTALL} ${srcdir}/export.h ${UKERNELDIR} + ${INSTALL} ${srcdir}/export.exp ${UKERNELDIR} export.ext: ${KOBJ} ${LD} -o export.ext -eexport ${IMPORTS} ${KOBJ} ${EXPORTS} -lcsys diff --git a/src/finale/translate_et.c b/src/finale/translate_et.c index 7340170..04f9d5a 100644 --- a/src/finale/translate_et.c +++ b/src/finale/translate_et.c @@ -32,10 +32,7 @@ RCSID("$Header$"); #include "AFS_component_version_number.c" -int -main (argc, argv) - int argc; - char *argv[]; +int main (int argc, char *argv[]) { int i; afs_int32 code; diff --git a/src/fsint/afsaux.c b/src/fsint/afsaux.c index aaf14a0..15ce9f0 100644 --- a/src/fsint/afsaux.c +++ b/src/fsint/afsaux.c @@ -69,10 +69,7 @@ static afs_int32 bslosers = 0; /* * XDR chars; from user mode xdr package. */ -bool_t -xdr_char(xdrs, sp) - register XDR *xdrs; - char *sp; +bool_t xdr_char(register XDR *xdrs, char *sp) { afs_int32 l; @@ -105,10 +102,7 @@ xdr_char(xdrs, sp) */ #ifndef AFS_SUN5_ENV #ifndef AFS_HPUX110_ENV -bool_t -xdr_wrapstring(xdrs, cpp) - XDR *xdrs; - char **cpp; +bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { if (xdr_string(xdrs, cpp, 1024)) { return(TRUE); @@ -128,13 +122,8 @@ xdr_wrapstring(xdrs, cpp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t -xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem) - register XDR *xdrs; - register char *basep; - register u_int nelem; - register u_int elemsize; - register xdrproc_t xdr_elem; +bool_t xdr_vector(register XDR *xdrs, register char *basep, + register u_int nelem, register u_int elemsize, register xdrproc_t xdr_elem) { register u_int i; register char *elptr; @@ -152,9 +141,8 @@ xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem) #endif /* KERNEL */ #ifndef KERNEL -xdr_CBS(x, abbs) - XDR *x; - struct CBS *abbs; { +bool_t xdr_CBS(XDR *x, struct CBS *abbs) +{ afs_int32 len; if (x->x_op == XDR_FREE) { NVFREE(abbs->SeqBody,abbs->SeqLen); @@ -176,9 +164,8 @@ xdr_CBS(x, abbs) } } -xdr_BBS(x, abbs) - XDR *x; - struct BBS *abbs; { +bool_t xdr_BBS(XDR *x, struct BBS *abbs) +{ afs_int32 maxLen, len; if (x->x_op == XDR_FREE) { NVFREE(abbs->SeqBody, abbs->MaxSeqLen); @@ -203,9 +190,8 @@ xdr_BBS(x, abbs) } } -xdr_AFSAccessList(x, abbs) - XDR *x; - struct BBS *abbs; { +bool_t xdr_AFSAccessList(XDR *x, AFSAccessList *abbs) +{ afs_int32 maxLen, len; if (x->x_op == XDR_FREE) { NVFREE(abbs->SeqBody, abbs->MaxSeqLen); diff --git a/src/fsprobe/fsprobe.c b/src/fsprobe/fsprobe.c index 895980c..1027b77 100644 --- a/src/fsprobe/fsprobe.c +++ b/src/fsprobe/fsprobe.c @@ -18,6 +18,15 @@ RCSID("$Header$"); + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /*Interface for this module*/ #include /*Lightweight process package*/ #include @@ -100,7 +109,7 @@ static int fsprobe_CleanupInit() rxcall = (struct rx_call *)0; Fids_Array = (AFSCBFids *)0; CallBack_Array = (AFSCBs *)0; - interfaceAddr = (struct interfaceAddr *)0; + interfaceAddr = NULL; code = SRXAFSCB_CallBack(rxcall, Fids_Array, CallBack_Array); if (code) @@ -194,7 +203,7 @@ int fsprobe_Cleanup(a_releaseMem) if (a_releaseMem) { if (fsprobe_ConnInfo != (struct fsprobe_ConnectionInfo *)0) free(fsprobe_ConnInfo); - if (fsprobe_Results.stats != (struct ProbeViceStatistics *)0) + if (fsprobe_Results.stats != NULL) free(fsprobe_Results.stats); if (fsprobe_Results.probeOK != (int *)0) free(fsprobe_Results.probeOK); @@ -370,7 +379,7 @@ tryold: goto out; } partEnts.partEntries_len = 0; - partEnts.partEntries_val = (afs_int32 *)0; + partEnts.partEntries_val = NULL; code = AFSVolXListPartitions(aconn, &partEnts); if (!newvolserver) { if (code == RXGEN_OPCODE) { @@ -524,7 +533,7 @@ int fsprobe_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler, fsprobe_statsBytes = a_numServers * sizeof(struct ProbeViceStatistics); fsprobe_Results.stats = (struct ProbeViceStatistics *) malloc(fsprobe_statsBytes); - if (fsprobe_Results.stats == (struct ProbeViceStatistics *)0) { + if (fsprobe_Results.stats == NULL) { fprintf(stderr, "[%s] Can't allocate %d statistics structs (%d bytes)\n", rn, a_numServers, fsprobe_statsBytes); @@ -583,7 +592,7 @@ int fsprobe_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler, * Create a null Rx server security object, to be used by the * Callback listener. */ - CBsecobj = (struct rx_securityClass *) rxnull_NewServerSecurityObject(); + CBsecobj = rxnull_NewServerSecurityObject(); if (CBsecobj == (struct rx_securityClass *)0) { fprintf(stderr, "[%s] Can't create null security object for the callback listener.\n", @@ -598,7 +607,7 @@ int fsprobe_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler, * Create a null Rx client security object, to be used by the * probe LWP. */ - secobj = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + secobj = rxnull_NewClientSecurityObject(); if (secobj == (struct rx_securityClass *)0) { fprintf(stderr, "[%s] Can't create client security object for probe LWP.\n", @@ -626,7 +635,7 @@ int fsprobe_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler, memcpy(&(curr_conn->skt), a_socketArray + curr_srv, sizeof(struct sockaddr_in)); hostNameFound = hostutil_GetNameByINet(curr_conn->skt.sin_addr.s_addr); - if (hostNameFound == (char *)0) { + if (hostNameFound == NULL) { fprintf(stderr, "[%s] Can't map Internet address %lu to a string name\n", rn, curr_conn->skt.sin_addr.s_addr); diff --git a/src/fsprobe/fsprobe_test.c b/src/fsprobe/fsprobe_test.c index 2f2808c..8ac6fbe 100644 --- a/src/fsprobe/fsprobe_test.c +++ b/src/fsprobe/fsprobe_test.c @@ -18,6 +18,14 @@ RCSID("$Header$"); +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /*Interface for fsprobe module*/ /* @@ -154,7 +162,7 @@ main(argc, argv) FSSktArray[0].sin_family = htons(AF_INET); /*Internet family*/ FSSktArray[0].sin_port = htons(7000); /*FileServer port*/ he = hostutil_GetHostByName("servername1"); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for servername1\n", rn); exit(-1); } @@ -163,7 +171,7 @@ main(argc, argv) FSSktArray[1].sin_family = htons(AF_INET); /*Internet address family*/ FSSktArray[1].sin_port = htons(7000); /*FileServer port*/ he = hostutil_GetHostByName("servername2"); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for servername2\n", rn); exit(-1); } @@ -172,7 +180,7 @@ main(argc, argv) FSSktArray[2].sin_family = htons(AF_INET); /*Internet address family*/ FSSktArray[2].sin_port = htons(7000); /*FileServer port*/ he = hostutil_GetHostByName("servername3"); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for servername3\n", rn); exit(-1); } diff --git a/src/ftpd43+/ftpd.c b/src/ftpd43+/ftpd.c index 5ac9ca1..8436fa6 100644 --- a/src/ftpd43+/ftpd.c +++ b/src/ftpd43+/ftpd.c @@ -350,10 +350,10 @@ nextopt: memset((char *)&sa, 0, sizeof(sa)); sa.sa_mask.losigs = sigmask(SIGUSR2); sa.sa_handler = trace_handler; - sigaction(SIGUSR1, &sa, (struct sigaction *)0); + sigaction(SIGUSR1, &sa, NULL); sa.sa_mask.losigs = sigmask(SIGUSR1); sa.sa_handler = trace_handler; - sigaction(SIGUSR2, &sa, (struct sigaction *)0); + sigaction(SIGUSR2, &sa, NULL); #endif /* AFS_AIX32_ENV */ #ifdef AFS_OSF_ENV @@ -1746,7 +1746,7 @@ renamefrom(name) if (stat(name, &st) < 0) { perror_reply(550, name); - return ((char *)0); + return (NULL); } reply(350, "File exists, ready for destination name"); return (name); @@ -1916,7 +1916,7 @@ gunique(local) *cp = '\0'; if (stat(cp ? local : ".", &st) < 0) { perror_reply(553, cp ? local : "."); - return((char *) 0); + return(NULL); } if (cp) *cp = '/'; @@ -1929,7 +1929,7 @@ gunique(local) return(new); } reply(452, "Unique file name cannot be created."); - return((char *) 0); + return(NULL); } /* diff --git a/src/ftpd43+/getusershell.c b/src/ftpd43+/getusershell.c index f89e2ee..d70afb7 100644 --- a/src/ftpd43+/getusershell.c +++ b/src/ftpd43+/getusershell.c @@ -108,7 +108,7 @@ initshells() cp++; *cp++ = '\0'; } - *sp = (char *)0; + *sp = NULL; (void)fclose(fp); return (shells); } diff --git a/src/ftpd43+/glob.c b/src/ftpd43+/glob.c index 34b111a..deda481 100644 --- a/src/ftpd43+/glob.c +++ b/src/ftpd43+/glob.c @@ -254,7 +254,7 @@ expand(as) cs++, gpathp++; *gpathp = 0; if (*oldcs == '{') { - (void) execbrc(cs, ((char *)0)); + (void) execbrc(cs, (NULL)); return; } matchdir(cs); @@ -1050,7 +1050,7 @@ strspl(cp, dp) { register char *ep = malloc((unsigned)(strlen(cp) + strlen(dp) + 1)); - if (ep == (char *)0) + if (ep == NULL) fatal("Out of memory"); (void) strcpy(ep, cp); (void) strcat(ep, dp); @@ -1063,7 +1063,7 @@ copyblk(v) { register char **nv = (char **)malloc((unsigned)((blklen(v) + 1) * sizeof(char **))); - if (nv == (char **)0) + if (nv == NULL) fatal("Out of memory"); return (blkcpy(nv, v)); diff --git a/src/gtx/X11windows.c b/src/gtx/X11windows.c index 61bbb73..afb3793 100644 --- a/src/gtx/X11windows.c +++ b/src/gtx/X11windows.c @@ -132,7 +132,7 @@ struct gwin *gator_X11gwin_create(params) if (X11_debug) fprintf(stderr, "[%s:%s] Called\n", mn, rn); - return((struct gwin *)0); + return(NULL); } /*gator_X11gwin_create*/ diff --git a/src/gtx/curseswindows.c b/src/gtx/curseswindows.c index 1da3b3c..473b95d 100644 --- a/src/gtx/curseswindows.c +++ b/src/gtx/curseswindows.c @@ -37,6 +37,15 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include "gtxcurseswin.h" /*Interface definition*/ #include "gtxobjects.h" #include "gtxframe.h" @@ -144,7 +153,7 @@ int gator_cursesgwin_init(adebug) gator_basegwin.w_height = c_data->charheight * LINES; gator_basegwin.w_changed = 0; gator_basegwin.w_op = &curses_gwinops; - gator_basegwin.w_parent = (struct gwin *)0; + gator_basegwin.w_parent = NULL; /* * Plug the private data into the generic part of the base window. @@ -200,9 +209,9 @@ struct gwin *gator_cursesgwin_create(params) if (curses_debug) fprintf(stderr, "[%s:%s] Allocating %d bytes for new gwin structure\n", mn, rn, sizeof(struct gwin)); newgwin = (struct gwin *) malloc(sizeof(struct gwin)); - if (newgwin == (struct gwin *)0) { + if (newgwin == NULL) { fprintf(stderr, "[%s:%s] Can't malloc() %d bytes for new gwin structure: Errno is %d\n", mn, rn, sizeof(struct gwin), errno); - return((struct gwin *)0); + return(NULL); } newgwin->w_type = GATOR_WIN_CURSES; @@ -220,7 +229,7 @@ struct gwin *gator_cursesgwin_create(params) if (c_data == (struct gator_cursesgwin *)0){ fprintf(stderr, "[%s:%s] Can't allocate %d bytes for curses window private space\n", mn, rn, sizeof(struct gator_cursesgwin)); free(newgwin); - return((struct gwin *)0); + return(NULL); } newcursgwin = newwin(newgwin->w_height, /*Number of lines*/ @@ -231,7 +240,7 @@ struct gwin *gator_cursesgwin_create(params) fprintf(stderr, "[%s:%s] Failed to create curses window via newwin()\n", mn, rn); free(newgwin); free(c_data); - return((struct gwin *)0); + return(NULL); } /* diff --git a/src/gtx/dumbwindows.c b/src/gtx/dumbwindows.c index 5bd3afe..56c37f0 100644 --- a/src/gtx/dumbwindows.c +++ b/src/gtx/dumbwindows.c @@ -133,7 +133,7 @@ struct gwin *gator_dumbgwin_create(params) /* * Return failure here, fill this routine in at some point. */ - return((struct gwin *)0); + return(NULL); } /*gator_dumbgwin_create*/ diff --git a/src/gtx/frame.c b/src/gtx/frame.c index 5f133d2..bf87f69 100644 --- a/src/gtx/frame.c +++ b/src/gtx/frame.c @@ -18,6 +18,15 @@ RCSID("$Header$"); #endif #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include "gtxobjects.h" #include "gtxwindows.h" #include "gtxcurseswin.h" @@ -105,48 +114,48 @@ register struct gtx_frame *aframe; { keymap_BindToString(recursiveMap, "\010", gtxframe_CtrlHCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\177",gtxframe_CtrlHCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\025", gtxframe_CtrlUCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\033", gtxframe_RecursiveEndCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\015", gtxframe_RecursiveEndCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\012", gtxframe_RecursiveEndCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\003", gtxframe_RecursiveErrCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); keymap_BindToString(recursiveMap, "\007", gtxframe_RecursiveErrCmd, - (char *) 0, - (char *) 0); + NULL, + NULL); for(i=040; i<0177; i++) { tstring[0] = i; tstring[1] = 0; keymap_BindToString(recursiveMap, tstring, gtxframe_SelfInsertCmd, - (char *) 0, i); + NULL, i); } } aframe->savemap = aframe->keymap; @@ -169,7 +178,7 @@ struct gtx_frame *aframe; struct gwin *awin; { if (awin->w_frame) { /* Unthread this frame */ - awin->w_frame->window = (struct gwin *) 0; + awin->w_frame->window = NULL; } awin->w_frame = aframe; aframe->window = awin; /* Set frame's window ptr */ @@ -273,7 +282,7 @@ int aresultSize; { free(aframe->defaultLine); aframe->promptLine = gtx_CopyString(aprompt); tp = aframe->defaultLine = (char *) malloc(1024); - if (tp == (char *)0) + if (tp == NULL) return(-1); if (adefault) strcpy(tp, adefault); @@ -304,7 +313,7 @@ int aresultSize; { free(aframe->promptLine); if (aframe->defaultLine) free(aframe->defaultLine); - aframe->defaultLine = aframe->promptLine = (char *) 0; + aframe->defaultLine = aframe->promptLine = NULL; if (code) gtxframe_DisplayString(aframe, "[Aborted]"); return(code); @@ -326,7 +335,7 @@ struct gtx_frame *aframe; { return(0); if (aframe->messageLine) free(aframe->messageLine); - aframe->messageLine = (char *) 0; + aframe->messageLine = NULL; return(0); } diff --git a/src/gtx/gtxtest.c b/src/gtx/gtxtest.c index 2c838be..94e8bce 100644 --- a/src/gtx/gtxtest.c +++ b/src/gtx/gtxtest.c @@ -12,6 +12,15 @@ RCSID("$Header$"); + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "gtxwindows.h" #include "gtxobjects.h" #include "gtxtextobj.h" @@ -128,9 +137,9 @@ main() { textcrparams.onode_params.cr_width = 35; textcrparams.onode_params.cr_height = 7; textcrparams.onode_params.cr_window = win; /* ???? */ - textcrparams.onode_params.cr_home_obj = (struct onode *)0; - textcrparams.onode_params.cr_prev_obj = (struct onode *)0; - textcrparams.onode_params.cr_parent_obj = (struct onode *)0; + textcrparams.onode_params.cr_home_obj = NULL; + textcrparams.onode_params.cr_prev_obj = NULL; + textcrparams.onode_params.cr_parent_obj = NULL; textcrparams.onode_params.cr_helpstring = "Help string for text"; textcrparams.maxEntries = 7; textcrparams.maxCharsPerEntry = 35; @@ -147,9 +156,9 @@ main() { textcrparams.onode_params.cr_width = 35; textcrparams.onode_params.cr_height = 7; textcrparams.onode_params.cr_window = win; /* ???? */ - textcrparams.onode_params.cr_home_obj = (struct onode *)0; - textcrparams.onode_params.cr_prev_obj = (struct onode *)0; - textcrparams.onode_params.cr_parent_obj = (struct onode *)0; + textcrparams.onode_params.cr_home_obj = NULL; + textcrparams.onode_params.cr_prev_obj = NULL; + textcrparams.onode_params.cr_parent_obj = NULL; textcrparams.onode_params.cr_helpstring = "Help string for text"; textcrparams.maxEntries = 7; textcrparams.maxCharsPerEntry = 35; @@ -163,9 +172,9 @@ main() { lightcrparams.onode_params.cr_width = 10; lightcrparams.onode_params.cr_height = 10; lightcrparams.onode_params.cr_window = win; /* ???? */ - lightcrparams.onode_params.cr_home_obj = (struct onode *)0; - lightcrparams.onode_params.cr_prev_obj = (struct onode *)0; - lightcrparams.onode_params.cr_parent_obj = (struct onode *)0; + lightcrparams.onode_params.cr_home_obj = NULL; + lightcrparams.onode_params.cr_prev_obj = NULL; + lightcrparams.onode_params.cr_parent_obj = NULL; lightcrparams.onode_params.cr_helpstring = "Help string for text"; strcpy(lightcrparams.label, "Light-1"); lightcrparams.label_x = 0; @@ -182,9 +191,9 @@ main() { gtxframe_ClearList(frameA); gtxframe_AddToList(frameA, objectA); gtxframe_AddToList(frameA, lightA); - keymap_BindToString(frameA->keymap, "b", SwitchToBCmd, (char *) 0, (char *) 0); - keymap_BindToString(frameA->keymap, "a", StupidCmd, (char *) 0, (char *) 0); - keymap_BindToString(frameA->keymap, "c", ChangeCmd, (char *) 0, (char *) 0); + keymap_BindToString(frameA->keymap, "b", SwitchToBCmd, NULL, NULL); + keymap_BindToString(frameA->keymap, "a", StupidCmd, NULL, NULL); + keymap_BindToString(frameA->keymap, "c", ChangeCmd, NULL, NULL); keymap_BindToString(frameA->keymap, "\033a", ChangeMenuCmd, "ChangeMenu", (char *) 1); keymap_BindToString(frameA->keymap, "\033b", ChangeMenuCmd, "ChangeMenu", (char *) 2); keymap_BindToString(frameA->keymap, "\033c", ChangeMenuCmd, "ChangeMenu", (char *) 3); @@ -197,11 +206,11 @@ main() { /* setup B's frame */ gtxframe_ClearList(frameB); gtxframe_AddToList(frameB, objectB); - keymap_BindToString(frameB->keymap, "a", SwitchToACmd, (char *) 0, (char *) 0); - keymap_BindToString(frameB->keymap, "b", StupidCmd, (char *) 0, (char *) 0); - keymap_BindToString(frameB->keymap, "d", NoCallCmd, (char *) 0, (char *) 0); - keymap_BindToString(frameB->keymap, "d", (int (*)()) 0, (char *) 0, (char *) 0); - keymap_BindToString(frameB->keymap, "\033d", NoCallCmd, (char *) 0, (char *) 0); + keymap_BindToString(frameB->keymap, "a", SwitchToACmd, NULL, NULL); + keymap_BindToString(frameB->keymap, "b", StupidCmd, NULL, NULL); + keymap_BindToString(frameB->keymap, "d", NoCallCmd, NULL, NULL); + keymap_BindToString(frameB->keymap, "d", (int (*)()) 0, NULL, NULL); + keymap_BindToString(frameB->keymap, "\033d", NoCallCmd, NULL, NULL); gtxframe_AddMenu(frameB, "FrameA", "a"); /* finally setup the first window */ @@ -211,7 +220,7 @@ main() { /* play with maps for a while */ tmap = (struct keymap_map *) keymap_Create(); keymap_BindToString(tmap, "d", NoCallCmd, "test", (char *) 1); - keymap_BindToString(tmap, "cd", NoCallCmd, "bozo", (char *) 0); + keymap_BindToString(tmap, "cd", NoCallCmd, "bozo", NULL); keymap_Delete(tmap); gtx_InputServer(win); diff --git a/src/gtx/input.c b/src/gtx/input.c index 3223430..8509e55 100644 --- a/src/gtx/input.c +++ b/src/gtx/input.c @@ -85,7 +85,7 @@ int astartInput; { oi_params.i_gwparams = &wi_params; code = gator_objects_init(&oi_params); - if (code) return (struct gwin *) 0; + if (code) return NULL; /* if we start input thread */ IOMGR_Initialize(); /* input thread uses it */ diff --git a/src/gtx/keymap.c b/src/gtx/keymap.c index b33b8e6..5e3f057 100644 --- a/src/gtx/keymap.c +++ b/src/gtx/keymap.c @@ -12,6 +12,16 @@ RCSID("$Header$"); + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include "gtxkeymap.h" struct keymap_map *keymap_Create() { @@ -28,9 +38,9 @@ char *gtx_CopyString(aval) register char *aval; { register char *tp; - if (!aval) return (char *) 0; /* propagate null strings around */ + if (!aval) return NULL; /* propagate null strings around */ tp = (char *) malloc(strlen(aval)+1); - if (tp != (char *)0) + if (tp != NULL) strcpy(tp, aval); return(tp); } @@ -51,8 +61,8 @@ char *aname; { if (tp=tentry->name) free(tp); if (atype == KEYMAP_EMPTY) { - tentry->u.generic = (char *) 0; - tentry->name = (char *) 0; + tentry->u.generic = NULL; + tentry->name = NULL; } else { tentry->name = gtx_CopyString(aname); @@ -81,8 +91,8 @@ char *aname; { if (*cptr == 0) { /* we're peeking: already skipped command char */ /* last character, do final function */ if (!aproc) /* delete the entry */ - code = BindIt(amap, tc, KEYMAP_EMPTY, (char *) 0, - (char *) 0, (char *) 0); + code = BindIt(amap, tc, KEYMAP_EMPTY, NULL, + NULL, NULL); else code = BindIt(amap, tc, KEYMAP_PROC, (char *) aproc, aname, arock); if (code) return code; @@ -92,7 +102,7 @@ char *aname; { if (amap->entries[tc].type != KEYMAP_SUBMAP) { tmap = keymap_Create(); code = BindIt(amap, tc, KEYMAP_SUBMAP, (char *) tmap, - (char *) 0, (char *) 0); + NULL, NULL); } else { tmap = amap->entries[tc].u.submap; diff --git a/src/gtx/lightobject.c b/src/gtx/lightobject.c index 071b956..ebad86f 100644 --- a/src/gtx/lightobject.c +++ b/src/gtx/lightobject.c @@ -22,6 +22,16 @@ RCSID("$Header$"); #include /*Standard I/O stuff*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + + /*Externally-advertised array of light onode operations*/ struct onodeops gator_light_ops = { gator_light_destroy, diff --git a/src/gtx/objdict.c b/src/gtx/objdict.c index 12d7bf4..f46fbe1 100644 --- a/src/gtx/objdict.c +++ b/src/gtx/objdict.c @@ -174,6 +174,6 @@ struct onode *gator_objdict_lookup(nametofind) /* * Finally, return the good news. */ - return((struct onode *)0); + return(NULL); } /*gator_objdict_lookup*/ diff --git a/src/gtx/object_test.c b/src/gtx/object_test.c index 49fbcc9..207f43c 100644 --- a/src/gtx/object_test.c +++ b/src/gtx/object_test.c @@ -124,9 +124,9 @@ static int test_objects(pkg) light_crparams.onode_params.cr_width = 10; light_crparams.onode_params.cr_height = 1; light_crparams.onode_params.cr_window = &gator_basegwin; - light_crparams.onode_params.cr_home_obj = (struct onode *)0; - light_crparams.onode_params.cr_prev_obj = (struct onode *)0; - light_crparams.onode_params.cr_parent_obj = (struct onode *)0; + light_crparams.onode_params.cr_home_obj = NULL; + light_crparams.onode_params.cr_prev_obj = NULL; + light_crparams.onode_params.cr_parent_obj = NULL; light_crparams.onode_params.cr_helpstring = helpstring1; light_crparams.appearance = 0; @@ -136,7 +136,7 @@ static int test_objects(pkg) light_crparams.label_y = 0; light_onp1 = gator_objects_create((struct onode_createparams *)(&light_crparams)); - if (light_onp1 == (struct onode *)0) { + if (light_onp1 == NULL) { fprintf(stderr, "[%s:%s] Can't create light object\n", pn, rn); exit(-1); } @@ -148,7 +148,7 @@ static int test_objects(pkg) sprintf(light_crparams.onode_params.cr_name, "%s", "Light2"); sprintf(light_crparams.label, "%s", "Light 2 "); light_onp2 = gator_objects_create((struct onode_createparams *)(&light_crparams)); - if (light_onp2 == (struct onode *)0) { + if (light_onp2 == NULL) { fprintf(stderr, "[%s:%s] Can't create light object\n", pn, rn); exit(-1); } @@ -160,7 +160,7 @@ static int test_objects(pkg) sprintf(light_crparams.onode_params.cr_name, "%s", "Light3"); sprintf(light_crparams.label, "%s", "Light 3 "); light_onp3 = gator_objects_create((struct onode_createparams *)(&light_crparams)); - if (light_onp3 == (struct onode *)0) { + if (light_onp3 == NULL) { fprintf(stderr, "[%s:%s] Can't create light object\n", pn, rn); exit(-1); } @@ -172,7 +172,7 @@ static int test_objects(pkg) sprintf(light_crparams.onode_params.cr_name, "%s", "Light4"); sprintf(light_crparams.label, "%s", "Light 4 "); light_onp4 = gator_objects_create((struct onode_createparams *)(&light_crparams)); - if (light_onp4 == (struct onode *)0) { + if (light_onp4 == NULL) { fprintf(stderr, "[%s:%s] Can't create light object\n", pn, rn); exit(-1); } @@ -188,15 +188,15 @@ static int test_objects(pkg) text_crparams.onode_params.cr_width = 35; text_crparams.onode_params.cr_height = 7; text_crparams.onode_params.cr_window = &gator_basegwin; - text_crparams.onode_params.cr_home_obj = (struct onode *)0; - text_crparams.onode_params.cr_prev_obj = (struct onode *)0; - text_crparams.onode_params.cr_parent_obj = (struct onode *)0; + text_crparams.onode_params.cr_home_obj = NULL; + text_crparams.onode_params.cr_prev_obj = NULL; + text_crparams.onode_params.cr_parent_obj = NULL; text_crparams.onode_params.cr_helpstring = helpstringt1; text_crparams.maxEntries = 7; text_crparams.maxCharsPerEntry = 35; text_onp1 = gator_objects_create((struct onode_createparams *)(&text_crparams)); - if (text_onp1 == (struct onode *)0) { + if (text_onp1 == NULL) { fprintf(stderr, "[%s:%s] Can't create text object\n", pn, rn); exit(-1); } diff --git a/src/gtx/objects.c b/src/gtx/objects.c index 8e62cf3..5098c98 100644 --- a/src/gtx/objects.c +++ b/src/gtx/objects.c @@ -24,6 +24,17 @@ RCSID("$Header$"); #include "gtxobjdict.h" /*Object dictionary module*/ #include /*Standard I/O stuff*/ #include + + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + /* * Number of known gator object types. */ @@ -170,9 +181,9 @@ struct onode *gator_objects_create(params) if (objects_debug) fprintf(stderr, "[%s:%s] Allocating %d bytes for new onode structure\n", mn, rn, sizeof(struct onode)); new_onode = (struct onode *)malloc(sizeof(struct onode)); - if (new_onode == (struct onode *)0) { + if (new_onode == NULL) { fprintf(stderr, "[%s:%s] Can't allocate %d bytes for new onode structure; errno is %d\n", mn, rn, sizeof(struct onode), errno); - return((struct onode *)0); + return(NULL); } /* @@ -193,10 +204,10 @@ struct onode *gator_objects_create(params) new_onode->o_window = params->cr_window; new_onode->o_op = &(objops[params->cr_type]); new_onode->o_home = params->cr_home_obj; - new_onode->o_help = (struct onode *)0; - new_onode->o_nextobj = (struct onode *)0; + new_onode->o_help = NULL; + new_onode->o_nextobj = NULL; new_onode->o_upobj = params->cr_parent_obj; - new_onode->o_downobj = (struct onode *)0; + new_onode->o_downobj = NULL; /* * Call the proper routine to initialize the private parts of the @@ -209,18 +220,18 @@ struct onode *gator_objects_create(params) if (objects_debug) fprintf(stderr, "[%s:%s] Error %d in creation routine for gator object type %d\n", mn, rn, code, params->cr_type); free(new_onode); - return((struct onode *)0); + return(NULL); } /* * Set the links on the parent and previous objects, if so directed. */ - if (params->cr_prev_obj != (struct onode *)0) { + if (params->cr_prev_obj != NULL) { if (objects_debug) fprintf(stderr, "[%s:%s] Setting o_nextobj pointer in the previous object located at 0x%x (previous value was 0x%x)\n", mn, rn, params->cr_prev_obj, params->cr_prev_obj->o_nextobj); params->cr_prev_obj->o_nextobj = new_onode; } - if (params->cr_parent_obj != (struct onode *)0) { + if (params->cr_parent_obj != NULL) { if (objects_debug) fprintf(stderr, "[%s:%s] Setting o_downobj pointer in the parent object located at 0x%x (previous value was 0x%x)\n", mn, rn, params->cr_parent_obj, params->cr_parent_obj->o_downobj); params->cr_parent_obj->o_downobj = new_onode; diff --git a/src/gtx/screen_test.c b/src/gtx/screen_test.c index 98cab31..555ebf6 100644 --- a/src/gtx/screen_test.c +++ b/src/gtx/screen_test.c @@ -131,7 +131,7 @@ static int test_this_package(pkg) c_crparams.box_vertchar = '|'; c_crparams.box_horizchar = '-'; newwin = WOP_CREATE(&c_crparams); - if (newwin == (struct gwin *)0) { + if (newwin == NULL) { fprintf(stderr, "[%s:%s] Can't create a new window\n", pn, rn); } else diff --git a/src/gtx/textcb.c b/src/gtx/textcb.c index 584c96f..02cfd14 100644 --- a/src/gtx/textcb.c +++ b/src/gtx/textcb.c @@ -22,6 +22,15 @@ RCSID("$Header$"); #include /*Standard I/O stuff*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + static int gator_textcb_debug; /*Is debugging output turned on?*/ /*------------------------------------------------------------------------ @@ -115,7 +124,7 @@ struct gator_textcb_hdr *gator_textcb_Create(a_maxEntriesStored, a_maxCharsPerEn if (gator_textcb_debug) fprintf(stderr, "[%s] Allocating %d bytes for the text buffer\n", rn, bytesToAllocate); newBuff = (char *) malloc(bytesToAllocate); - if (newBuff == (char *)0) { + if (newBuff == NULL) { fprintf(stderr, "[%s] Can't allocate %d bytes for text buffer; errno is %d\n", rn, bytesToAllocate, errno); return((struct gator_textcb_hdr *)0); } @@ -123,7 +132,7 @@ struct gator_textcb_hdr *gator_textcb_Create(a_maxEntriesStored, a_maxCharsPerEn if (gator_textcb_debug) fprintf(stderr, "[%s] Text buffer allocated at 0x%x\n", rn, newBuff); blankLine = (char *) malloc(a_maxCharsPerEntry + 1); - if (blankLine == (char *)0) { + if (blankLine == NULL) { fprintf(stderr, "[%s] Can't allocate %d bytes for blank line buffer; errno is %d\n", rn, a_maxCharsPerEntry+1, errno); free(newBuff); return((struct gator_textcb_hdr *)0); @@ -547,7 +556,7 @@ int gator_textcb_Delete(a_cbhdr) rn, a_cbhdr->entry[0].textp, (a_cbhdr->maxEntriesStored * a_cbhdr->maxCharsPerEntry)); free(a_cbhdr->entry[0].textp); - a_cbhdr->entry[0].textp = (char *)0; + a_cbhdr->entry[0].textp = NULL; if (gator_textcb_debug) fprintf(stderr, "[%s]: Freeing text entry array at 0x%x (%d bytes)\n", @@ -556,7 +565,7 @@ int gator_textcb_Delete(a_cbhdr) free(a_cbhdr->entry); a_cbhdr->entry = (struct gator_textcb_entry *)0; free(a_cbhdr->blankLine); - a_cbhdr->blankLine = (char *)0; + a_cbhdr->blankLine = NULL; /* * Release the write lock on it, then free the header itself. diff --git a/src/gtx/textobject.c b/src/gtx/textobject.c index 167add7..06dec50 100644 --- a/src/gtx/textobject.c +++ b/src/gtx/textobject.c @@ -25,6 +25,15 @@ RCSID("$Header$"); #include /*Standard I/O stuff*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + /*Externally-advertised array of text onode operations*/ struct onodeops gator_text_ops = { gator_text_destroy, diff --git a/src/inetd/inetd.c b/src/inetd/inetd.c index 4a0f5a1..8a2c259 100644 --- a/src/inetd/inetd.c +++ b/src/inetd/inetd.c @@ -249,7 +249,7 @@ main(argc, argv, envp) #ifndef AFS_HPUX_ENV tmpint = open("/dev/tty", O_RDWR); if (tmpint > 0) { - ioctl(tmpint, TIOCNOTTY, (char *)0); + ioctl(tmpint, TIOCNOTTY, NULL); close(tmpint); } #else @@ -289,12 +289,12 @@ main(argc, argv, envp) memset((char *)&sa, '\0', sizeof(sa)); sa.sa_mask = sigBlock; sa.sa_handler = retry; - sigaction(SIGALRM, &sa, (struct sigaction *)0); + sigaction(SIGALRM, &sa, NULL); config(); sa.sa_handler = config; - sigaction(SIGHUP, &sa, (struct sigaction *)0); + sigaction(SIGHUP, &sa, NULL); sa.sa_handler = reapchild; - sigaction(SIGCHLD, &sa, (struct sigaction *)0); + sigaction(SIGCHLD, &sa, NULL); { /* space for daemons to overwrite environment for ps */ #define DUMMYSIZE 100 @@ -317,7 +317,7 @@ main(argc, argv, envp) } readable = allsock; if ((n = select(maxsock + 1, &readable, (fd_set *)0, - (fd_set *)0, (struct timeval *)0)) <= 0) { + (fd_set *)0, NULL)) <= 0) { if (n < 0 && errno != EINTR) syslog(LOG_WARNING, "select: %m\n"); sleep(1); @@ -329,7 +329,7 @@ main(argc, argv, envp) if (debug) fprintf(stderr, "someone wants %s\n", sep->se_service); if (!sep->se_wait && sep->se_socktype == SOCK_STREAM) { - ctrl = accept(sep->se_fd, (struct sockaddr *)0, + ctrl = accept(sep->se_fd, NULL, (int *)0); if (debug) fprintf(stderr, "accept, ctrl %d\n", ctrl); @@ -350,11 +350,11 @@ main(argc, argv, envp) if (sep->se_socktype == SOCK_DGRAM) { if (sep->se_count++ == 0) (void)gettimeofday(&sep->se_time, - (struct timezone *)0); + NULL); else if (sep->se_count >= TOOMANY) { struct timeval now; - (void)gettimeofday(&now, (struct timezone *)0); + (void)gettimeofday(&now, NULL); if (now.tv_sec - sep->se_time.tv_sec > CNT_INTVL) { sep->se_time = now; @@ -477,7 +477,7 @@ main(argc, argv, envp) execl(sep->se_server, strrchr(sep->se_server, '/')+1, sep->se_socktype == SOCK_DGRAM - ? (char *)0 : addrbuf, (char *)0); + ? (char *)0 : addrbuf, NULL); } else execv(sep->se_server, sep->se_argv); } else @@ -507,7 +507,7 @@ reapchild() register struct servtab *sep; for (;;) { - pid = wait3(&status, WNOHANG, (struct rusage *)0); + pid = wait3(&status, WNOHANG, NULL); if (pid <= 0) break; if (debug) @@ -671,7 +671,7 @@ enter(cp) sigset_t oset; sep = (struct servtab *)malloc(sizeof (*sep)); - if (sep == (struct servtab *)0) { + if (sep == NULL) { syslog(LOG_ERR, "Out of memory."); exit(-1); } @@ -720,7 +720,7 @@ more: while ((cp = nextline(fconfig)) && (*cp == '#' || (strlen(cp) < 2))) ; if (cp == NULL) - return ((struct servtab *)0); + return (NULL); sep->se_service = copyofstr(skip(&cp)); arg = skip(&cp); if (strcmp(arg, "stream") == 0) @@ -801,8 +801,8 @@ again: if (c == ' ' || c == '\t') if (cp = nextline(fconfig)) goto again; - *cpp = (char *)0; - return ((char *)0); + *cpp = NULL; + return (NULL); } start = cp; while (*cp && *cp != ' ' && *cp != '\t') @@ -820,7 +820,7 @@ nextline(fd) char *cp; if (fgets(line, sizeof (line), fd) == NULL) - return ((char *)0); + return (NULL); cp = strchr(line, '\n'); if (cp) *cp = '\0'; @@ -836,7 +836,7 @@ copyofstr(cp) if (cp == NULL) cp = ""; new = malloc((unsigned)(strlen(cp) + 1)); - if (new == (char *)0) { + if (new == NULL) { syslog(LOG_ERR, "Out of memory."); exit(-1); } @@ -1019,7 +1019,7 @@ machtime() { struct timeval tv; - if (gettimeofday(&tv, (struct timezone *)0) < 0) { + if (gettimeofday(&tv, NULL) < 0) { fprintf(stderr, "Unable to get time of day\n"); return (0L); } diff --git a/src/inetd/ta-rauth.c b/src/inetd/ta-rauth.c index 29e59c5..a17d6f7 100644 --- a/src/inetd/ta-rauth.c +++ b/src/inetd/ta-rauth.c @@ -96,7 +96,7 @@ int ta_rauth(s, svc_name, raddr) strcpy(tserver.cell, localName); strcpy(tserver.name, "afs"); - code = ktc_GetToken(&tserver, &token, sizeof(token), (char *)0); + code = ktc_GetToken(&tserver, &token, sizeof(token), NULL); if(code) { syslog(LOG_WARNING, "ta_rauth: no tokens available"); return 0; /* try port without authentication */ diff --git a/src/kauth/admin_tools.c b/src/kauth/admin_tools.c index 72483fd..a614c5a 100644 --- a/src/kauth/admin_tools.c +++ b/src/kauth/admin_tools.c @@ -104,7 +104,7 @@ int ListUsers ( printf ("next_index (%d) is negative: ", next_index); if (strlen(name.name) == 0) printf ("name is zero length: "); if (all) - DumpUser(name.name, (char *)0, showa, showkey, name.instance); + DumpUser(name.name, NULL, showa, showkey, name.instance); else ka_PrintUserID ("", name.name, name.instance, "\n"); } @@ -117,7 +117,7 @@ int ExamineUser ( char *arock) { int showkey = (as->parms[1].items != NULL); - return DumpUser(as->parms[0].items->data, arock, 0, showkey, (char *)0); + return DumpUser(as->parms[0].items->data, arock, 0, showkey, NULL); } @@ -985,7 +985,7 @@ static GetPassword ( code = rx_Init(0); if (code) goto abort; - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); si = RX_SCINDEX_NULL; conns[0] = rx_NewConnection (htonl(INADDR_LOOPBACK), htons(AFSCONF_KAUTHPORT), KA_MAINTENANCE_SERVICE, sc, si); @@ -1566,8 +1566,8 @@ afs_int32 ka_AdminInteractive ( strncpy(myName, *cmd_argv, 509); - cmd_SetBeforeProc(MyBeforeProc, (char *) 0); - cmd_SetAfterProc(MyAfterProc, (char *) 0); + cmd_SetBeforeProc(MyBeforeProc, NULL); + cmd_SetAfterProc(MyAfterProc, NULL); ts = cmd_CreateSyntax ("interactive", Interactive, 0, "enter interactive mode"); add_std_args (ts); diff --git a/src/kauth/authclient.c b/src/kauth/authclient.c index 8e86f11..fedc754 100644 --- a/src/kauth/authclient.c +++ b/src/kauth/authclient.c @@ -69,6 +69,9 @@ static struct afsconf_cell debug_cell_server_list; static int explicit = 0; static int debug = 0; +#ifdef ENCRYPTIONBLOCKSIZE +#undef ENCRYPTIONBLOCKSIZE +#endif #define ENCRYPTIONBLOCKSIZE (sizeof(des_cblock)) /* Copy the specified list of servers into a specially know cell named @@ -158,7 +161,7 @@ afs_int32 ka_GetSecurity ( case KA_AUTHENTICATION_SERVICE: case KA_TICKET_GRANTING_SERVICE: no_security: - *scP = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + *scP = rxnull_NewClientSecurityObject(); *siP = RX_SCINDEX_NULL; break; case KA_MAINTENANCE_SERVICE: @@ -518,7 +521,7 @@ afs_int32 ka_Authenticate ( int version; LOCK_GLOBAL_MUTEX - if (code = des_key_sched (key, schedule)) { + if ((code = des_key_sched (key, schedule))) { UNLOCK_GLOBAL_MUTEX return KABADKEY; } diff --git a/src/kauth/kaserver.c b/src/kauth/kaserver.c index 74ea4ff..d2345f3 100644 --- a/src/kauth/kaserver.c +++ b/src/kauth/kaserver.c @@ -75,7 +75,7 @@ static int debugOutput; int KA_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(KA_conf, call, (char *)0); + return afsconf_SuperUser(KA_conf, call, NULL); } afs_int32 es_Report(char *fmt, ...) @@ -169,7 +169,6 @@ main (argc, argv) extern int afsconf_CheckAuth(); extern int rx_stackSize; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int KAA_ExecuteRequest(); extern int KAT_ExecuteRequest(); extern int KAM_ExecuteRequest(); diff --git a/src/kauth/kdb.c b/src/kauth/kdb.c index 9009eaa..8257ccb 100644 --- a/src/kauth/kdb.c +++ b/src/kauth/kdb.c @@ -87,7 +87,7 @@ int main( sprintf(dbmfile_help, "dbmfile to use (default %s)", AFSDIR_SERVER_KALOGDB_FILEPATH); dbmfile = AFSDIR_SERVER_KALOGDB_FILEPATH; - ts = cmd_CreateSyntax((char *) 0, cmdproc, 0, "Dump contents of dbm database"); + ts = cmd_CreateSyntax(NULL, cmdproc, 0, "Dump contents of dbm database"); cmd_AddParm(ts, "-dbmfile", CMD_SINGLE, CMD_OPTIONAL, dbmfile_help); cmd_AddParm(ts, "-key", CMD_SINGLE, CMD_OPTIONAL, "extract entries that match specified key"); code = cmd_Dispatch(argc, argv); diff --git a/src/kauth/klog.c b/src/kauth/klog.c index b07094a..23e520a 100644 --- a/src/kauth/klog.c +++ b/src/kauth/klog.c @@ -107,7 +107,7 @@ int main ( zero_argc = argc; zero_argv = argv; - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "obtain Kerberos authentication"); #define aXFLAG 0 #define aPRINCIPAL 1 diff --git a/src/kauth/klogin.c b/src/kauth/klogin.c index 0e768d4..68bdfc6 100644 --- a/src/kauth/klogin.c +++ b/src/kauth/klogin.c @@ -319,7 +319,7 @@ int main( syslog(LOG_CRIT, "REPEATED LOGIN FAILURES ON %s, %.*s", tty, NMAX, utmp.ut_name); - ioctl(0, TIOCHPCL, (struct sgttyb *) 0); + ioctl(0, TIOCHPCL, NULL); close(0), close(1), close(2); sleep(10); exit(1); @@ -640,7 +640,7 @@ static gid_t tty_gid(int default_gid) gid_t gid = default_gid; gr = getgrnam(TTYGRPNAME); - if (gr != (struct group *) 0) + if (gr != NULL) gid = gr->gr_gid; endgrent(); diff --git a/src/kauth/knfs.c b/src/kauth/knfs.c index e5dacc7..7717c08 100644 --- a/src/kauth/knfs.c +++ b/src/kauth/knfs.c @@ -87,14 +87,14 @@ char *sysname; blob.in_size = sizeof(pheader); blob.in = space; blob.out_size = 0; - blob.out = (char *) 0; + blob.out = NULL; memcpy(tp, &setp, sizeof(afs_int32)); tp += sizeof(afs_int32); strcpy(tp, sysname); blob.in_size += sizeof(afs_int32) + strlen(sysname) + 1; tp += strlen(sysname); *(tp++) = '\0'; - code = pioctl((char *) 0, _VICEIOCTL(99), &blob, 0); + code = pioctl(NULL, _VICEIOCTL(99), &blob, 0); if (code) { code = errno; } @@ -156,7 +156,7 @@ static GetTokens(ahost, auid) iob.in_size = sizeof(afs_int32) + sizeof(pheader); iob.out = tbuffer; iob.out_size = sizeof(tbuffer); - code = pioctl((char *)0, _VICEIOCTL(99), &iob, 0); + code = pioctl(NULL, _VICEIOCTL(99), &iob, 0); if (code < 0 && errno == EDOM) return KTC_NOENT; else if (code == 0) { /* check to see if this is the right cell/realm */ @@ -255,8 +255,8 @@ afs_int32 auid; { blob.in_size = sizeof(pheader); blob.in = space; blob.out_size = 0; - blob.out = (char *) 0; - code = pioctl((char *) 0, _VICEIOCTL(99), &blob, 0); + blob.out = NULL; + code = pioctl(NULL, _VICEIOCTL(99), &blob, 0); if (code) { code = errno; } @@ -333,8 +333,8 @@ afs_int32 auid; { blob.in_size = tp-space; blob.in = space; blob.out_size = 0; - blob.out = (char *) 0; - code = pioctl((char *) 0, _VICEIOCTL(99), &blob, 0); + blob.out = NULL; + code = pioctl(NULL, _VICEIOCTL(99), &blob, 0); if (code) { code = errno; break; @@ -447,7 +447,7 @@ char **argv; { sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *) 0, cmdproc, 0, "copy tickets for NFS"); + ts = cmd_CreateSyntax(NULL, cmdproc, 0, "copy tickets for NFS"); cmd_AddParm(ts, "-host", CMD_SINGLE, CMD_REQUIRED, "host name"); cmd_AddParm(ts, "-id", CMD_SINGLE, CMD_OPTIONAL, "user ID (decimal)"); cmd_AddParm(ts, "-sysname", CMD_SINGLE, CMD_OPTIONAL, "host's '@sys' value"); diff --git a/src/kauth/kpasswd.c b/src/kauth/kpasswd.c index a615470..5f8772f 100644 --- a/src/kauth/kpasswd.c +++ b/src/kauth/kpasswd.c @@ -118,7 +118,7 @@ main (argc, argv, envp) zero_argv = argv; init_child(*argv); - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "change user's password"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "change user's password"); #define aXFLAG 0 #define aPRINCIPAL 1 diff --git a/src/kauth/manyklog.c b/src/kauth/manyklog.c index 10eb211..562af1b 100644 --- a/src/kauth/manyklog.c +++ b/src/kauth/manyklog.c @@ -94,7 +94,7 @@ main (argc, argv) zero_argc = argc; zero_argv = argv; - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "obtain Kerberos authentication"); #define aXFLAG 0 #define aPRINCIPAL 1 diff --git a/src/kauth/read_passwd.c b/src/kauth/read_passwd.c index 079d0f1..d51f4d9 100644 --- a/src/kauth/read_passwd.c +++ b/src/kauth/read_passwd.c @@ -32,9 +32,16 @@ int strcmp(); #include #endif #if defined(AFS_SGI_ENV) -#include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #if defined (AFS_AIX_ENV) || defined(AFS_SGI_ENV) /* Just temp till we figure out the aix stuff */ diff --git a/src/kauth/rebuild.c b/src/kauth/rebuild.c index b3e6a94..80452a3 100644 --- a/src/kauth/rebuild.c +++ b/src/kauth/rebuild.c @@ -392,7 +392,7 @@ WorkerBee (as, arock) listentries = (as->parms[3].items ? 1 : 0); /* -entries */ verbose = (as->parms[4].items ? 1 : 0); /* -verbose */ outFile = (as->parms[5].items ? as->parms[5].items->data : - (char *)0); /* -rebuild */ + NULL); /* -rebuild */ if (outFile) { out = fopen (outFile, "w"); @@ -600,7 +600,7 @@ main (argc, argv) setlinebuf(stdout); - ts=cmd_CreateSyntax((char *)0, WorkerBee, (char *) 0, "KADB check"); + ts=cmd_CreateSyntax(NULL, WorkerBee, NULL, "KADB check"); cmd_AddParm(ts, "-database", CMD_SINGLE, CMD_REQUIRED, "kadb_file"); cmd_AddParm(ts, "-uheader", CMD_FLAG, CMD_OPTIONAL, "Display UBIK header"); cmd_AddParm(ts, "-kheader", CMD_FLAG, CMD_OPTIONAL, "Display KADB header"); diff --git a/src/kauth/test/multiklog.c b/src/kauth/test/multiklog.c index 4d04c01..52cce4b 100644 --- a/src/kauth/test/multiklog.c +++ b/src/kauth/test/multiklog.c @@ -73,7 +73,7 @@ main (argc, argv) zero_argc = argc; zero_argv = argv; - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "obtain Kerberos authentication"); #define aXFLAG 0 #define aPRINCIPAL 1 diff --git a/src/kauth/test/test_badtix.c b/src/kauth/test/test_badtix.c index 4742cce..179e8a4 100644 --- a/src/kauth/test/test_badtix.c +++ b/src/kauth/test/test_badtix.c @@ -374,7 +374,7 @@ int main (argc, argv) struct rx_securityClass *sc; int si; /* security class index */ - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); si = RX_SCINDEX_NULL; conns[0] = rx_NewConnection (htonl(INADDR_LOOPBACK), htons(AFSCONF_KAUTHPORT), KA_MAINTENANCE_SERVICE, sc, si); diff --git a/src/kauth/token.c b/src/kauth/token.c index 646cc9e..ba6e426 100644 --- a/src/kauth/token.c +++ b/src/kauth/token.c @@ -195,15 +195,15 @@ afs_int32 ka_GetServerToken ( return code; } /* get a connection to the local cell */ - if (code = ka_AuthServerConn (localCell, KA_TICKET_GRANTING_SERVICE, 0, &conn)) { + if ((code = ka_AuthServerConn (localCell, KA_TICKET_GRANTING_SERVICE, 0, &conn))) { UNLOCK_GLOBAL_MUTEX return code; } /* get foreign auth ticket */ - if (code = ka_GetToken (KA_TGS_NAME, realm, localCell, client.name, + if ((code = ka_GetToken (KA_TGS_NAME, realm, localCell, client.name, client.instance, conn, now, now+lifetime, &cell_token, "" /* local auth domain */, - &auth_token)) { + &auth_token))) { UNLOCK_GLOBAL_MUTEX return code; } @@ -218,19 +218,19 @@ afs_int32 ka_GetServerToken ( strcpy (auth_server.instance, realm); lcstring (auth_server.cell, localCell, sizeof(auth_server.cell)); ucstring (authDomain, localCell, sizeof(authDomain)); - if (code = ktc_SetToken (&auth_server, &auth_token, &client, 0)) { + if ((code = ktc_SetToken (&auth_server, &auth_token, &client, 0))) { UNLOCK_GLOBAL_MUTEX return code; } } - if (code = ka_AuthServerConn (cell, KA_TICKET_GRANTING_SERVICE, 0, &conn)) { + if ((code = ka_AuthServerConn (cell, KA_TICKET_GRANTING_SERVICE, 0, &conn))) { UNLOCK_GLOBAL_MUTEX return code; } - if (code = ka_GetToken (name, instance, cell, client.name, + if ((code = ka_GetToken (name, instance, cell, client.name, client.instance, conn, now, now+lifetime, - &auth_token, authDomain, token)) { + &auth_token, authDomain, token))) { UNLOCK_GLOBAL_MUTEX return code; } @@ -240,8 +240,8 @@ afs_int32 ka_GetServerToken ( return code; } - if (code = ktc_SetToken (&server, token, &client, - dosetpag ? AFS_SETTOK_SETPAG : 0)) { + if ((code = ktc_SetToken (&server, token, &client, + dosetpag ? AFS_SETTOK_SETPAG : 0))) { UNLOCK_GLOBAL_MUTEX return code; } diff --git a/src/kauth/user_nt.c b/src/kauth/user_nt.c index e427b3d..6b559b8 100644 --- a/src/kauth/user_nt.c +++ b/src/kauth/user_nt.c @@ -478,7 +478,7 @@ static int krb_get_in_tkt_ext(user, instance, realm, service, sinstance, life, pkt->length += 1 + strlen(realm); #ifndef WIN32 - (void) gettimeofday(&t_local,(struct timezone *) 0); + (void) gettimeofday(&t_local,NULL); #else /* WIN32 */ t_local = time((void *) 0); #endif /* WIN32 */ diff --git a/src/libadmin/adminutil/afs_utilAdmin.h b/src/libadmin/adminutil/afs_utilAdmin.h index 71fa705..5be74db 100644 --- a/src/libadmin/adminutil/afs_utilAdmin.h +++ b/src/libadmin/adminutil/afs_utilAdmin.h @@ -61,7 +61,7 @@ extern int ADMINAPI CellHandleIsValid( extern int ADMINAPI util_RPCStatsGetBegin( struct rx_connection *conn, - int (*rpc)(), + int (*rpc)(struct rx_call *call), void **iterationIdP, afs_status_p st ); @@ -79,26 +79,26 @@ extern int ADMINAPI util_RPCStatsGetDone( extern int ADMINAPI util_RPCStatsStateGet( struct rx_connection *conn, - int (*rpc)(), + int (*rpc)(struct rx_call *call), afs_RPCStatsState_p state, afs_status_p st ); extern int ADMINAPI util_RPCStatsStateEnable( struct rx_connection *conn, - int (*rpc)(), + int (*rpc)(struct rx_call *call), afs_status_p st ); extern int ADMINAPI util_RPCStatsStateDisable( struct rx_connection *conn, - int (*rpc)(), + int (*rpc)(struct rx_call *call), afs_status_p st ); extern int ADMINAPI util_RPCStatsClear( struct rx_connection *conn, - int (*rpc)(), + int (*rpc)(struct rx_call *call), afs_RPCStatsClearFlag_t flag, afs_status_p st ); diff --git a/src/libadmin/bos/afs_bosAdmin.c b/src/libadmin/bos/afs_bosAdmin.c index d569dcd..e02f507 100644 --- a/src/libadmin/bos/afs_bosAdmin.c +++ b/src/libadmin/bos/afs_bosAdmin.c @@ -32,6 +32,15 @@ RCSID("$Header$"); #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + /* * Prototypes for functions that don't exist in any header files diff --git a/src/libadmin/cfg/cfgclient.c b/src/libadmin/cfg/cfgclient.c index e211cce..c6e2ac0 100644 --- a/src/libadmin/cfg/cfgclient.c +++ b/src/libadmin/cfg/cfgclient.c @@ -23,6 +23,14 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include diff --git a/src/libadmin/client/afs_clientAdmin.c b/src/libadmin/client/afs_clientAdmin.c index cf0b3ef..990447a 100644 --- a/src/libadmin/client/afs_clientAdmin.c +++ b/src/libadmin/client/afs_clientAdmin.c @@ -350,7 +350,7 @@ static int GetKASToken( } have_server_conn = 1; - tst = ka_ParseLoginName((char *)principal, name, inst, (char *) 0); + tst = ka_ParseLoginName((char *)principal, name, inst, NULL); if (tst != 0) { goto fail_GetKASToken; } @@ -434,7 +434,7 @@ static int GetAFSToken( } tst = ka_ParseLoginName((char *)principal, tokenHandle->client.name, - tokenHandle->client.instance, (char *) 0); + tokenHandle->client.instance, NULL); if (tst) { goto fail_GetAFSToken; } diff --git a/src/libadmin/kas/afs_kasAdmin.c b/src/libadmin/kas/afs_kasAdmin.c index ad61e99..5ba6f60 100644 --- a/src/libadmin/kas/afs_kasAdmin.c +++ b/src/libadmin/kas/afs_kasAdmin.c @@ -13,6 +13,15 @@ RCSID("$Header$"); #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include "afs_kasAdmin.h" #include "../adminutil/afs_AdminInternal.h" diff --git a/src/libadmin/pts/afs_ptsAdmin.c b/src/libadmin/pts/afs_ptsAdmin.c index 96421bd..8550142 100644 --- a/src/libadmin/pts/afs_ptsAdmin.c +++ b/src/libadmin/pts/afs_ptsAdmin.c @@ -13,6 +13,15 @@ RCSID("$Header$"); #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include "afs_ptsAdmin.h" #include "../adminutil/afs_AdminInternal.h" diff --git a/src/libadmin/samples/rxdebug_rx_stats.c b/src/libadmin/samples/rxdebug_rx_stats.c index 063233b..14b4703 100644 --- a/src/libadmin/samples/rxdebug_rx_stats.c +++ b/src/libadmin/samples/rxdebug_rx_stats.c @@ -20,6 +20,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include diff --git a/src/libadmin/samples/rxstat_get_peer.c b/src/libadmin/samples/rxstat_get_peer.c index fce89e5..d79f239 100644 --- a/src/libadmin/samples/rxstat_get_peer.c +++ b/src/libadmin/samples/rxstat_get_peer.c @@ -20,6 +20,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include diff --git a/src/libadmin/samples/rxstat_get_process.c b/src/libadmin/samples/rxstat_get_process.c index 3324efa..81051fc 100644 --- a/src/libadmin/samples/rxstat_get_process.c +++ b/src/libadmin/samples/rxstat_get_process.c @@ -20,6 +20,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include diff --git a/src/libadmin/test/afscp.c b/src/libadmin/test/afscp.c index 80f132c..4af3956 100644 --- a/src/libadmin/test/afscp.c +++ b/src/libadmin/test/afscp.c @@ -185,8 +185,8 @@ int main(int argc, char *argv[]) /* initialize command syntax and globals */ - cmd_SetBeforeProc(MyBeforeProc, (char *) 0); - cmd_SetAfterProc(MyAfterProc, (char *) 0); + cmd_SetBeforeProc(MyBeforeProc, NULL); + cmd_SetAfterProc(MyAfterProc, NULL); SetupBosAdminCmd(); SetupClientAdminCmd(); SetupKasAdminCmd(); diff --git a/src/libadmin/test/bos.c b/src/libadmin/test/bos.c index 8b5ad5d..6dc007c 100644 --- a/src/libadmin/test/bos.c +++ b/src/libadmin/test/bos.c @@ -92,8 +92,8 @@ static LocalParseLine( register int tc; inToken = 0; /* not copying token chars at start */ - first = (struct token *) 0; - last = (struct token *) 0; + first = NULL; + last = NULL; while (1) { tc = *aline++; if (tc == 0 || space(tc)) { @@ -101,7 +101,7 @@ static LocalParseLine( inToken = 0; /* end of this token */ *tptr++ = 0; ttok = (struct token *) malloc(sizeof(struct token)); - ttok->next = (struct token *) 0; + ttok->next = NULL; ttok->key = (char *) malloc(strlen(tbuffer)+1); strcpy(ttok->key, tbuffer); if (last) { @@ -123,7 +123,7 @@ static LocalParseLine( } if (tc == 0) { /* last token flushed 'cause space(0) --> true */ - if (last) last->next = (struct token *) 0; + if (last) last->next = NULL; *alist = first; return 0; } @@ -231,7 +231,7 @@ int ktime_ParsePeriodic( } /* otherwise use keyword table */ for(tp = ptkeys;; tp++) { - if (tp->key == (char *) 0) { + if (tp->key == NULL) { LocalFreeTokens(tt); return -1; } @@ -1208,7 +1208,7 @@ Print_bos_KeyInfo_p( printf("%sKey: \n", prefix); for(i=0;ikey.key[i]); + printf("%s\t%d ", prefix, key->key.key[i]); } printf("\n"); } diff --git a/src/libadmin/vos/lockprocs.c b/src/libadmin/vos/lockprocs.c index 16a01a5..b21043e 100644 --- a/src/libadmin/vos/lockprocs.c +++ b/src/libadmin/vos/lockprocs.c @@ -150,7 +150,7 @@ void Lp_QInit( struct qHead *ahead) { ahead->count = 0; - ahead->next = (struct aqueue *)0; + ahead->next = NULL; } /*add in front of queue */ @@ -163,7 +163,7 @@ void Lp_QAdd( if(ahead->count == 0) { ahead->count += 1; ahead->next = elem; - elem->next = (struct aqueue *)0; + elem->next = NULL; } else { temp = ahead->next; @@ -183,7 +183,7 @@ int Lp_QScan( struct aqueue *cptr; cptr = ahead->next; - while(cptr != (struct aqueue *)0) { + while(cptr != NULL) { if(cptr->ids[RWVOL] == id) { *success = 1; *elem = cptr; @@ -216,7 +216,7 @@ void Lp_QEnumerate( elem->copyDate[i] = temp->copyDate[i]; elem->isValid[i] = temp->isValid[i]; } - elem->next = (struct aqueue *)0; + elem->next = NULL; *success = 1; free(temp); } diff --git a/src/libadmin/vos/vsprocs.c b/src/libadmin/vos/vsprocs.c index 1abd0f2..303e604 100644 --- a/src/libadmin/vos/vsprocs.c +++ b/src/libadmin/vos/vsprocs.c @@ -645,7 +645,7 @@ int UV_MoveVolume( strncpy(tmpName, volName, VOLSER_OLDMAXVOLNAME); free(volName); - volName = (char *) 0; + volName = NULL; tst = AFSVolSetFlags (toconn, totid, (VTDeleteOnSalvage | VTOutOfService)); if (tst) { @@ -2653,7 +2653,7 @@ int UV_ListPartitions( *cntp = 0; partEnts.partEntries_len = 0; - partEnts.partEntries_val = (afs_int32 *)0; + partEnts.partEntries_val = NULL; /* this is available only on new servers */ tst = AFSVolXListPartitions(server, &partEnts); @@ -3821,7 +3821,7 @@ static afs_int32 GroupEntries( qPtr->ids[ROVOL] = pntr->cloneID; qPtr->copyDate[RWVOL] = pntr->copyDate; strncpy(qPtr->name, pntr->name,VOLSER_OLDMAXVOLNAME); - qPtr->next = (struct aqueue *)0; + qPtr->next = NULL; } else if(pntr->type == BACKVOL) { qPtr->isValid[RWVOL] = 0; @@ -3832,7 +3832,7 @@ static afs_int32 GroupEntries( qPtr->ids[ROVOL] = 0; qPtr->copyDate[BACKVOL] = pntr->copyDate; vsu_ExtractName(qPtr->name, pntr->name); - qPtr->next = (struct aqueue *)0; + qPtr->next = NULL; } else if(pntr->type == ROVOL) { qPtr->isValid[RWVOL] = 0; @@ -3843,7 +3843,7 @@ static afs_int32 GroupEntries( qPtr->ids[ROVOL] = pntr->volid; qPtr->copyDate[ROVOL] = pntr->copyDate; vsu_ExtractName(qPtr->name, pntr->name); - qPtr->next = (struct aqueue *)0; + qPtr->next = NULL; } Lp_QAdd(myQueue,qPtr); diff --git a/src/libafs/Makefile.common.in b/src/libafs/Makefile.common.in index 62cef41..7828f7b 100644 --- a/src/libafs/Makefile.common.in +++ b/src/libafs/Makefile.common.in @@ -93,6 +93,7 @@ AFSAOBJS = \ Kvice.xdr.o \ xdr_arrayn.o \ xdr_array.o \ + xdr_int32.o \ xdr_int64.o \ Kvice.cs.o \ fcrypt.o \ @@ -310,6 +311,8 @@ xdr_arrayn.o: $(RX)/xdr_arrayn.c $(CRULE1) xdr_array.o: $(RX)/xdr_array.c $(CRULE1) +xdr_int32.o: $(RX)/xdr_int32.c + $(CRULE1) xdr_int64.o: $(RX)/xdr_int64.c $(CRULE1) xdr.o: $(RX)/xdr.c diff --git a/src/libafs/MakefileProto.AIX.in b/src/libafs/MakefileProto.AIX.in index 5591928..76a047c 100644 --- a/src/libafs/MakefileProto.AIX.in +++ b/src/libafs/MakefileProto.AIX.in @@ -134,8 +134,6 @@ install_libafs: $(INST_LIBAFS) $(INST_LIBAFSIAUTH) dest_libafs: $(DEST_LIBAFS) $(DEST_LIBAFSIAUTH) -# Object build rules: -# Common objects osi_assem.o: ${AFS}/osi_assem.s ${AS} -o osi_assem.o ${AFS}/osi_assem.s osi_config.o: $(AFS)/osi_config.c diff --git a/src/libafs/MakefileProto.DARWIN.in b/src/libafs/MakefileProto.DARWIN.in index 51164b2..7072345 100644 --- a/src/libafs/MakefileProto.DARWIN.in +++ b/src/libafs/MakefileProto.DARWIN.in @@ -18,6 +18,7 @@ AFS_OS_OBJS = \ osi_vnodeops.o \ osi_module.o + #AFS_OS_NFSOBJS = osi_vfsops_nfs.o AFS_OS_NONFSOBJS = osi_vfsops.o diff --git a/src/libafs/MakefileProto.FBSD.in b/src/libafs/MakefileProto.FBSD.in index d164a8c..babc835 100644 --- a/src/libafs/MakefileProto.FBSD.in +++ b/src/libafs/MakefileProto.FBSD.in @@ -13,7 +13,7 @@ AFS_OS_OBJS = \ osi_sleep.o \ osi_vm.o \ osi_vnodeops.o \ - osi_module.o + osi_module.o AFS_OS_NFSOBJS = \ osi_vfsops_nfs.o diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in index 3dde838..91b8e83 100644 --- a/src/libafs/MakefileProto.LINUX.in +++ b/src/libafs/MakefileProto.LINUX.in @@ -24,7 +24,7 @@ AFS_OS_OBJS = \ osi_sysctl.o \ osi_vfsops.o \ osi_vm.o \ - osi_vnodeops.o + osi_vnodeops.o AFS_OS_NFSOBJS = @@ -32,9 +32,6 @@ AFS_OS_NONFSOBJS = # System specific build commands and flags -CC = gcc -LD = ld -# -Wall CCFLAGS = $(KDEBUG) -O2 $(FOMIT) \ -fno-strength-reduce -pipe -march=i486 -malign-loops=2 -malign-jumps=2 \ diff --git a/src/libafs/MakefileProto.SOLARIS.in b/src/libafs/MakefileProto.SOLARIS.in index c0e7814..2b06c8e 100644 --- a/src/libafs/MakefileProto.SOLARIS.in +++ b/src/libafs/MakefileProto.SOLARIS.in @@ -121,9 +121,6 @@ INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS} DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS} DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS} -# Without this line, gmake tries to build libafs.o -.PHONY: libafs - libafs: $(LIBAFSNONFS) install_libafs: $(INST_LIBAFSNONFS) dest_libafs: $(DEST_LIBAFSNONFS) diff --git a/src/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index 3979988..323f9a3 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -41,6 +41,7 @@ COMERROBJS =\ XDROBJS =\ xdr_arrayn.o \ xdr_rx.o \ + xdr_int32.o \ xdr_int64.o \ xdr_afsuuid.o \ AFS_component_version_number.o @@ -189,6 +190,9 @@ AFS_component_version_number.o: ${RX}/AFS_component_version_number.c xdr.o: ${RX}/xdr.c ${CCRULE} +xdr_int32.o: ${RX}/xdr_int32.c + ${CCRULE} + xdr_int64.o: ${RX}/xdr_int64.c ${CCRULE} diff --git a/src/libuafs/Makefile.common.in b/src/libuafs/Makefile.common.in index 3f6fc8b..2ff6707 100644 --- a/src/libuafs/Makefile.common.in +++ b/src/libuafs/Makefile.common.in @@ -168,6 +168,7 @@ UAFSOBJ = \ $(UOBJ)/Krxstat.ss.o \ $(UOBJ)/Krxstat.xdr.o \ $(UOBJ)/rxstat.o \ + $(UOBJ)/xdr_int32.o \ $(UOBJ)/xdr_int64.o AFSWEBOBJ = \ @@ -657,6 +658,8 @@ $(UOBJ)/rx_conncache.o: $(RX)/rx_conncache.c $(CRULE1) $(UOBJ)/xdr_rx.o: $(RX)/xdr_rx.c $(CRULE1) +$(UOBJ)/xdr_int32.o: $(RX)/xdr_int32.c + $(CRULE1) $(UOBJ)/xdr_int64.o: $(RX)/xdr_int64.c $(CRULE1) $(UOBJ)/afs_usrops.o: $(AFS)/afs_usrops.c diff --git a/src/libuafs/MakefileProto.LINUX.in b/src/libuafs/MakefileProto.LINUX.in index edc34f9..4b16477 100644 --- a/src/libuafs/MakefileProto.LINUX.in +++ b/src/libuafs/MakefileProto.LINUX.in @@ -15,7 +15,6 @@ include @TOP_OBJDIR@/src/config/Makefile.config # the libuafs README for details. # System specific build commands and flags -CC = gcc DEFINES= -D_REENTRANT -DKERNEL -DUKERNEL KOPTS= CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG} diff --git a/src/libuafs/linktest.c b/src/libuafs/linktest.c index f9fd445..85c56d4 100644 --- a/src/libuafs/linktest.c +++ b/src/libuafs/linktest.c @@ -21,7 +21,9 @@ RCSID("$Header$"); #include #include -main(int argc, char **argv) +void uafs_Shutdown(void); + +int main(int argc, char **argv) { int port = 0; char *afsMount = 0; diff --git a/src/log/kseal.c b/src/log/kseal.c index 6b25ba5..5f7a174 100644 --- a/src/log/kseal.c +++ b/src/log/kseal.c @@ -17,6 +17,15 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -91,7 +100,7 @@ char **argv; { token.endTime = 0x7fffffff; memcpy(&token.sessionKey, session, 8); token.kvno = 0; - code = ktc_SetToken (&sname, &token, (char *) 0, 0); + code = ktc_SetToken (&sname, &token, NULL, 0); if (code) { printf("kseal: could not install newly-sealed ticket, code %d\n", code); exit(1); diff --git a/src/log/tokens.c b/src/log/tokens.c index 124a31d..39b00cf 100644 --- a/src/log/tokens.c +++ b/src/log/tokens.c @@ -24,6 +24,15 @@ RCSID("$Header$"); #include /*time(), ctime()*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + #define VIRTUE #define VICE diff --git a/src/log/unlog.c b/src/log/unlog.c index d5a97c7..0285c2a 100644 --- a/src/log/unlog.c +++ b/src/log/unlog.c @@ -36,11 +36,15 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif -#ifdef AFS_SUN5_ENV + +#ifdef HAVE_STRING_H #include #else +#ifdef HAVE_STRINGS_H #include #endif +#endif + #include #include #include @@ -53,12 +57,6 @@ RCSID("$Header$"); #include #include -#ifdef AFS_OSF_ENV -void *malloc(); -#else -char *malloc(); -#endif - #undef VIRTUE #undef VICE @@ -124,7 +122,7 @@ main(argc, argv) sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "Release Kerberos authentication"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "Release Kerberos authentication"); cmd_AddParm(ts, "-cell", CMD_LIST, CMD_OPTIONAL, "cell name"); code = cmd_Dispatch(argc, argv); diff --git a/src/login/login.c b/src/login/login.c index e033802..01bb231 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -938,8 +938,8 @@ doafs: if(ka_UserAuthenticateGeneral( KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, pwd->pw_name, /* kerberos name */ - (char *)0, /* instance */ - (char *)0, /* realm */ + NULL, /* instance */ + NULL, /* realm */ pp, /* password */ 0, /* default lifetime */ &password_expires, @@ -1111,7 +1111,7 @@ doafs: struct utmpx *utx, *getutxent(), *pututxline(); #endif #if defined(AFS_HPUX_ENV) - register struct utmp *u = (struct utmp *) 0; + register struct utmp *u = NULL; extern pid_t getpid(); #endif @@ -1284,8 +1284,8 @@ doafs: /* destroy environment unless user has requested preservation */ if (!pflag) { - envinit[0] = (char *)0; - envinit[1] = (char *)0; + envinit[0] = NULL; + envinit[1] = NULL; environ = envinit; } (void)setuid(pwd->pw_uid); @@ -2134,8 +2134,8 @@ loop: if (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, pwd->pw_name, /* kerberos name */ - (char *)0, /* instance */ - (char *)0, /* realm */ + NULL, /* instance */ + NULL, /* realm */ pword, /* password */ 0, /* default lifetime */ 0, /* spare 1 */ diff --git a/src/lwp/fasttime.c b/src/lwp/fasttime.c index 14e6314..510a4c2 100644 --- a/src/lwp/fasttime.c +++ b/src/lwp/fasttime.c @@ -100,9 +100,7 @@ int FT_GetTimeOfDay(struct timeval *tv, struct timezone *tz) /* For compatibility. Should go away. */ -TM_GetTimeOfDay (tv, tz) - struct timeval *tv; - struct timezone *tz; +int TM_GetTimeOfDay (struct timeval *tv, struct timezone *tz) { return FT_GetTimeOfDay(tv, tz); } diff --git a/src/lwp/iomgr.c b/src/lwp/iomgr.c index f5d176b..5e99925 100644 --- a/src/lwp/iomgr.c +++ b/src/lwp/iomgr.c @@ -722,7 +722,7 @@ static void SigHandler (signo) /* Alright, this is the signal signalling routine. It delivers LWP signals to LWPs waiting on Unix signals. NOW ALSO CAN YIELD!! */ -static int SignalSignals () +static int SignalSignals (void) { bool gotone = FALSE; register int i; @@ -1023,9 +1023,7 @@ int IOMGR_Cancel(PROCESS pid) #ifndef AFS_NT40_ENV /* Cause delivery of signal signo to result in a LWP_SignalProcess of event. */ -IOMGR_Signal (signo, event) - int signo; - char *event; +int IOMGR_Signal (int signo, char *event) { struct sigaction sa; @@ -1045,12 +1043,11 @@ IOMGR_Signal (signo, event) } /* Stop handling occurrences of signo. */ -IOMGR_CancelSignal (signo) - int signo; +int IOMGR_CancelSignal (int signo) { if (badsig(signo) || (sigsHandled & mysigmask(signo)) == 0) return LWP_EBADSIG; - sigaction (signo, &oldActions[signo], (struct sigaction *)0); + sigaction (signo, &oldActions[signo], NULL); sigsHandled &= ~mysigmask(signo); return LWP_SUCCESS; } @@ -1086,10 +1083,7 @@ void IOMGR_Sleep (int seconds) /* Netbios code for djgpp port */ -int IOMGR_NCBSelect(ncbp, dos_ncb, timeout) - NCB *ncbp; - dos_ptr dos_ncb; - struct timeval *timeout; +int IOMGR_NCBSelect(NCB *ncbp, dos_ptr dos_ncb, struct timeval *timeout) { struct IoRequest *request; int result; @@ -1170,7 +1164,7 @@ int IOMGR_NCBSelect(ncbp, dos_ncb, timeout) } } -int IOMGR_CheckNCB() +int IOMGR_CheckNCB(void) { int woke_someone = FALSE; EVENT_HANDLE ev; @@ -1213,7 +1207,7 @@ int ncb_handler(__dpmi_regs *r) return; } -int install_ncb_handler() +int install_ncb_handler(void) { callback_info.pm_offset = (long) ncb_handler; if (_go32_dpmi_allocate_real_mode_callback_retf(&callback_info, diff --git a/src/lwp/lwp.c b/src/lwp/lwp.c index ac04876..a923696 100644 --- a/src/lwp/lwp.c +++ b/src/lwp/lwp.c @@ -38,6 +38,14 @@ RCSID("$Header$"); extern char* getenv(); #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #if !defined(USE_PTHREADS) && !defined(USE_SOLARIS_THREADS) #ifdef AFS_OSF_ENV @@ -219,7 +227,7 @@ and return to the restored C frame. static struct lwp_ctl *lwp_init = 0; -int LWP_QWait() +int LWP_QWait(void) {register PROCESS tp; (tp=lwp_cpptr) -> status = QWAITING; lwp_remove(tp, &runnable[tp->priority]); @@ -238,8 +246,7 @@ int LWP_QSignal(pid) } #ifdef AFS_AIX32_ENV -char *reserveFromStack(size) - register afs_int32 size; +char *reserveFromStack(register afs_int32 size) { char *x; x = alloca(size); @@ -247,12 +254,8 @@ char *reserveFromStack(size) } #endif -int LWP_CreateProcess(ep, stacksize, priority, parm, name, pid) - int (*ep)(); - int stacksize, priority; - char *parm; - char *name; - PROCESS *pid; +int LWP_CreateProcess(int (*ep)(), int stacksize, int priority, + char *parm, char *name, PROCESS *pid) { PROCESS temp, temp2; #ifdef AFS_AIX32_ENV @@ -380,12 +383,8 @@ int LWP_CreateProcess(ep, stacksize, priority, parm, name, pid) } #ifdef AFS_AIX32_ENV -int LWP_CreateProcess2(ep, stacksize, priority, parm, name, pid) - int (*ep)(); - int stacksize, priority; - char *parm; - char *name; - PROCESS *pid; +int LWP_CreateProcess2(int (*ep)(), int stacksize, int priority, + char *parm, char *name, PROCESS *pid) { PROCESS temp, temp2; char *stackptr; @@ -452,8 +451,7 @@ int LWP_CreateProcess2(ep, stacksize, priority, parm, name, pid) } #endif -int LWP_CurrentProcess(pid) /* returns pid of current process */ - PROCESS *pid; +int LWP_CurrentProcess(PROCESS *pid) /* returns pid of current process */ { Debug(0, ("Entered Current_Process")) if (lwp_init) { @@ -463,7 +461,7 @@ int LWP_CurrentProcess(pid) /* returns pid of current process */ return LWP_EINIT; } -PROCESS LWP_ThreadId() +PROCESS LWP_ThreadId(void) { Debug(0, ("Entered ThreadId")) if (lwp_init) @@ -474,8 +472,7 @@ PROCESS LWP_ThreadId() #define LWPANCHOR (*lwp_init) -int LWP_DestroyProcess(pid) /* destroy a lightweight process */ - PROCESS pid; +int LWP_DestroyProcess(PROCESS pid) /* destroy a lightweight process */ { PROCESS temp; @@ -516,7 +513,7 @@ int LWP_DestroyProcess(pid) /* destroy a lightweight process */ return LWP_EINIT; } -int LWP_DispatchProcess() /* explicit voluntary preemption */ +int LWP_DispatchProcess(void) /* explicit voluntary preemption */ { Debug(2, ("Entered Dispatch_Process")) if (lwp_init) { @@ -527,7 +524,7 @@ int LWP_DispatchProcess() /* explicit voluntary preemption */ } #ifdef DEBUG -int Dump_Processes() +int Dump_Processes(void) { if (lwp_init) { register int i; @@ -543,9 +540,7 @@ int Dump_Processes() } #endif -int LWP_GetProcessPriority(pid, priority) /* returns process priority */ - PROCESS pid; - int *priority; +int LWP_GetProcessPriority(PROCESS pid, int *priority) /* returns process priority */ { Debug(0, ("Entered Get_Process_Priority")) if (lwp_init) { @@ -555,9 +550,7 @@ int LWP_GetProcessPriority(pid, priority) /* returns process priority */ return LWP_EINIT; } -int LWP_InitializeProcessSupport(priority, pid) - int priority; - PROCESS *pid; +int LWP_InitializeProcessSupport(int priority, PROCESS *pid) { PROCESS temp; struct lwp_pcb dummy; @@ -603,9 +596,7 @@ int LWP_InitializeProcessSupport(priority, pid) return LWP_SUCCESS; } -int LWP_INTERNALSIGNAL(event, yield) /* signal the occurence of an event */ - char *event; - int yield; +int LWP_INTERNALSIGNAL(char *event, int yield) /* signal the occurence of an event */ { Debug(2, ("Entered LWP_SignalProcess")) if (lwp_init) { @@ -617,7 +608,7 @@ int LWP_INTERNALSIGNAL(event, yield) /* signal the occurence of an event */ return LWP_EINIT; } -int LWP_TerminateProcessSupport() /* terminate all LWP support */ +int LWP_TerminateProcessSupport(void) /* terminate all LWP support */ { register int i; @@ -633,8 +624,7 @@ int LWP_TerminateProcessSupport() /* terminate all LWP support */ return LWP_SUCCESS; } -int LWP_WaitProcess(event) /* wait on a single event */ - char *event; +int LWP_WaitProcess(char *event) /* wait on a single event */ { char *tempev[2]; @@ -645,9 +635,7 @@ int LWP_WaitProcess(event) /* wait on a single event */ return LWP_MwaitProcess(1, tempev); } -int LWP_MwaitProcess(wcount, evlist) /* wait on m of n events */ - int wcount; - char *evlist[]; +int LWP_MwaitProcess(int wcount, char *evlist[]) /* wait on m of n events */ { register int ecount, i; @@ -696,9 +684,7 @@ int LWP_MwaitProcess(wcount, evlist) /* wait on m of n events */ return LWP_EINIT; } -int LWP_StackUsed(pid, maxa, used) - PROCESS pid; - int *maxa, *used; +int LWP_StackUsed(PROCESS pid, int *maxa, int *used) { *maxa = pid -> stacksize; *used = Stack_Used(pid->stack, *maxa); @@ -712,8 +698,7 @@ int LWP_StackUsed(pid, maxa, used) * INTERNAL to the LWP support package. */ -static void Abort_LWP(msg) - char *msg; +static void Abort_LWP(char *msg) { struct lwp_context tempcontext; @@ -730,7 +715,7 @@ static void Abort_LWP(msg) return; } -static int Create_Process_Part2 () /* creates a context for the new process */ +static int Create_Process_Part2(void) /* creates a context for the new process */ { PROCESS temp; @@ -742,8 +727,7 @@ static int Create_Process_Part2 () /* creates a context for the new process */ return 0; } -static int Delete_PCB(pid) /* remove a PCB from the process list */ - register PROCESS pid; +static int Delete_PCB(register PROCESS pid) /* remove a PCB from the process list */ { Debug(4, ("Entered Delete_PCB")) lwp_remove(pid, (pid->blockflag || pid->status==WAITING || pid->status==DESTROYED @@ -754,8 +738,7 @@ static int Delete_PCB(pid) /* remove a PCB from the process list */ } #ifdef DEBUG -static int Dump_One_Process(pid) - PROCESS pid; +static int Dump_One_Process(PROCESS pid) { int i; @@ -794,7 +777,7 @@ static int Dump_One_Process(pid) } #endif -static int purge_dead_pcbs() +static int purge_dead_pcbs(void) { for_all_elts(cur, blocked, { if (cur->status == DESTROYED) Dispose_of_Dead_PCB(cur); }) return 0; @@ -802,7 +785,7 @@ static int purge_dead_pcbs() int LWP_TraceProcesses = 0; -static int Dispatcher() /* Lightweight process dispatcher */ +static int Dispatcher(void) /* Lightweight process dispatcher */ { register int i; #ifdef DEBUG @@ -880,7 +863,7 @@ static int Dispatcher() /* Lightweight process dispatcher */ } /* Complain of a stack overflow to stderr without using stdio. */ -static void Overflow_Complain () +static void Overflow_Complain(void) { time_t currenttime; char *timeStamp; @@ -897,8 +880,7 @@ static void Overflow_Complain () write (2, msg2, strlen(msg2)); } -static void Dispose_of_Dead_PCB (cur) - PROCESS cur; +static void Dispose_of_Dead_PCB (PROCESS cur) { Debug(4, ("Entered Dispose_of_Dead_PCB")) Delete_PCB(cur); @@ -908,13 +890,12 @@ static void Dispose_of_Dead_PCB (cur) */ } -static int Exit_LWP() +static int Exit_LWP(void) { abort(); } -static void Free_PCB(pid) - PROCESS pid; +static void Free_PCB(PROCESS pid) { Debug(4, ("Entered Free_PCB")) if (pid -> stack != NULL) { @@ -926,12 +907,8 @@ static void Free_PCB(pid) free(pid); } -static void Initialize_PCB(temp, priority, stack, stacksize, ep, parm, name) - PROCESS temp; - int (*ep)(); - int stacksize, priority; - char *parm; - char *name,*stack; +static void Initialize_PCB(PROCESS temp, int priority, char *stack, + int stacksize, int (*ep)(), char *parm, char *name) { register int i = 0; @@ -967,8 +944,7 @@ static void Initialize_PCB(temp, priority, stack, stacksize, ep, parm, name) temp -> level = 1; /* non-preemptable */ } -static int Internal_Signal(event) - register char *event; +static int Internal_Signal(register char *event) { int rc = LWP_ENOWAIT; register int i; @@ -997,9 +973,7 @@ static int Internal_Signal(event) /* This can be any unlikely pattern except 0x00010203 or the reverse. */ #define STACKMAGIC 0xBADBADBA -static afs_int32 Initialize_Stack(stackptr, stacksize) - char *stackptr; - int stacksize; +static afs_int32 Initialize_Stack(char *stackptr, int stacksize) { register int i; @@ -1016,9 +990,7 @@ static afs_int32 Initialize_Stack(stackptr, stacksize) return 0; } -static int Stack_Used(stackptr, stacksize) - register char *stackptr; - int stacksize; +static int Stack_Used(register char *stackptr, int stacksize) { register int i; @@ -1044,9 +1016,7 @@ static int Stack_Used(stackptr, stacksize) } -LWP_NewRock(Tag, Value) - int Tag; /* IN */ - char *Value; /* IN */ +int LWP_NewRock(int Tag, char *Value) /* Finds a free rock and sets its value to Value. Return codes: LWP_SUCCESS Rock did not exist and a new one was used @@ -1078,10 +1048,7 @@ LWP_NewRock(Tag, Value) } -LWP_GetRock(Tag, Value) - int Tag; /* IN */ - char **Value; /* OUT */ - +int LWP_GetRock(int Tag, char **Value) /* Obtains the pointer Value associated with the rock Tag of this LWP. Returns: LWP_SUCCESS if specified rock exists and Value has been filled @@ -1104,9 +1071,7 @@ LWP_GetRock(Tag, Value) #ifdef AFS_AIX32_ENV -setlim(limcon, hard, limit) - int limcon; - uchar_t hard; +int setlim(int limcon, uchar_t hard, int limit) { struct rlimit rlim; @@ -1143,10 +1108,7 @@ setlim(limcon, hard, limit) /* * Print the specific limit out */ -plim(name, lc, hard) - char *name; - afs_int32 lc; - uchar_t hard; +int plim(char *name, afs_int32 lc, uchar_t hard) { struct rlimit rlim; int lim; @@ -1163,14 +1125,12 @@ plim(name, lc, hard) #endif #ifdef AFS_SUN5_ENV -int LWP_NoYieldSignal(event) - char *event; +int LWP_NoYieldSignal(char *event) { return (LWP_INTERNALSIGNAL(event, 0)); } -int LWP_SignalProcess(event) - char *event; +int LWP_SignalProcess(char *event) { return (LWP_INTERNALSIGNAL(event, 1)); } @@ -1208,7 +1168,8 @@ event_t *hashtable[HASHSIZE];/* Hash table for events */ #define hash(event) ((unsigned long) (event) % HASHSIZE); #if CMA_DEBUG || DEBUGF -char *lwp_process_string() { +char *lwp_process_string(void) +{ static char id[200]; PROCESS p; LWP_CurrentProcess(&p); @@ -1217,27 +1178,25 @@ char *lwp_process_string() { } #endif -void lwp_unimplemented(interface) - char *interface; +void lwp_unimplemented(char *interface) { fprintf(stderr, "cmalwp: %s is not currently implemented: program aborted\n", interface); exit(1); } -static lwpabort(interface) - char *interface; +static void lwpabort(char *interface) { fprintf(stderr, "cmalwp: %s failed unexpectedly\n", interface); abort(); } -int LWP_QWait() +int LWP_QWait(void) { lwp_unimplemented("LWP_QWait"); } -int LWP_QSignal(pid) +int LWP_QSignal(int pid) { lwp_unimplemented("LWP_QSignal"); } @@ -1245,10 +1204,8 @@ int LWP_QSignal(pid) /* Allocate and initialize an LWP process handle. The associated pthread handle * must be added by the caller, and the structure threaded onto the LWP active * process list by lwp_thread_process */ -static PROCESS lwp_alloc_process(name, ep, arg) - char *name; - pthread_startroutine_t ep; - pthread_addr_t arg; +static PROCESS lwp_alloc_process(char *name, + pthread_startroutine_t ep, pthread_addr_t arg) { PROCESS lp; assert(lp = (PROCESS) malloc(sizeof (*lp))); @@ -1269,8 +1226,7 @@ static PROCESS lwp_alloc_process(name, ep, arg) /* Thread the LWP process descriptor *lp onto the lwp active process list * and associate a back pointer to the process descriptor from the associated * thread */ -static lwp_thread_process(lp) - PROCESS lp; +static lwp_thread_process(PROCESS lp) { lp->next = lwp_process_list; lwp_process_list = lp; @@ -1280,8 +1236,7 @@ static lwp_thread_process(lp) /* The top-level routine used as entry point to explicitly created LWP * processes. This completes a few details of process creation left * out by LWP_CreateProcess and calls the user-specified entry point */ -static int lwp_top_level(argp) - pthread_addr_t argp; +static int lwp_top_level(pthread_addr_t argp) { PROCESS lp = (PROCESS) argp; @@ -1292,12 +1247,8 @@ static int lwp_top_level(argp) /* Should cleanup state */ } -int LWP_CreateProcess(ep, stacksize, priority, parm, name, pid) - int (*ep)(); - int stacksize, priority; - char *parm; - char *name; - PROCESS *pid; +int LWP_CreateProcess(pthread_startroutine_t ep, int stacksize, int priority, + char *parm, char *name, PROCESS *pid) { int status; pthread_attr_t attr; @@ -1338,26 +1289,25 @@ int LWP_CreateProcess(ep, stacksize, priority, parm, name, pid) return LWP_SUCCESS; } -PROCESS LWP_ActiveProcess() { /* returns pid of current process */ +PROCESS LWP_ActiveProcess(void) +{ /* returns pid of current process */ PROCESS pid; assert(!pthread_getspecific(lwp_process_key, (pthread_addr_t *) &pid)); return pid; } -int LWP_CurrentProcess(pid) /* get pid of current process */ - PROCESS *pid; +int LWP_CurrentProcess(PROCESS *pid) /* get pid of current process */ { assert(!pthread_getspecific(lwp_process_key, (pthread_addr_t *) pid)); return LWP_SUCCESS; } -int LWP_DestroyProcess(pid) /* destroy a lightweight process */ - PROCESS pid; +int LWP_DestroyProcess(PROCESS pid) /* destroy a lightweight process */ { lwp_unimplemented("LWP_DestroyProcess"); } -int LWP_DispatchProcess() /* explicit voluntary preemption */ +int LWP_DispatchProcess(void) /* explicit voluntary preemption */ { assert(!pthread_mutex_unlock(&lwp_mutex)); pthread_yield(); @@ -1365,11 +1315,11 @@ int LWP_DispatchProcess() /* explicit voluntary preemption */ return LWP_SUCCESS; } -static int lwp_process_key_destructor() {} +static int lwp_process_key_destructor(void) +{ +} -int LWP_InitializeProcessSupport(priority, pid) - int priority; - PROCESS *pid; +int LWP_InitializeProcessSupport(int priority, PROCESS *pid) { static int initialized = 0; int status; @@ -1408,14 +1358,13 @@ int LWP_InitializeProcessSupport(priority, pid) return LWP_SUCCESS; } -int LWP_TerminateProcessSupport() /* terminate all LWP support */ +int LWP_TerminateProcessSupport(void) /* terminate all LWP support */ { lwp_unimplemented("LWP_TerminateProcessSupport"); } /* Get and initialize event structure corresponding to lwp event (i.e. address) */ -static event_t *getevent(event) - char *event; +static event_t *getevent(char *event) { event_t *evp, *newp; int hashcode; @@ -1448,8 +1397,7 @@ static event_t *getevent(event) /* Release the specified event */ #define relevent(evp) ((evp)->refcount--) -int LWP_WaitProcess(event) /* wait on a single event */ - char *event; +int LWP_WaitProcess(char *event) /* wait on a single event */ { struct event *ev; int seq; @@ -1465,15 +1413,12 @@ int LWP_WaitProcess(event) /* wait on a single event */ return LWP_SUCCESS; } -int LWP_MwaitProcess(wcount, evlist) /* wait on m of n events */ - int wcount; - char *evlist[]; +int LWP_MwaitProcess(int wcount, char *evlist[]) /* wait on m of n events */ { lwp_unimplemented("LWP_MWaitProcess"); } -int LWP_NoYieldSignal(event) - char *event; +int LWP_NoYieldSignal(char *event) { struct event *ev; debugf(("%s: no yield signal (%x)\n", lwp_process_string(), event)); @@ -1487,8 +1432,7 @@ int LWP_NoYieldSignal(event) return LWP_SUCCESS; } -int LWP_SignalProcess(event) - char *event; +int LWP_SignalProcess(char *event) { struct event *ev; debugf(("%s: signal process (%x)\n", lwp_process_string(), event)); @@ -1505,30 +1449,22 @@ int LWP_SignalProcess(event) return LWP_SUCCESS; } -int LWP_StackUsed(pid, maxa, used) - PROCESS pid; - int *maxa, *used; +int LWP_StackUsed(PROCESS pid, int *maxa, int *used) { lwp_unimplemented("LWP_StackUsed"); } -LWP_NewRock(Tag, Value) - int Tag; /* IN */ - char *Value; /* IN */ +int LWP_NewRock(int Tag, char *Value) { lwp_unimplemented("LWP_NewRock"); } -LWP_GetRock(Tag, Value) - int Tag; /* IN */ - char **Value; /* OUT */ +int LWP_GetRock(int Tag, char **Value) { lwp_unimplemented("LWP_GetRock"); } -int LWP_GetProcessPriority(pid, priority) /* returns process priority */ - PROCESS pid; - int *priority; +int LWP_GetProcessPriority(PROCESS pid, int *priority) /* returns process priority */ { lwp_unimplemented("LWP_GetProcessPriority"); } diff --git a/src/lwp/lwp.h b/src/lwp/lwp.h index 4ae8096..9308239 100644 --- a/src/lwp/lwp.h +++ b/src/lwp/lwp.h @@ -368,13 +368,14 @@ extern int LWP_INTERNALSIGNAL(void *event, int yield); extern int LWP_QWait(void); extern int LWP_QSignal(PROCESS pid); #else -extern int LWP_CurrentProcess(); -extern int LWP_INTERNALSIGNAL(); -extern int LWP_InitializeProcessSupport(); -extern int LWP_CreateProcess(); -extern int LWP_DestroyProcess(); -extern int LWP_WaitProcess(); -extern PROCESS LWP_ThreadId(); +extern int LWP_CurrentProcess(PROCESS *pid); +extern int LWP_INTERNALSIGNAL(char *event, int yield); +extern int LWP_InitializeProcessSupport(int priority, PROCESS *pid); +extern int LWP_CreateProcess(int (*ep)(), int stacksize, int priority, + char *parm, char *name, PROCESS *pid); +extern int LWP_DestroyProcess(PROCESS pid); +extern int LWP_WaitProcess(char *event); +extern PROCESS LWP_ThreadId(void); #endif /* max time we are allowed to spend in a select call on NT */ diff --git a/src/lwp/preempt.c b/src/lwp/preempt.c index 4e60898..50b63f0 100644 --- a/src/lwp/preempt.c +++ b/src/lwp/preempt.c @@ -85,8 +85,8 @@ int PRE_InitPreempt(slice) action.sa_sigaction = AlarmHandler; action.sa_flags = SA_SIGINFO; - if ((sigaction(SIGALRM, &action, (struct sigaction *)0) == -1) || - (setitimer(ITIMER_REAL, &itv, (struct itimerval *) 0) == -1)) + if ((sigaction(SIGALRM, &action, NULL) == -1) || + (setitimer(ITIMER_REAL, &itv, NULL) == -1)) return(LWP_ESYSTEM); return(LWP_SUCCESS); @@ -104,8 +104,8 @@ int PRE_EndPreempt() memset((char *)&action, 0, sizeof(action)); action.sa_handler = SIG_DFL; - if ((setitimer(ITIMER_REAL, &itv, (struct itimerval *) 0) == -1) || - (sigaction(SIGALRM, &action, (struct sigaction *)0) == -1)) + if ((setitimer(ITIMER_REAL, &itv, NULL) == -1) || + (sigaction(SIGALRM, &action, NULL) == -1)) return(LWP_ESYSTEM); return(LWP_SUCCESS); diff --git a/src/lwp/threadname.c b/src/lwp/threadname.c index a003694..83653a2 100644 --- a/src/lwp/threadname.c +++ b/src/lwp/threadname.c @@ -47,7 +47,7 @@ PROCESS ThreadId[MAX_THREADS]; #endif /* defined(AFS_PTHREAD_ENV) */ char ThreadName[MAX_THREADS][MAXTHREADNAMELENGTH]; -char * threadname () +char *threadname(void) { int i; static char MainThread[] = "main"; @@ -75,13 +75,13 @@ char * threadname () return p; } -int registerthread(id, name) +int registerthread( #ifdef AFS_PTHREAD_ENV - pthread_t id; + pthread_t id, #else /* AFS_PTHREAD_ENV */ - PROCESS id; + PROCESS id, #endif /* AFS_PTHREAD_ENV */ - char *name; + char *name) { int i; @@ -100,14 +100,14 @@ int registerthread(id, name) return 0; } -int swapthreadname(id, new, old) +int swapthreadname( #ifdef AFS_PTHREAD_ENV - pthread_t id; + pthread_t id, #else /* AFS_PTHREAD_ENV */ - PROCESS id; + PROCESS id, #endif /* AFS_PTHREAD_ENV */ - char *new; - char *old; + char *new, + char *old) { int i; diff --git a/src/lwp/waitkey.c b/src/lwp/waitkey.c index 235f19f..2586f9c 100644 --- a/src/lwp/waitkey.c +++ b/src/lwp/waitkey.c @@ -34,6 +34,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include "lwp.h" #define LWP_KEYSTROKE_DELAY 250 /* 250ms. Must be < 1000 */ diff --git a/src/ntp/ntp.c b/src/ntp/ntp.c index a3c4f63..fc9ef57 100644 --- a/src/ntp/ntp.c +++ b/src/ntp/ntp.c @@ -185,7 +185,7 @@ main(argc, argv) /* * Needed to fill in the time stamp fields */ - (void) gettimeofday(&tp, (struct timezone *) 0); + (void) gettimeofday(&tp, NULL); tstamp(&pkt->xmt, &tp); if (send(s, (char *) pkt, sizeof(ntp_data), 0) < 0) { @@ -218,7 +218,7 @@ main(argc, argv) perror("recvfrom"); exit(1); } - (void) gettimeofday(&tp, (struct timezone *) 0); + (void) gettimeofday(&tp, NULL); tstamp(&in_timestamp, &tp); close(s); @@ -311,13 +311,13 @@ main(argc, argv) } /* set the clock */ - gettimeofday(&tp, (struct timezone *) 0); + gettimeofday(&tp, NULL); offset += tp.tv_sec; offset += tp.tv_usec / 1000000.0; tp.tv_sec = offset; tp.tv_usec = (offset - tp.tv_sec) * 1000000.0; - if (settimeofday(&tp, (struct timezone *) 0)) { + if (settimeofday(&tp, NULL)) { perror("Can't set time (settimeofday)"); } else set = 0; diff --git a/src/ntp/ntp_adjust.c b/src/ntp/ntp_adjust.c index 3cacaa1..19b2604 100644 --- a/src/ntp/ntp_adjust.c +++ b/src/ntp/ntp_adjust.c @@ -108,7 +108,7 @@ adj_logical(offset) if (offset > CLOCK_MAX || offset < -CLOCK_MAX) { double steptime = offset; - (void) gettimeofday(&tv2, (struct timezone *) 0); + (void) gettimeofday(&tv2, NULL); steptime += tv2.tv_sec; steptime += tv2.tv_usec / 1000000.0; tv1.tv_sec = steptime; @@ -120,7 +120,7 @@ adj_logical(offset) printf("adj_logical: %f %f\n", offset, steptime); } #endif - if (settimeofday(&tv1, (struct timezone *) 0) < 0) + if (settimeofday(&tv1, NULL) < 0) { syslog(LOG_ERR, "Can't set time: %m"); return(-1); @@ -311,7 +311,7 @@ int adjtime(newdelta, olddelta) cum.tv_usec = (cum.tv_usec < 0) ? -((-cum.tv_usec) % MICROSECONDS) : cum.tv_usec % MICROSECONDS; - gettimeofday (&now, (struct timezone *)0); + gettimeofday (&now, NULL); new = now; new.tv_sec += cum.tv_sec; new.tv_usec += cum.tv_usec; @@ -326,7 +326,7 @@ int adjtime(newdelta, olddelta) if (cum.tv_sec || abs(cum.tv_usec) > 2000) { /* wait till accumulated update is at least 2msec since this call * seems to add some jitter. */ - settimeofday (&new, (struct timezone *)0); + settimeofday (&new, NULL); if (debug > 4) /* do set before doing I/O */ printf ("hp_adjtime: pushing clock by %d usec w/ settimeofday \n", cum.tv_sec*1000000 + cum.tv_usec); diff --git a/src/ntp/ntp_proto.c b/src/ntp/ntp_proto.c index 606b584..a20085b 100644 --- a/src/ntp/ntp_proto.c +++ b/src/ntp/ntp_proto.c @@ -101,7 +101,7 @@ transmit(peer) pkt->reftime = sys.reftime; pkt->org = peer->org; pkt->rec = peer->rec; - (void) gettimeofday(&txtv, (struct timezone *) 0); + (void) gettimeofday(&txtv, NULL); #if 0 if (peer->flags & PEER_FL_AUTHENABLE) { /* add encryption time into the timestamp */ diff --git a/src/ntp/ntpd.c b/src/ntp/ntpd.c index 5ecad2b..5d1ebe8 100644 --- a/src/ntp/ntpd.c +++ b/src/ntp/ntpd.c @@ -269,7 +269,7 @@ main(argc, argv) s = open("/dev/tty", 2); if (s >= 0) { #ifndef AFS_HPUX_ENV - (void) ioctl(s, (afs_uint32) TIOCNOTTY, (char *) 0); + (void) ioctl(s, (afs_uint32) TIOCNOTTY, NULL); #endif (void) close(s); } @@ -338,7 +338,7 @@ main(argc, argv) if ((i = open(driftcomp_file, O_WRONLY|O_CREAT, 0644)) >= 0) { drift_fd = i; } - (void) gettimeofday(&tv, (struct timezone *) 0); + (void) gettimeofday(&tv, NULL); srand(tv.tv_sec); FD_ZERO(&tmpmask); @@ -385,7 +385,7 @@ main(argc, argv) #endif selfds++; - (void) setitimer(ITIMER_REAL, itp, (struct itimerval *) 0); + (void) setitimer(ITIMER_REAL, itp, NULL); for (;;) { /* go into a finite but hopefully very long * loop */ @@ -393,8 +393,8 @@ main(argc, argv) readfds = tmpmask; nfds = select(selfds, &readfds, (fd_set *) 0, (fd_set *) 0, - (struct timeval *) 0); - (void) gettimeofday(&tv, (struct timezone *) 0); + NULL); + (void) gettimeofday(&tv, NULL); for(i = 0; i < nintf && nfds; i++) { if (!FD_ISSET(addrs[i].fd, &readfds)) diff --git a/src/ntp/read_psti.c b/src/ntp/read_psti.c index fd8ff82..910575f 100644 --- a/src/ntp/read_psti.c +++ b/src/ntp/read_psti.c @@ -211,7 +211,7 @@ struct timeval **tvpp, **otvpp; return(1); } - (void) gettimeofday(&mytime, (struct timezone *)0); + (void) gettimeofday(&mytime, NULL); /* END OF TIME CRITICAL CODE SECTION!!!! */ if (clockdata[i-1] != '\n') { diff --git a/src/ntp/test.c b/src/ntp/test.c index 623fdc3..526ff44 100644 --- a/src/ntp/test.c +++ b/src/ntp/test.c @@ -96,7 +96,7 @@ test2(v) struct timeval tp; struct l_fixedpt time_lm; - (void)gettimeofday(&tp, (struct timezone *) 0); + (void)gettimeofday(&tp, NULL); tstamp(&time_lm, &tp); if (v) { diff --git a/src/pam/afs_auth.c b/src/pam/afs_auth.c index eb3dde9..442d65a 100644 --- a/src/pam/afs_auth.c +++ b/src/pam/afs_auth.c @@ -60,14 +60,12 @@ pam_sm_authenticate( int use_klog = 0; int set_expires = 0; /* This option is only used in pam_set_cred() */ int got_authtok = 0; /* got PAM_AUTHTOK upon entry */ - int nouser = 0; char *user = NULL, *password = NULL; long password_expires = -1; int torch_password = 1; int i; struct pam_conv *pam_convp = NULL; int auth_ok; - uid_t uid; struct passwd unix_pwd, *upwd = NULL; char upwd_buf[2048]; /* size is a guess. */ char* reason = NULL; @@ -307,7 +305,7 @@ try_auth: if (refresh_token || set_token) code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* default lifetime */ @@ -317,7 +315,7 @@ try_auth: else code = ka_VerifyUserPassword(KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* spare 2 */ @@ -348,7 +346,7 @@ try_auth: } } /* Restore old signal handler */ - code = sigaction(SIGCHLD, &origAction, (struct sigaction *)0); + code = sigaction(SIGCHLD, &origAction, NULL); if (code) { pam_afs_syslog(LOG_ERR, PAMAFS_PAMERROR, errno); } @@ -358,7 +356,7 @@ try_auth: if (refresh_token || set_token) code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* default lifetime */ @@ -368,7 +366,7 @@ try_auth: else code = ka_VerifyUserPassword(KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* spare 2 */ diff --git a/src/pam/afs_pam_msg.c b/src/pam/afs_pam_msg.c index a81a42e..866040b 100644 --- a/src/pam/afs_pam_msg.c +++ b/src/pam/afs_pam_msg.c @@ -13,6 +13,14 @@ RCSID("$Header$"); #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include #include #include "afs_pam_msg.h" #include "afs_message.h" diff --git a/src/pam/afs_password.c b/src/pam/afs_password.c index 043b89b..d113af7 100644 --- a/src/pam/afs_password.c +++ b/src/pam/afs_password.c @@ -205,8 +205,8 @@ pam_sm_chauthtok( if ( (code = ka_VerifyUserPassword(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, user, /* kerberos name */ - (char *)0, /* instance */ - (char *)0, /* realm */ + NULL, /* instance */ + NULL, /* realm */ password, /* password */ 0, /* spare 2 */ &reason /* error string */ )) !=0 ) { diff --git a/src/pam/afs_setcred.c b/src/pam/afs_setcred.c index 00de66e..ee3310e 100644 --- a/src/pam/afs_setcred.c +++ b/src/pam/afs_setcred.c @@ -284,7 +284,7 @@ pam_sm_setcred( if ( ka_VerifyUserPassword( KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* spare 2 */ @@ -303,7 +303,7 @@ pam_sm_setcred( if ( ka_UserAuthenticateGeneral( KA_USERAUTH_VERSION, user, /* kerberos name */ - (char *)0, /* instance */ + NULL, /* instance */ cell_ptr, /* realm */ password, /* password */ 0, /* default lifetime */ diff --git a/src/pam/afs_util.c b/src/pam/afs_util.c index 0f49d37..849bb77 100644 --- a/src/pam/afs_util.c +++ b/src/pam/afs_util.c @@ -17,6 +17,14 @@ #include #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include RCSID("$Header$"); @@ -58,12 +66,12 @@ these facilities, we can safely define these to be null functions */ #if !defined(AFS_HPUX110_ENV) /* For HP 11.0, this function is in util/hputil.c */ -sigvec(int sig, const struct sigvec* vec, struct sigvec* ovec) +int sigvec(int sig, const struct sigvec* vec, struct sigvec* ovec) { assert(0); } -sigsetmask(int mask) +int sigsetmask(int mask) { assert(0); } @@ -71,9 +79,7 @@ sigsetmask(int mask) /* converts string to integer */ -char *cv2string(ttp, aval) - register char *ttp; - register unsigned long aval; +char *cv2string(register char *ttp, register unsigned long aval) { register char *tp = ttp; register int i; @@ -169,7 +175,7 @@ out: } /* get the current AFS pag for the calling process */ -static afs_int32 curpag() +static afs_int32 curpag(void) { gid_t groups[NGROUPS_MAX]; afs_uint32 g0, g1; @@ -196,7 +202,7 @@ static afs_int32 curpag() } /* Returns the AFS pag number, if any, otherwise return -1 */ -afs_int32 getPAG() +afs_int32 getPAG(void) { afs_int32 pag; diff --git a/src/pam/afs_util.h b/src/pam/afs_util.h index ff15037..a904ab0 100644 --- a/src/pam/afs_util.h +++ b/src/pam/afs_util.h @@ -25,7 +25,9 @@ void nil_cleanup( void *data, int pam_end_status); -extern char* cv2string(); +extern char *cv2string(register char *ttp, register unsigned long aval); +extern int do_klog(const char* user, const char* password, const char* lifetime, const char* cell_name); +extern afs_int32 getPAG(void); #define KLOG "/usr/afsws/bin/klog" #define KLOGKRB "/usr/afsws/bin/klog.krb" diff --git a/src/pinstall/install.c b/src/pinstall/install.c index dbd26a2..5d813b4 100644 --- a/src/pinstall/install.c +++ b/src/pinstall/install.c @@ -82,23 +82,28 @@ RCSID("$Header$"); #include #include #include +#ifdef HAVE_PWD_H +#include +#endif +#include -struct stat istat, ostat; +static struct stat istat, ostat; +static int stripcalled = 0; extern int errno; extern int sys_nerr; #if !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV) extern char *sys_errlist[]; #endif -#if defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DECOSF_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV) -extern struct passwd *getpwnam(); -int stripcalled = 0; -#endif + +/* static prototypes */ +char *ErrorString(int aerrno); +int stripName(char *aname); +int atoo(register char *astr); + #if defined(AFS_HPUX_ENV) && !defined(AFS_HPUX102_ENV) -utimes(file,tvp) -char *file; -struct timeval tvp[2]; +int utimes(char *file, struct timeval tvp[2]) { struct utimbuf times; @@ -108,9 +113,7 @@ struct timeval tvp[2]; } #endif -static char *strrpbrk (s, set) - char *s; - char *set; +static char *strrpbrk (char *s, char *set) { char sets[256]; int i; @@ -122,8 +125,8 @@ static char *strrpbrk (s, set) return 0; } -char *ErrorString(aerrno) - int aerrno; { +char *ErrorString(int aerrno) +{ static char tbuffer[100]; if (aerrno < 0 || aerrno >= sys_nerr) { sprintf(tbuffer, "undefined error code %d", aerrno); @@ -133,17 +136,15 @@ char *ErrorString(aerrno) return tbuffer; } -int -stripName(aname) - char *aname; - {if (strrchr(aname, '.') == 0) return 1; +int stripName(char *aname) +{ + if (strrchr(aname, '.') == 0) return 1; else return 0; - } +} -int -atoo(astr) - register char *astr; - {register afs_int32 value; +int atoo(register char *astr) +{ + register afs_int32 value; register char tc; value = 0; while ((tc = *astr++)) @@ -151,16 +152,15 @@ atoo(astr) value += tc-'0'; } return value; - } +} #if defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DECOSF_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_OBSD_ENV) || defined(AFS_NBSD_ENV) /* * Implementation lifted from that for AIX 3.1, since there didn't seem to be any * reason why it wouldn't work. */ -static int -quickStrip (iname, oname, ignored, copy_only) -char *iname, *oname; { +static int quickStrip (char *iname, char *oname, int ignored, int copy_only) +{ int pid, status; static char *strip[] = { "strip", 0, 0, @@ -180,7 +180,7 @@ char *iname, *oname; { case 0: /* child */ copy[1] = iname; copy[2] = oname; - execve("/bin/cp", copy, (char **)0); + execve("/bin/cp", copy, NULL); perror("/bin/cp"); exit(1); @@ -226,7 +226,7 @@ char *iname, *oname; { #else #define STRIP_BIN "/bin/strip" #endif - execve(STRIP_BIN, strip, (char **)0); + execve(STRIP_BIN, strip, NULL); perror(STRIP_BIN); exit(1); @@ -241,25 +241,6 @@ char *iname, *oname; { return status; } -/* - * AIXobject - lie about file type - * - * Input: - * ignored - * - * Returns: - * !0 indicating that the file in question is an XCOFF type file. - * - * Note: - * Since /bin/strip will make that call for us, we will lie so that - * it has a chance. - */ -int -AIXobject(ignored) { - - return !0; -} - #else #ifdef AFS_AIX_ENV #ifdef AFS_AIX32_ENV @@ -267,9 +248,8 @@ AIXobject(ignored) { * whoa! back up and be a little more rational (every little bit helps in * aix_31). */ -static -quickStrip (iname, oname, ignored, copy_only) -char *iname, *oname; { +static int quickStrip (char *iname, char *oname, int ignored, int copy_only) +{ int pid, status; static char *strip[] = { "strip", 0, 0, @@ -341,31 +321,12 @@ char *iname, *oname; { return status; } -/* - * AIXobject - lie about file type - * - * Input: - * ignored - * - * Returns: - * !0 indicating that the file in question is an XCOFF type file. - * - * Note: - * Since /bin/strip will make that call for us, we will lie so that - * it has a chance. - */ -AIXobject(ignored) { - - return !0; -} #endif /* AFS_AIX32_ENV */ #else /* !AFS_AIX_ENV */ #ifdef mips #include "sex.h" -int quickStrip(fd, asize) -int fd; /* file descriptor */ -afs_int32 asize; /* ignored */ +int quickStrip(int fd, afs_int32 asize) { FILHDR fheader; int dum, newlen; @@ -417,10 +378,8 @@ afs_int32 asize; /* ignored */ return 0; } #else /* !mips */ -static int quickStrip (afd, asize) - int afd; - afs_int32 asize; { - +static int quickStrip (int afd, afs_int32 asize) +{ int n, bytesLeft; struct exec buf; struct exec *head; @@ -458,10 +417,7 @@ static int quickStrip (afd, asize) #include "AFS_component_version_number.c" -int -main (argc, argv) - int argc; - char **argv; +int main (int argc, char *argv[]) { int setOwner, setMode, setGroup, ifd, ofd; afs_int32 mode=0, owner, group; @@ -690,7 +646,7 @@ main (argc, argv) #if defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DECOSF_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_OBSD_ENV) || defined(AFS_NBSD_ENV) stripcalled = 0; if (strip == 1 || - ((strip == -1 && ((istat.st_mode & 0111) == 0111) && stripName(newNames[i])) && AIXobject(fnames[i]))) + ((strip == -1 && ((istat.st_mode & 0111) == 0111) && stripName(newNames[i])))) stripcalled = 1; if (!stripcalled) { /* Simply copy target to dest */ @@ -838,4 +794,4 @@ main (argc, argv) } /* all done now */ exit(rcode); - } +} diff --git a/src/ptserver/db_verify.c b/src/ptserver/db_verify.c index f41b03f..56df576 100644 --- a/src/ptserver/db_verify.c +++ b/src/ptserver/db_verify.c @@ -1063,7 +1063,7 @@ WorkerBee (as, arock) misc.listentries = (as->parms[3].items ? 1 : 0); /* -entries */ misc.verbose = (as->parms[4].items ? 1 : 0); /* -verbose */ recreateFile = (as->parms[5].items ? as->parms[5].items->data : - (char *)0); /* -rebuild */ + NULL); /* -rebuild */ fd = open (pr_dbaseName, O_RDONLY, 0); if (fd == -1) { @@ -1105,7 +1105,7 @@ main (argc, argv) setlinebuf(stdout); - ts=cmd_CreateSyntax((char *)0, WorkerBee, (char *)0, "PRDB check"); + ts=cmd_CreateSyntax(NULL, WorkerBee, NULL, "PRDB check"); cmd_AddParm(ts, "-database", CMD_SINGLE, CMD_REQUIRED, "ptdb_file"); cmd_AddParm(ts, "-uheader", CMD_FLAG, CMD_OPTIONAL, "Display UBIK header"); cmd_AddParm(ts, "-pheader", CMD_FLAG, CMD_OPTIONAL, "Display KADB header"); diff --git a/src/ptserver/display.c b/src/ptserver/display.c index 2806331..8b66a69 100644 --- a/src/ptserver/display.c +++ b/src/ptserver/display.c @@ -19,6 +19,13 @@ RCSID("$Header$"); #else #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include "ptserver.h" diff --git a/src/ptserver/ptprocs.c b/src/ptserver/ptprocs.c index 9336a06..10f5e2e 100644 --- a/src/ptserver/ptprocs.c +++ b/src/ptserver/ptprocs.c @@ -114,8 +114,8 @@ afs_int32 WhoIsThis (acall, at, aid) } else if (code == 2) { /* kad class */ if ((code = rxkad_GetServerInfo - (acall->conn, (afs_int32 *) 0, 0/*was &exp*/, - name, inst, tcell, (afs_int32 *) 0))) + (acall->conn, NULL, 0/*was &exp*/, + name, inst, tcell, NULL))) goto done; #if 0 /* This test is unnecessary, since rxkad_GetServerInfo already check. @@ -464,7 +464,7 @@ afs_int32 nameToID (call, aname, aid) /* Initialize return struct */ aid->idlist_len = 0; - aid->idlist_val = (afs_int32 *)0; + aid->idlist_val = NULL; size = aname->namelist_len; if (size == 0) return 0; @@ -844,7 +844,7 @@ afs_int32 getCPS (call, aid, alist, over) *over = 0; alist->prlist_len = 0; - alist->prlist_val = (afs_int32 *) 0; + alist->prlist_val = NULL; code = Initdb(); if (code != PRSUCCESS) return code; code = ubik_BeginTransReadAny(dbase,UBIK_READTRANS,&tt); @@ -925,7 +925,7 @@ afs_int32 getCPS2 (call, aid, ahost, alist, over) *over = 0; iaddr.s_addr = ntohl(ahost); alist->prlist_len = 0; - alist->prlist_val = (afs_int32 *) 0; + alist->prlist_val = NULL; code = Initdb(); if (code != PRSUCCESS) return code; code = ubik_BeginTransReadAny(dbase,UBIK_READTRANS,&tt); @@ -1004,7 +1004,7 @@ afs_int32 getHostCPS (call, ahost, alist, over) *over = 0; iaddr.s_addr = ntohl(ahost); alist->prlist_len = 0; - alist->prlist_val = (afs_int32 *) 0; + alist->prlist_val = NULL; code = Initdb(); if (code != PRSUCCESS) return code; code = ubik_BeginTransReadAny(dbase,UBIK_READTRANS,&tt); @@ -1472,7 +1472,7 @@ afs_int32 listElements (call, aid, alist, over) *over = 0; alist->prlist_len = 0; - alist->prlist_val = (afs_int32 *) 0; + alist->prlist_val = NULL; code = Initdb(); if (code != PRSUCCESS) return code; @@ -1534,7 +1534,7 @@ afs_int32 listOwned (call, aid, alist, lastP) afs_int32 start; alist->prlist_len = 0; - alist->prlist_val = (afs_int32 *) 0; + alist->prlist_val = NULL; if (!lastP) return PRBADARG; start = *lastP; @@ -1679,7 +1679,7 @@ afs_int32 addWildCards(tt,alist,host) } else continue; wlist.prlist_len = 0; - wlist.prlist_val = (afs_int32 *) 0; + wlist.prlist_val = NULL; code = GetList (tt, &tentry, &wlist, 0); if (code) return code; @@ -1729,8 +1729,8 @@ afs_int32 WhoIsThisWithName(acall, at, aid, aname) extern char *pr_realmName; if ((code = rxkad_GetServerInfo - (acall->conn, (afs_int32 *) 0, 0/*was &exp*/, - name, inst, tcell, (afs_int32 *) 0))) + (acall->conn, NULL, 0/*was &exp*/, + name, inst, tcell, NULL))) goto done; strncpy (vname, name, sizeof(vname)); if ((ilen = strlen(inst))) { diff --git a/src/ptserver/ptserver.c b/src/ptserver/ptserver.c index e03a856..9047d2b 100644 --- a/src/ptserver/ptserver.c +++ b/src/ptserver/ptserver.c @@ -66,7 +66,7 @@ char *pr_realmName; int pr_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(prdir, call, (char *)0); + return afsconf_SuperUser(prdir, call, NULL); } void main (argc, argv) @@ -79,8 +79,6 @@ void main (argc, argv) char hostname[64]; struct rx_service *tservice; struct rx_securityClass *sc[3]; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); - extern struct rx_securityClass *rxkad_NewServerSecurityObject(); extern int RXSTATS_ExecuteRequest(); extern int PR_ExecuteRequest(); #if 0 @@ -213,7 +211,7 @@ void main (argc, argv) memcpy(&myHost, th->h_addr, sizeof(afs_int32)); /* get list of servers */ - code = afsconf_GetExtendedCellInfo(prdir,(char *)0,"afsprot", + code = afsconf_GetExtendedCellInfo(prdir,NULL,"afsprot", &info, &clones); if (code) { com_err (whoami, code, "Couldn't get server list"); @@ -264,7 +262,7 @@ void main (argc, argv) sc[1] = 0; if (kerberosKeys) { sc[2] = rxkad_NewServerSecurityObject - (0, prdir, afsconf_GetKey, (char *)0); + (0, prdir, afsconf_GetKey, NULL); } else sc[2] = sc[0]; diff --git a/src/ptserver/ptuser.c b/src/ptserver/ptuser.c index 70b4839..3a10619 100644 --- a/src/ptserver/ptuser.c +++ b/src/ptserver/ptuser.c @@ -160,7 +160,7 @@ afs_int32 pr_Initialize (secLevel, confDir, cell) strcpy(sname.cell,info.name); sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), NULL); if (code) scIndex = 0; else { if (ttoken.kvno >= 0 && ttoken.kvno <= 255) @@ -172,14 +172,14 @@ afs_int32 pr_Initialize (secLevel, confDir, cell) ttoken.kvno); scIndex = 2; } - sc[2] = (struct rx_securityClass *) rxkad_NewClientSecurityObject + sc[2] = rxkad_NewClientSecurityObject (rxkad_clear, &ttoken.sessionKey, ttoken.kvno, ttoken.ticketLen, ttoken.ticket); } } if (scIndex == 1) return PRBADARG; if ((scIndex == 0) && (sc[0] == 0)) - sc[0] = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc[0] = rxnull_NewClientSecurityObject(); if ((scIndex == 0) && (secLevel != 0)) com_err (whoami, code, "Could not get afs tokens, running unauthenticated."); @@ -552,7 +552,7 @@ afs_int32 pr_ListEntries(flag, startindex, nentries, entries, nextstartindex) prentries bulkentries; *nentries = 0; - *entries = (struct prlistentries *)0; + *entries = NULL; *nextstartindex = -1; bulkentries.prentries_val = 0; bulkentries.prentries_len = 0; diff --git a/src/ptserver/testpt.c b/src/ptserver/testpt.c index 9fab0c3..5d6c500 100644 --- a/src/ptserver/testpt.c +++ b/src/ptserver/testpt.c @@ -75,7 +75,7 @@ ListUsedIds (as, arock) if (as->parms[1].items) number = atoi (as->parms[1].items->data); if (as->parms[2].items) unused = 1; - code = pr_Initialize(1, conf_dir,(char *)0); + code = pr_Initialize(1, conf_dir,NULL); if (code) { com_err (whoami, code, "initializing pruser"); exit (1); @@ -402,7 +402,7 @@ TestManyMembers (as, arock) afs_int32 code; - code = pr_Initialize(1, conf_dir,(char *)0); + code = pr_Initialize(1, conf_dir,NULL); if (code) { com_err (whoami, code, "initializing pruser"); exit (1); @@ -723,7 +723,7 @@ TestPrServ (as, arock) int i,j; int maxLen = PR_MAXNAMELEN-1 - strlen(lcell) - 1; - code = pr_Initialize(1, conf_dir,(char *)0); + code = pr_Initialize(1, conf_dir,NULL); if (code) { com_err (whoami, code, "initializing pruser"); exit (1); @@ -1024,8 +1024,8 @@ main (argc, argv) } #endif - cmd_SetBeforeProc(MyBeforeProc, (char *)0); - cmd_SetAfterProc(MyAfterProc, (char *)0); + cmd_SetBeforeProc(MyBeforeProc, NULL); + cmd_SetAfterProc(MyAfterProc, NULL); ts = cmd_CreateSyntax("usedIds", ListUsedIds, 0, "Find used (or unused) user (or group) ids"); cmd_AddParm (ts, "-startId", CMD_SINGLE, CMD_OPTIONAL, "id to start checking"); diff --git a/src/ptserver/ubik.c b/src/ptserver/ubik.c index cc531f6..070d877 100644 --- a/src/ptserver/ubik.c +++ b/src/ptserver/ubik.c @@ -8,6 +8,14 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #define UBIK_INTERNALS #include diff --git a/src/rcp/rcp.c b/src/rcp/rcp.c index bd1febf..609b9f9 100644 --- a/src/rcp/rcp.c +++ b/src/rcp/rcp.c @@ -360,9 +360,9 @@ susystem(s) if ((pid = vfork()) == 0) { (void) setuid(userid); #ifdef AFS_OSF_ENV - execl(_PATH_BSHELL, "sh", "-c", s, (char *)0); + execl(_PATH_BSHELL, "sh", "-c", s, NULL); #else - execl("/bin/sh", "sh", "-c", s, (char *)0); + execl("/bin/sh", "sh", "-c", s, NULL); #endif _exit(127); } @@ -760,7 +760,7 @@ allocbuf(bp, fd, blksize) if (fstat(fd, &stb) < 0) { error("rcp: fstat: %s\n", sys_errlist[errno]); - return ((struct buffer *)0); + return (NULL); } #if defined(AIX) || defined(AFS_SUN5_ENV) size = blksize; @@ -775,7 +775,7 @@ allocbuf(bp, fd, blksize) bp->buf = (char *)malloc((unsigned) size); if (bp->buf == 0) { error("rcp: malloc: out of memory\n"); - return ((struct buffer *)0); + return (NULL); } } bp->cnt = size; diff --git a/src/rlogind/rexecd.c b/src/rlogind/rexecd.c index 886f2ef..a194573 100644 --- a/src/rlogind/rexecd.c +++ b/src/rlogind/rexecd.c @@ -125,7 +125,7 @@ doit(f, fromp) #ifdef DEBUG { int t = open("/dev/tty", 2); if (t >= 0) { - ioctl(t, TIOCNOTTY, (char *)0); + ioctl(t, TIOCNOTTY, NULL); (void) close(t); } } @@ -191,8 +191,8 @@ doit(f, fromp) if(ka_UserAuthenticateGeneral( KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, user, /* kerberos name */ - (char *)0, /* instance */ - (char *)0, /* realm */ + NULL, /* instance */ + NULL, /* realm */ pass, /* password */ 0, /* default lifetime */ &password_expires, @@ -248,7 +248,7 @@ doit(f, fromp) break; ready = readfrom; (void) select(maxfd+1, &ready, (fd_set *)0, - (fd_set *)0, (struct timeval *)0); + (fd_set *)0, NULL); if (FD_ISSET(s, &ready)) { if (read(s, &sig, 1) <= 0) FD_CLR(s, &readfrom); diff --git a/src/rlogind/rlogind.c b/src/rlogind/rlogind.c index fd6ae97..6d62d2c 100644 --- a/src/rlogind/rlogind.c +++ b/src/rlogind/rlogind.c @@ -243,11 +243,11 @@ main(argc, argv) sa.sa_mask.losigs = sigmask(SIGUSR2); sa.sa_handler = trace_handler; sa.sa_flags = SA_RESTART; - sigaction(SIGUSR1, &sa, (struct sigaction *)0); + sigaction(SIGUSR1, &sa, NULL); sa.sa_mask.losigs = sigmask(SIGUSR1); sa.sa_handler = trace_handler; sa.sa_flags = SA_RESTART; - sigaction(SIGUSR2, &sa, (struct sigaction *)0); + sigaction(SIGUSR2, &sa, NULL); #endif #ifdef AFS_OSF_ENV on = IPTOS_LOWDELAY; @@ -462,7 +462,7 @@ doit(f, fromp) setup_term(0); if (authenticated) { execl(_PATH_LOGIN, "login", "-p", - "-h", hp->h_name, "-f", lusername, (char *)0); + "-h", hp->h_name, "-f", lusername, NULL); } else { char *sp = lusername; while (*sp == ' ') sp++; @@ -471,7 +471,7 @@ doit(f, fromp) exit(1); } execl(_PATH_LOGIN, "login", "-p", - "-h", hp->h_name, lusername, (char *)0); + "-h", hp->h_name, lusername, NULL); } fatalperror(2, _PATH_LOGIN); /*NOTREACHED*/ @@ -747,9 +747,9 @@ gotpty: struct sigaction sa; memset((char *)&sa, 0, sizeof(sa)); sa.sa_handler = SIG_DFL; - sigaction(SIGQUIT, &sa, (struct sigaction *)0); + sigaction(SIGQUIT, &sa, NULL); sa.sa_handler = SIG_DFL; - sigaction(SIGHUP, &sa, (struct sigaction *)0); + sigaction(SIGHUP, &sa, NULL); } t = open(line, O_RDWR); @@ -782,10 +782,10 @@ gotpty: memset((char *)&sa, 0, sizeof(sa)); sa.sa_mask.losigs = sigmask(SIGUSR2); sa.sa_handler = trace_handler; - sigaction(SIGUSR1, &sa, (struct sigaction *)0); + sigaction(SIGUSR1, &sa, NULL); sa.sa_mask.losigs = sigmask(SIGUSR1); sa.sa_handler = trace_handler; - sigaction(SIGUSR2, &sa, (struct sigaction *)0); + sigaction(SIGUSR2, &sa, NULL); } (void) loginlog(lusername, line, hp->h_name); @@ -2075,7 +2075,7 @@ char *mname, *sname; } - for (loc=0; ptymdirs[loc] != (char *) 0; loc++) { + for (loc=0; ptymdirs[loc] != NULL; loc++) { if (stat(ptymdirs[loc], &stb)) /* no directory ... */ continue; /* so try next one */ @@ -2132,9 +2132,9 @@ char *mname, *sname; /* else we got both a master and a slave pty */ got_one: (void) chmod (ptysloc, 0622); /* not readable */ - if (mname != (char *) 0) + if (mname != NULL) (void) strcpy(mname, ptymloc); - if (sname != (char *) 0) + if (sname != NULL) (void) strcpy(sname, ptysloc); return 0; /* return OK */ } @@ -2188,7 +2188,7 @@ got_one: (void) chmod (ptysloc, 0622); /* not readable */ } } /* we failed in our search--we now try the slow brute-force method */ - for (loc=0; ptymdirs[loc] != (char *) 0; loc++) { + for (loc=0; ptymdirs[loc] != NULL; loc++) { DIR *dirp; struct dirent *dp; @@ -2291,9 +2291,9 @@ char *mname, *sname; /* else we got both a master and a slave pty */ (void) chmod (ptysloc, 0622); /* not readable */ - if (mname != (char *) 0) + if (mname != NULL) (void) strcpy(mname, ptymloc); - if (sname != (char *) 0) + if (sname != NULL) (void) strcpy(sname, ptysloc); return 0; /* return OK */ } diff --git a/src/rx/AIX/rx_knet.c b/src/rx/AIX/rx_knet.c index 3f4a086..6bab2e8 100644 --- a/src/rx/AIX/rx_knet.c +++ b/src/rx/AIX/rx_knet.c @@ -266,7 +266,7 @@ void shutdown_rxkernel(void) if (rxk_ports[i]) { rxk_ports[i] = 0; soclose((struct socket *)rxk_portRocks[i]); - rxk_portRocks[i] = (char *)0; + rxk_portRocks[i] = NULL; } } } @@ -353,7 +353,7 @@ int istack; if (!top) { m->m_flags |= M_PKTHDR; /* XXX - temp */ m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m->m_pkthdr.rcvif = NULL; } /* @@ -407,7 +407,7 @@ int istack; } tm = top; - tm->m_act = (struct mbuf *) 0; + tm->m_act = NULL; /* setup mbuf corresponding to destination address */ MGETHDR(um, M_DONTWAIT, MT_SONAME); diff --git a/src/rx/DARWIN/rx_knet.c b/src/rx/DARWIN/rx_knet.c index f069eed..4f45512 100644 --- a/src/rx/DARWIN/rx_knet.c +++ b/src/rx/DARWIN/rx_knet.c @@ -14,13 +14,10 @@ RCSID("$Header$"); #include "../rx/rx_kcommon.h" -int osi_NetReceive(asocket, addr, dvec, nvecs, alength) - struct socket *asocket; - struct sockaddr_in *addr; - struct iovec *dvec; - int nvecs; - int *alength; +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) { + struct socket *asocket = (struct socket *)so; struct uio u; int i; struct iovec iov[RX_MAXIOVECS]; diff --git a/src/rx/DUX/rx_knet.c b/src/rx/DUX/rx_knet.c index 611368c..ed10a3c 100644 --- a/src/rx/DUX/rx_knet.c +++ b/src/rx/DUX/rx_knet.c @@ -66,7 +66,7 @@ static void rxk_input (struct mbuf *am, int iphlen) /* make sure we have base ip and udp headers in first mbuf */ if (iphlen > sizeof (struct ip)) { - ip_stripoptions(am, (struct mbuf *)0, (struct ipoption *)0); + ip_stripoptions(am, NULL, NULL); iphlen = sizeof (struct ip); } @@ -251,7 +251,7 @@ osi_NetSend(asocket, addr, dvec, nvec, asize, istack) } mlen = MHLEN; m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m->m_pkthdr.rcvif = NULL; } else MGET(m, M_DONTWAIT, MT_DATA); if (!m) { @@ -317,7 +317,7 @@ nopages: } tm = top; - tm->m_act = (struct mbuf *) 0; + tm->m_act = NULL; /* setup mbuf corresponding to destination address */ um = m_get(M_DONTWAIT, MT_SONAME); diff --git a/src/rx/FBSD/rx_knet.c b/src/rx/FBSD/rx_knet.c index 91dee14..357655c 100644 --- a/src/rx/FBSD/rx_knet.c +++ b/src/rx/FBSD/rx_knet.c @@ -30,13 +30,10 @@ RCSID("$Header$"); #ifdef RXK_LISTENER_ENV -int osi_NetReceive(asocket, addr, dvec, nvecs, alength) - struct socket *asocket; - struct sockaddr_in *addr; - struct iovec *dvec; - int nvecs; - int *alength; -{ +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) +{ + struct socket *asocket = (struct socket *)so; struct uio u; int i; struct iovec iov[RX_MAXIOVECS]; @@ -212,7 +209,7 @@ static void rxk_input (struct mbuf *am, int iphlen) /* make sure we have base ip and udp headers in first mbuf */ if (iphlen > sizeof (struct ip)) { - ip_stripoptions(am, (struct mbuf *)0); + ip_stripoptions(am, NULL); iphlen = sizeof (struct ip); } @@ -402,7 +399,7 @@ osi_NetSend(asocket, addr, dvec, nvec, asize, istack) } mlen = MHLEN; m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = (struct ifnet *)0; + m->m_pkthdr.rcvif = NULL; } else MGET(m, M_DONTWAIT, MT_DATA); if (!m) { @@ -467,7 +464,7 @@ nopages: } tm = top; - tm->m_act = (struct mbuf *) 0; + tm->m_act = NULL; /* setup mbuf corresponding to destination address */ um = m_get(M_DONTWAIT, MT_SONAME); diff --git a/src/rx/HPUX/rx_knet.c b/src/rx/HPUX/rx_knet.c index 625ab53..6fd16c9 100644 --- a/src/rx/HPUX/rx_knet.c +++ b/src/rx/HPUX/rx_knet.c @@ -108,7 +108,7 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) if (am->m_off > MMAXOFF || am->m_len < 28) { am = m_pullup(am, 28); USERPRI; - if (!am) return (struct mbuf *)0; + if (!am) return NULL; } hdr = (mtod(am, struct ip *))->ip_hl; if (hdr > 5) { @@ -116,7 +116,7 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) if (am->m_len < (8 + (hdr<<2))) { am = m_pullup(am, 8+(hdr<<2)); USERPRI; - if (!am) return (struct mbuf *)0; + if (!am) return NULL; } ti = mtod(am, struct ip *); /* recompute, since m_pullup allocates new mbuf */ tu = (struct udphdr *)(((char *)ti) + (hdr<<2)); /* skip ip hdr */ @@ -132,7 +132,7 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) for(tsp=ports, i=0; iuh_sport; @@ -169,7 +169,7 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) this packet is bad */ m_freem(am); USERPRI; - return((struct mbuf *)0); + return(NULL); } } /* @@ -192,7 +192,7 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) } else m_freem(am); USERPRI; - return((struct mbuf *)0); + return(NULL); } } } @@ -204,19 +204,13 @@ static struct mbuf *rxk_input (register struct mbuf *am, struct ifnet *aif) return code; } USERPRI; - return((struct mbuf *)0); + return(NULL); } #endif /* ! RXK_LISTENER_ENV */ /* steal decl from sgi_65 */ -int -osi_NetSend(asocket, addr, dvec, nvec, asize, istack) - register struct socket *asocket; - struct iovec *dvec; - int nvec; - register afs_int32 asize; - struct sockaddr_in *addr; - int istack; +int osi_NetSend(register struct socket *asocket, struct sockaddr_in *addr, + struct iovec *dvec, int nvec, register afs_int32 asize, int istack) { struct uio uio; MBLKP bp; @@ -246,31 +240,31 @@ osi_NetSend(asocket, addr, dvec, nvec, asize, istack) /* pattern from IRIX */ #if defined(RXK_LISTENER_ENV) -int osi_NetReceive(struct socket *so, struct sockaddr_in *from, - struct iovec *iov, int iovcnt, int *lengthp) -{ +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) +{ int code; struct uio tuio; struct iovec tmpvec[RX_MAXWVECS+2]; int flags = 0; MBLKP bp, sp; - if (iovcnt > RX_MAXWVECS+2) { - osi_Panic("Too many (%d) iovecs passed to osi_NetReceive\n", iovcnt); + if (nvecs > RX_MAXWVECS+2) { + osi_Panic("Too many (%d) iovecs passed to osi_NetReceive\n", nvecs); } - memcpy(tmpvec, (char*)iov, iovcnt/*(RX_MAXWVECS+1)*/ * sizeof(struct iovec)); + memcpy(tmpvec, (char*)dvec, nvecs/*(RX_MAXWVECS+1)*/ * sizeof(struct iovec)); tuio.uio_iov = tmpvec; - tuio.uio_iovcnt = iovcnt; + tuio.uio_iovcnt = nvecs; tuio.uio_fpflags = 0; tuio.uio_offset = 0; tuio.uio_seg = UIOSEG_KERNEL; - tuio.uio_resid = *lengthp; + tuio.uio_resid = *alength; code = soreceive(so, &bp, &tuio, &flags, &sp, (MBLKPP)NULL); if (!code) { - *lengthp = *lengthp - tuio.uio_resid; + *alength = *alength - tuio.uio_resid; if (bp) { - memcpy((char*)from, (char*)bp->b_rptr, sizeof(struct sockaddr_in)); + memcpy((char*)addr, (char*)bp->b_rptr, sizeof(struct sockaddr_in)); } else { code = -1; } diff --git a/src/rx/IRIX/rx_knet.c b/src/rx/IRIX/rx_knet.c index 4128f9e..c6abbaf 100644 --- a/src/rx/IRIX/rx_knet.c +++ b/src/rx/IRIX/rx_knet.c @@ -43,9 +43,10 @@ RCSID("$Header$"); int rxk_lastSocketError = 0; int rxk_nSocketErrors = 0; int rxk_nSignalsCleared = 0; -int osi_NetReceive(osi_socket so, struct sockaddr_in *from, - struct iovec *iov, int iovcnt, int *lengthp) -{ + +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) +{ struct uio tuio; int code; struct mbuf *maddr = NULL; @@ -57,18 +58,18 @@ int osi_NetReceive(osi_socket so, struct sockaddr_in *from, #endif tuio.uio_iov = tmpvec; - tuio.uio_iovcnt = iovcnt; + tuio.uio_iovcnt = nvecs; tuio.uio_offset = 0; tuio.uio_segflg = AFS_UIOSYS; tuio.uio_fmode = 0; - tuio.uio_resid = *lengthp; + tuio.uio_resid = *alength; tuio.uio_pio = 0; tuio.uio_pbuf = 0; - if (iovcnt > RX_MAXWVECS+2) { - osi_Panic("Too many (%d) iovecs passed to osi_NetReceive\n", iovcnt); + if (nvecs > RX_MAXWVECS+2) { + osi_Panic("Too many (%d) iovecs passed to osi_NetReceive\n", nvecs); } - memcpy(tmpvec, (char*)iov, (RX_MAXWVECS+1) * sizeof(struct iovec)); + memcpy(tmpvec, (char*)dvec, (RX_MAXWVECS+1) * sizeof(struct iovec)); #ifdef AFS_SGI65_ENV code = soreceive(&bhv, &maddr, &tuio, NULL, NULL); #else @@ -101,7 +102,7 @@ int osi_NetReceive(osi_socket so, struct sockaddr_in *from, m_freem(maddr); } else { - *lengthp = *lengthp - tuio.uio_resid; + *alength = *alength - tuio.uio_resid; if (maddr) { memcpy((char*)from, (char*)mtod(maddr, struct sockaddr_in *), sizeof(struct sockaddr_in)); @@ -544,7 +545,7 @@ osi_NetSend(asocket, addr, dvec, nvec, asize, istack) } tm = top; - tm->m_act = (struct mbuf *) 0; + tm->m_act = NULL; /* setup mbuf corresponding to destination address */ um = m_get(M_DONTWAIT, MT_SONAME); diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 235253a..de29795 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -58,8 +58,7 @@ struct osi_socket *rxk_NewSocket(short aport) /* free socket allocated by osi_NetSocket */ -int rxk_FreeSocket(asocket) - register struct socket *asocket; +int rxk_FreeSocket(register struct socket *asocket) { AFS_STATCNT(osi_FreeSocket); return 0; diff --git a/src/rx/Makefile.in b/src/rx/Makefile.in index cde490d..f34b9a8 100644 --- a/src/rx/Makefile.in +++ b/src/rx/Makefile.in @@ -24,7 +24,7 @@ XDROBJS_djgpp = xdr_rec.o xdr_stdio.o \ RXOBJS_common = rx_clock.o rx_event.o rx_user.o rx_lwp.o rx.o rx_null.o \ rx_globals.o rx_getaddr.o rx_misc.o rx_packet.o rx_rdwr.o rx_trace.o \ - rx_conncache.o xdr_int64.o + rx_conncache.o xdr_int32.o xdr_int64.o RXOBJS = ${RXOBJS_common} RXOBJS_djgpp = ${RXOBJS_common} rx_xmit_nt.o @@ -44,9 +44,9 @@ LIBS=librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libcmd.a \ KSRCS = rx.c rx.h rx_clock.c rx_clock.h rx_event.c rx_event.h \ rx_globals.c rx_globals.h rx_kernel.h rx_misc.h \ rx_null.c rx_null.h rx_queue.h rx_getaddr.c rx_packet.c rx_packet.h \ - rx_multi.h rx_kcommon.h rx_kcommon.c \ + rx_multi.h rx_kcommon.h rx_kcommon.c rx_prototypes.h \ xdr.c xdr.h xdr_array.c xdr_arrayn.c xdr_rx.c rx_misc.c rx_rdwr.c \ - xdr_afsuuid.c rx_trace.h xdr_int64.c + xdr_afsuuid.c rx_trace.h xdr_int64.c xdr_int32.c xdr_prototypes.h UKSRCS = $(KSRCS) rx_conncache.c all: \ @@ -63,33 +63,33 @@ RX_component_version_number.c: AFS_component_version_number.c RX_component_version_number.o: RX_component_version_number.c -${RXOBJS}: ${BASICINCLS} rx.h rx_user.h rx_globals.h +${RXOBJS}: ${BASICINCLS} rx.h rx_user.h rx_globals.h rx_prototypes.h -${MULTIOBJS}: rx.h rx_multi.h +${MULTIOBJS}: rx.h rx_multi.h rx_prototypes.h -${XDROBJS}: xdr.h +${XDROBJS}: xdr.h xdr_prototypes.h -rxperf.o: rx.h rx_null.h rx_globals.h +rxperf.o: rx.h rx_null.h rx_globals.h rx_prototypes.h -rx_user.o: rx.h rx_user.h +rx_user.o: rx.h rx_user.h rx_prototypes.h rx_packet.o: rx_packet.c rx_packet.h -rx_rdwr.o: rx_rdwr.c rx.h +rx_rdwr.o: rx_rdwr.c rx.h rx_prototypes.h -rx.o: rx.h rx_user.h +rx.o: rx.h rx_user.h rx_prototypes.h -rx_conncache.o: rx.h +rx_conncache.o: rx.h rx_prototypes.h rx_trace.o: rx_trace.h -rx_getaddr.o: rx.h rx_getaddr.c +rx_getaddr.o: rx.h rx_getaddr.c rx_prototypes.h -rx_globals.o: rx.h rx_user.h rx_globals.h +rx_globals.o: rx.h rx_user.h rx_globals.h rx_prototypes.h -xdr_rx.o: xdr.h rx.h +xdr_rx.o: xdr.h rx.h xdr_prototypes.h rx_prototypes.h -xdr_refernce.o: xdr_refernce.c xdr.h +xdr_refernce.o: xdr_refernce.c xdr.h xdr_prototypes.h rxperf: rxperf.o librx.a ${CC} -o $@ rxperf.o ${LIBS} @@ -110,6 +110,7 @@ librx-djgpp.a: ${LIBOBJS_djgpp} RX_component_version_number.o includes: \ ${TOP_INCDIR}/rx/rx_packet.h \ + ${TOP_INCDIR}/rx/rx_prototypes.h \ ${TOP_INCDIR}/rx/rx.h \ ${TOP_INCDIR}/rx/rx_user.h \ ${TOP_INCDIR}/rx/rx_event.h \ @@ -121,7 +122,8 @@ includes: \ ${TOP_INCDIR}/rx/rx_lwp.h \ ${TOP_INCDIR}/rx/rx_misc.h \ ${TOP_INCDIR}/rx/rx_null.h \ - ${TOP_INCDIR}/rx/xdr.h + ${TOP_INCDIR}/rx/xdr.h \ + ${TOP_INCDIR}/rx/xdr_prototypes.h ${TOP_LIBDIR}/librx.a: librx.a ${INSTALL} $? $@ @@ -133,6 +135,9 @@ ${TOP_LIBDIR}/librx-djgpp.a: librx-djgpp.a ${TOP_INCDIR}/rx/rx_packet.h: rx_packet.h ${INSTALL} $? $@ +${TOP_INCDIR}/rx/rx_prototypes.h: rx_prototypes.h + ${INSTALL} $? $@ + ${TOP_INCDIR}/rx/rx.h: rx.h ${INSTALL} $? $@ @@ -169,6 +174,9 @@ ${TOP_INCDIR}/rx/rx_null.h: rx_null.h ${TOP_INCDIR}/rx/xdr.h: xdr.h ${INSTALL} $? $@ +${TOP_INCDIR}/rx/xdr_prototypes.h: xdr_prototypes.h + ${INSTALL} $? $@ + ${TOP_INCDIR}/rx/rx_xmit_nt.h: rx_xmit_nt.h ${INSTALL} $? $@ @@ -196,6 +204,7 @@ kinstall: \ ${KERNELDIR}/rx/rx_null.h \ ${KERNELDIR}/rx/rx_packet.c \ ${KERNELDIR}/rx/rx_packet.h \ + ${KERNELDIR}/rx/rx_prototypes.h \ ${KERNELDIR}/rx/rx_queue.h \ ${KERNELDIR}/rx/rx_rdwr.c \ ${KERNELDIR}/rx/rx_trace.h \ @@ -204,6 +213,8 @@ kinstall: \ ${KERNELDIR}/rx/xdr_arrayn.c \ ${KERNELDIR}/rx/xdr.c \ ${KERNELDIR}/rx/xdr.h \ + ${KERNELDIR}/rx/xdr_prototypes.h \ + ${KERNELDIR}/rx/xdr_int32.c \ ${KERNELDIR}/rx/xdr_int64.c \ ${KERNELDIR}/rx/xdr_rx.c @@ -232,6 +243,7 @@ ukinstall: \ ${UKERNELDIR}/rx/rx_null.h \ ${UKERNELDIR}/rx/rx_packet.c \ ${UKERNELDIR}/rx/rx_packet.h \ + ${UKERNELDIR}/rx/rx_prototypes.h \ ${UKERNELDIR}/rx/rx_queue.h \ ${UKERNELDIR}/rx/rx_rdwr.c \ ${UKERNELDIR}/rx/rx_trace.h \ @@ -240,6 +252,8 @@ ukinstall: \ ${UKERNELDIR}/rx/xdr_arrayn.c \ ${UKERNELDIR}/rx/xdr.c \ ${UKERNELDIR}/rx/xdr.h \ + ${UKERNELDIR}/rx/xdr_prototypes.h \ + ${UKERNELDIR}/rx/xdr_int32.c \ ${UKERNELDIR}/rx/xdr_int64.c \ ${UKERNELDIR}/rx/xdr_rx.c @@ -316,6 +330,9 @@ ${KERNELDIR}/rx/rx_packet.c: rx_packet.c ${KERNELDIR}/rx/rx_packet.h: rx_packet.h ${INSTALL} $? $@ +${KERNELDIR}/rx/rx_prototypes.h: rx_prototypes.h + ${INSTALL} $? $@ + ${KERNELDIR}/rx/rx_queue.h: rx_queue.h ${INSTALL} $? $@ @@ -340,6 +357,12 @@ ${KERNELDIR}/rx/xdr.c: xdr.c ${KERNELDIR}/rx/xdr.h: xdr.h ${INSTALL} $? $@ +${KERNELDIR}/rx/xdr_prototypes.h: xdr_prototypes.h + ${INSTALL} $? $@ + +${KERNELDIR}/rx/xdr_int32.c: xdr_int32.c + ${INSTALL} $? $@ + ${KERNELDIR}/rx/xdr_int64.c: xdr_int64.c ${INSTALL} $? $@ @@ -415,6 +438,9 @@ ${UKERNELDIR}/rx/rx_packet.c: rx_packet.c ${UKERNELDIR}/rx/rx_packet.h: rx_packet.h ${INSTALL} $? $@ +${UKERNELDIR}/rx/rx_prototypes.h: rx_prototypes.h + ${INSTALL} $? $@ + ${UKERNELDIR}/rx/rx_queue.h: rx_queue.h ${INSTALL} $? $@ @@ -439,6 +465,12 @@ ${UKERNELDIR}/rx/xdr.c: xdr.c ${UKERNELDIR}/rx/xdr.h: xdr.h ${INSTALL} $? $@ +${UKERNELDIR}/rx/xdr_prototypes.h: xdr_prototypes.h + ${INSTALL} $? $@ + +${UKERNELDIR}/rx/xdr_int32.c: xdr_int32.c + ${INSTALL} $? $@ + ${UKERNELDIR}/rx/xdr_int64.c: xdr_int64.c ${INSTALL} $? $@ @@ -448,6 +480,7 @@ ${UKERNELDIR}/rx/xdr_rx.c: xdr_rx.c install: \ ${DESTDIR}${libdir}/librx.a \ ${DESTDIR}${includedir}/rx/rx_packet.h \ + ${DESTDIR}${includedir}/rx/rx_prototypes.h \ ${DESTDIR}${includedir}/rx/rx.h \ ${DESTDIR}${includedir}/rx/rx_user.h \ ${DESTDIR}${includedir}/rx/rx_event.h \ @@ -459,7 +492,8 @@ install: \ ${DESTDIR}${includedir}/rx/rx_lwp.h \ ${DESTDIR}${includedir}/rx/rx_misc.h \ ${DESTDIR}${includedir}/rx/rx_null.h \ - ${DESTDIR}${includedir}/rx/xdr.h + ${DESTDIR}${includedir}/rx/xdr.h \ + ${DESTDIR}${includedir}/rx/xdr_prototypes.h ${DESTDIR}${libdir}/librx.a: librx.a ${INSTALL} $? $@ @@ -467,6 +501,9 @@ ${DESTDIR}${libdir}/librx.a: librx.a ${DESTDIR}${includedir}/rx/rx_packet.h: rx_packet.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/rx/rx_prototypes.h: rx_prototypes.h + ${INSTALL} $? $@ + ${DESTDIR}${includedir}/rx/rx.h: rx.h ${INSTALL} $? $@ @@ -500,12 +537,15 @@ ${DESTDIR}${includedir}/rx/rx_misc.h: rx_misc.h ${DESTDIR}${includedir}/rx/rx_null.h: rx_null.h ${INSTALL} $? $@ -${DESTDIR}${includedir}/rx/xdr.h: xdr.h +${DESTDIR}${includedir}/rx/xdr_prototypes.h: xdr_prototypes.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/rx/xdr.h: xdr.h + ${INSTALL} $? $@ dest: ${DEST}/lib/librx.a \ ${DEST}/include/rx/rx_packet.h \ + ${DEST}/include/rx/rx_prototypes.h \ ${DEST}/include/rx/rx.h \ ${DEST}/include/rx/rx_user.h \ ${DEST}/include/rx/rx_event.h \ @@ -517,7 +557,8 @@ dest: ${DEST}/lib/librx.a \ ${DEST}/include/rx/rx_lwp.h \ ${DEST}/include/rx/rx_misc.h \ ${DEST}/include/rx/rx_null.h \ - ${DEST}/include/rx/xdr.h + ${DEST}/include/rx/xdr.h \ + ${DEST}/include/rx/xdr_prototypes.h ${DEST}/lib/librx.a: librx.a ${INSTALL} $? $@ @@ -525,6 +566,9 @@ ${DEST}/lib/librx.a: librx.a ${DEST}/include/rx/rx_packet.h: rx_packet.h ${INSTALL} $? $@ +${DEST}/include/rx/rx_prototypes.h: rx_prototypes.h + ${INSTALL} $? $@ + ${DEST}/include/rx/rx.h: rx.h ${INSTALL} $? $@ @@ -561,6 +605,9 @@ ${DEST}/include/rx/rx_null.h: rx_null.h ${DEST}/include/rx/xdr.h: xdr.h ${INSTALL} $? $@ +${DEST}/include/rx/xdr_prototypes.h: xdr_prototypes.h + ${INSTALL} $? $@ + # # Misc. targets # diff --git a/src/rx/NBSD/rx_knet.c b/src/rx/NBSD/rx_knet.c index f069eed..543b84b 100644 --- a/src/rx/NBSD/rx_knet.c +++ b/src/rx/NBSD/rx_knet.c @@ -14,13 +14,10 @@ RCSID("$Header$"); #include "../rx/rx_kcommon.h" -int osi_NetReceive(asocket, addr, dvec, nvecs, alength) - struct socket *asocket; - struct sockaddr_in *addr; - struct iovec *dvec; - int nvecs; - int *alength; -{ +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) +{ + struct socket *asocket = (struct socket *)so; struct uio u; int i; struct iovec iov[RX_MAXIOVECS]; diff --git a/src/rx/SOLARIS/rx_knet.c b/src/rx/SOLARIS/rx_knet.c index bd2f1fa..4779594 100644 --- a/src/rx/SOLARIS/rx_knet.c +++ b/src/rx/SOLARIS/rx_knet.c @@ -131,9 +131,7 @@ rxi_GetIFInfo() return different; } -int -rxi_FindIfMTU(addr) - afs_uint32 addr; +int rxi_FindIfMTU(afs_uint32 addr) { ill_t *ill; ipif_t *ipif; @@ -287,8 +285,7 @@ struct osi_socket *rxk_NewSocket(short aport) return (struct osi_socket *)so; } -int osi_FreeSocket(asocket) - register struct osi_socket *asocket; +int osi_FreeSocket(register struct osi_socket *asocket) { extern int rxk_ListenerPid; struct sonode *so = (struct sonode *)asocket; @@ -315,13 +312,8 @@ int osi_FreeSocket(asocket) return 0; } -int osi_NetSend(asocket, addr, dvec, nvecs, asize, istack) - struct osi_socket *asocket; - struct sockaddr_in *addr; - struct iovec dvec[]; - int nvecs; - afs_int32 asize; - int istack; +int osi_NetSend(struct osi_socket *asocket, struct sockaddr_in *addr, + struct iovec dvec[], int nvecs, afs_int32 asize, int istack) { struct sonode *so = (struct sonode *)asocket; struct nmsghdr msg; @@ -359,14 +351,10 @@ int osi_NetSend(asocket, addr, dvec, nvecs, asize, istack) return error; } -int osi_NetReceive(asocket, addr, dvec, nvecs, alength) - struct osi_socket *asocket; - struct sockaddr_in *addr; - struct iovec *dvec; - int nvecs; - int *alength; -{ - struct sonode *so = (struct sonode *)asocket; +int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec, + int nvecs, int *alength) +{ + struct sonode *asocket = (struct sonode *)so; struct nmsghdr msg; struct uio uio; struct iovec iov[RX_MAXIOVECS]; @@ -397,7 +385,7 @@ int osi_NetReceive(asocket, addr, dvec, nvecs, alength) uio.uio_limit = 0; uio.uio_resid = *alength; - error = sockfs_sorecvmsg(so, &msg, &uio); + error = sockfs_sorecvmsg(asocket, &msg, &uio); if (error == 0) { if (msg.msg_name == NULL) { error = -1; @@ -534,8 +522,7 @@ struct osi_socket *rxk_NewSocket(short aport) } -int osi_FreeSocket(asocket) - register struct osi_socket *asocket; +int osi_FreeSocket(register struct osi_socket *asocket) { extern int rxk_ListenerPid; TIUSER *udp_tiptr = (TIUSER *) asocket; @@ -549,13 +536,8 @@ int osi_FreeSocket(asocket) } -int osi_NetSend(asocket, addr, dvec, nvecs, asize, istack) - register struct osi_socket *asocket; - struct iovec dvec[]; - int nvecs; - register afs_int32 asize; - struct sockaddr_in *addr; - int istack; +int osi_NetSend(register struct osi_socket *asocket, struct sockaddr_in *addr, + struct iovec dvec[], int nvecs, register afs_int32 asize, int istack) { int i; int code; @@ -639,12 +621,8 @@ int osi_NetSend(asocket, addr, dvec, nvecs, asize, istack) } -int osi_NetReceive(asocket, addr, dvec, nvecs, alength) - struct osi_socket *asocket; - struct sockaddr_in *addr; - struct iovec *dvec; - int nvecs; - int *alength; +int osi_NetReceive(struct osi_socket *asocket, struct sockaddr_in *addr, + struct iovec *dvec, int nvecs, int *alength) { int i; TIUSER *udp_tiptr = (TIUSER *) asocket; diff --git a/src/rx/UKERNEL/rx_kcommon.h b/src/rx/UKERNEL/rx_kcommon.h index b7f03c8..50e13d1 100644 --- a/src/rx/UKERNEL/rx_kcommon.h +++ b/src/rx/UKERNEL/rx_kcommon.h @@ -30,18 +30,10 @@ extern struct usr_in_ifaddr *usr_in_ifaddr; extern struct usr_domain inetdomain; extern struct usr_protosw udp_protosw; -extern int (*rxk_GetPacketProc)(); /* set to packet allocation procedure */ -extern int (*rxk_PacketArrivalProc)(); - -#define MAXRXPORTS 20 +#define MAXRXPORTS 20 typedef unsigned short rxk_ports_t[MAXRXPORTS]; typedef char *rxk_portRocks_t[MAXRXPORTS]; extern rxk_ports_t rxk_ports; extern rxk_portRocks_t rxk_portRocks; -extern struct osi_socket *rxk_NewSocket(short aport); -extern struct ifnet *rxi_FindIfnet(); - -extern int rxk_initDone; - #endif /* _RX_KCOMMON_H_ */ diff --git a/src/rx/UKERNEL/rx_knet.c b/src/rx/UKERNEL/rx_knet.c index 285c786..c9f30d1 100644 --- a/src/rx/UKERNEL/rx_knet.c +++ b/src/rx/UKERNEL/rx_knet.c @@ -26,8 +26,7 @@ struct usr_in_ifaddr *usr_in_ifaddr = NULL; void rxk_InitializeSocket(); -void afs_rxevent_daemon(argp) -void *argp; +void afs_rxevent_daemon(void) { struct timespec tv; struct clock temp; @@ -59,10 +58,7 @@ void *argp; /* Loop to listen on a socket. Return setting *newcallp if this * thread should become a server thread. */ -void rxi_ListenerProc(usockp, tnop, newcallp) -osi_socket usockp; -int *tnop; -struct rx_call **newcallp; +void rxi_ListenerProc(osi_socket usockp, int *tnop, struct rx_call **newcallp) { struct rx_packet *tp; afs_uint32 host; @@ -134,7 +130,7 @@ void rxk_Listener(void) /* This is the server process request loop. The server process loop * becomes a listener thread when rxi_ServerProc returns, and stays * listener thread until rxi_ListenerProc returns. */ -void rx_ServerProc() +void rx_ServerProc(void) { osi_socket sock; int threadID; @@ -186,7 +182,7 @@ struct osi_socket *rxk_NewSocket(short aport) * we allocated in rxk_NewSocket. Now is the time to bind our * socket and start the receiver threads. */ -void rxk_InitializeSocket() +void rxk_InitializeSocket(void) { int rc, sock, i; #ifdef AFS_USR_AIX_ENV @@ -259,8 +255,7 @@ void rxk_InitializeSocket() rx_port = usockp->port; } -int rxk_FreeSocket(sockp) -struct usr_socket *sockp; +int rxk_FreeSocket(struct usr_socket *sockp) { return 0; } @@ -270,13 +265,8 @@ void osi_StopListener(void) rxk_FreeSocket((struct usr_socket *)rx_socket); } -int osi_NetSend(sockp, addr, iov, nio, size, stack) - struct osi_socket *sockp; - struct sockaddr_in *addr; - struct iovec *iov; - int nio; - afs_int32 size; - int stack; +int osi_NetSend(struct osi_socket *sockp, struct sockaddr_in *addr, + struct iovec *iov, int nio, afs_int32 size, int stack) { int rc; int i; @@ -315,7 +305,7 @@ void shutdown_rxkernel(void) rxk_shutdownPorts(); } -void rx_Finalize() +void rx_Finalize(void) { usr_assert(0); } @@ -324,10 +314,7 @@ void rx_Finalize() * Recvmsg. * */ -int rxi_Recvmsg - (int socket, - struct msghdr *msg_p, - int flags) +int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags) { int ret; do { diff --git a/src/rx/bulktest/bulk_client.c b/src/rx/bulktest/bulk_client.c index 607ded7..9b23a1d 100644 --- a/src/rx/bulktest/bulk_client.c +++ b/src/rx/bulktest/bulk_client.c @@ -176,7 +176,7 @@ char **argv; int store = 0; int count = 1; int verbose = 0; - char *hostname = (char *) 0; + char *hostname = NULL; u_long host; struct rx_securityClass *null_securityObject; struct rx_connection *conn = (struct rx_connection *) 0; diff --git a/src/rx/rx.c b/src/rx/rx.c index ab68dbd..ff76ec8 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -101,13 +101,18 @@ extern afs_int32 afs_termState; # include "rx_queue.h" # include "rx_globals.h" # include "rx_trace.h" -# include "rx_internal.h" # include #endif /* KERNEL */ int (*registerProgram)() = 0; int (*swapNameProgram)() = 0; +/* Local static routines */ +static void rxi_DestroyConnectionNoLock(register struct rx_connection *conn); +#ifdef RX_ENABLE_LOCKS +static void rxi_SetAcksInTransmitQueue(register struct rx_call *call); +#endif + #ifdef AFS_GLOBAL_RXLOCK_KERNEL struct rx_tq_debug { afs_int32 rxi_start_aborted; /* rxi_start awoke after rxi_Send in error. */ @@ -302,13 +307,10 @@ struct rx_connection *rxLastConn = 0; /* rxdb_fileID is used to identify the lock location, along with line#. */ static int rxdb_fileID = RXDB_FILE_RX; #endif /* RX_LOCKS_DB */ -static void rxi_SetAcksInTransmitQueue(); -void osirx_AssertMine(afs_kmutex_t *lockaddr, char *msg); #else /* RX_ENABLE_LOCKS */ #define SET_CALL_QUEUE_LOCK(C, L) #define CLEAR_CALL_QUEUE_LOCK(C) #endif /* RX_ENABLE_LOCKS */ -static void rxi_DestroyConnectionNoLock(); struct rx_serverQueueEntry *rx_waitForPacket = 0; /* ------------Exported Interfaces------------- */ @@ -333,8 +335,7 @@ struct rx_serverQueueEntry *rx_waitForPacket = 0; #define UNLOCK_EPOCH #endif /* AFS_PTHREAD_ENV */ -void rx_SetEpoch (epoch) - afs_uint32 epoch; +void rx_SetEpoch (afs_uint32 epoch) { LOCK_EPOCH rx_epoch = epoch; @@ -538,8 +539,7 @@ int rx_Init(u_int port) /* This verion of QuotaOK reserves quota if it's ok while the * rx_serverPool_lock is held. Return quota using ReturnToServerPool(). */ -static int QuotaOK(aservice) -register struct rx_service *aservice; +static int QuotaOK(register struct rx_service *aservice) { /* check if over max quota */ if (aservice->nRequestsRunning >= aservice->maxProcs) { @@ -566,8 +566,8 @@ register struct rx_service *aservice; return 0; } -static void ReturnToServerPool(aservice) -register struct rx_service *aservice; + +static void ReturnToServerPool(register struct rx_service *aservice) { aservice->nRequestsRunning--; MUTEX_ENTER(&rx_stats_mutex); @@ -577,8 +577,8 @@ register struct rx_service *aservice; } #else /* RX_ENABLE_LOCKS */ -static int QuotaOK(aservice) -register struct rx_service *aservice; { +static int QuotaOK(register struct rx_service *aservice) +{ int rc=0; /* under min quota, we're OK */ if (aservice->nRequestsRunning < aservice->minProcs) return 1; @@ -598,8 +598,7 @@ register struct rx_service *aservice; { /* Called by rx_StartServer to start up lwp's to service calls. NExistingProcs gives the number of procs already existing, and which therefore needn't be created. */ -void rxi_StartServerProcs(nExistingProcs) - int nExistingProcs; +void rxi_StartServerProcs(int nExistingProcs) { register struct rx_service *service; register int i; @@ -633,7 +632,7 @@ void rxi_StartServerProcs(nExistingProcs) /* This routine must be called if any services are exported. If the * donateMe flag is set, the calling process is donated to the server * process pool */ -void rx_StartServer(donateMe) +void rx_StartServer(int donateMe) { register struct rx_service *service; register int i, nProcs=0; @@ -695,13 +694,9 @@ void rx_StartServer(donateMe) /* Create a new client connection to the specified service, using the * specified security object to implement the security model for this * connection. */ -struct rx_connection * -rx_NewConnection(shost, sport, sservice, securityObject, serviceSecurityIndex) - register afs_uint32 shost; /* Server host */ - u_short sport; /* Server port */ - u_short sservice; /* Server service id */ - register struct rx_securityClass *securityObject; - int serviceSecurityIndex; +struct rx_connection *rx_NewConnection(register afs_uint32 shost, + u_short sport, u_short sservice, + register struct rx_securityClass *securityObject, int serviceSecurityIndex) { int hashindex; afs_int32 cid; @@ -739,8 +734,8 @@ rx_NewConnection(shost, sport, sservice, securityObject, serviceSecurityIndex) conn->ackRate = RX_FAST_ACK_RATE; conn->nSpecific = 0; conn->specific = NULL; - conn->challengeEvent = (struct rxevent *)0; - conn->delayedAbortEvent = (struct rxevent *)0; + conn->challengeEvent = NULL; + conn->delayedAbortEvent = NULL; conn->abortCount = 0; conn->error = 0; @@ -760,9 +755,7 @@ rx_NewConnection(shost, sport, sservice, securityObject, serviceSecurityIndex) return conn; } -void rx_SetConnDeadTime(conn, seconds) - register struct rx_connection *conn; - register int seconds; +void rx_SetConnDeadTime(register struct rx_connection *conn, register int seconds) { /* The idea is to set the dead time to a value that allows several * keepalives to be dropped without timing out the connection. */ @@ -777,8 +770,7 @@ int rxi_lowConnRefCount = 0; * Cleanup a connection that was destroyed in rxi_DestroyConnectioNoLock. * NOTE: must not be called with rx_connHashTable_lock held. */ -void rxi_CleanupConnection(conn) - struct rx_connection *conn; +void rxi_CleanupConnection(struct rx_connection *conn) { int i; @@ -834,8 +826,7 @@ void rxi_CleanupConnection(conn) } /* Destroy the specified connection */ -void rxi_DestroyConnection(conn) - register struct rx_connection *conn; +void rxi_DestroyConnection(register struct rx_connection *conn) { MUTEX_ENTER(&rx_connHashTable_lock); rxi_DestroyConnectionNoLock(conn); @@ -852,8 +843,7 @@ void rxi_DestroyConnection(conn) #endif /* RX_ENABLE_LOCKS */ } -static void rxi_DestroyConnectionNoLock(conn) - register struct rx_connection *conn; +static void rxi_DestroyConnectionNoLock(register struct rx_connection *conn) { register struct rx_connection **conn_ptr; register int havecalls = 0; @@ -909,7 +899,7 @@ static void rxi_DestroyConnectionNoLock(conn) call->state == RX_STATE_ACTIVE) { rxi_SendAck(call, 0, 0, 0, 0, RX_ACK_DELAY, 0); } else { - rxi_AckAll((struct rxevent *)0, call, 0); + rxi_AckAll(NULL, call, 0); } } MUTEX_EXIT(&call->lock); @@ -979,8 +969,7 @@ static void rxi_DestroyConnectionNoLock(conn) } /* Externally available version */ -void rx_DestroyConnection(conn) - register struct rx_connection *conn; +void rx_DestroyConnection(register struct rx_connection *conn) { SPLVAR; @@ -1000,8 +989,7 @@ void rx_DestroyConnection(conn) * to ensure that we don't get signalle after we found a call in an active * state and before we go to sleep. */ -struct rx_call *rx_NewCall(conn) - register struct rx_connection *conn; +struct rx_call *rx_NewCall(register struct rx_connection *conn) { register int i; register struct rx_call *call; @@ -1115,9 +1103,8 @@ struct rx_call *rx_NewCall(conn) return call; } -int -rxi_HasActiveCalls(aconn) -register struct rx_connection *aconn; { +int rxi_HasActiveCalls(register struct rx_connection *aconn) +{ register int i; register struct rx_call *tcall; SPLVAR; @@ -1136,10 +1123,9 @@ register struct rx_connection *aconn; { return 0; } -int -rxi_GetCallNumberVector(aconn, aint32s) -register struct rx_connection *aconn; -register afs_int32 *aint32s; { +int rxi_GetCallNumberVector(register struct rx_connection *aconn, + register afs_int32 *aint32s) +{ register int i; register struct rx_call *tcall; SPLVAR; @@ -1155,10 +1141,9 @@ register afs_int32 *aint32s; { return 0; } -int -rxi_SetCallNumberVector(aconn, aint32s) -register struct rx_connection *aconn; -register afs_int32 *aint32s; { +int rxi_SetCallNumberVector(register struct rx_connection *aconn, + register afs_int32 *aint32s) +{ register int i; register struct rx_call *tcall; SPLVAR; @@ -1176,18 +1161,15 @@ register afs_int32 *aint32s; { /* Advertise a new service. A service is named locally by a UDP port * number plus a 16-bit service id. Returns (struct rx_service *) 0 - * on a failure. */ -struct rx_service * -rx_NewService(port, serviceId, serviceName, securityObjects, - nSecurityObjects, serviceProc) - u_short port; - u_short serviceId; - char *serviceName; /* Name for identification purposes (e.g. the - * service name might be used for probing for - * statistics) */ - struct rx_securityClass **securityObjects; - int nSecurityObjects; - afs_int32 (*serviceProc)(); + * on a failure. + * + char *serviceName; Name for identification purposes (e.g. the + service name might be used for probing for + statistics) */ +struct rx_service *rx_NewService(u_short port, u_short serviceId, + char *serviceName, + struct rx_securityClass **securityObjects, + int nSecurityObjects, afs_int32 (*serviceProc)(struct rx_call *acall)) { osi_socket socket = OSI_NULLSOCKET; register struct rx_service *tservice; @@ -1275,10 +1257,7 @@ rx_NewService(port, serviceId, serviceName, securityObjects, * non-null, it will be set to the file descriptor that this thread * is now listening on. If socketp is null, this routine will never * returns. */ -void rxi_ServerProc(threadID, newcall, socketp) -int threadID; -struct rx_call *newcall; -osi_socket *socketp; +void rxi_ServerProc(int threadID, struct rx_call *newcall, osi_socket *socketp) { register struct rx_call *call; register afs_int32 code; @@ -1345,7 +1324,7 @@ osi_socket *socketp; } -void rx_WakeupServerProcs() +void rx_WakeupServerProcs(void) { struct rx_serverQueueEntry *np, *tqp; SPLVAR; @@ -1414,11 +1393,7 @@ void rx_WakeupServerProcs() /* Sleep until a call arrives. Returns a pointer to the call, ready * for an rx_Read. */ #ifdef RX_ENABLE_LOCKS -struct rx_call * -rx_GetCall(tno, cur_service, socketp) -int tno; -struct rx_service *cur_service; -osi_socket *socketp; +struct rx_call *rx_GetCall(int tno, struct rx_service *cur_service, osi_socket *socketp) { struct rx_serverQueueEntry *sq; register struct rx_call *call = (struct rx_call *) 0, *choice2; @@ -1570,11 +1545,7 @@ osi_socket *socketp; return call; } #else /* RX_ENABLE_LOCKS */ -struct rx_call * -rx_GetCall(tno, cur_service, socketp) - int tno; - struct rx_service *cur_service; - osi_socket *socketp; +struct rx_call *rx_GetCall(int tno, struct rx_service *cur_service, osi_socket *socketp) { struct rx_serverQueueEntry *sq; register struct rx_call *call = (struct rx_call *) 0, *choice2; @@ -1722,11 +1693,10 @@ rx_GetCall(tno, cur_service, socketp) * good idea to (1) use it immediately after a newcall (clients only) * and (2) only use it once. Other uses currently void your warranty */ -void rx_SetArrivalProc(call, proc, handle, arg) - register struct rx_call *call; - register VOID (*proc)(); - register VOID *handle; - register VOID *arg; +void rx_SetArrivalProc(register struct rx_call *call, + register VOID (*proc)(register struct rx_call *call, + register struct multi_handle *mh, register int index), + register VOID *handle, register VOID *arg) { call->arrivalProc = proc; call->arrivalProcHandle = handle; @@ -1737,9 +1707,7 @@ void rx_SetArrivalProc(call, proc, handle, arg) * appropriate, and return the final error code from the conversation * to the caller */ -afs_int32 rx_EndCall(call, rc) - register struct rx_call *call; - afs_int32 rc; +afs_int32 rx_EndCall(register struct rx_call *call, afs_int32 rc) { register struct rx_connection *conn = call->conn; register struct rx_service *service; @@ -1869,7 +1837,8 @@ afs_int32 rx_EndCall(call, rc) * make to a dead client. * This is not quite right, since some calls may still be ongoing and * we can't lock them to destroy them. */ -void rx_Finalize() { +void rx_Finalize(void) +{ register struct rx_connection **conn_ptr, **conn_end; INIT_PTHREAD_LOCKS @@ -1920,9 +1889,8 @@ void rx_Finalize() { /* if we wakeup packet waiter too often, can get in loop with two AllocSendPackets each waking each other up (from ReclaimPacket calls) */ -void -rxi_PacketsUnWait() { - +void rxi_PacketsUnWait(void) +{ if (!rx_waitingForPackets) { return; } @@ -1945,9 +1913,8 @@ rxi_PacketsUnWait() { /* Return this process's service structure for the * specified socket and service */ -struct rx_service *rxi_FindService(socket, serviceId) - register osi_socket socket; - register u_short serviceId; +struct rx_service *rxi_FindService(register osi_socket socket, + register u_short serviceId) { register struct rx_service **sp; for (sp = &rx_services[0]; *sp; sp++) { @@ -1960,9 +1927,8 @@ struct rx_service *rxi_FindService(socket, serviceId) /* Allocate a call structure, for the indicated channel of the * supplied connection. The mode and state of the call must be set by * the caller. Returns the call with mutex locked. */ -struct rx_call *rxi_NewCall(conn, channel) - register struct rx_connection *conn; - register int channel; +struct rx_call *rxi_NewCall(register struct rx_connection *conn, + register int channel) { register struct rx_call *call; #ifdef AFS_GLOBAL_RXLOCK_KERNEL @@ -2048,14 +2014,13 @@ struct rx_call *rxi_NewCall(conn, channel) * state, including the call structure, which is placed on the call * free list. * Call is locked upon entry. + * haveCTLock set if called from rxi_ReapConnections */ #ifdef RX_ENABLE_LOCKS -void rxi_FreeCall(call, haveCTLock) - int haveCTLock; /* Set if called from rxi_ReapConnections */ +void rxi_FreeCall(register struct rx_call *call, int haveCTLock) #else /* RX_ENABLE_LOCKS */ -void rxi_FreeCall(call) +void rxi_FreeCall(register struct rx_call *call) #endif /* RX_ENABLE_LOCKS */ - register struct rx_call *call; { register int channel = call->channel; register struct rx_connection *conn = call->conn; @@ -2114,8 +2079,7 @@ void rxi_FreeCall(call) } afs_int32 rxi_Alloccnt = 0, rxi_Allocsize = 0; -char *rxi_Alloc(size) -register size_t size; +char *rxi_Alloc(register size_t size) { register char *p; @@ -2147,9 +2111,7 @@ register size_t size; return p; } -void rxi_Free(addr, size) -void *addr; -register size_t size; +void rxi_Free(void *addr, register size_t size) { #if defined(AFS_AIX41_ENV) && defined(KERNEL) /* Grab the AFS filesystem lock. See afs/osi.h for the lock @@ -2182,11 +2144,8 @@ register size_t size; * The origPeer, if set, is a pointer to a peer structure on which the * refcount will be be decremented. This is used to replace the peer * structure hanging off a connection structure */ -struct rx_peer *rxi_FindPeer(host, port, origPeer, create) - register afs_uint32 host; - register u_short port; - struct rx_peer *origPeer; - int create; +struct rx_peer *rxi_FindPeer(register afs_uint32 host, + register u_short port, struct rx_peer *origPeer, int create) { register struct rx_peer *pp; int hashIndex; @@ -2233,17 +2192,9 @@ struct rx_peer *rxi_FindPeer(host, port, origPeer, create) * parameter must match the existing index for the connection. If a * server connection is created, it will be created using the supplied * index, if the index is valid for this service */ -struct rx_connection * -rxi_FindConnection(socket, host, port, serviceId, cid, - epoch, type, securityIndex) - osi_socket socket; - register afs_int32 host; - register u_short port; - u_short serviceId; - afs_uint32 cid; - afs_uint32 epoch; - int type; - u_int securityIndex; +struct rx_connection *rxi_FindConnection(osi_socket socket, + register afs_int32 host, register u_short port, u_short serviceId, + afs_uint32 cid, afs_uint32 epoch, int type, u_int securityIndex) { int hashindex, flag; register struct rx_connection *conn; @@ -2370,13 +2321,9 @@ int (*rx_almostSent)() = 0; * sender. This call returns the packet to the caller if it is finished with * it, rather than de-allocating it, just as a small performance hack */ -struct rx_packet *rxi_ReceivePacket(np, socket, host, port, tnop, newcallp) - register struct rx_packet *np; - osi_socket socket; - afs_uint32 host; - u_short port; - int *tnop; - struct rx_call **newcallp; +struct rx_packet *rxi_ReceivePacket(register struct rx_packet *np, + osi_socket socket, afs_uint32 host, u_short port, + int *tnop, struct rx_call **newcallp) { register struct rx_call *call; register struct rx_connection *conn; @@ -2599,7 +2546,7 @@ struct rx_packet *rxi_ReceivePacket(np, socket, host, port, tnop, newcallp) struct rx_packet *tp; rxi_CallError(call, RX_CALL_DEAD); - tp = rxi_SendSpecial(call, conn, np, RX_PACKET_TYPE_BUSY, (char *) 0, 0, 1); + tp = rxi_SendSpecial(call, conn, np, RX_PACKET_TYPE_BUSY, NULL, 0, 1); MUTEX_EXIT(&call->lock); MUTEX_ENTER(&conn->conn_data_lock); conn->refCount--; @@ -2859,9 +2806,8 @@ int rxi_IsConnInteresting(struct rx_connection *aconn) the precall state then ignore all subsequent packets until the call is assigned to a thread. */ -static TooLow(ap, acall) - struct rx_call *acall; - struct rx_packet *ap; { +static int TooLow(struct rx_packet *ap, struct rx_call *acall) +{ int rc=0; MUTEX_ENTER(&rx_stats_mutex); if (((ap->header.seq != 1) && @@ -2877,17 +2823,15 @@ static TooLow(ap, acall) } #endif /* KERNEL */ -static void rxi_CheckReachEvent(event, conn, acall) - struct rxevent *event; - struct rx_connection *conn; - struct rx_call *acall; +static void rxi_CheckReachEvent(struct rxevent *event, + struct rx_connection *conn, struct rx_call *acall) { struct rx_call *call = acall; struct clock when; int i, waiting; MUTEX_ENTER(&conn->conn_data_lock); - conn->checkReachEvent = (struct rxevent *) 0; + conn->checkReachEvent = NULL; waiting = conn->flags & RX_CONN_ATTACHWAIT; if (event) conn->refCount--; MUTEX_EXIT(&conn->conn_data_lock); @@ -2932,9 +2876,7 @@ static void rxi_CheckReachEvent(event, conn, acall) } } -static int rxi_CheckConnReach(conn, call) - struct rx_connection *conn; - struct rx_call *call; +static int rxi_CheckConnReach(struct rx_connection *conn, struct rx_call *call) { struct rx_service *service = conn->service; struct rx_peer *peer = conn->peer; @@ -2958,18 +2900,15 @@ static int rxi_CheckConnReach(conn, call) conn->flags |= RX_CONN_ATTACHWAIT; MUTEX_EXIT(&conn->conn_data_lock); if (!conn->checkReachEvent) - rxi_CheckReachEvent((struct rxevent *)0, conn, call); + rxi_CheckReachEvent(NULL, conn, call); return 1; } /* try to attach call, if authentication is complete */ -static void TryAttach(acall, socket, tnop, newcallp, reachOverride) - register struct rx_call *acall; - register osi_socket socket; - register int *tnop; - register struct rx_call **newcallp; - int reachOverride; +static void TryAttach(register struct rx_call *acall, + register osi_socket socket, register int *tnop, + register struct rx_call **newcallp, int reachOverride) { struct rx_connection *conn = acall->conn; @@ -2992,16 +2931,9 @@ static void TryAttach(acall, socket, tnop, newcallp, reachOverride) * appropriate to the call (the call is in the right state, etc.). This * routine can return a packet to the caller, for re-use */ -struct rx_packet *rxi_ReceiveDataPacket(call, np, istack, socket, host, - port, tnop, newcallp) - register struct rx_call *call; - register struct rx_packet *np; - int istack; - osi_socket socket; - afs_uint32 host; - u_short port; - int *tnop; - struct rx_call **newcallp; +struct rx_packet *rxi_ReceiveDataPacket(register struct rx_call *call, + register struct rx_packet *np, int istack, osi_socket socket, + afs_uint32 host, u_short port, int *tnop, struct rx_call **newcallp) { int ackNeeded = 0; int newPackets = 0; @@ -3143,7 +3075,7 @@ struct rx_packet *rxi_ReceiveDataPacket(call, np, istack, socket, host, * (e.g. multi rx) */ if (call->arrivalProc) { (*call->arrivalProc)(call, call->arrivalProcHandle, - call->arrivalProcArg); + (int) call->arrivalProcArg); call->arrivalProc = (VOID (*)()) 0; } @@ -3343,9 +3275,7 @@ nextloop:; static void rxi_ComputeRate(); #endif -static void rxi_UpdatePeerReach(conn, acall) - struct rx_connection *conn; - struct rx_call *acall; +static void rxi_UpdatePeerReach(struct rx_connection *conn, struct rx_call *acall) { struct rx_peer *peer = conn->peer; @@ -3364,7 +3294,7 @@ static void rxi_UpdatePeerReach(conn, acall) struct rx_call *call = conn->call[i]; if (call) { if (call != acall) MUTEX_ENTER(&call->lock); - TryAttach(call, -1, NULL, NULL, 1); + TryAttach(call, (osi_socket) -1, NULL, NULL, 1); if (call != acall) MUTEX_EXIT(&call->lock); } } @@ -3373,10 +3303,8 @@ static void rxi_UpdatePeerReach(conn, acall) } /* The real smarts of the whole thing. */ -struct rx_packet *rxi_ReceiveAckPacket(call, np, istack) - register struct rx_call *call; - struct rx_packet *np; - int istack; +struct rx_packet *rxi_ReceiveAckPacket(register struct rx_call *call, + struct rx_packet *np, int istack) { struct rx_ackPacket *ap; int nAcks; @@ -3847,10 +3775,8 @@ struct rx_packet *rxi_ReceiveAckPacket(call, np, istack) } /* Received a response to a challenge packet */ -struct rx_packet *rxi_ReceiveResponsePacket(conn, np, istack) - register struct rx_connection *conn; - register struct rx_packet *np; - int istack; +struct rx_packet *rxi_ReceiveResponsePacket(register struct rx_connection *conn, + register struct rx_packet *np, int istack) { int error; @@ -3885,7 +3811,7 @@ struct rx_packet *rxi_ReceiveResponsePacket(conn, np, istack) if (call) { MUTEX_ENTER(&call->lock); if (call->state == RX_STATE_PRECALL) - rxi_AttachServerProc(call, -1, NULL, NULL); + rxi_AttachServerProc(call, (osi_socket) -1, NULL, NULL); MUTEX_EXIT(&call->lock); } } @@ -3904,11 +3830,8 @@ struct rx_packet *rxi_ReceiveResponsePacket(conn, np, istack) * back to the server. The server is responsible for retrying the * challenge if it fails to get a response. */ -struct rx_packet * -rxi_ReceiveChallengePacket(conn, np, istack) - register struct rx_connection *conn; - register struct rx_packet *np; - int istack; +struct rx_packet *rxi_ReceiveChallengePacket(register struct rx_connection *conn, + register struct rx_packet *np, int istack) { int error; @@ -3934,7 +3857,7 @@ rxi_ReceiveChallengePacket(conn, np, istack) } else { np = rxi_SendSpecial((struct rx_call *)0, conn, np, - RX_PACKET_TYPE_RESPONSE, (char *) 0, -1, istack); + RX_PACKET_TYPE_RESPONSE, NULL, -1, istack); } return np; } @@ -3943,12 +3866,8 @@ rxi_ReceiveChallengePacket(conn, np, istack) /* Find an available server process to service the current request in * the given call structure. If one isn't available, queue up this * call so it eventually gets one */ -void -rxi_AttachServerProc(call, socket, tnop, newcallp) - register struct rx_call *call; - register osi_socket socket; - register int *tnop; - register struct rx_call **newcallp; +void rxi_AttachServerProc(register struct rx_call *call, + register osi_socket socket, register int *tnop, register struct rx_call **newcallp) { register struct rx_serverQueueEntry *sq; register struct rx_service *service = call->conn->service; @@ -4051,45 +3970,39 @@ rxi_AttachServerProc(call, socket, tnop, newcallp) * a new call is being prepared (in the case of a client) or a reply * is being prepared (in the case of a server). Rather than sending * an ack packet, an ACKALL packet is sent. */ -void rxi_AckAll(event, call, dummy) -struct rxevent *event; -register struct rx_call *call; -char *dummy; +void rxi_AckAll(struct rxevent *event, register struct rx_call *call, char *dummy) { #ifdef RX_ENABLE_LOCKS if (event) { MUTEX_ENTER(&call->lock); - call->delayedAckEvent = (struct rxevent *) 0; + call->delayedAckEvent = NULL; CALL_RELE(call, RX_CALL_REFCOUNT_ACKALL); } rxi_SendSpecial(call, call->conn, (struct rx_packet *) 0, - RX_PACKET_TYPE_ACKALL, (char *) 0, 0, 0); + RX_PACKET_TYPE_ACKALL, NULL, 0, 0); if (event) MUTEX_EXIT(&call->lock); #else /* RX_ENABLE_LOCKS */ - if (event) call->delayedAckEvent = (struct rxevent *) 0; + if (event) call->delayedAckEvent = NULL; rxi_SendSpecial(call, call->conn, (struct rx_packet *) 0, - RX_PACKET_TYPE_ACKALL, (char *) 0, 0, 0); + RX_PACKET_TYPE_ACKALL, NULL, 0, 0); #endif /* RX_ENABLE_LOCKS */ } -void rxi_SendDelayedAck(event, call, dummy) -struct rxevent *event; -register struct rx_call *call; -char *dummy; +void rxi_SendDelayedAck(struct rxevent *event, register struct rx_call *call, char *dummy) { #ifdef RX_ENABLE_LOCKS if (event) { MUTEX_ENTER(&call->lock); if (event == call->delayedAckEvent) - call->delayedAckEvent = (struct rxevent *) 0; + call->delayedAckEvent = NULL; CALL_RELE(call, RX_CALL_REFCOUNT_DELAY); } (void) rxi_SendAck(call, 0, 0, 0, 0, RX_ACK_DELAY, 0); if (event) MUTEX_EXIT(&call->lock); #else /* RX_ENABLE_LOCKS */ - if (event) call->delayedAckEvent = (struct rxevent *) 0; + if (event) call->delayedAckEvent = NULL; (void) rxi_SendAck(call, 0, 0, 0, 0, RX_ACK_DELAY, 0); #endif /* RX_ENABLE_LOCKS */ } @@ -4099,8 +4012,7 @@ char *dummy; /* Set ack in all packets in transmit queue. rxi_Start will deal with * clearing them out. */ -static void rxi_SetAcksInTransmitQueue(call) - register struct rx_call *call; +static void rxi_SetAcksInTransmitQueue(register struct rx_call *call) { register struct rx_packet *p, *tp; int someAcked = 0; @@ -4133,9 +4045,7 @@ static void rxi_SetAcksInTransmitQueue(call) /* Clear out the transmit queue for the current call (all packets have * been received by peer) */ -void rxi_ClearTransmitQueue(call, force) - register struct rx_call *call; - register int force; +void rxi_ClearTransmitQueue(register struct rx_call *call, register int force) { register struct rx_packet *p, *tp; @@ -4182,8 +4092,7 @@ void rxi_ClearTransmitQueue(call, force) #endif } -void rxi_ClearReceiveQueue(call) - register struct rx_call *call; +void rxi_ClearReceiveQueue(register struct rx_call *call) { register struct rx_packet *p, *tp; if (queue_IsNotEmpty(&call->rq)) { @@ -4202,11 +4111,8 @@ void rxi_ClearReceiveQueue(call) } /* Send an abort packet for the specified call */ -struct rx_packet *rxi_SendCallAbort(call, packet, istack, force) - register struct rx_call *call; - struct rx_packet *packet; - int istack; - int force; +struct rx_packet *rxi_SendCallAbort(register struct rx_call *call, + struct rx_packet *packet, int istack, int force) { afs_int32 error; struct clock when; @@ -4252,11 +4158,8 @@ struct rx_packet *rxi_SendCallAbort(call, packet, istack, force) * NOTE: Called with conn_data_lock held. conn_data_lock is dropped * to send the abort packet. */ -struct rx_packet *rxi_SendConnectionAbort(conn, packet, istack, force) - register struct rx_connection *conn; - struct rx_packet *packet; - int istack; - int force; +struct rx_packet *rxi_SendConnectionAbort(register struct rx_connection *conn, + struct rx_packet *packet, int istack, int force) { afs_int32 error; struct clock when; @@ -4294,9 +4197,8 @@ struct rx_packet *rxi_SendConnectionAbort(conn, packet, istack, force) * bad authentication responses. The connection itself is set in * error at this point, so that future packets received will be * rejected. */ -void rxi_ConnectionError(conn, error) - register struct rx_connection *conn; - register afs_int32 error; +void rxi_ConnectionError(register struct rx_connection *conn, + register afs_int32 error) { if (error) { register int i; @@ -4325,9 +4227,7 @@ void rxi_ConnectionError(conn, error) } } -void rxi_CallError(call, error) - register struct rx_call *call; - afs_int32 error; +void rxi_CallError(register struct rx_call *call, afs_int32 error) { if (call->error) error = call->error; #ifdef RX_GLOBAL_RXLOCK_KERNEL @@ -4351,9 +4251,7 @@ void rxi_CallError(call, error) /* this code requires that call->conn be set properly as a pre-condition. */ #endif /* ADAPT_WINDOW */ -void rxi_ResetCall(call, newcall) - register struct rx_call *call; - register int newcall; +void rxi_ResetCall(register struct rx_call *call, register int newcall) { register int flags; register struct rx_peer *peer; @@ -4361,7 +4259,7 @@ void rxi_ResetCall(call, newcall) /* Notify anyone who is waiting for asynchronous packet arrival */ if (call->arrivalProc) { - (*call->arrivalProc)(call, call->arrivalProcHandle, call->arrivalProcArg); + (*call->arrivalProc)(call, call->arrivalProcHandle, (int) call->arrivalProcArg); call->arrivalProc = (VOID (*)()) 0; } @@ -4504,14 +4402,17 @@ void rxi_ResetCall(call, newcall) * NOW there is a trailer field, after the ack where it will safely be * ignored by mundanes, which indicates the maximum size packet this * host can swallow. */ -struct rx_packet *rxi_SendAck(call, optionalPacket, seq, serial, pflags, reason, istack) - register struct rx_call *call; - register struct rx_packet *optionalPacket; /* use to send ack (or null) */ - int seq; /* Sequence number of the packet we are acking */ - int serial; /* Serial number of the packet */ - int pflags; /* Flags field from packet header */ - int reason; /* Reason an acknowledge was prompted */ - int istack; +/* + register struct rx_packet *optionalPacket; use to send ack (or null) + int seq; Sequence number of the packet we are acking + int serial; Serial number of the packet + int pflags; Flags field from packet header + int reason; Reason an acknowledge was prompted +*/ + +struct rx_packet *rxi_SendAck(register struct rx_call *call, + register struct rx_packet *optionalPacket, int seq, int serial, + int pflags, int reason, int istack) { struct rx_ackPacket *ap; register struct rx_packet *rqp; @@ -4667,15 +4568,9 @@ struct rx_packet *rxi_SendAck(call, optionalPacket, seq, serial, pflags, reason, } /* Send all of the packets in the list in single datagram */ -static void rxi_SendList(call, list, len, istack, moreFlag, now, retryTime, resending) - struct rx_call *call; - struct rx_packet **list; - int len; - int istack; - int moreFlag; - struct clock *now; - struct clock *retryTime; - int resending; +static void rxi_SendList(struct rx_call *call, struct rx_packet **list, + int len, int istack, int moreFlag, struct clock *now, + struct clock *retryTime, int resending) { int i; int requestAck = 0; @@ -4788,14 +4683,9 @@ static void rxi_SendList(call, list, len, istack, moreFlag, now, retryTime, rese * We always keep the last list we should have sent so we * can set the RX_MORE_PACKETS flags correctly. */ -static void rxi_SendXmitList(call, list, len, istack, now, retryTime, resending) - struct rx_call *call; - struct rx_packet **list; - int len; - int istack; - struct clock *now; - struct clock *retryTime; - int resending; +static void rxi_SendXmitList(struct rx_call *call, struct rx_packet **list, + int len, int istack, struct clock *now, struct clock *retryTime, + int resending) { int i, cnt, lastCnt = 0; struct rx_packet **listP, **lastP = 0; @@ -4883,10 +4773,8 @@ static void rxi_SendXmitList(call, list, len, istack, now, retryTime, resending) #ifdef RX_ENABLE_LOCKS /* Call rxi_Start, below, but with the call lock held. */ -void rxi_StartUnlocked(event, call, istack) - struct rxevent *event; - register struct rx_call *call; - int istack; +void rxi_StartUnlocked(struct rxevent *event, register struct rx_call *call, + int istack) { MUTEX_ENTER(&call->lock); rxi_Start(event, call, istack); @@ -4899,10 +4787,8 @@ void rxi_StartUnlocked(event, call, istack) * transmission window or burst count are favourable. This should be * better optimized for new packets, the usual case, now that we've * got rid of queues of send packets. XXXXXXXXXXX */ -void rxi_Start(event, call, istack) - struct rxevent *event; - register struct rx_call *call; - int istack; +void rxi_Start(struct rxevent *event, register struct rx_call *call, + int istack) { struct rx_packet *p; register struct rx_packet *nxp; /* Next pointer for queue_Scan */ @@ -5169,10 +5055,10 @@ void rxi_Start(event, call, istack) CALL_HOLD(call, RX_CALL_REFCOUNT_RESEND); call->resendEvent = rxevent_Post(&retryTime, rxi_StartUnlocked, - (char *)call, istack); + (void *)call, (void *)istack); #else /* RX_ENABLE_LOCKS */ call->resendEvent = rxevent_Post(&retryTime, rxi_Start, - (char *)call, (void*)(long)istack); + (void *)call, (void *)istack); #endif /* RX_ENABLE_LOCKS */ } } @@ -5205,10 +5091,8 @@ void rxi_Start(event, call, istack) /* Also adjusts the keep alive parameters for the call, to reflect * that we have just sent a packet (so keep alives aren't sent * immediately) */ -void rxi_Send(call, p, istack) - register struct rx_call *call; - register struct rx_packet *p; - int istack; +void rxi_Send(register struct rx_call *call, register struct rx_packet *p, + int istack) { register struct rx_connection *conn = call->conn; @@ -5242,14 +5126,13 @@ void rxi_Send(call, p, istack) * falls through the cracks (e.g. (error + dally) connections have keepalive * turned off. Returns 0 if conn is well, -1 otherwise. If otherwise, call * may be freed! + * haveCTLock Set if calling from rxi_ReapConnections */ #ifdef RX_ENABLE_LOCKS -int rxi_CheckCall(call, haveCTLock) - int haveCTLock; /* Set if calling from rxi_ReapConnections */ +int rxi_CheckCall(register struct rx_call *call, int haveCTLock) #else /* RX_ENABLE_LOCKS */ -int rxi_CheckCall(call) +int rxi_CheckCall(register struct rx_call *call) #endif /* RX_ENABLE_LOCKS */ - register struct rx_call *call; { register struct rx_connection *conn = call->conn; register struct rx_service *tservice; @@ -5324,9 +5207,8 @@ int rxi_CheckCall(call) * declared dead; if nothing has been sent for a while, we send a * keep-alive packet (if we're actually trying to keep the call alive) */ -void rxi_KeepAliveEvent(event, call, dummy) - struct rxevent *event; - register struct rx_call *call; +void rxi_KeepAliveEvent(struct rxevent *event, register struct rx_call *call, + char *dummy) { struct rx_connection *conn; afs_uint32 now; @@ -5334,7 +5216,7 @@ void rxi_KeepAliveEvent(event, call, dummy) MUTEX_ENTER(&call->lock); CALL_RELE(call, RX_CALL_REFCOUNT_ALIVE); if (event == call->keepAliveEvent) - call->keepAliveEvent = (struct rxevent *) 0; + call->keepAliveEvent = NULL; now = clock_Sec(); #ifdef RX_ENABLE_LOCKS @@ -5364,8 +5246,7 @@ void rxi_KeepAliveEvent(event, call, dummy) } -void rxi_ScheduleKeepAliveEvent(call) - register struct rx_call *call; +void rxi_ScheduleKeepAliveEvent(register struct rx_call *call) { if (!call->keepAliveEvent) { struct clock when; @@ -5377,8 +5258,7 @@ void rxi_ScheduleKeepAliveEvent(call) } /* N.B. rxi_KeepAliveOff: is defined earlier as a macro */ -void rxi_KeepAliveOn(call) - register struct rx_call *call; +void rxi_KeepAliveOn(register struct rx_call *call) { /* Pretend last packet received was received now--i.e. if another * packet isn't received within the keep alive time, then the call @@ -5391,16 +5271,14 @@ void rxi_KeepAliveOn(call) /* This routine is called to send connection abort messages * that have been delayed to throttle looping clients. */ -void rxi_SendDelayedConnAbort(event, conn, dummy) - struct rxevent *event; - register struct rx_connection *conn; - char *dummy; +void rxi_SendDelayedConnAbort(struct rxevent *event, register struct rx_connection *conn, + char *dummy) { afs_int32 error; struct rx_packet *packet; MUTEX_ENTER(&conn->conn_data_lock); - conn->delayedAbortEvent = (struct rxevent *) 0; + conn->delayedAbortEvent = NULL; error = htonl(conn->error); conn->abortCount++; MUTEX_EXIT(&conn->conn_data_lock); @@ -5415,16 +5293,14 @@ void rxi_SendDelayedConnAbort(event, conn, dummy) /* This routine is called to send call abort messages * that have been delayed to throttle looping clients. */ -void rxi_SendDelayedCallAbort(event, call, dummy) - struct rxevent *event; - register struct rx_call *call; - char *dummy; +void rxi_SendDelayedCallAbort(struct rxevent *event, register struct rx_call *call, + char *dummy) { afs_int32 error; struct rx_packet *packet; MUTEX_ENTER(&call->lock); - call->delayedAbortEvent = (struct rxevent *) 0; + call->delayedAbortEvent = NULL; error = htonl(call->error); call->abortCount++; packet = rxi_AllocPacket(RX_PACKET_CLASS_SPECIAL); @@ -5441,13 +5317,11 @@ void rxi_SendDelayedCallAbort(event, call, dummy) * seconds) to ask the client to authenticate itself. The routine * issues a challenge to the client, which is obtained from the * security object associated with the connection */ -void rxi_ChallengeEvent(event, conn, atries) - struct rxevent *event; - register struct rx_connection *conn; - void *atries; +void rxi_ChallengeEvent(struct rxevent *event, register struct rx_connection *conn, + void *atries) { int tries = (int) atries; - conn->challengeEvent = (struct rxevent *) 0; + conn->challengeEvent = NULL; if (RXS_CheckAuthentication(conn->securityObject, conn) != 0) { register struct rx_packet *packet; struct clock when; @@ -5480,7 +5354,7 @@ void rxi_ChallengeEvent(event, conn, atries) /* If there's no packet available, do this later. */ RXS_GetChallenge(conn->securityObject, conn, packet); rxi_SendSpecial((struct rx_call *) 0, conn, packet, - RX_PACKET_TYPE_CHALLENGE, (char *) 0, -1, 0); + RX_PACKET_TYPE_CHALLENGE, NULL, -1, 0); rxi_FreePacket(packet); } clock_GetTime(&when); @@ -5496,8 +5370,7 @@ void rxi_ChallengeEvent(event, conn, atries) * security object associated with the connection is asked to create * the challenge at this time. N.B. rxi_ChallengeOff is a macro, * defined earlier. */ -void rxi_ChallengeOn(conn) - register struct rx_connection *conn; +void rxi_ChallengeOn(register struct rx_connection *conn) { if (!conn->challengeEvent) { RXS_CreateChallenge(conn->securityObject, conn); @@ -5510,10 +5383,9 @@ void rxi_ChallengeOn(conn) */ /* rxi_ComputeRoundTripTime is called with peer locked. */ -void rxi_ComputeRoundTripTime(p, sentp, peer) - register struct clock *sentp; /* may be null */ - register struct rx_peer *peer; /* may be null */ - register struct rx_packet *p; +/* sentp and/or peer may be null */ +void rxi_ComputeRoundTripTime(register struct rx_packet *p, + register struct clock *sentp, register struct rx_peer *peer) { struct clock thisRtt, *rttp = &thisRtt; @@ -5615,7 +5487,7 @@ void rxi_ComputeRoundTripTime(p, sentp, peer) /* Find all server connections that have not been active for a long time, and * toss them */ -void rxi_ReapConnections() +void rxi_ReapConnections(void) { struct clock now; clock_GetTime(&now); @@ -5778,8 +5650,7 @@ void rxi_ReapConnections() * This is the only rxs module call. A hold could also be written but no one * needs it. */ -int rxs_Release (aobj) - struct rx_securityClass *aobj; +int rxs_Release (struct rx_securityClass *aobj) { return RXS_Close (aobj); } @@ -5797,11 +5668,9 @@ int rxs_Release (aobj) * Called with peer and call locked. */ -static void rxi_ComputeRate(peer, call, p, ackp, ackReason) - register struct rx_peer *peer; - register struct rx_call *call; - struct rx_packet *p, *ackp; - u_char ackReason; +static void rxi_ComputeRate(register struct rx_peer *peer, + register struct rx_call *call, struct rx_packet *p, + struct rx_packet *ackp, u_char ackReason) { afs_int32 xferSize, xferMs; register afs_int32 minTime; @@ -5945,9 +5814,8 @@ return; #ifdef RXDEBUG /* Don't call this debugging routine directly; use dpf */ void -rxi_DebugPrint(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, - a11, a12, a13, a14, a15) - char *format; +rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, + int a11, int a12, int a13, int a14, int a15) { struct clock now; clock_GetTime(&now); @@ -5964,12 +5832,8 @@ rxi_DebugPrint(format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, * process (via rxdebug). Therefore, it needs to do minimal version * checking. */ -void rx_PrintTheseStats (file, s, size, freePackets, version) - FILE *file; - struct rx_stats *s; - int size; /* some idea of version control */ - afs_int32 freePackets; - char version; +void rx_PrintTheseStats (FILE *file, struct rx_stats *s, int size, + afs_int32 freePackets, char version) { int i; @@ -6096,17 +5960,14 @@ void rx_PrintTheseStats (file, s, size, freePackets, version) } /* for backward compatibility */ -void rx_PrintStats(file) - FILE *file; +void rx_PrintStats(FILE *file) { MUTEX_ENTER(&rx_stats_mutex); rx_PrintTheseStats (file, &rx_stats, sizeof(rx_stats), rx_nFreePackets, RX_DEBUGI_VERSION); MUTEX_EXIT(&rx_stats_mutex); } -void rx_PrintPeerStats(file, peer) -FILE *file; -struct rx_peer *peer; +void rx_PrintPeerStats(FILE *file, struct rx_peer *peer) { fprintf(file, "Peer %x.%d. " @@ -6151,16 +6012,9 @@ struct rx_peer *peer; #define UNLOCK_RX_DEBUG #endif /* AFS_PTHREAD_ENV */ -static int MakeDebugCall( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - u_char type, - void *inputData, - size_t inputLength, - void *outputData, - size_t outputLength -) +static int MakeDebugCall(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, u_char type, void *inputData, size_t inputLength, + void *outputData, size_t outputLength) { static afs_int32 counter = 100; afs_int32 endTime; @@ -6225,13 +6079,8 @@ static int MakeDebugCall( return code; } -afs_int32 rx_GetServerDebug( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - struct rx_debugStats *stat, - afs_uint32 *supportedValues -) +afs_int32 rx_GetServerDebug(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, struct rx_debugStats *stat, afs_uint32 *supportedValues) { struct rx_debugIn in; afs_int32 rc = 0; @@ -6288,13 +6137,8 @@ afs_int32 rx_GetServerDebug( return rc; } -afs_int32 rx_GetServerStats( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - struct rx_stats *stat, - afs_uint32 *supportedValues -) +afs_int32 rx_GetServerStats(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, struct rx_stats *stat, afs_uint32 *supportedValues) { struct rx_debugIn in; afs_int32 *lp = (afs_int32 *) stat; @@ -6334,13 +6178,8 @@ afs_int32 rx_GetServerStats( return rc; } -afs_int32 rx_GetServerVersion( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - size_t version_length, - char *version -) +afs_int32 rx_GetServerVersion(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, size_t version_length, char *version) { char a[1] = {0}; return MakeDebugCall(socket, @@ -6353,16 +6192,9 @@ afs_int32 rx_GetServerVersion( version_length); } -afs_int32 rx_GetServerConnections( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - afs_int32 *nextConnection, - int allConnections, - afs_uint32 debugSupportedValues, - struct rx_debugConn *conn, - afs_uint32 *supportedValues -) +afs_int32 rx_GetServerConnections(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, afs_int32 *nextConnection, int allConnections, + afs_uint32 debugSupportedValues, struct rx_debugConn *conn, afs_uint32 *supportedValues) { struct rx_debugIn in; afs_int32 rc = 0; @@ -6446,15 +6278,9 @@ afs_int32 rx_GetServerConnections( return rc; } -afs_int32 rx_GetServerPeers( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - afs_int32 *nextPeer, - afs_uint32 debugSupportedValues, - struct rx_debugPeer *peer, - afs_uint32 *supportedValues -) +afs_int32 rx_GetServerPeers(osi_socket socket, afs_uint32 remoteAddr, afs_uint16 remotePort, + afs_int32 *nextPeer, afs_uint32 debugSupportedValues, struct rx_debugPeer *peer, + afs_uint32 *supportedValues) { struct rx_debugIn in; afs_int32 rc = 0; @@ -6918,16 +6744,9 @@ fail: * Returns void. */ -void rx_IncrementTimeAndCount( - struct rx_peer *peer, - afs_uint32 rxInterface, - afs_uint32 currentFunc, - afs_uint32 totalFunc, - struct clock *queueTime, - struct clock *execTime, - afs_hyper_t *bytesSent, - afs_hyper_t *bytesRcvd, - int isServer) +void rx_IncrementTimeAndCount(struct rx_peer *peer, afs_uint32 rxInterface, + afs_uint32 currentFunc, afs_uint32 totalFunc, struct clock *queueTime, + struct clock *execTime, afs_hyper_t *bytesSent, afs_hyper_t *bytesRcvd, int isServer) { MUTEX_ENTER(&rx_rpc_stats); @@ -6987,11 +6806,8 @@ void rx_IncrementTimeAndCount( * * Returns void. */ -void rx_MarshallProcessRPCStats( - afs_uint32 callerVersion, - int count, - rx_function_entry_v1_t *stats, - afs_uint32 **ptrP) +void rx_MarshallProcessRPCStats(afs_uint32 callerVersion, + int count, rx_function_entry_v1_t *stats, afs_uint32 **ptrP) { int i; afs_uint32 *ptr; @@ -7057,14 +6873,9 @@ void rx_MarshallProcessRPCStats( * Returns void. If successful, stats will != NULL. */ -int rx_RetrieveProcessRPCStats( - afs_uint32 callerVersion, - afs_uint32 *myVersion, - afs_uint32 *clock_sec, - afs_uint32 *clock_usec, - size_t *allocSize, - afs_uint32 *statCount, - afs_uint32 **stats) +int rx_RetrieveProcessRPCStats(afs_uint32 callerVersion, + afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec, + size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats) { size_t space = 0; afs_uint32 *ptr; @@ -7159,14 +6970,9 @@ int rx_RetrieveProcessRPCStats( * Returns void. If successful, stats will != NULL. */ -int rx_RetrievePeerRPCStats( - afs_uint32 callerVersion, - afs_uint32 *myVersion, - afs_uint32 *clock_sec, - afs_uint32 *clock_usec, - size_t *allocSize, - afs_uint32 *statCount, - afs_uint32 **stats) +int rx_RetrievePeerRPCStats(afs_uint32 callerVersion, + afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec, + size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats) { size_t space = 0; afs_uint32 *ptr; @@ -7266,9 +7072,7 @@ int rx_RetrievePeerRPCStats( * Returns void. */ -void rx_FreeRPCStats( - afs_uint32 *stats, - size_t allocSize) +void rx_FreeRPCStats(afs_uint32 *stats, size_t allocSize) { rxi_Free(stats, allocSize); } @@ -7284,7 +7088,7 @@ void rx_FreeRPCStats( * Returns 0 if stats are not enabled != 0 otherwise */ -int rx_queryProcessRPCStats() +int rx_queryProcessRPCStats(void) { int rc; MUTEX_ENTER(&rx_rpc_stats); @@ -7303,7 +7107,7 @@ int rx_queryProcessRPCStats() * Returns 0 if stats are not enabled != 0 otherwise */ -int rx_queryPeerRPCStats() +int rx_queryPeerRPCStats(void) { int rc; MUTEX_ENTER(&rx_rpc_stats); @@ -7322,7 +7126,7 @@ int rx_queryPeerRPCStats() * Returns void. */ -void rx_enableProcessRPCStats() +void rx_enableProcessRPCStats(void) { MUTEX_ENTER(&rx_rpc_stats); rx_enable_stats = 1; @@ -7340,7 +7144,7 @@ void rx_enableProcessRPCStats() * Returns void. */ -void rx_enablePeerRPCStats() +void rx_enablePeerRPCStats(void) { MUTEX_ENTER(&rx_rpc_stats); rx_enable_stats = 1; @@ -7358,7 +7162,7 @@ void rx_enablePeerRPCStats() * Returns void. */ -void rx_disableProcessRPCStats() +void rx_disableProcessRPCStats(void) { rx_interface_stat_p rpc_stat, nrpc_stat; size_t space; @@ -7400,7 +7204,7 @@ void rx_disableProcessRPCStats() * Returns void. */ -void rx_disablePeerRPCStats() +void rx_disablePeerRPCStats(void) { struct rx_peer **peer_ptr, **peer_end; int code; @@ -7472,8 +7276,7 @@ void rx_disablePeerRPCStats() * Returns void. */ -void rx_clearProcessRPCStats( - afs_uint32 clearFlag) +void rx_clearProcessRPCStats(afs_uint32 clearFlag) { rx_interface_stat_p rpc_stat, nrpc_stat; @@ -7543,8 +7346,7 @@ void rx_clearProcessRPCStats( * Returns void. */ -void rx_clearPeerRPCStats( - afs_uint32 clearFlag) +void rx_clearPeerRPCStats(afs_uint32 clearFlag) { rx_interface_stat_p rpc_stat, nrpc_stat; @@ -7622,14 +7424,12 @@ void rx_clearPeerRPCStats( */ static int (*rxi_rxstat_userok)(struct rx_call *call) = NULL; -void rx_SetRxStatUserOk( - int (*proc)(struct rx_call *call)) +void rx_SetRxStatUserOk(int (*proc)(struct rx_call *call)) { rxi_rxstat_userok = proc; } -int rx_RxStatUserOk( - struct rx_call *call) +int rx_RxStatUserOk(struct rx_call *call) { if (!rxi_rxstat_userok) return 0; diff --git a/src/rx/rx.h b/src/rx/rx.h index 8cadf0b..0a47548 100644 --- a/src/rx/rx.h +++ b/src/rx/rx.h @@ -37,7 +37,9 @@ #include "../rx/rx_queue.h" #include "../rx/rx_packet.h" #include "../rx/rx_misc.h" +#include "../rx/rx_multi.h" #include "../netinet/in.h" +#include "../sys/socket.h" #else /* KERNEL */ # include # include @@ -55,8 +57,10 @@ # include "rx_packet.h" # include "rx_misc.h" # include "rx_null.h" +# include "rx_multi.h" #ifndef AFS_NT40_ENV # include +# include #endif #endif /* KERNEL */ @@ -74,73 +78,21 @@ #define ADDRSPERSITE 16 -/* Exported interfaces XXXX clean this up: not all of these are exported*/ -int rx_Init(); -struct rx_service *rx_NewService(); -struct rx_connection *rx_NewConnection(); -struct rx_call *rx_NewCall(); -struct rx_call *rx_GetCall(); /* Not normally used, but not obsolete */ -afs_int32 rx_EndCall(); -int rx_AllocPackets(); -void rx_FreePackets(); -int rx_WriteProc(); -int rx_WritevProc(); -int rx_WriteProc32(); -int rx_WritevAlloc(); -int rx_ReadProc(); -int rx_ReadvProc(); -int rx_ReadProc32(); -void rx_FlushWrite(); -void rxi_DeleteCachedConnections(); -void rxi_DestroyConnection(); -void rxi_CleanupConnection(); -int rxi_Listen(); -int rxi_WriteProc(); -int rxi_WritevProc(); -int rxi_WritevAlloc(); -int rxi_ReadProc(); -int rxi_ReadvProc(); -int rxi_FillReadVec(); -void rxi_FlushWrite(); -int rxi_getAllAddrMaskMtu(); -int rx_getAllAddr(); -void rxi_FreePacket(); -void rxi_FreePacketNoLock(); -int rxi_AllocDataBuf(); -void rxi_RestoreDataBufs(); -void rxi_Sleep(); -void rxi_InitializeThreadSupport(); -int rxi_Recvmsg(); -int rxi_Sendmsg(); -int rxi_IsConnInteresting(); -afs_int32 rx_SlowReadPacket(); -afs_int32 rx_SlowWritePacket(); -afs_int32 rx_SlowGetInt32(); -void rxi_StopListener(); -void rxi_InitPeerParams(); -void rxi_FreeAllPackets(); -void rxi_SendPacketList(); -void rxi_SendPacket(); -void rxi_MorePackets(); -void rxi_MorePacketsNoLock(); -void rxi_PacketsUnWait(); -void rx_CheckPackets(); -void rxi_Wakeup(); -void rx_PrintStats(); -void rx_PrintPeerStats(); -void rx_SetArrivalProc(); -void rx_Finalize(); -void rx_GetIFInfo(); -void shutdown_rxevent(); -int clock_UnInit(); -void rxi_Delay(int); +#ifndef KDUMP_RX_LOCK +/* Bottom n-bits of the Call Identifier give the call number */ +#define RX_MAXCALLS 4 /* Power of 2; max async calls per connection */ +#define RX_CIDSHIFT 2 /* Log2(RX_MAXCALLS) */ +#define RX_CHANNELMASK (RX_MAXCALLS-1) +#define RX_CIDMASK (~RX_CHANNELMASK) +#endif /* !KDUMP_RX_LOCK */ + #ifndef KERNEL typedef void (*rx_destructor_t)(void *); int rx_KeyCreate(rx_destructor_t); -void *rx_GetSpecific(struct rx_connection *conn, int key); -void rx_SetSpecific(struct rx_connection *conn, int key, void *ptr); osi_socket rxi_GetUDPSocket(u_short port); #endif /* KERNEL */ + + int ntoh_syserr_conv(int error); #define RX_WAIT 1 @@ -207,9 +159,6 @@ int ntoh_syserr_conv(int error); /* Enable or disable asymmetric client checking for a service */ #define rx_SetCheckReach(service, x) ((service)->checkReach = (x)) -/* Set connection dead time, for a specific client or server connection */ -extern void rx_SetConnDeadTime(); - /* Set connection hard timeout for a connection */ #define rx_SetConnHardDeadTime(conn, seconds) ((conn)->hardDeadTime = (seconds)) @@ -253,64 +202,64 @@ returned with an error code of RX_CALL_DEAD ( transient error ) */ #define rx_EnableHotThread() (rx_enable_hot_thread = 1) #define rx_DisableHotThread() (rx_enable_hot_thread = 0) -struct rx_securityObjectStats { - char type; /* 0:unk 1:null,2:vab 3:kad */ - char level; - char sparec[10]; /* force correct alignment */ - afs_int32 flags; /* 1=>unalloc, 2=>auth, 4=>expired */ - afs_uint32 expires; - afs_uint32 packetsReceived; - afs_uint32 packetsSent; - afs_uint32 bytesReceived; - afs_uint32 bytesSent; - short spares[4]; - afs_int32 sparel[8]; -}; +/* A connection is an authenticated communication path, allowing + limited multiple asynchronous conversations. */ +#ifdef KDUMP_RX_LOCK +struct rx_connection_rx_lock { + struct rx_connection_rx_lock *next; /* on hash chain _or_ free list */ + struct rx_peer_rx_lock *peer; +#else +struct rx_connection { + struct rx_connection *next; /* on hash chain _or_ free list */ + struct rx_peer *peer; +#endif +#ifdef RX_ENABLE_LOCKS + afs_kmutex_t conn_call_lock; /* locks conn_call_cv */ + afs_kcondvar_t conn_call_cv; + afs_kmutex_t conn_data_lock; /* locks packet data */ +#endif + afs_uint32 epoch; /* Process start time of client side of connection */ + afs_uint32 cid; /* Connection id (call channel is bottom bits) */ + afs_int32 error; /* If this connection is in error, this is it */ +#ifdef KDUMP_RX_LOCK + struct rx_call_rx_lock *call[RX_MAXCALLS]; +#else + struct rx_call *call[RX_MAXCALLS]; +#endif + afs_uint32 callNumber[RX_MAXCALLS]; /* Current call numbers */ + afs_uint32 serial; /* Next outgoing packet serial number */ + afs_uint32 lastSerial; /* # of last packet received, for computing skew */ + afs_int32 maxSerial; /* largest serial number seen on incoming packets */ +/* afs_int32 maxPacketSize; max packet size should be per-connection since */ + /* peer process could be restarted on us. Includes RX Header. */ + struct rxevent *challengeEvent; /* Scheduled when the server is challenging a */ + struct rxevent *delayedAbortEvent; /* Scheduled to throttle looping client */ + struct rxevent *checkReachEvent; /* Scheduled when checking reachability */ + int abortCount; /* count of abort messages sent */ + /* client-- to retransmit the challenge */ + struct rx_service *service; /* used by servers only */ + u_short serviceId; /* To stamp on requests (clients only) */ + u_short refCount; /* Reference count */ + u_char flags; /* Defined below */ + u_char type; /* Type of connection, defined below */ + u_char secondsUntilPing; /* how often to ping for each active call */ + u_char securityIndex; /* corresponds to the security class of the */ + /* securityObject for this conn */ + struct rx_securityClass *securityObject; /* Security object for this connection */ + VOID *securityData; /* Private data for this conn's security class */ + u_short securityHeaderSize; /* Length of security module's packet header data */ + u_short securityMaxTrailerSize; /* Length of security module's packet trailer data */ -/* XXXX (rewrite this description) A security class object contains a set of - * procedures and some private data to implement a security model for rx - * connections. These routines are called by rx as appropriate. Rx knows - * nothing about the internal details of any particular security model, or - * about security state. Rx does maintain state per connection on behalf of - * the security class. Each security class implementation is also expected to - * provide routines to create these objects. Rx provides a basic routine to - * allocate one of these objects; this routine must be called by the class. */ -struct rx_securityClass { - struct rx_securityOps { - int (*op_Close)(/* obj */); - int (*op_NewConnection)(/* obj, conn */); - int (*op_PreparePacket)(/* obj, call, packet */); - int (*op_SendPacket)(/*obj, call, packet */); - int (*op_CheckAuthentication)(/*obj,conn*/); - int (*op_CreateChallenge)(/*obj,conn*/); - int (*op_GetChallenge)(/*obj,conn,packet*/); - int (*op_GetResponse)(/*obj,conn,packet*/); - int (*op_CheckResponse)(/*obj,conn,packet*/); - int (*op_CheckPacket) (/*obj,call,packet*/); - int (*op_DestroyConnection)(/*obj, conn*/); - int (*op_GetStats)(/*obj, conn, stats*/); - int (*op_Spare1)(); - int (*op_Spare2)(); - int (*op_Spare3)(); - } *ops; - VOID *privateData; - int refCount; + int timeout; /* Overall timeout per call (seconds) for this conn */ + int lastSendTime; /* Last send time for this connection */ + u_short secondsUntilDead; /* Maximum silence from peer before RX_CALL_DEAD */ + u_short hardDeadTime; /* hard max for call execution */ + u_char ackRate; /* how many packets between ack requests */ + u_char makeCallWaiters; /* how many rx_NewCalls are waiting */ + int nSpecific; /* number entries in specific data */ + void **specific; /* pointer to connection specific data */ }; -#define RXS_OP(obj,op,args) ((obj && (obj->ops->op_ ## op)) ? (*(obj)->ops->op_ ## op)args : 0) - -#define RXS_Close(obj) RXS_OP(obj,Close,(obj)) -#define RXS_NewConnection(obj,conn) RXS_OP(obj,NewConnection,(obj,conn)) -#define RXS_PreparePacket(obj,call,packet) RXS_OP(obj,PreparePacket,(obj,call,packet)) -#define RXS_SendPacket(obj,call,packet) RXS_OP(obj,SendPacket,(obj,call,packet)) -#define RXS_CheckAuthentication(obj,conn) RXS_OP(obj,CheckAuthentication,(obj,conn)) -#define RXS_CreateChallenge(obj,conn) RXS_OP(obj,CreateChallenge,(obj,conn)) -#define RXS_GetChallenge(obj,conn,packet) RXS_OP(obj,GetChallenge,(obj,conn,packet)) -#define RXS_GetResponse(obj,conn,packet) RXS_OP(obj,GetResponse,(obj,conn,packet)) -#define RXS_CheckResponse(obj,conn,packet) RXS_OP(obj,CheckResponse,(obj,conn,packet)) -#define RXS_CheckPacket(obj,call,packet) RXS_OP(obj,CheckPacket,(obj,call,packet)) -#define RXS_DestroyConnection(obj,conn) RXS_OP(obj,DestroyConnection,(obj,conn)) -#define RXS_GetStats(obj,conn,stats) RXS_OP(obj,GetStats,(obj,conn,stats)) /* A service is installed by rx_NewService, and specifies a service type that * is exported by this process. Incoming calls are stamped with the service @@ -340,11 +289,11 @@ struct rx_service { u_short nRequestsRunning; /* Number of requests currently in progress */ u_short nSecurityObjects; /* Number of entries in security objects array */ struct rx_securityClass **securityObjects; /* Array of security class objects */ - afs_int32 (*executeRequestProc)(); /* Routine to call when an rpc request is received */ - VOID (*destroyConnProc)(); /* Routine to call when a server connection is destroyed */ - VOID (*newConnProc)(); /* Routine to call when a server connection is created */ - VOID (*beforeProc)(); /* routine to call before a call is executed */ - VOID (*afterProc)(); /* routine to call after a call is executed */ + afs_int32 (*executeRequestProc)(struct rx_call *acall); /* Routine to call when an rpc request is received */ + void (*destroyConnProc)(struct rx_connection *tcon); /* Routine to call when a server connection is destroyed */ + void (*newConnProc)(struct rx_connection *tcon); /* Routine to call when a server connection is created */ + void (*beforeProc)(struct rx_call *acall); /* routine to call before a call is executed */ + void (*afterProc)(struct rx_call *acall, afs_int32 code); /* routine to call after a call is executed */ u_short maxProcs; /* Maximum procs to be used for this service */ u_short minProcs; /* Minimum # of requests guaranteed executable simultaneously */ u_short connDeadTime; /* Seconds until a client of this service will be declared dead, if it is not responding */ @@ -384,13 +333,6 @@ struct rx_serverQueueEntry { osi_socket *socketp; }; -#ifndef KDUMP_RX_LOCK -/* Bottom n-bits of the Call Identifier give the call number */ -#define RX_MAXCALLS 4 /* Power of 2; max async calls per connection */ -#define RX_CIDSHIFT 2 /* Log2(RX_MAXCALLS) */ -#define RX_CHANNELMASK (RX_MAXCALLS-1) -#define RX_CIDMASK (~RX_CHANNELMASK) -#endif /* !KDUMP_RX_LOCK */ /* A peer refers to a peer process, specified by a (host,port) pair. There may be more than one peer on a given host. */ #ifdef KDUMP_RX_LOCK @@ -459,63 +401,6 @@ struct rx_peer { int lastReachTime; /* Last time we verified reachability */ }; -/* A connection is an authenticated communication path, allowing - limited multiple asynchronous conversations. */ -#ifdef KDUMP_RX_LOCK -struct rx_connection_rx_lock { - struct rx_connection_rx_lock *next; /* on hash chain _or_ free list */ - struct rx_peer_rx_lock *peer; -#else -struct rx_connection { - struct rx_connection *next; /* on hash chain _or_ free list */ - struct rx_peer *peer; -#endif -#ifdef RX_ENABLE_LOCKS - afs_kmutex_t conn_call_lock; /* locks conn_call_cv */ - afs_kcondvar_t conn_call_cv; - afs_kmutex_t conn_data_lock; /* locks packet data */ -#endif - afs_uint32 epoch; /* Process start time of client side of connection */ - afs_uint32 cid; /* Connection id (call channel is bottom bits) */ - afs_int32 error; /* If this connection is in error, this is it */ -#ifdef KDUMP_RX_LOCK - struct rx_call_rx_lock *call[RX_MAXCALLS]; -#else - struct rx_call *call[RX_MAXCALLS]; -#endif - afs_uint32 callNumber[RX_MAXCALLS]; /* Current call numbers */ - afs_uint32 serial; /* Next outgoing packet serial number */ - afs_uint32 lastSerial; /* # of last packet received, for computing skew */ - afs_int32 maxSerial; /* largest serial number seen on incoming packets */ -/* afs_int32 maxPacketSize; max packet size should be per-connection since */ - /* peer process could be restarted on us. Includes RX Header. */ - struct rxevent *challengeEvent; /* Scheduled when the server is challenging a */ - struct rxevent *delayedAbortEvent; /* Scheduled to throttle looping client */ - struct rxevent *checkReachEvent; /* Scheduled when checking reachability */ - int abortCount; /* count of abort messages sent */ - /* client-- to retransmit the challenge */ - struct rx_service *service; /* used by servers only */ - u_short serviceId; /* To stamp on requests (clients only) */ - u_short refCount; /* Reference count */ - u_char flags; /* Defined below */ - u_char type; /* Type of connection, defined below */ - u_char secondsUntilPing; /* how often to ping for each active call */ - u_char securityIndex; /* corresponds to the security class of the */ - /* securityObject for this conn */ - struct rx_securityClass *securityObject; /* Security object for this connection */ - VOID *securityData; /* Private data for this conn's security class */ - u_short securityHeaderSize; /* Length of security module's packet header data */ - u_short securityMaxTrailerSize; /* Length of security module's packet trailer data */ - - int timeout; /* Overall timeout per call (seconds) for this conn */ - int lastSendTime; /* Last send time for this connection */ - u_short secondsUntilDead; /* Maximum silence from peer before RX_CALL_DEAD */ - u_short hardDeadTime; /* hard max for call execution */ - u_char ackRate; /* how many packets between ack requests */ - u_char makeCallWaiters; /* how many rx_NewCalls are waiting */ - int nSpecific; /* number entries in specific data */ - void **specific; /* pointer to connection specific data */ -}; #ifndef KDUMP_RX_LOCK /* Flag bits for connection structure */ @@ -610,7 +495,8 @@ struct rx_call { int abortCount; /* number of times last error was sent */ u_int lastSendTime; /* Last time a packet was sent on this call */ u_int lastReceiveTime; /* Last time a packet was received for this call */ - VOID (*arrivalProc)(); /* Procedure to call when reply is received */ + VOID (*arrivalProc)(register struct rx_call *call, + register struct multi_handle *mh, register int index); /* Procedure to call when reply is received */ VOID *arrivalProcHandle; /* Handle to pass to replyFunc */ VOID *arrivalProcArg; /* Additional arg to pass to reply Proc */ afs_uint32 lastAcked; /* last packet "hard" acked by receiver */ @@ -780,6 +666,67 @@ struct rx_ackPacket { /* this shud be equal to VRESTARTING ( util/errors.h ) for old clients to work */ #define RX_RESTARTING (-100) +struct rx_securityObjectStats { + char type; /* 0:unk 1:null,2:vab 3:kad */ + char level; + char sparec[10]; /* force correct alignment */ + afs_int32 flags; /* 1=>unalloc, 2=>auth, 4=>expired */ + afs_uint32 expires; + afs_uint32 packetsReceived; + afs_uint32 packetsSent; + afs_uint32 bytesReceived; + afs_uint32 bytesSent; + short spares[4]; + afs_int32 sparel[8]; +}; + +/* XXXX (rewrite this description) A security class object contains a set of + * procedures and some private data to implement a security model for rx + * connections. These routines are called by rx as appropriate. Rx knows + * nothing about the internal details of any particular security model, or + * about security state. Rx does maintain state per connection on behalf of + * the security class. Each security class implementation is also expected to + * provide routines to create these objects. Rx provides a basic routine to + * allocate one of these objects; this routine must be called by the class. */ +struct rx_securityClass { + struct rx_securityOps { + int (*op_Close)(struct rx_securityClass *aobj); + int (*op_NewConnection)(struct rx_securityClass *aobj, struct rx_connection *aconn); + int (*op_PreparePacket)(struct rx_securityClass *aobj, struct rx_call *acall, struct rx_packet *apacket); + int (*op_SendPacket)(struct rx_securityClass *aobj, struct rx_call *acall, struct rx_packet *apacket); + int (*op_CheckAuthentication)(struct rx_securityClass *aobj, struct rx_connection *aconn); + int (*op_CreateChallenge)(struct rx_securityClass *aobj, struct rx_connection *aconn); + int (*op_GetChallenge)(struct rx_securityClass *aobj, struct rx_connection *aconn, struct rx_packet *apacket); + int (*op_GetResponse)(struct rx_securityClass *aobj, struct rx_connection *aconn, struct rx_packet *apacket); + int (*op_CheckResponse)(struct rx_securityClass *aobj, struct rx_connection *aconn, struct rx_packet *apacket); + int (*op_CheckPacket) (struct rx_securityClass *aobj, struct rx_call *acall, struct rx_packet *apacket); + int (*op_DestroyConnection)(struct rx_securityClass *aobj, struct rx_connection *aconn); + int (*op_GetStats)(struct rx_securityClass *aobj, struct rx_connection *aconn, struct rx_securityObjectStats *astats); + int (*op_Spare1)(void); + int (*op_Spare2)(void); + int (*op_Spare3)(void); + } *ops; + VOID *privateData; + int refCount; +}; + +#define RXS_OP(obj,op,args) ((obj && (obj->ops->op_ ## op)) ? (*(obj)->ops->op_ ## op)args : 0) + +#define RXS_Close(obj) RXS_OP(obj,Close,(obj)) +#define RXS_NewConnection(obj,conn) RXS_OP(obj,NewConnection,(obj,conn)) +#define RXS_PreparePacket(obj,call,packet) RXS_OP(obj,PreparePacket,(obj,call,packet)) +#define RXS_SendPacket(obj,call,packet) RXS_OP(obj,SendPacket,(obj,call,packet)) +#define RXS_CheckAuthentication(obj,conn) RXS_OP(obj,CheckAuthentication,(obj,conn)) +#define RXS_CreateChallenge(obj,conn) RXS_OP(obj,CreateChallenge,(obj,conn)) +#define RXS_GetChallenge(obj,conn,packet) RXS_OP(obj,GetChallenge,(obj,conn,packet)) +#define RXS_GetResponse(obj,conn,packet) RXS_OP(obj,GetResponse,(obj,conn,packet)) +#define RXS_CheckResponse(obj,conn,packet) RXS_OP(obj,CheckResponse,(obj,conn,packet)) +#define RXS_CheckPacket(obj,call,packet) RXS_OP(obj,CheckPacket,(obj,call,packet)) +#define RXS_DestroyConnection(obj,conn) RXS_OP(obj,DestroyConnection,(obj,conn)) +#define RXS_GetStats(obj,conn,stats) RXS_OP(obj,GetStats,(obj,conn,stats)) + + + /* Structure for keeping rx statistics. Note that this structure is returned * by rxdebug, so, for compatibility reasons, new fields should be appended (or * spares used), the rxdebug protocol checked, if necessary, and the PrintStats @@ -989,18 +936,6 @@ extern int rx_callHoldType; #endif /* _CALL_REF_DEFINED_ */ -struct rx_connection *rx_GetCachedConnection( - unsigned int remoteAddr, - unsigned short port, - unsigned short service, - struct rx_securityClass *securityObject, - int securityIndex -); - -void rx_ReleaseCachedConnection( - struct rx_connection *conn -); - #define RX_SERVER_DEBUG_SEC_STATS 0x1 #define RX_SERVER_DEBUG_ALL_CONN 0x2 #define RX_SERVER_DEBUG_RX_STATS 0x4 @@ -1010,51 +945,6 @@ void rx_ReleaseCachedConnection( #define RX_SERVER_DEBUG_NEW_PACKETS 0x40 #define RX_SERVER_DEBUG_ALL_PEER 0x80 -afs_int32 rx_GetServerDebug( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - struct rx_debugStats *stat, - afs_uint32 *supportedValues -); - -afs_int32 rx_GetServerStats( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - struct rx_stats *stat, - afs_uint32 *supportedValues -); - -afs_int32 rx_GetServerVersion( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - size_t version_length, - char *version -); - -afs_int32 rx_GetServerConnections( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - afs_int32 *nextConnection, - int allConnections, - afs_uint32 debugSupportedValues, - struct rx_debugConn *conn, - afs_uint32 *supportedValues -); - -afs_int32 rx_GetServerPeers( - int socket, - afs_uint32 remoteAddr, - afs_uint16 remotePort, - afs_int32 *nextPeer, - afs_uint32 debugSupportedValues, - struct rx_debugPeer *peer, - afs_uint32 *supportedValues -); - #define AFS_RX_STATS_CLEAR_ALL 0xffffffff #define AFS_RX_STATS_CLEAR_INVOCATIONS 0x1 #define AFS_RX_STATS_CLEAR_BYTES_SENT 0x2 @@ -1106,74 +996,16 @@ typedef struct rx_interface_stat { rx_function_entry_v1_t stats[1]; /* make sure this is aligned correctly */ } rx_interface_stat_t, *rx_interface_stat_p; -void rx_IncrementTimeAndCount( - struct rx_peer *peer, - afs_uint32 rxInterface, - afs_uint32 currentFunc, - afs_uint32 totalFunc, - struct clock *queueTime, - struct clock *execTime, - afs_hyper_t *bytesSent, - afs_hyper_t *bytesRcvd, - int isServer -); - -int rx_RetrieveProcessRPCStats( - afs_uint32 callerVersion, - afs_uint32 *myVersion, - afs_uint32 *clock_sec, - afs_uint32 *clock_usec, - size_t *allocSize, - afs_uint32 *statCount, - afs_uint32 **stats -); - -int rx_RetrievePeerRPCStats( - afs_uint32 callerVersion, - afs_uint32 *myVersion, - afs_uint32 *clock_sec, - afs_uint32 *clock_usec, - size_t *allocSize, - afs_uint32 *statCount, - afs_uint32 **stats -); - -void rx_FreeRPCStats( - afs_uint32 *stats, - size_t allocSize -); - -int rx_queryProcessRPCStats(); - -int rx_queryPeerRPCStats(); - -void rx_enableProcessRPCStats(); - -void rx_enablePeerRPCStats(); - -void rx_disableProcessRPCStats(); - -void rx_disablePeerRPCStats(); - -void rx_clearProcessRPCStats( - afs_uint32 clearFlag -); - -void rx_clearPeerRPCStats( - afs_uint32 clearFlag -); - -void rx_SetRxStatUserOk( - int (*proc)(struct rx_call *call) -); - -int rx_RxStatUserOk( - struct rx_call *call -); +#define RX_STATS_SERVICE_ID 409 -#define RX_STATS_SERVICE_ID 409 #endif /* _RX_ End of rx.h */ +#ifdef KERNEL +#include "../rx/rx_prototypes.h" +#else +#include "rx_prototypes.h" +#endif + #endif /* !KDUMP_RX_LOCK */ diff --git a/src/rx/rx_clock.c b/src/rx/rx_clock.c index 7d60884..8cab6ba 100644 --- a/src/rx/rx_clock.c +++ b/src/rx/rx_clock.c @@ -31,6 +31,7 @@ RCSID("$Header$"); #else /* !UKERNEL */ #include "../afs/sysincludes.h" #include "../afs/afsincludes.h" +#include "../rx/rx.h" #include "../rx/rx_clock.h" #endif /* !UKERNEL */ #else /* KERNEL */ @@ -38,6 +39,7 @@ RCSID("$Header$"); #include #include #include +#include "rx.h" #include "rx_clock.h" #endif @@ -61,7 +63,8 @@ int clock_nUpdates; /* The actual number of clock updates */ static int clockInitialized = 0; /* Initialize the clock */ -void clock_Init(void) { +void clock_Init(void) +{ struct itimerval itimer, otimer; if (!clockInitialized) { @@ -82,18 +85,15 @@ void clock_Init(void) { clock_UpdateTime(); } -#ifndef KERNEL /* Make clock uninitialized. */ -int -clock_UnInit() +int clock_UnInit(void) { clockInitialized = 0; return 0; } -#endif /* Compute the current time. The timer gets the current total elapsed time since startup, expressed in seconds and microseconds. This call is almost 200 usec on an APC RT */ -void clock_UpdateTime() +void clock_UpdateTime(void) { struct itimerval itimer; getitimer(ITIMER_REAL, &itimer); diff --git a/src/rx/rx_clock.h b/src/rx/rx_clock.h index a8665fa..1234f52 100644 --- a/src/rx/rx_clock.h +++ b/src/rx/rx_clock.h @@ -70,13 +70,9 @@ extern int clock_haveCurrentTime; extern int clock_nUpdates; /* Initialize the clock package */ -extern void clock_Init(); #define clock_NewTime() (clock_haveCurrentTime = 0) -/* Update the value to be returned by gettime */ -extern void clock_UpdateTime(); - /* Return the current clock time. If the clock value has not been updated since the last call to clock_NewTime, it is updated now */ #define clock_GetTime(cv) \ BEGIN \ diff --git a/src/rx/rx_conncache.c b/src/rx/rx_conncache.c index 05b2bc5..25b3696 100644 --- a/src/rx/rx_conncache.c +++ b/src/rx/rx_conncache.c @@ -96,7 +96,8 @@ typedef struct cache_entry { * Compare two connections for equality */ -static int rxi_CachedConnectionsEqual(rx_connParts_p a, rx_connParts_p b) { +static int rxi_CachedConnectionsEqual(rx_connParts_p a, rx_connParts_p b) +{ return ((a->hostAddr == b->hostAddr) && (a->port == b->port) && (a->service == b->service) && @@ -108,8 +109,8 @@ static int rxi_CachedConnectionsEqual(rx_connParts_p a, rx_connParts_p b) { * Check the cache for a connection */ -static int rxi_FindCachedConnection(rx_connParts_p parts, - struct rx_connection **conn) { +static int rxi_FindCachedConnection(rx_connParts_p parts, struct rx_connection **conn) +{ int error = 0; cache_entry_p cacheConn, nCacheConn; @@ -135,8 +136,8 @@ static int rxi_FindCachedConnection(rx_connParts_p parts, * arguments that were used to create it */ -static void rxi_AddCachedConnection(rx_connParts_p parts, - struct rx_connection **conn) { +static void rxi_AddCachedConnection(rx_connParts_p parts, struct rx_connection **conn) +{ cache_entry_p new_entry; if((new_entry = (cache_entry_p) malloc(sizeof(cache_entry_t)))) { @@ -160,8 +161,8 @@ static void rxi_AddCachedConnection(rx_connParts_p parts, * Create a new connection if none are currently available. */ -static int rxi_GetCachedConnection(rx_connParts_p parts, - struct rx_connection **conn) { +static int rxi_GetCachedConnection(rx_connParts_p parts, struct rx_connection **conn) +{ int error = 0; /* @@ -200,7 +201,8 @@ static int rxi_GetCachedConnection(rx_connParts_p parts, * Note - only call this routine from rx_Finalize. */ -void rxi_DeleteCachedConnections() { +void rxi_DeleteCachedConnections(void) +{ cache_entry_p cacheConn, nCacheConn; LOCK_CONN_CACHE @@ -224,10 +226,9 @@ void rxi_DeleteCachedConnections() { */ struct rx_connection *rx_GetCachedConnection(unsigned int remoteAddr, - unsigned short port, - unsigned short service, - struct rx_securityClass *securityObject, - int securityIndex) { + unsigned short port, unsigned short service, struct rx_securityClass *securityObject, + int securityIndex) +{ struct rx_connection *conn = NULL; rx_connParts_t parts; @@ -250,7 +251,8 @@ struct rx_connection *rx_GetCachedConnection(unsigned int remoteAddr, * Release a connection we previously handed out */ -void rx_ReleaseCachedConnection(struct rx_connection *conn) { +void rx_ReleaseCachedConnection(struct rx_connection *conn) +{ cache_entry_p cacheConn, nCacheConn; LOCK_CONN_CACHE @@ -275,5 +277,4 @@ void rx_ReleaseCachedConnection(struct rx_connection *conn) { } } UNLOCK_CONN_CACHE - } diff --git a/src/rx/rx_event.c b/src/rx/rx_event.c index f117b12..a59fb4b 100644 --- a/src/rx/rx_event.c +++ b/src/rx/rx_event.c @@ -77,7 +77,7 @@ static int rxepoch_allocUnit = 10; /* Allocation unit (number of epoch records int rxevent_nFree; /* Number of free event records */ int rxevent_nPosted; /* Current number of posted events */ int rxepoch_nFree; /* Number of free epoch records */ -static int (*rxevent_ScheduledEarlierEvent)(); /* Proc to call when an event is scheduled that is earlier than all other events */ +static int (*rxevent_ScheduledEarlierEvent)(void); /* Proc to call when an event is scheduled that is earlier than all other events */ struct xfreelist { void *mem; int size; @@ -115,10 +115,7 @@ pthread_mutex_t rx_event_mutex; /* Pass in the number of events to allocate at a time */ int rxevent_initialized = 0; -void -rxevent_Init(nEvents, scheduler) - int nEvents; - int (*scheduler)(); +void rxevent_Init(int nEvents, void (*scheduler)(void)) { LOCK_EV_INIT if (rxevent_initialized) { @@ -176,8 +173,16 @@ struct rxepoch *rxepoch_Allocate(struct clock *when) * "when" argument specifies when "func" should be called, in clock (clock.h) * units. */ -struct rxevent *rxevent_Post(struct clock *when, void (*func)(), - void *arg, void *arg1) +#if 0 +struct rxevent *rxevent_Post(struct clock *when, + void (*func)(struct rxevent *event, + struct rx_connection *conn, struct rx_call *acall), + void *arg, void *arg1) +#else +struct rxevent *rxevent_Post(struct clock *when, + void (*func)(), + void *arg, void *arg1) +#endif { register struct rxevent *ev, *evqe, *evqpr; register struct rxepoch *ep, *epqe, *epqpr; @@ -285,19 +290,11 @@ struct rxevent *rxevent_Post(struct clock *when, void (*func)(), #ifdef RX_ENABLE_LOCKS #ifdef RX_REFCOUNT_CHECK int rxevent_Cancel_type = 0; -void rxevent_Cancel_1(ev, call, type) - register struct rxevent *ev; - register struct rx_call *call; - register int type; -#else /* RX_REFCOUNT_CHECK */ -void rxevent_Cancel_1(ev, call) - register struct rxevent *ev; - register struct rx_call *call; -#endif /* RX_REFCOUNT_CHECK */ -#else /* RX_ENABLE_LOCKS */ -void rxevent_Cancel_1(ev) - register struct rxevent *ev; -#endif /* RX_ENABLE_LOCKS */ +#endif +#endif + +void rxevent_Cancel_1(register struct rxevent *ev, + register struct rx_call *call, register int type) { #ifdef RXDEBUG if (rx_Log_event) { @@ -349,8 +346,7 @@ void rxevent_Cancel_1(ev) * and the function returns 1. If there are is no next epoch, the function * returns 0. */ -int rxevent_RaiseEvents(next) - struct clock *next; +int rxevent_RaiseEvents(struct clock *next) { register struct rxepoch *ep; register struct rxevent *ev; @@ -424,7 +420,7 @@ void shutdown_rxevent(void) osi_Free((char *)xp, sizeof(struct xfreelist)); xp = nxp; } - xfreemallocs = (struct xfreelist *) 0; + xfreemallocs = NULL; #endif } diff --git a/src/rx/rx_event.h b/src/rx/rx_event.h index b8033b7..2b5353e 100644 --- a/src/rx/rx_event.h +++ b/src/rx/rx_event.h @@ -49,47 +49,52 @@ struct rxepoch { #endif /* This routine must be called to initialize the event package. nEvents is the number of events to allocate in a batch whenever more are needed. If this is 0, a default number (10) will be allocated. */ +#if 0 extern void rxevent_Init(/* nEvents, scheduler */); +#endif /* Get the expiration time for the next event */ +#if 0 extern void exevent_NextEvent(/* when */); +#endif /* Arrange for the indicated event at the appointed time. When is a "struct clock", in the clock.c time base */ +#if 0 extern struct rxevent *rxevent_Post(/* when, func, arg, arg1 */); +#endif /* Remove the indicated event from the event queue. The event must be pending. Also see the warning, above. The event pointer supplied is zeroed. */ #ifdef RX_ENABLE_LOCKS #ifdef RX_REFCOUNT_CHECK -extern void rxevent_Cancel_1(/* event_ptr, call , type*/); #define rxevent_Cancel(event_ptr, call, type) \ BEGIN \ if (event_ptr) { \ rxevent_Cancel_1(event_ptr, call, type); \ - event_ptr = (struct rxevent *) 0; \ + event_ptr = NULL; \ } \ END #else /* RX_REFCOUNT_CHECK */ -extern void rxevent_Cancel_1(/* event_ptr, call*/); #define rxevent_Cancel(event_ptr, call, type) \ BEGIN \ if (event_ptr) { \ - rxevent_Cancel_1(event_ptr, call); \ - event_ptr = (struct rxevent *) 0; \ + rxevent_Cancel_1(event_ptr, call, 0); \ + event_ptr = NULL; \ } \ END #endif /* RX_REFCOUNT_CHECK */ #else /* RX_ENABLE_LOCKS */ -extern void rxevent_Cancel_1(/* event_ptr */); #define rxevent_Cancel(event_ptr, call, type) \ BEGIN \ if (event_ptr) { \ - rxevent_Cancel_1(event_ptr); \ - event_ptr = (struct rxevent *) 0; \ + rxevent_Cancel_1(event_ptr, NULL, 0); \ + event_ptr = NULL; \ } \ END #endif /* RX_ENABLE_LOCKS */ /* The actions specified for each event that has reached the current clock time will be taken. The current time returned by GetTime is used (warning: this may be an old time if the user has not called clock_NewTime) */ +#if 0 extern int rxevent_RaiseEvents(); +#endif #endif /* _EVENT_ */ diff --git a/src/rx/rx_getaddr.c b/src/rx/rx_getaddr.c index 4bef1ec..5aaf681 100644 --- a/src/rx/rx_getaddr.c +++ b/src/rx/rx_getaddr.c @@ -37,7 +37,7 @@ RCSID("$Header$"); #ifdef UKERNEL #include "../rx/rx_kcommon.h" #else /* UKERNEL */ -/* nothing here required yet */ +#include "../rx/rx.h" #endif /* UKERNEL */ #endif /* KERNEL */ @@ -49,13 +49,14 @@ RCSID("$Header$"); afs_int32 rxi_tempAddr=0; /* default attempt */ /* set the advisory noise */ -afs_int32 rxi_setaddr(x) -afs_int32 x;{ +void rxi_setaddr(afs_int32 x) +{ rxi_tempAddr = x; } /* get approx to net addr */ -afs_int32 rxi_getaddr() { +afs_int32 rxi_getaddr(void) +{ return rxi_tempAddr; } @@ -64,10 +65,8 @@ afs_int32 rxi_getaddr() { #ifndef KERNEL /* to satisfy those who call setaddr */ -int -rxi_setaddr(x) -afs_int32 x; { - return 0; +void rxi_setaddr(afs_int32 x) +{ } #endif /* !KERNEL */ @@ -83,7 +82,7 @@ afs_int32 x; { /* Return our internet address as a long in network byte order. Returns zero * if it can't find one. */ -afs_int32 rxi_getaddr () +afs_int32 rxi_getaddr(void) { afs_int32 buffer[1024]; int count; diff --git a/src/rx/rx_globals.h b/src/rx/rx_globals.h index bd467e3..e9803ab 100644 --- a/src/rx/rx_globals.h +++ b/src/rx/rx_globals.h @@ -174,7 +174,7 @@ EXT afs_uint32 rx_MyMaxSendSize INIT(8588); EXT afs_uint32 rx_maxJumboRecvSize INIT(RX_MAX_PACKET_SIZE); /* need this to permit progs to run on AIX systems */ -EXT int (*rxi_syscallp) () INIT(0); +EXT int (*rxi_syscallp) (afs_uint32 a3, afs_uint32 a4, void *a5) INIT(0); /* List of free queue entries */ EXT struct rx_serverQueueEntry *rx_FreeSQEList INIT(0); @@ -259,66 +259,9 @@ EXT afs_kmutex_t rx_connHashTable_lock; #define PEER_HASH(host, port) ((host ^ port) & rx_hashTableMask) - -#ifdef notdef /* Use a func for now to measure allocated structs */ -#define rxi_Free(addr, size) osi_Free(addr, size) -#endif /* notdef */ - -void rxi_Free(); - /* Forward definitions of internal procedures */ -struct rx_packet *rxi_AllocPacket(); -struct rx_packet *rxi_AllocSendPacket(); -char *rxi_Alloc(); -struct rx_peer *rxi_FindPeer(); -struct rx_call *rxi_NewCall(); -void rxi_FreeCall(); -struct rx_call *rxi_FindCall(); -int rxi_ReadPacket(); -struct rx_packet *rxi_ReceivePacket(); -struct rx_packet *rxi_ReceiveDataPacket(); -struct rx_packet *rxi_ReceiveAckPacket(); -struct rx_packet *rxi_ReceiveResponsePacket(); -struct rx_packet *rxi_ReceiveChallengePacket(); -void rx_ServerProc(); -void rxi_ServerProc(); -void rxi_AttachServerProc(); -void rxi_ChallengeOn(); #define rxi_ChallengeOff(conn) rxevent_Cancel((conn)->challengeEvent, (struct rx_call*)0, 0); -void rxi_ChallengeEvent(); -void rxi_SendDelayedConnAbort(); -void rxi_SendDelayedCallAbort(); -struct rx_packet *rxi_SendAck(); -void rxi_ClearTransmitQueue(); -void rxi_ClearReceiveQueue(); -void rxi_InitCall(); -void rxi_ResetCall(); -void rxi_CallError(); -void rxi_ConnectionError(); -void rxi_QueuePackets(); -void rxi_Start(); -void rxi_CallIsIdle(); -void rxi_CallTimedOut(); -void rxi_ComputeRoundTripTime(); -void rxi_ScheduleKeepAliveEvent(); -void rxi_KeepAliveEvent(); -void rxi_KeepAliveOn(); #define rxi_KeepAliveOff(call) rxevent_Cancel((call)->keepAliveEvent, call, RX_CALL_REFCOUNT_ALIVE) -void rxi_AckAll(); -void rxi_SendDelayedAck(); -struct rx_packet *rxi_SendSpecial(); -struct rx_packet *rxi_SendCallAbort(); -struct rx_packet *rxi_SendConnectionAbort(); -void rxi_ScheduleDecongestionEvent(); -void rxi_CongestionWait(); -void rxi_ReapConnections(); -void rxi_EncodePacketHeader(); -void rxi_DecodePacketHeader(); -void rxi_DebugPrint(); -void rxi_SendDelayedAck(); -void rxi_PrepareSendPacket(); -void rxi_Send(); - #define rxi_AllocSecurityObject() (struct rx_securityClass *) rxi_Alloc(sizeof(struct rx_securityClass)) #define rxi_FreeSecurityObject(obj) rxi_Free(obj, sizeof(struct rx_securityClass)) diff --git a/src/rx/rx_internal.h b/src/rx/rx_internal.h index 31f4abf..cb95457 100644 --- a/src/rx/rx_internal.h +++ b/src/rx/rx_internal.h @@ -7,46 +7,4 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#ifndef _RX_INTERNAL_H_ -#define _RX_INTERNAL_H_ - -#ifdef AFS_NT40_ENV -#include "rx.h" - -/* rx.c */ -int rxi_IsConnInteresting(struct rx_connection *aconn); - -/* rx_lwp.c */ -extern void rxi_Delay(int seconds); -extern void rxi_InitializeThreadSupport(void); -extern void rxi_Sleep(void *addr); -extern void rxi_Wakeup(void *addr); -extern int rxi_Recvmsg(osi_socket socket, struct msghdr *msg_p, int flags); -extern int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags); - -/* rx_packet.c */ -extern void rxi_FreePacket(struct rx_packet *p); -extern int rxi_AllocDataBuf(struct rx_packet *p, int nb, int class); -extern void rxi_MorePackets(int apackets); -extern afs_int32 rx_SlowGetInt32(struct rx_packet *packet, size_t offset); -extern afs_int32 rx_SlowPutInt32(struct rx_packet *packet, size_t offset, afs_int32 data); -extern afs_int32 rx_SlowWritePacket(struct rx_packet *packet, int offset, - int resid, char *in); -extern void rxi_SendPacket(struct rx_connection * conn, struct rx_packet *p, - int istack); -extern afs_int32 rx_SlowReadPacket(struct rx_packet *packet, - u_int offset, int resid, char *out); -extern void rxi_FreeAllPackets(void); - -/* rx_user.c */ -extern osi_socket rxi_GetUDPSocket(u_short port); -extern void rxi_InitPeerParams(struct rx_peer *pp); - - -/* rx_event.c */ -extern struct rxevent *rxevent_Post(struct clock *when, void (*func)(), - void *arg, void *arg1); - - -#endif /* AFS_NT40_ENV */ -#endif /* _RX_INTERNAL_H_ */ +/* Remove this file */ diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index 318e72b..aa04db1 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -24,14 +24,17 @@ RCSID("$Header$"); #endif #include "../afsint/afsint.h" -afs_int32 rxi_Findcbi(); -extern struct interfaceAddr afs_cb_interface; +struct ifnet *rxi_FindIfnet(afs_uint32 addr, struct in_ifaddr **pifad); #ifndef RXK_LISTENER_ENV -int (*rxk_GetPacketProc)(); /* set to packet allocation procedure */ -int (*rxk_PacketArrivalProc)(); +int (*rxk_PacketArrivalProc)(register struct rx_packet *ahandle, + register struct sockaddr_in *afrom, char *arock, + afs_int32 asize); /* set to packet allocation procedure */ +int (*rxk_GetPacketProc)(char **ahandle, int asize); #endif +extern struct interfaceAddr afs_cb_interface; + rxk_ports_t rxk_ports; rxk_portRocks_t rxk_portRocks; @@ -60,8 +63,8 @@ static int rxk_AddPort(u_short aport, char * arock) } /* remove as port from the monitored list, port # is in network order */ -rxk_DelPort(aport) -u_short aport; { +int rxk_DelPort(u_short aport) +{ register int i; register unsigned short *tsp; @@ -85,13 +88,12 @@ void rxk_shutdownPorts(void) #if ! defined(AFS_SUN5_ENV) && ! defined(UKERNEL) && ! defined(RXK_LISTENER_ENV) soclose((struct socket *)rxk_portRocks[i]); #endif - rxk_portRocks[i] = (char *)0; + rxk_portRocks[i] = NULL; } } } -osi_socket rxi_GetUDPSocket(port) - u_short port; +osi_socket rxi_GetUDPSocket(u_short port) { struct osi_socket *sockp; sockp = (struct osi_socket *) rxk_NewSocket(port); @@ -122,8 +124,7 @@ char *msg; * defined only on success. */ -int -osi_utoa(char *buf, size_t len, unsigned long val) +int osi_utoa(char *buf, size_t len, unsigned long val) { long k; /* index of first byte of string value */ @@ -196,8 +197,7 @@ osi_utoa(char *buf, size_t len, unsigned long val) * argument to the native panic(), we construct a single string and hand * that to osi_Panic(). */ -void -osi_AssertFailK(const char *expr, const char *file, int line) +void osi_AssertFailK(const char *expr, const char *file, int line) { static const char msg0[] = "assertion failed: "; static const char msg1[] = ", file: "; @@ -241,7 +241,7 @@ osi_AssertFailK(const char *expr, const char *file, int line) #ifndef UKERNEL /* This is the server process request loop. Kernel server * processes never become listener threads */ -void rx_ServerProc() +void rx_ServerProc(void) { int threadID; @@ -262,9 +262,8 @@ void rx_ServerProc() #endif /* !UKERNEL */ #ifndef RXK_LISTENER_ENV -static int MyPacketProc(ahandle, asize) -int asize; /* this includes the Rx header */ -char **ahandle; +/* asize includes the Rx header */ +static int MyPacketProc(char **ahandle, int asize) { register struct rx_packet *tp; @@ -305,11 +304,10 @@ char **ahandle; return 0; } -static int MyArrivalProc(ahandle, afrom, arock, asize) -register struct rx_packet *ahandle; -register struct sockaddr_in *afrom; -char *arock; -afs_int32 asize; { +static int MyArrivalProc(register struct rx_packet *ahandle, + register struct sockaddr_in *afrom, char *arock, + afs_int32 asize) +{ /* handle basic rx packet */ ahandle->length = asize - RX_HEADER_SIZE; rxi_DecodePacketHeader(ahandle); @@ -323,8 +321,8 @@ afs_int32 asize; { } #endif /* !RXK_LISTENER_ENV */ -void -rxi_StartListener() { +void rxi_StartListener(void) +{ /* if kernel, give name of appropriate procedures */ #ifndef RXK_LISTENER_ENV rxk_GetPacketProc = MyPacketProc; @@ -335,8 +333,7 @@ rxi_StartListener() { /* Called from rxi_FindPeer, when initializing a clear rx_peer structure, to get interesting information. */ -void rxi_InitPeerParams(pp) -register struct rx_peer *pp; +void rxi_InitPeerParams(register struct rx_peer *pp) { #ifdef ADAPT_MTU u_short rxmtu; @@ -480,11 +477,10 @@ void shutdown_rxkernel(void) #define ADDRSPERSITE 16 static afs_uint32 myNetAddrs[ADDRSPERSITE]; static int myNetMTUs[ADDRSPERSITE]; -static int myNetFlags[ADDRSPERSITE]; static int numMyNetAddrs = 0; #ifdef AFS_USERSPACE_IP_ADDR -int rxi_GetcbiInfo() +int rxi_GetcbiInfo(void) { int i, j, different = 0; int rxmtu, maxmtu; @@ -529,8 +525,7 @@ int rxi_GetcbiInfo() /* Returns the afs_cb_interface inxex which best matches address. * If none is found, we return -1. */ -afs_int32 rxi_Findcbi(addr) - afs_uint32 addr; +afs_int32 rxi_Findcbi(afs_uint32 addr) { int j; afs_uint32 myAddr, thisAddr, netMask, subnetMask; @@ -570,7 +565,6 @@ afs_int32 rxi_Findcbi(addr) } } - done: return(rvalue); } @@ -582,7 +576,7 @@ afs_int32 rxi_Findcbi(addr) #define IFADDR2SA(f) ((f)->ifa_addr) #endif -int rxi_GetIFInfo() +int rxi_GetIFInfo(void) { int i = 0; int different = 0; @@ -646,10 +640,7 @@ int rxi_GetIFInfo() } /* Returns ifnet which best matches address */ -struct ifnet * -rxi_FindIfnet(addr, pifad) - afs_uint32 addr; - struct in_ifaddr **pifad; +struct ifnet *rxi_FindIfnet(afs_uint32 addr, struct in_ifaddr **pifad) { afs_uint32 ppaddr; int match_value = 0; @@ -854,8 +845,7 @@ bad: /* free socket allocated by rxk_NewSocket */ -int rxk_FreeSocket(asocket) - register struct socket *asocket; +int rxk_FreeSocket(register struct socket *asocket) { AFS_STATCNT(osi_FreeSocket); #if defined(AFS_DARWIN_ENV) && defined(KERNEL_FUNNEL) @@ -873,9 +863,8 @@ int rxk_FreeSocket(asocket) /* * Run RX event daemon every second (5 times faster than rest of systems) */ -afs_rxevent_daemon() +void afs_rxevent_daemon(void) { - int s, code; struct clock temp; SPLVAR; @@ -891,7 +880,7 @@ afs_rxevent_daemon() #ifdef RX_ENABLE_LOCKS AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ - afs_osi_Wait(500, (char *)0, 0); + afs_osi_Wait(500, NULL, 0); if (afs_termState == AFSOP_STOP_RXEVENT ) { #ifdef RXK_LISTENER_ENV @@ -1048,7 +1037,7 @@ void rxk_Listener(void) } if (!(code = rxk_ReadPacket(rx_socket, rxp, &host, &port))) { AFS_RXGLOCK(); - rxp = rxi_ReceivePacket(rxp, rx_socket, host, port); + rxp = rxi_ReceivePacket(rxp, rx_socket, host, port, 0, 0); AFS_RXGUNLOCK(); } } diff --git a/src/rx/rx_kcommon.h b/src/rx/rx_kcommon.h index 0a758aa..92cb944 100644 --- a/src/rx/rx_kcommon.h +++ b/src/rx/rx_kcommon.h @@ -100,23 +100,16 @@ struct coda_inode_info {}; #include "../afs/longc_procs.h" #include "../afs/afs_stats.h" #include "../h/errno.h" +#ifdef KERNEL +#include "../afs/afsincludes.h" +#endif -extern afs_int32 afs_termState; -extern int (*rxk_GetPacketProc)(); /* set to packet allocation procedure */ -extern int (*rxk_PacketArrivalProc)(); - -#define MAXRXPORTS 20 +#define MAXRXPORTS 20 typedef unsigned short rxk_ports_t[MAXRXPORTS]; typedef char *rxk_portRocks_t[MAXRXPORTS]; extern rxk_ports_t rxk_ports; extern rxk_portRocks_t rxk_portRocks; -extern struct osi_socket *rxk_NewSocket(short aport); -extern struct ifnet *rxi_FindIfnet(); -extern int rxi_FindIfMTU(); - -extern int rxk_initDone; - #if defined(AFS_XBSD_ENV) extern struct domain inetdomain; #endif /* AFS_XBSD_ENV */ diff --git a/src/rx/rx_kernel.h b/src/rx/rx_kernel.h index bb267c7..fb5b094 100644 --- a/src/rx/rx_kernel.h +++ b/src/rx/rx_kernel.h @@ -15,10 +15,6 @@ #define osi_Alloc afs_osi_Alloc #define osi_Free afs_osi_Free -extern int (*rxk_GetPacketProc)(); /* set to packet allocation procedure */ -extern int (*rxk_PacketArrivalProc)(); - -extern void rxi_StartListener(); #define rxi_ReScheduleEvents 0 /* Not needed by kernel */ /* This is a no-op, because the kernel server procs are pre-allocated */ @@ -28,16 +24,12 @@ extern void rxi_StartListener(); typedef struct socket *osi_socket; #define OSI_NULLSOCKET ((osi_socket) 0) -extern osi_socket rxi_GetUDPSocket(); - #if (!defined(AFS_GLOBAL_SUNLOCK) && !defined(RX_ENABLE_LOCKS)) || (defined(AFS_HPUX_ENV) && !defined(RX_ENABLE_LOCKS)) #define osi_rxSleep(a) afs_osi_Sleep(a) #define osi_rxWakeup(a) afs_osi_Wakeup(a) #endif -extern void osi_Panic(); extern int osi_utoa(char *buf, size_t len, unsigned long val); -extern void osi_AssertFailK(const char *expr, const char *file, int line); #define osi_Assert(e) (void)((e) || (osi_AssertFailK(#e, __FILE__, __LINE__), 0)) #define osi_Msg printf)( diff --git a/src/rx/rx_lwp.c b/src/rx/rx_lwp.c index 0e6ffb5..33f7588 100644 --- a/src/rx/rx_lwp.c +++ b/src/rx/rx_lwp.c @@ -44,6 +44,7 @@ extern int (*registerProgram)(); extern int (*swapNameProgram)(); int debugSelectFailure; /* # of times select failed */ + /* * Sleep on the unique wait channel provided. */ @@ -75,8 +76,7 @@ void rxi_Delay(int sec) static int quitListening = 0; /* This routine will kill the listener thread, if it exists. */ -void -rxi_StopListener() +void rxi_StopListener(void) { quitListening = 1; rxi_ReScheduleEvents(); @@ -87,7 +87,8 @@ rxi_StopListener() is blocked in selects, this will unblock it. It also can be called to force a new trip through the rxi_Listener select loop when the set of file descriptors it should be listening to changes... */ -void rxi_ReScheduleEvents() { +void rxi_ReScheduleEvents(void) +{ if (rx_listenerPid) IOMGR_Cancel(rx_listenerPid); } @@ -100,8 +101,7 @@ void rxi_InitializeThreadSupport(void) FD_ZERO(&rx_selectMask); } -void rxi_StartServerProc(proc, stacksize) - long (*proc)(); +void rxi_StartServerProc(void (*proc)(void), int stacksize) { PROCESS scratchPid; static int number = 0; @@ -114,7 +114,8 @@ void rxi_StartServerProc(proc, stacksize) (*registerProgram)(scratchPid, name); } -void rxi_StartListener() { +void rxi_StartListener(void) +{ /* Priority of listener should be high, so it can keep conns alive */ #define RX_LIST_STACK 24000 LWP_CreateProcess(rx_ListenerProc, RX_LIST_STACK, LWP_MAX_PRIORITY, 0, @@ -140,10 +141,7 @@ void rxi_StartListener() { don't do a polling select again until several seconds later (via nextPollTime mechanism). */ -void rxi_ListenerProc(rfds, tnop, newcallp) - fd_set *rfds; - int *tnop; - struct rx_call **newcallp; +static void rxi_ListenerProc(fd_set *rfds, int *tnop, struct rx_call **newcallp) { afs_uint32 host; u_short port; @@ -186,7 +184,7 @@ void rxi_ListenerProc(rfds, tnop, newcallp) then atomically computes the time to the next event, guaranteeing that this is positive. If there is no next event, it returns 0 */ clock_NewTime(); - if (!rxevent_RaiseEvents(&cv)) tvp = (struct timeval *) 0; + if (!rxevent_RaiseEvents(&cv)) tvp = NULL; else { /* It's important to copy cv to tv, because the 4.3 documentation for select threatens that *tv may be updated after a select, in @@ -329,7 +327,7 @@ static void rx_ListenerProc(void *dummy) /* This is the server process request loop. The server process loop * becomes a listener thread when rxi_ServerProc returns, and stays * listener thread until rxi_ListenerProc returns. */ -void rx_ServerProc() +void rx_ServerProc(void) { int sock; int threadID; @@ -363,8 +361,7 @@ void rx_ServerProc() * Called from a single thread at startup. * Returns 0 on success; -1 on failure. */ -int rxi_Listen(sock) - osi_socket sock; +int rxi_Listen(osi_socket sock) { #ifndef AFS_NT40_ENV /* @@ -401,7 +398,7 @@ int rxi_Listen(sock) /* * Recvmsg */ -int rxi_Recvmsg(osi_socket socket, struct msghdr *msg_p, int flags) +int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags) { return recvmsg((int) socket, msg_p, flags); } diff --git a/src/rx/rx_misc.c b/src/rx/rx_misc.c index 196a458..a2daa6e 100644 --- a/src/rx/rx_misc.c +++ b/src/rx/rx_misc.c @@ -51,9 +51,7 @@ RCSID("$Header$"); * Convert from the local (host) to the standard * (network) system error code. */ -int -hton_syserr_conv(code) - register afs_int32 code; +int hton_syserr_conv(register afs_int32 code) { register afs_int32 err; @@ -74,8 +72,7 @@ hton_syserr_conv(code) * Convert from the standard (Network) format to the * local (host) system error code. */ -int -ntoh_syserr_conv(int code) +int ntoh_syserr_conv(int code) { register afs_int32 err; @@ -117,8 +114,7 @@ pthread_mutex_t osi_malloc_mutex; #endif /* AFS_PTHREAD_ENV */ long osi_alloccnt=0, osi_allocsize=0; static const char memZero; -char * osi_alloc(x) - afs_int32 x; +char *osi_alloc(afs_int32 x) { /* * 0-length allocs may return NULL ptr from osi_kalloc, so we special-case @@ -131,10 +127,7 @@ char * osi_alloc(x) return (char *)(mem_alloc(x)); } -int -osi_free(x, size) - char *x; - afs_int32 size; +int osi_free(char *x, afs_int32 size) { if ((x == &memZero) || !x) return 0; LOCK_MALLOC_STATS diff --git a/src/rx/rx_multi.c b/src/rx/rx_multi.c index 65be5b5..945f261 100644 --- a/src/rx/rx_multi.c +++ b/src/rx/rx_multi.c @@ -18,16 +18,13 @@ RCSID("$Header$"); #else /* KERNEL */ # include "rx_user.h" # include "rx_multi.h" -# include "rx_internal.h" #endif /* KERNEL */ /* multi.c and multi.h, together with some rxgen hooks, provide a way of making multiple, but similar, rx calls to multiple hosts simultaneously */ -struct multi_handle *multi_Init(conns, nConns) - struct rx_connection **conns; - register int nConns; +struct multi_handle *multi_Init(struct rx_connection **conns, + register int nConns) { - void multi_Ready(); register struct rx_call **calls; register short *ready; register struct multi_handle *mh; @@ -54,8 +51,7 @@ struct multi_handle *multi_Init(conns, nConns) } /* Return the user's connection index of the most recently ready call; that is, a call that has received at least one reply packet */ -int multi_Select(mh) - register struct multi_handle *mh; +int multi_Select(register struct multi_handle *mh) { int index; SPLVAR; @@ -87,10 +83,8 @@ int multi_Select(mh) } /* Called by Rx when the first reply packet of a call is received, or the call is aborted. */ -void multi_Ready(call, mh, index) - register struct rx_call *call; - register struct multi_handle *mh; - register int index; +void multi_Ready(register struct rx_call *call, + register struct multi_handle *mh, register int index) { #ifdef RX_ENABLE_LOCKS MUTEX_ENTER(&mh->lock); @@ -106,8 +100,7 @@ void multi_Ready(call, mh, index) } /* Called when the multi rx call is over, or when the user aborts it (by using the macro multi_Abort) */ -void multi_Finalize(mh) -register struct multi_handle *mh; +void multi_Finalize(register struct multi_handle *mh) { register int i; register int nCalls = mh->nConns; @@ -125,8 +118,7 @@ register struct multi_handle *mh; } /* ignores all remaining multiRx calls */ -void multi_Finalize_Ignore(mh) -register struct multi_handle *mh; +void multi_Finalize_Ignore(register struct multi_handle *mh) { register int i; register int nCalls = mh->nConns; diff --git a/src/rx/rx_multi.h b/src/rx/rx_multi.h index 56b855d..7bf2168 100644 --- a/src/rx/rx_multi.h +++ b/src/rx/rx_multi.h @@ -29,10 +29,6 @@ struct multi_handle { #endif /* RX_ENABLE_LOCKS */ }; -extern struct multi_handle *multi_Init(); -extern int multi_Select(); -extern void multi_Finalize(); - #define multi_Rx(conns, nConns) \ do {\ register struct multi_handle *multi_h;\ diff --git a/src/rx/rx_null.c b/src/rx/rx_null.c index 2523f83..dd6849f 100644 --- a/src/rx/rx_null.c +++ b/src/rx/rx_null.c @@ -32,12 +32,12 @@ RCSID("$Header$"); static struct rx_securityOps null_ops; static struct rx_securityClass null_object = {&null_ops, 0, 0}; -struct rx_securityClass *rxnull_NewServerSecurityObject() +struct rx_securityClass *rxnull_NewServerSecurityObject(void) { return &null_object; } -struct rx_securityClass *rxnull_NewClientSecurityObject() +struct rx_securityClass *rxnull_NewClientSecurityObject(void) { return &null_object; } diff --git a/src/rx/rx_null.h b/src/rx/rx_null.h index c1d416a..cb95457 100644 --- a/src/rx/rx_null.h +++ b/src/rx/rx_null.h @@ -7,18 +7,4 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#ifndef RX_NULL_HEADER -#define RX_NULL_HEADER - -#ifdef KERNEL -#include "../rx/rx.h" -#else /* KERNEL */ -#include "rx.h" -#endif /* KERNEL */ - -/* The null security object. No authentication, no nothing. */ - -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); - -#endif /* RX_NULL_HEADER */ +/* Remove this file */ diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 12e2644..294316e 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -76,7 +76,6 @@ RCSID("$Header$"); #include "rx_packet.h" #include "rx_globals.h" #include -#include "rx_internal.h" #ifdef HAVE_STRING_H #include #else @@ -156,7 +155,7 @@ afs_int32 rx_SlowPutInt32(struct rx_packet *packet, size_t offset, afs_int32 dat * all buffers are contiguously arrayed in the iovec from 0..niovecs-1 */ afs_int32 rx_SlowReadPacket(struct rx_packet *packet, unsigned int offset, - int resid, char *out) + int resid, char *out) { unsigned int i, j, l, r; for (l=0, i=1; i< packet->niovecs ; i++ ) { @@ -189,7 +188,7 @@ afs_int32 rx_SlowReadPacket(struct rx_packet *packet, unsigned int offset, * offset is an integral multiple of the word size. */ afs_int32 rx_SlowWritePacket(struct rx_packet *packet, int offset, int resid, - char *in) + char *in) { int i, j, l, r; char * b; @@ -222,7 +221,7 @@ afs_int32 rx_SlowWritePacket(struct rx_packet *packet, int offset, int resid, return (resid ? (r - resid) : r); } -static struct rx_packet * allocCBuf(int class) +static struct rx_packet *allocCBuf(int class) { struct rx_packet *c; SPLVAR; @@ -308,9 +307,7 @@ void rxi_freeCBuf(struct rx_packet *c) * This isn't terribly general, because it knows that the packets are only * rounded up to the EBS (userdata + security header). */ -int rxi_RoundUpPacket(p, nb) - struct rx_packet * p; - unsigned int nb; +int rxi_RoundUpPacket(struct rx_packet *p, unsigned int nb) { int i; i = p->niovecs - 1; @@ -433,7 +430,7 @@ void rxi_FreeAllPackets(void) /* Allocate more packets iff we need more continuation buffers */ /* In kernel, can't page in memory with interrupts disabled, so we * don't use the event mechanism. */ -void rx_CheckPackets() +void rx_CheckPackets(void) { if (rxi_NeedMorePackets) { rxi_MorePackets(rx_initSendWindow); @@ -465,9 +462,7 @@ void rxi_FreePacketNoLock(struct rx_packet *p) queue_Append(&rx_freePacketQueue, p); } -int rxi_FreeDataBufsNoLock(p, first) - struct rx_packet * p; - int first; +int rxi_FreeDataBufsNoLock(struct rx_packet *p, int first) { struct iovec *iov, *end; @@ -515,9 +510,7 @@ void rxi_RestoreDataBufs(struct rx_packet *p) } } -int rxi_TrimDataBufs(p, first) - struct rx_packet * p; - int first; +int rxi_TrimDataBufs(struct rx_packet *p, int first) { int length; struct iovec *iov, *end; @@ -580,8 +573,7 @@ void rxi_FreePacket(struct rx_packet *p) * bytes in the packet at this point, **not including** the header. * The header is absolutely necessary, besides, this is the way the * length field is usually used */ -struct rx_packet *rxi_AllocPacketNoLock(class) - int class; +struct rx_packet *rxi_AllocPacketNoLock(int class) { register struct rx_packet *p; @@ -647,8 +639,7 @@ struct rx_packet *rxi_AllocPacketNoLock(class) return p; } -struct rx_packet *rxi_AllocPacket(class) - int class; +struct rx_packet *rxi_AllocPacket(int class) { register struct rx_packet *p; @@ -663,9 +654,7 @@ struct rx_packet *rxi_AllocPacket(class) * returning. caution: this is often called at NETPRI * Called with call locked. */ -struct rx_packet *rxi_AllocSendPacket(call, want) -register struct rx_call *call; -int want; +struct rx_packet *rxi_AllocSendPacket(register struct rx_call *call, int want) { register struct rx_packet *p = (struct rx_packet *) 0; register int mud; @@ -729,8 +718,8 @@ int want; #ifndef KERNEL /* count the number of used FDs */ -static int CountFDs(amax) -register int amax; { +static int CountFDs(register int amax) +{ struct stat tstat; register int i, code; register int count; @@ -756,11 +745,7 @@ register int amax; { * (host,port) of the sender are stored in the supplied variables, and * the data length of the packet is stored in the packet structure. * The header is decoded. */ -int rxi_ReadPacket(socket, p, host, port) - int socket; - register struct rx_packet *p; - afs_uint32 *host; - u_short *port; +int rxi_ReadPacket(int socket, register struct rx_packet *p, afs_uint32 *host, u_short *port) { struct sockaddr_in from; int nbytes; @@ -869,11 +854,8 @@ int rxi_ReadPacket(socket, p, host, port) * HACK: We store the length of the first n-1 packets in the * last two pad bytes. */ -struct rx_packet *rxi_SplitJumboPacket(p, host, port, first) - register struct rx_packet *p; - afs_int32 host; - short port; - int first; +struct rx_packet *rxi_SplitJumboPacket(register struct rx_packet *p, afs_int32 host, + short port, int first) { struct rx_packet *np; struct rx_jumboHeader *jp; @@ -934,13 +916,8 @@ struct rx_packet *rxi_SplitJumboPacket(p, host, port, first) #ifndef KERNEL /* Send a udp datagram */ -int osi_NetSend(socket, addr, dvec, nvecs, length, istack) - osi_socket socket; - char * addr; - struct iovec *dvec; - int nvecs; - int length; - int istack; +int osi_NetSend(osi_socket socket, char *addr, struct iovec *dvec, int nvecs, + int length, int istack) { struct msghdr msg; @@ -967,10 +944,7 @@ int osi_NetSend(socket, addr, dvec, nvecs, length, istack) * Returns the number of bytes not transferred. * The message is NOT changed. */ -static int cpytoc(mp, off, len, cp) - mblk_t *mp; - register int off, len; - register char * cp; +static int cpytoc(mblk_t *mp, register int off, register int len, register char *cp) { register int n; @@ -991,10 +965,7 @@ static int cpytoc(mp, off, len, cp) * but it doesn't really. * This sucks, anyway, do it like m_cpy.... below */ -static int cpytoiovec(mp, off, len, iovs, niovs) - mblk_t *mp; - int off, len, niovs; - register struct iovec *iovs; +static int cpytoiovec(mblk_t *mp, int off, int len, register struct iovec *iovs, int niovs) { register int m,n,o,t,i; @@ -1024,10 +995,7 @@ static int cpytoiovec(mp, off, len, iovs, niovs) #define m_cpytoiovec(a, b, c, d, e) cpytoiovec(a, b, c, d, e) #else #if !defined(AFS_LINUX20_ENV) -static int m_cpytoiovec(m, off, len, iovs, niovs) - struct mbuf *m; - int off, len, niovs; - struct iovec iovs[]; +static int m_cpytoiovec(struct mbuf *m, int off, int len, struct iovec iovs[], int niovs) { caddr_t p1, p2; unsigned int l1, l2, i, t; @@ -1103,12 +1071,8 @@ int hdr_len, data_len; /* send a response to a debug packet */ -struct rx_packet *rxi_ReceiveDebugPacket(ap, asocket, ahost, aport, istack) - osi_socket asocket; - afs_int32 ahost; - short aport; - register struct rx_packet *ap; - int istack; +struct rx_packet *rxi_ReceiveDebugPacket(register struct rx_packet *ap, + osi_socket asocket, afs_int32 ahost, short aport, int istack) { struct rx_debugIn tin; afs_int32 tl; @@ -1390,12 +1354,8 @@ struct rx_packet *rxi_ReceiveDebugPacket(ap, asocket, ahost, aport, istack) return ap; } -struct rx_packet *rxi_ReceiveVersionPacket(ap, asocket, ahost, aport, istack) - osi_socket asocket; - afs_int32 ahost; - short aport; - register struct rx_packet *ap; - int istack; +struct rx_packet *rxi_ReceiveVersionPacket(register struct rx_packet *ap, + osi_socket asocket, afs_int32 ahost, short aport, int istack) { afs_int32 tl; @@ -1582,10 +1542,8 @@ void rxi_SendPacket(struct rx_connection * conn, struct rx_packet *p, /* Send a list of packets to appropriate destination for the specified * connection. The headers are first encoded and placed in the packets. */ -void rxi_SendPacketList(struct rx_connection * conn, - struct rx_packet **list, - int len, - int istack) +void rxi_SendPacketList(struct rx_connection * conn, struct rx_packet **list, + int len, int istack) { #if defined(AFS_SUN5_ENV) && defined(KERNEL) int waslocked; @@ -1756,14 +1714,9 @@ void rxi_SendPacketList(struct rx_connection * conn, * copied into the packet. Type is the type of the packet, as defined * in rx.h. Bug: there's a lot of duplication between this and other * routines. This needs to be cleaned up. */ -struct rx_packet * -rxi_SendSpecial(call, conn, optionalPacket, type, data, nbytes, istack) - register struct rx_call *call; - register struct rx_connection *conn; - struct rx_packet *optionalPacket; - int type; - char *data; - int nbytes, istack; +struct rx_packet *rxi_SendSpecial(register struct rx_call *call, + register struct rx_connection *conn, struct rx_packet *optionalPacket, + int type, char *data, int nbytes, int istack) { /* Some of the following stuff should be common code for all * packet sends (it's repeated elsewhere) */ @@ -1831,8 +1784,7 @@ rxi_SendSpecial(call, conn, optionalPacket, type, data, nbytes, istack) /* Encode the packet's header (from the struct header in the packet to * the net byte order representation in the wire representation of the * packet, which is what is actually sent out on the wire) */ -void rxi_EncodePacketHeader(p) -register struct rx_packet *p; +void rxi_EncodePacketHeader(register struct rx_packet *p) { register afs_uint32 *buf = (afs_uint32 *)(p->wirevec[0].iov_base); /* MTUXXX */ @@ -1850,8 +1802,7 @@ register struct rx_packet *p; } /* Decode the packet's header (from net byte order to a struct header) */ -void rxi_DecodePacketHeader(p) -register struct rx_packet *p; +void rxi_DecodePacketHeader(register struct rx_packet *p) { register afs_uint32 *buf = (afs_uint32*)(p->wirevec[0].iov_base); /* MTUXXX */ afs_uint32 temp; @@ -1884,10 +1835,8 @@ register struct rx_packet *p; /* Note: top 16 bits of this last word are the security checksum */ } -void rxi_PrepareSendPacket(call, p, last) - register struct rx_call *call; - register struct rx_packet *p; - register int last; +void rxi_PrepareSendPacket(register struct rx_call *call, register struct rx_packet *p, + register int last) { register struct rx_connection *conn = call->conn; int i, j; diff --git a/src/rx/rx_packet.h b/src/rx/rx_packet.h index 36d2456..8f1546c 100644 --- a/src/rx/rx_packet.h +++ b/src/rx/rx_packet.h @@ -311,11 +311,6 @@ struct rx_packet { (((struct rx_packet*)(p))->wirevec[(o+1)].iov_base)) -struct rx_packet *rx_AllocPacket(); -struct rx_packet *rxi_ReceiveDebugPacket(); -struct rx_packet *rxi_ReceiveVersionPacket(); -struct rx_packet *rxi_SplitJumboPacket(); - /* copy data into an RX packet */ #define rx_packetwrite(p, off, len, in) \ ( (off) + (len) > (p)->wirevec[1].iov_len ? \ @@ -355,11 +350,4 @@ struct rx_packet *rxi_SplitJumboPacket(); /* DEPRECATED */ #define rx_UserDataOf(conn, packet) (((char *) (packet)->wirevec[1].iov_base) + (conn)->securityHeaderSize) -/* Adjust an MTU for efficient use of RX buffers */ -extern int rxi_AdjustIfMTU(int mtu); -/* Adjust a maximum MTU for efficient use of RX buffers */ -extern int rxi_AdjustMaxMTU(int mtu, int peerMaxMTU); -/* Figure out how many datagram packets will fit in this mtu */ -extern int rxi_AdjustDgramPackets(int frags, int mtu); - #endif /* _RX_PACKET_ */ diff --git a/src/rx/rx_prototypes.h b/src/rx/rx_prototypes.h new file mode 100644 index 0000000..63ff592 --- /dev/null +++ b/src/rx/rx_prototypes.h @@ -0,0 +1,495 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _RX_PROTOTYPES_H +#define _RX_PROTOTYPES_H + +/* rx.c */ +extern void rx_SetEpoch (afs_uint32 epoch); +extern int rx_Init(u_int port); +#ifndef KERNEL +extern void rxi_StartServerProcs(int nExistingProcs); +#endif +extern void rx_StartServer(int donateMe); +extern struct rx_connection *rx_NewConnection(register afs_uint32 shost, + u_short sport, u_short sservice, + register struct rx_securityClass *securityObject, int serviceSecurityIndex); +extern void rx_SetConnDeadTime(register struct rx_connection *conn, register int seconds); +extern void rxi_CleanupConnection(struct rx_connection *conn); +extern void rxi_DestroyConnection(register struct rx_connection *conn); +extern void rx_DestroyConnection(register struct rx_connection *conn); +extern struct rx_call *rx_NewCall(register struct rx_connection *conn); +extern int rxi_HasActiveCalls(register struct rx_connection *aconn); +extern int rxi_GetCallNumberVector(register struct rx_connection *aconn, + register afs_int32 *aint32s); +extern int rxi_SetCallNumberVector(register struct rx_connection *aconn, + register afs_int32 *aint32s); +extern struct rx_service *rx_NewService(u_short port, u_short serviceId, + char *serviceName, + struct rx_securityClass **securityObjects, + int nSecurityObjects, afs_int32 (*serviceProc)(struct rx_call *acall)); +extern void rxi_ServerProc(int threadID, struct rx_call *newcall, osi_socket *socketp); +extern void rx_WakeupServerProcs(void); +extern struct rx_call *rx_GetCall(int tno, struct rx_service *cur_service, osi_socket *socketp); +extern void rx_SetArrivalProc(register struct rx_call *call, + register VOID (*proc)(register struct rx_call *call, + register struct multi_handle *mh, register int index), + register VOID *handle, register VOID *arg); +extern afs_int32 rx_EndCall(register struct rx_call *call, afs_int32 rc); +extern void rx_Finalize(void); +extern void rxi_PacketsUnWait(void); +extern struct rx_service *rxi_FindService(register osi_socket socket, + register u_short serviceId); +extern struct rx_call *rxi_NewCall(register struct rx_connection *conn, + register int channel); + +/* Don't like this - change source at some point to make calls identical */ +#ifdef RX_ENABLE_LOCKS +extern void rxi_FreeCall(register struct rx_call *call, int haveCTLock); +#else /* RX_ENABLE_LOCKS */ +extern void rxi_FreeCall(register struct rx_call *call); +#endif /* RX_ENABLE_LOCKS */ + +extern char *rxi_Alloc(register size_t size); +extern void rxi_Free(void *addr, register size_t size); +extern struct rx_peer *rxi_FindPeer(register afs_uint32 host, + register u_short port, struct rx_peer *origPeer, int create); +extern struct rx_connection *rxi_FindConnection(osi_socket socket, + register afs_int32 host, register u_short port, u_short serviceId, + afs_uint32 cid, afs_uint32 epoch, int type, u_int securityIndex); +extern struct rx_packet *rxi_ReceivePacket(register struct rx_packet *np, + osi_socket socket, afs_uint32 host, u_short port, + int *tnop, struct rx_call **newcallp); +extern int rxi_IsConnInteresting(struct rx_connection *aconn); +extern struct rx_packet *rxi_ReceiveDataPacket(register struct rx_call *call, + register struct rx_packet *np, int istack, osi_socket socket, + afs_uint32 host, u_short port, int *tnop, struct rx_call **newcallp); +extern struct rx_packet *rxi_ReceiveAckPacket(register struct rx_call *call, + struct rx_packet *np, int istack); +extern struct rx_packet *rxi_ReceiveResponsePacket(register struct rx_connection *conn, + register struct rx_packet *np, int istack); +extern struct rx_packet *rxi_ReceiveChallengePacket(register struct rx_connection *conn, + register struct rx_packet *np, int istack); +extern void rxi_AttachServerProc(register struct rx_call *call, + register osi_socket socket, register int *tnop, register struct rx_call **newcallp); +extern void rxi_AckAll(struct rxevent *event, register struct rx_call *call, char *dummy); +extern void rxi_SendDelayedAck(struct rxevent *event, register struct rx_call *call, char *dummy); +extern void rxi_ClearTransmitQueue(register struct rx_call *call, register int force); +extern void rxi_ClearReceiveQueue(register struct rx_call *call); +extern struct rx_packet *rxi_SendCallAbort(register struct rx_call *call, + struct rx_packet *packet, int istack, int force); +extern struct rx_packet *rxi_SendConnectionAbort(register struct rx_connection *conn, + struct rx_packet *packet, int istack, int force); +extern void rxi_ConnectionError(register struct rx_connection *conn, + register afs_int32 error); +extern void rxi_CallError(register struct rx_call *call, afs_int32 error); +extern void rxi_ResetCall(register struct rx_call *call, register int newcall); +extern struct rx_packet *rxi_SendAck(register struct rx_call *call, + register struct rx_packet *optionalPacket, int seq, int serial, + int pflags, int reason, int istack); +extern void rxi_StartUnlocked(struct rxevent *event, register struct rx_call *call, + int istack); +extern void rxi_Start(struct rxevent *event, register struct rx_call *call, + int istack); +extern void rxi_Send(register struct rx_call *call, register struct rx_packet *p, + int istack); +#ifdef RX_ENABLE_LOCKS +extern int rxi_CheckCall(register struct rx_call *call, int haveCTLock); +#else /* RX_ENABLE_LOCKS */ +extern int rxi_CheckCall(register struct rx_call *call); +#endif /* RX_ENABLE_LOCKS */ +extern void rxi_KeepAliveEvent(struct rxevent *event, register struct rx_call *call, char *dummy); +extern void rxi_ScheduleKeepAliveEvent(register struct rx_call *call); +extern void rxi_KeepAliveOn(register struct rx_call *call); +extern void rxi_SendDelayedConnAbort(struct rxevent *event, register struct rx_connection *conn, + char *dummy); +extern void rxi_SendDelayedCallAbort(struct rxevent *event, register struct rx_call *call, + char *dummy); +extern void rxi_ChallengeEvent(struct rxevent *event, register struct rx_connection *conn, + void *atries); +extern void rxi_ChallengeOn(register struct rx_connection *conn); +extern void rxi_ComputeRoundTripTime(register struct rx_packet *p, + register struct clock *sentp, register struct rx_peer *peer); +extern void rxi_ReapConnections(void); +extern int rxs_Release (struct rx_securityClass *aobj); +#ifndef KERNEL +extern void rx_PrintTheseStats (FILE *file, struct rx_stats *s, int size, + afs_int32 freePackets, char version); +extern void rx_PrintStats(FILE *file); +extern void rx_PrintPeerStats(FILE *file, struct rx_peer *peer); +#endif +extern afs_int32 rx_GetServerDebug(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, struct rx_debugStats *stat, afs_uint32 *supportedValues); +extern afs_int32 rx_GetServerStats(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, struct rx_stats *stat, afs_uint32 *supportedValues); +extern afs_int32 rx_GetServerVersion(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, size_t version_length, char *version); +extern afs_int32 rx_GetServerConnections(osi_socket socket, afs_uint32 remoteAddr, + afs_uint16 remotePort, afs_int32 *nextConnection, int allConnections, + afs_uint32 debugSupportedValues, struct rx_debugConn *conn, afs_uint32 *supportedValues); +extern afs_int32 rx_GetServerPeers(osi_socket socket, afs_uint32 remoteAddr, afs_uint16 remotePort, + afs_int32 *nextPeer, afs_uint32 debugSupportedValues, struct rx_debugPeer *peer, + afs_uint32 *supportedValues); +extern void shutdown_rx(void); +#ifndef osirx_AssertMine +extern void osirx_AssertMine(afs_kmutex_t *lockaddr, char *msg); +#endif +#ifndef KERNEL +extern int rx_KeyCreate(rx_destructor_t rtn); +#endif +extern void rx_SetSpecific(struct rx_connection *conn, int key, void *ptr); +extern void *rx_GetSpecific(struct rx_connection *conn, int key); +extern void rx_IncrementTimeAndCount(struct rx_peer *peer, afs_uint32 rxInterface, + afs_uint32 currentFunc, afs_uint32 totalFunc, struct clock *queueTime, + struct clock *execTime, afs_hyper_t *bytesSent, afs_hyper_t *bytesRcvd, int isServer); +extern void rx_MarshallProcessRPCStats(afs_uint32 callerVersion, + int count, rx_function_entry_v1_t *stats, afs_uint32 **ptrP); +extern int rx_RetrieveProcessRPCStats(afs_uint32 callerVersion, + afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec, + size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats); +extern int rx_RetrievePeerRPCStats(afs_uint32 callerVersion, + afs_uint32 *myVersion, afs_uint32 *clock_sec, afs_uint32 *clock_usec, + size_t *allocSize, afs_uint32 *statCount, afs_uint32 **stats); +extern void rx_FreeRPCStats(afs_uint32 *stats, size_t allocSize); +extern int rx_queryProcessRPCStats(void); +extern int rx_queryPeerRPCStats(void); +extern void rx_enableProcessRPCStats(void); +extern void rx_enablePeerRPCStats(void); +extern void rx_disableProcessRPCStats(void); +extern void rx_disablePeerRPCStats(void); +extern void rx_clearProcessRPCStats(afs_uint32 clearFlag); +extern void rx_clearPeerRPCStats(afs_uint32 clearFlag); +extern void rx_SetRxStatUserOk(int (*proc)(struct rx_call *call)); +extern int rx_RxStatUserOk(struct rx_call *call); + + +/* old style till varargs */ +#if 0 +void +rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, + int a11, int a12, int a13, int a14, int a15); +#else +void rxi_DebugPrint(); +#endif + +/* rx_clock.c */ +#if !defined(clock_Init) +extern void clock_Init(void); +#endif +#if !defined(clock_UnInit) +extern int clock_UnInit(void); +#endif +#if !defined(clock_UpdateTime) +extern void clock_UpdateTime(void); +#endif + +/* rx_clock_nt.c */ + + +/* rx_conncache.c */ +extern void rxi_DeleteCachedConnections(void); +extern struct rx_connection *rx_GetCachedConnection(unsigned int remoteAddr, + unsigned short port, unsigned short service, struct rx_securityClass *securityObject, + int securityIndex); +extern void rx_ReleaseCachedConnection(struct rx_connection *conn); + + +/* rxdebug.c */ + + +/* rx_event.c */ +#if 0 +extern struct rxevent *rxevent_Post(struct clock *when, + void (*func)(struct rxevent *event, + struct rx_connection *conn, struct rx_call *acall), + void *arg, void *arg1); +/* this func seems to be called with tons of different style routines, need to look +at another time. */ +#else +extern struct rxevent *rxevent_Post(struct clock *when, + void (*func)(), + void *arg, void *arg1); +#endif +extern void shutdown_rxevent(void); +extern struct rxepoch *rxepoch_Allocate(struct clock *when); +extern void rxevent_Init(int nEvents, void (*scheduler)(void)); +extern void rxevent_Cancel_1(register struct rxevent *ev, + register struct rx_call *call, register int type); +extern int rxevent_RaiseEvents(struct clock *next); + + + + +/* rx_getaddr.c */ +extern void rxi_setaddr(afs_int32 x); +extern afs_int32 rxi_getaddr(void); + +/* rx_globals.c */ + + +/* rx_kcommon.c */ +extern int (*rxk_PacketArrivalProc)(register struct rx_packet *ahandle, + register struct sockaddr_in *afrom, char *arock, + afs_int32 asize); +extern int (*rxk_GetPacketProc)(char **ahandle, int asize); +extern afs_int32 afs_termState; +extern int rxk_initDone; + +extern int rxk_DelPort(u_short aport); +extern void rxk_shutdownPorts(void); +extern osi_socket rxi_GetUDPSocket(u_short port); +extern void osi_Panic(); +extern int osi_utoa(char *buf, size_t len, unsigned long val); +extern void rxi_InitPeerParams(register struct rx_peer *pp); +extern void shutdown_rxkernel(void); +#ifdef AFS_USERSPACE_IP_ADDR +extern int rxi_GetcbiInfo(void); +extern afs_int32 rxi_Findcbi(afs_uint32 addr); +#else +extern int rxi_GetIFInfo(void); +#endif +#ifndef UKERNEL +#if 0 +extern int rxk_FreeSocket(register struct socket *asocket); +#endif +extern struct osi_socket *rxk_NewSocket(short aport); +#endif +extern int rxk_ReadPacket(osi_socket so, struct rx_packet *p, int *host, int *port); +#ifdef UKERNEL +extern void rx_ServerProc(void); +#endif +extern void osi_AssertFailK(const char *expr, const char *file, int line); +extern void rxk_ListenerProc(void); +extern void rxk_Listener(void); +#ifndef UKERNEL +extern void afs_rxevent_daemon(void); +#endif +extern void osi_StopListener(void); + + +/* ARCH/rx_kmutex.c */ +#ifdef CONFIG_SMP +extern void afs_mutex_init(afs_kmutex_t *l); +extern void afs_mutex_enter(afs_kmutex_t *l); +extern int afs_mutex_tryenter(afs_kmutex_t *l); +extern void afs_mutex_exit(afs_kmutex_t *l); +extern int afs_cv_wait(afs_kcondvar_t *cv, afs_kmutex_t *l, int sigok); +extern void afs_cv_timedwait(afs_kcondvar_t *cv, afs_kmutex_t *l, int waittime); +#endif + + + +/* rx_knet.c */ +extern struct osi_socket *rxk_NewSocket(short aport); +extern int rxk_FreeSocket(register osi_socket asocket); +#if 0 +/* definitions are all different at the moment */ +#ifdef KERNEL +extern int osi_NetSend(struct socket *sop, struct sockaddr_in *to, + struct iovec *iov, int iovcnt, int size, int istack); +#endif +#endif +extern int osi_NetReceive(osi_socket so, struct sockaddr_in *addr, + struct iovec *dvec, int nvecs, int *lengthp); +extern void osi_StopListener(void); +extern int rxi_FindIfMTU(afs_uint32 addr); + +/* UKERNEL/rx_knet.c */ +#ifdef UKERNEL +extern void afs_rxevent_daemon(void); +#endif + + +/* rx_lwp.c */ +extern void rx_ServerProc(void); +extern void rxi_Sleep(void *addr); +extern void rxi_Delay(int seconds); +extern void rxi_InitializeThreadSupport(void); +extern void rxi_Wakeup(void *addr); +extern void rxi_StopListener(void); +#ifndef KERNEL +extern void rxi_ReScheduleEvents(void); +#endif +extern void rxi_InitializeThreadSupport(void); +extern void rxi_StartServerProc(void (*proc)(void), int stacksize); +extern void rxi_StartListener(void); +extern void rx_ServerProc(void); +extern int rxi_Listen(osi_socket sock); +extern int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags); +extern int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags); + + +/* rx_misc.c */ +#ifndef osi_alloc +extern char *osi_alloc(afs_int32 x); +#endif +#ifndef osi_free +extern int osi_free(char *x, afs_int32 size); +#endif +extern int hton_syserr_conv(register afs_int32 code); +extern int ntoh_syserr_conv(int code); + + +/* rx_multi.c */ +extern struct multi_handle *multi_Init(struct rx_connection **conns, + register int nConns); +extern int multi_Select(register struct multi_handle *mh); +extern void multi_Ready(register struct rx_call *call, + register struct multi_handle *mh, register int index); +extern void multi_Finalize(register struct multi_handle *mh); +extern void multi_Finalize_Ignore(register struct multi_handle *mh); + + + +/* rx_null.c */ +extern struct rx_securityClass *rxnull_NewServerSecurityObject(void); +extern struct rx_securityClass *rxnull_NewClientSecurityObject(void); + +/* rx_packet.c */ +extern afs_int32 rx_SlowGetInt32(struct rx_packet *packet, size_t offset); +extern afs_int32 rx_SlowPutInt32(struct rx_packet *packet, size_t offset, afs_int32 data); +extern afs_int32 rx_SlowReadPacket(struct rx_packet *packet, unsigned int offset, + int resid, char *out); +extern afs_int32 rx_SlowWritePacket(struct rx_packet *packet, int offset, + int resid, char *in); +extern void rxi_freeCBuf(struct rx_packet *c); +extern int rxi_RoundUpPacket(struct rx_packet *p, unsigned int nb); +extern int rxi_AllocDataBuf(struct rx_packet *p, int nb, int class); +extern void rxi_MorePackets(int apackets); +extern void rxi_MorePacketsNoLock(int apackets); +extern void rxi_FreeAllPackets(void); +extern void rx_CheckPackets(void); +extern void rxi_FreePacketNoLock(struct rx_packet *p); +extern int rxi_FreeDataBufsNoLock(struct rx_packet *p, int first); +extern void rxi_RestoreDataBufs(struct rx_packet *p); +extern int rxi_TrimDataBufs(struct rx_packet *p, int first); +extern void rxi_FreePacket(struct rx_packet *p); +extern struct rx_packet *rxi_AllocPacketNoLock(int class); +extern struct rx_packet *rxi_AllocPacket(int class); +extern struct rx_packet *rxi_AllocSendPacket(register struct rx_call *call, int want); +extern int rxi_ReadPacket(int socket, register struct rx_packet *p, afs_uint32 *host, u_short *port); +extern struct rx_packet *rxi_SplitJumboPacket(register struct rx_packet *p, afs_int32 host, + short port, int first); +#ifndef KERNEL +extern int osi_NetSend(osi_socket socket, char *addr, struct iovec *dvec, int nvecs, + int length, int istack); +#endif +extern struct rx_packet *rxi_ReceiveDebugPacket(register struct rx_packet *ap, + osi_socket asocket, afs_int32 ahost, short aport, int istack); +extern struct rx_packet *rxi_ReceiveVersionPacket(register struct rx_packet *ap, + osi_socket asocket, afs_int32 ahost, short aport, int istack); +extern void rxi_SendPacket(struct rx_connection * conn, struct rx_packet *p, + int istack); +extern void rxi_SendPacketList(struct rx_connection * conn, struct rx_packet **list, + int len, int istack); +extern struct rx_packet *rxi_SendSpecial(register struct rx_call *call, + register struct rx_connection *conn, struct rx_packet *optionalPacket, + int type, char *data, int nbytes, int istack); +extern void rxi_EncodePacketHeader(register struct rx_packet *p); +extern void rxi_DecodePacketHeader(register struct rx_packet *p); +extern void rxi_PrepareSendPacket(register struct rx_call *call, register struct rx_packet *p, + register int last); +extern int rxi_AdjustIfMTU(int mtu); +extern int rxi_AdjustMaxMTU(int mtu, int peerMaxMTU); +extern int rxi_AdjustDgramPackets(int frags, int mtu); + + +/* rxperf.c */ + + +/* rx_pthread.c */ +extern void rxi_Delay(int sec); +extern void rxi_InitializeThreadSupport(void); +extern void rxi_StartServerProc(void (*proc)(void), int stacksize); +#ifndef rxi_ReScheduleEvents +extern void rxi_ReScheduleEvents(void); +#endif +extern void rx_ServerProc(void); +extern void rxi_StartListener(void); +extern int rxi_Listen(osi_socket sock); +extern int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags); +extern int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags); + + +/* rx_rdwr.c */ +extern int rxi_ReadProc(register struct rx_call *call, register char *buf, + register int nbytes); +extern int rx_ReadProc(struct rx_call *call, char *buf, int nbytes); +extern int rx_ReadProc32(struct rx_call *call, afs_int32 *value); +extern int rxi_FillReadVec(struct rx_call *call, afs_uint32 seq, + afs_uint32 serial, afs_uint32 flags); +extern int rxi_ReadvProc(struct rx_call *call, struct iovec *iov, int *nio, + int maxio, int nbytes); +extern int rx_ReadvProc(struct rx_call *call, struct iovec *iov, + int *nio, int maxio, int nbytes); +extern int rxi_WriteProc(register struct rx_call *call, register char *buf, + register int nbytes); +extern int rx_WriteProc(struct rx_call *call, char *buf, int nbytes); +extern int rx_WriteProc32(register struct rx_call *call, register afs_int32 *value); +extern int rxi_WritevAlloc(struct rx_call *call, struct iovec *iov, + int *nio, int maxio, int nbytes); +extern int rx_WritevAlloc(struct rx_call *call, struct iovec *iov, int *nio, + int maxio, int nbytes); +extern int rx_WritevInit(struct rx_call *call); +extern int rxi_WritevProc(struct rx_call *call, struct iovec *iov, + int nio, int nbytes); +extern int rx_WritevProc(struct rx_call *call, struct iovec *iov, int nio, int nbytes); +extern void rxi_FlushWrite(register struct rx_call *call); +extern void rx_FlushWrite(struct rx_call *call); + +/* rx_stream.c */ + + +/* rx_trace.c */ + + +/* rx_user.c */ +#ifdef AFS_PTHREAD_ENV +extern pthread_mutex_t rx_if_init_mutex; +extern pthread_mutex_t rx_if_mutex; +#endif +extern osi_socket rxi_GetUDPSocket(u_short port); +extern void osi_AssertFailU(const char *expr, const char *file, int line); +extern int rx_getAllAddr (afs_int32 *buffer, int maxSize); +extern void osi_Panic(); /* leave without args till stdarg rewrite */ +extern void rxi_InitPeerParams(struct rx_peer *pp); +#ifdef AFS_AIX32_ENV +#ifndef osi_Alloc +extern char *osi_Alloc(afs_int32 x); +extern void osi_Free(char *x, afs_int32 size); +#endif +#endif /* AFS_AIX32_ENV */ +#if defined(AFS_NT40_ENV) || defined(AFS_DJGPP_ENV) +extern int rxi_getaddr(void); +extern int rx_getAllAddr (afs_int32 *buffer, int maxSize); +#endif +extern void rx_GetIFInfo(void); +extern void rx_SetNoJumbo(void); + + +/* rx_xmit_nt.c */ + + +/* MISC PROTOTYPES - MOVE TO APPROPRIATE LOCATION LATER */ + +/* EXTERNAL PROTOTYPES - include here cause it causes too many issues to + include the afs_prototypes.h file - just make sure they match */ +extern void *afs_osi_Alloc(size_t x); +extern void *afs_osi_Alloc_NoSleep(size_t x); +extern void afs_osi_Free(void *x, size_t asize); +#ifndef afs_osi_Wakeup +extern void afs_osi_Wakeup(void *event); +#endif +#ifndef afs_osi_Sleep +extern void afs_osi_Sleep(void *event); +#endif +extern unsigned int afs_random(void); +extern void osi_linux_rxkreg(void); + +#endif /* _RX_PROTOTYPES_H */ diff --git a/src/rx/rx_pthread.c b/src/rx/rx_pthread.c index 17f8881..5fcd1fd 100644 --- a/src/rx/rx_pthread.c +++ b/src/rx/rx_pthread.c @@ -73,8 +73,7 @@ struct clock rxi_clockNow; /* * Delay the current thread the specified number of seconds. */ -void rxi_Delay(sec) - int sec; +void rxi_Delay(int sec) { sleep(sec); } @@ -82,8 +81,8 @@ void rxi_Delay(sec) /* * Called from rx_Init() */ -void rxi_InitializeThreadSupport() { - +void rxi_InitializeThreadSupport(void) +{ listeners_started = 0; gettimeofday((struct timeval *)&rxi_clockNow, NULL); } @@ -100,9 +99,7 @@ static void *server_entry(void * argp) /* * Start an Rx server process. */ -void rxi_StartServerProc(proc, stacksize) - void (*proc)(); - int stacksize; +void rxi_StartServerProc(void (*proc)(void), int stacksize) { pthread_t thread; pthread_attr_t tattr; @@ -189,7 +186,8 @@ static void *event_handler(void *argp) /* * This routine will get called by the event package whenever a new, * earlier than others, event is posted. */ -void rxi_ReScheduleEvents() { +void rxi_ReScheduleEvents(void) +{ assert(pthread_mutex_lock(&event_handler_mutex)==0); pthread_cond_signal(&rx_event_handler_cond); rx_pthread_event_rescheduled = 1; @@ -199,10 +197,7 @@ void rxi_ReScheduleEvents() { /* Loop to listen on a socket. Return setting *newcallp if this * thread should become a server thread. */ -static void rxi_ListenerProc(sock, tnop, newcallp) -int sock; -int *tnop; -struct rx_call **newcallp; +static void rxi_ListenerProc(int sock, int *tnop, struct rx_call **newcallp) { unsigned int host; u_short port; @@ -268,7 +263,7 @@ static void *rx_ListenerProc(void *argp) /* This is the server process request loop. The server process loop * becomes a listener thread when rxi_ServerProc returns, and stays * listener thread until rxi_ListenerProc returns. */ -void rx_ServerProc() +void rx_ServerProc(void) { int sock; int threadID; @@ -304,7 +299,8 @@ void rx_ServerProc() * listening until rxi_StartListener is called because most of R may not * be initialized when rxi_Listen is called. */ -void rxi_StartListener() { +void rxi_StartListener(void) +{ pthread_attr_t tattr; AFS_SIGSET_DECL; @@ -342,8 +338,7 @@ void rxi_StartListener() { /* * Listen on the specified socket. */ -rxi_Listen(sock) - osi_socket sock; +int rxi_Listen(osi_socket sock) { pthread_t thread; pthread_attr_t tattr; @@ -380,10 +375,7 @@ rxi_Listen(sock) * Recvmsg. * */ -int rxi_Recvmsg - (int socket, - struct msghdr *msg_p, - int flags) +int rxi_Recvmsg(int socket, struct msghdr *msg_p, int flags) { int ret; ret = recvmsg(socket, msg_p, flags); @@ -393,10 +385,7 @@ int rxi_Recvmsg /* * Sendmsg. */ -rxi_Sendmsg(socket, msg_p, flags) - osi_socket socket; - struct msghdr *msg_p; - int flags; +int rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags) { int ret; ret = sendmsg(socket, msg_p, flags); diff --git a/src/rx/rx_rdwr.c b/src/rx/rx_rdwr.c index ffadf87..9c10269 100644 --- a/src/rx/rx_rdwr.c +++ b/src/rx/rx_rdwr.c @@ -87,7 +87,6 @@ RCSID("$Header$"); # include "rx_queue.h" # include "rx.h" # include "rx_globals.h" -# include "rx_internal.h" #endif /* KERNEL */ #ifdef RX_LOCKS_DB @@ -98,10 +97,8 @@ static int rxdb_fileID = RXDB_FILE_RX_RDWR; * * LOCKS USED -- called at netpri with rx global lock and call->lock held. */ -int rxi_ReadProc(call, buf, nbytes) - register struct rx_call *call; - register char *buf; - register int nbytes; +int rxi_ReadProc(register struct rx_call *call, register char *buf, + register int nbytes) { register struct rx_packet *cp = call->currentPacket; register struct rx_packet *rp; @@ -287,10 +284,7 @@ MTUXXX doesn't there need to be an "else" here ??? return requestCount; } -int rx_ReadProc(call, buf, nbytes) - struct rx_call *call; - char *buf; - int nbytes; +int rx_ReadProc(struct rx_call *call, char *buf, int nbytes) { int bytes; int tcurlen; @@ -343,9 +337,7 @@ int rx_ReadProc(call, buf, nbytes) } /* Optimization for unmarshalling 32 bit integers */ -int rx_ReadProc32(call, value) - struct rx_call *call; - afs_int32 *value; +int rx_ReadProc32(struct rx_call *call, afs_int32 *value) { int bytes; int tcurlen; @@ -407,9 +399,8 @@ int rx_ReadProc32(call, value) * current iovec as possible. Does not block if it runs out * of packets to complete the iovec. Return true if an ack packet * was sent, otherwise return false */ -int rxi_FillReadVec(call, seq, serial, flags) - struct rx_call *call; - afs_uint32 seq, serial, flags; +int rxi_FillReadVec(struct rx_call *call, afs_uint32 seq, + afs_uint32 serial, afs_uint32 flags) { int didConsume = 0; int didHardAck = 0; @@ -564,12 +555,8 @@ int rxi_FillReadVec(call, seq, serial, flags) * * LOCKS USED -- called at netpri with rx global lock and call->lock held. */ -int rxi_ReadvProc(call, iov, nio, maxio, nbytes) - struct rx_call *call; - struct iovec *iov; - int *nio; - int maxio; - int nbytes; +int rxi_ReadvProc(struct rx_call *call, struct iovec *iov, int *nio, + int maxio, int nbytes) { struct rx_packet *rp; struct rx_packet *nxp; /* Next packet pointer, for queue_Scan */ @@ -635,12 +622,8 @@ int rxi_ReadvProc(call, iov, nio, maxio, nbytes) return nbytes - call->iovNBytes; } -int rx_ReadvProc(call, iov, nio, maxio, nbytes) - struct rx_call *call; - struct iovec *iov; - int *nio; - int maxio; - int nbytes; +int rx_ReadvProc(struct rx_call *call, struct iovec *iov, + int *nio, int maxio, int nbytes) { int bytes; SPLVAR; @@ -659,10 +642,8 @@ int rx_ReadvProc(call, iov, nio, maxio, nbytes) * * LOCKS USED -- called at netpri with rx global lock and call->lock held. */ -int rxi_WriteProc(call, buf, nbytes) - register struct rx_call *call; - register char *buf; - register int nbytes; +int rxi_WriteProc(register struct rx_call *call, register char *buf, + register int nbytes) { struct rx_connection *conn = call->conn; register struct rx_packet *cp = call->currentPacket; @@ -824,10 +805,7 @@ int rxi_WriteProc(call, buf, nbytes) return requestCount - nbytes; } -int rx_WriteProc(call, buf, nbytes) - struct rx_call *call; - char *buf; - int nbytes; +int rx_WriteProc(struct rx_call *call, char *buf, int nbytes) { int bytes; int tcurlen; @@ -880,9 +858,7 @@ int rx_WriteProc(call, buf, nbytes) } /* Optimization for marshalling 32 bit arguments */ -int rx_WriteProc32(call, value) - register struct rx_call *call; - register afs_int32 *value; +int rx_WriteProc32(register struct rx_call *call, register afs_int32 *value) { int bytes; int tcurlen; @@ -945,12 +921,8 @@ int rx_WriteProc32(call, value) * * LOCKS USED -- called at netpri with rx global lock and call->lock held. */ -int rxi_WritevAlloc(call, iov, nio, maxio, nbytes) - struct rx_call *call; - struct iovec *iov; - int *nio; - int maxio; - int nbytes; +int rxi_WritevAlloc(struct rx_call *call, struct iovec *iov, + int *nio, int maxio, int nbytes) { struct rx_connection *conn = call->conn; struct rx_packet *cp = call->currentPacket; @@ -1058,12 +1030,8 @@ int rxi_WritevAlloc(call, iov, nio, maxio, nbytes) return requestCount - nbytes; } -int rx_WritevAlloc(call, iov, nio, maxio, nbytes) - struct rx_call *call; - struct iovec *iov; - int *nio; - int maxio; - int nbytes; +int rx_WritevAlloc(struct rx_call *call, struct iovec *iov, int *nio, + int maxio, int nbytes) { int bytes; SPLVAR; @@ -1078,8 +1046,7 @@ int rx_WritevAlloc(call, iov, nio, maxio, nbytes) return bytes; } -int rx_WritevInit(call) - struct rx_call *call; +int rx_WritevInit(struct rx_call *call) { int bytes; SPLVAR; @@ -1116,11 +1083,8 @@ int rx_WritevInit(call) * * LOCKS USED -- called at netpri with rx global lock and call->lock held. */ -int rxi_WritevProc(call, iov, nio, nbytes) - struct rx_call *call; - struct iovec *iov; - int nio; - int nbytes; +int rxi_WritevProc(struct rx_call *call, struct iovec *iov, + int nio, int nbytes) { struct rx_packet *cp = call->currentPacket; register struct rx_packet *tp; /* Temporary packet pointer */ @@ -1268,11 +1232,7 @@ int rxi_WritevProc(call, iov, nio, nbytes) return requestCount - nbytes; } -int rx_WritevProc(call, iov, nio, nbytes) - struct rx_call *call; - struct iovec *iov; - int nio; - int nbytes; +int rx_WritevProc(struct rx_call *call, struct iovec *iov, int nio, int nbytes) { int bytes; SPLVAR; @@ -1289,8 +1249,7 @@ int rx_WritevProc(call, iov, nio, nbytes) /* Flush any buffered data to the stream, switch to read mode * (clients) or to EOF mode (servers) */ -void rxi_FlushWrite(call) - register struct rx_call *call; +void rxi_FlushWrite(register struct rx_call *call) { register struct rx_packet *cp = call->currentPacket; register struct rx_packet *tp; /* Temporary packet pointer */ @@ -1353,8 +1312,7 @@ void rxi_FlushWrite(call) /* Flush any buffered data to the stream, switch to read mode * (clients) or to EOF mode (servers) */ -void rx_FlushWrite(call) - struct rx_call *call; +void rx_FlushWrite(struct rx_call *call) { SPLVAR; NETPRI; diff --git a/src/rx/rx_user.c b/src/rx/rx_user.c index c761f31..8e5172f 100644 --- a/src/rx/rx_user.c +++ b/src/rx/rx_user.c @@ -189,8 +189,7 @@ error: return OSI_NULLSOCKET; } -void osi_Panic(msg, a1, a2, a3) - char *msg; +void osi_Panic(char *msg, int a1, int a2, int a3) { (osi_Msg "Fatal Rx error: "); (osi_Msg msg, a1, a2, a3); @@ -205,14 +204,13 @@ void osi_Panic(msg, a1, a2, a3) void osi_AssertFailU(const char *expr, const char *file, int line) { - osi_Panic("assertion failed: %s, file: %s, line: %d\n", expr, file, line); + osi_Panic("assertion failed: %s, file: %s, line: %d\n", (int) expr, (int) file, line); } #ifdef AFS_AIX32_ENV #ifndef osi_Alloc static const char memZero; -char * osi_Alloc(x) - afs_int32 x; +char *osi_Alloc(afs_int32 x) { /* * 0-length allocs may return NULL ptr from osi_kalloc, so we special-case @@ -222,9 +220,7 @@ char * osi_Alloc(x) return ((char *) malloc(x)); } -osi_Free(x, size) - char *x; - afs_int32 size; +void osi_Free(char *x, afs_int32 size) { if (x == &memZero) return; free((char *)x); @@ -313,8 +309,7 @@ void rx_GetIFInfo(void) #endif -static afs_uint32 fudge_netmask(addr) -afs_uint32 addr; +static afs_uint32 fudge_netmask(afs_uint32 addr) { afs_uint32 msk; @@ -351,7 +346,7 @@ return rcode; #endif /* AFS_AIX_ENV */ #ifndef AFS_NT40_ENV -void rx_GetIFInfo() +void rx_GetIFInfo(void) { int s; int i, j, len, res; diff --git a/src/rx/rx_user.h b/src/rx/rx_user.h index 89732c8..97c3627 100644 --- a/src/rx/rx_user.h +++ b/src/rx/rx_user.h @@ -35,10 +35,6 @@ error-foo error-foo error-foo #define ISAFS_RXGLOCK() #define AFS_ASSERT_RXGLOCK() -extern void rxi_StartListener(); -extern void rxi_StartServerProc(); -extern void rxi_ReScheduleEvents(); - /* Some "operating-system independent" stuff, for the user mode implementation */ #ifdef UAFS_CLIENT typedef void *osi_socket; @@ -69,8 +65,6 @@ typedef afs_int32 osi_socket; #define osi_QuickFree(ptr, size) osi_Free(ptr, size) #define osi_QuickAlloc(size) osi_Alloc(size) -extern void osi_Panic(); -extern void osi_AssertFailU(const char *expr, const char *file, int line); #define osi_Assert(e) (void)((e) || (osi_AssertFailU(#e, __FILE__, __LINE__), 0)) #if !defined(_ANSI_C_SOURCE) || defined(AFS_SUN_ENV) diff --git a/src/rx/rxdebug.c b/src/rx/rxdebug.c index 6a2d8cc..2841d33 100644 --- a/src/rx/rxdebug.c +++ b/src/rx/rxdebug.c @@ -73,7 +73,7 @@ static short PortName(aname) register char *aname; { register struct servent *ts; - ts = getservbyname(aname, (char *) 0); + ts = getservbyname(aname, NULL); if (!ts) return -1; return ts->s_port; /* returns it in network byte order */ } @@ -134,12 +134,12 @@ struct cmd_syndesc *as; if (as->parms[0].items) hostName = as->parms[0].items->data; else - hostName = (char *) 0; + hostName = NULL; if (as->parms[1].items) portName = as->parms[1].items->data; else - portName = (char *) 0; + portName = NULL; if (as->parms[7].items) { char *name = as->parms[7].items->data; @@ -525,7 +525,7 @@ char **argv; } #endif - ts = cmd_CreateSyntax((char *) 0, MainCommand, 0, "probe RX server"); + ts = cmd_CreateSyntax(NULL, MainCommand, 0, "probe RX server"); cmd_AddParm(ts, "-servers", CMD_SINGLE, CMD_REQUIRED, "server machine"); cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "IP port"); cmd_AddParm(ts, "-nodally", CMD_FLAG, CMD_OPTIONAL, diff --git a/src/rx/test/generator.c b/src/rx/test/generator.c index 6d0133f..2c75612 100644 --- a/src/rx/test/generator.c +++ b/src/rx/test/generator.c @@ -863,7 +863,7 @@ PRIVATE void WriteCltTrailer(char *serverName, int first, int last, FILE *itl_h) fprintf(itl_h, "static void SetupRunCmd(void) {\n" "\tstruct cmd_syndesc *ts;\n" - "\tts = cmd_CreateSyntax((char *) 0,DoRun, 0, \"run the test client program\");\n" + "\tts = cmd_CreateSyntax(NULL,DoRun, 0, \"run the test client program\");\n" "\tcmd_AddParm(ts, \"-threadCount\", CMD_SINGLE, CMD_REQUIRED, \"number of threads to spawn\");\n" "\tcmd_AddParm(ts, \"-iterationCount\", CMD_SINGLE, CMD_REQUIRED, \"number of iterations to make over entire interface for each thread\");\n" "\tcmd_AddParm(ts, \"-secType\", CMD_SINGLE, CMD_REQUIRED, \"security level to use (1 -> unauthenticated, 2 -> authenticated)\");\n" @@ -1326,7 +1326,7 @@ PRIVATE void WriteServTrailer(FILE *srv_h) { "static void SetupRunCmd(void) {\n" "\tstruct cmd_syndesc *ts;\n" - "\tts = cmd_CreateSyntax((char *) 0,DoRun, 0, \"run the test server program\");\n" + "\tts = cmd_CreateSyntax(NULL,DoRun, 0, \"run the test server program\");\n" "\tcmd_AddParm(ts, \"-lowThreadCount\", CMD_SINGLE, CMD_REQUIRED, \"minimum number of threads to spawn\");\n" "\tcmd_AddParm(ts, \"-highThreadCount\", CMD_SINGLE, CMD_REQUIRED, \"maximum number of threads to spawn\");\n" "\tcmd_AddParm(ts, \"-serverPort\", CMD_SINGLE, CMD_REQUIRED, \"port that server is using\");\n" diff --git a/src/rx/xdr.c b/src/rx/xdr.c index c1d07c0..d252b8d 100644 --- a/src/rx/xdr.c +++ b/src/rx/xdr.c @@ -58,10 +58,6 @@ RCSID("$Header$"); #endif #include "xdr.h" -#ifndef osi_alloc -extern char *osi_alloc(); -#endif - /* * constants specific to the xdr "protocol" */ @@ -77,23 +73,17 @@ extern char *osi_alloc(); /* * XDR nothing */ -bool_t -xdr_void(/* xdrs, addr */) - /* XDR *xdrs; */ - /* caddr_t addr; */ +bool_t xdr_void(void) { - return (TRUE); } #if !defined(AFS_OSF20_ENV) && !defined(AFS_SGI61_ENV) /* - * XDR integers + * XDR afs_int32 integers + * same as xdr_u_long - open coded to save a proc call! */ -bool_t -xdr_int(xdrs, ip) - XDR *xdrs; - int *ip; +bool_t xdr_int(register XDR *xdrs, int *ip) { if (xdrs->x_op == XDR_ENCODE) @@ -109,12 +99,10 @@ xdr_int(xdrs, ip) } /* - * XDR unsigned integers + * XDR unsigned afs_int32 integers + * same as xdr_long - open coded to save a proc call! */ -bool_t -xdr_u_int(xdrs, up) - XDR *xdrs; - u_int *up; +bool_t xdr_u_int(register XDR *xdrs, u_int *up) { if (xdrs->x_op == XDR_DECODE) @@ -134,10 +122,7 @@ xdr_u_int(xdrs, up) * XDR afs_int32 integers * same as xdr_u_long - open coded to save a proc call! */ -bool_t -xdr_int(xdrs, lp) - register XDR *xdrs; - int *lp; +bool_t xdr_int(register XDR *xdrs, int *lp) { if (xdrs->x_op == XDR_ENCODE) @@ -156,31 +141,27 @@ xdr_int(xdrs, lp) * XDR unsigned afs_int32 integers * same as xdr_long - open coded to save a proc call! */ -bool_t -xdr_u_int(xdrs, ulp) - register XDR *xdrs; - int *ulp; +bool_t xdr_u_int(register XDR *xdrs, u_int *ulp) { if (xdrs->x_op == XDR_DECODE) return (XDR_GETINT32(xdrs, (long *)ulp)); + if (xdrs->x_op == XDR_ENCODE) return (XDR_PUTINT32(xdrs, (long *)ulp)); + if (xdrs->x_op == XDR_FREE) return (TRUE); + return (FALSE); } #endif - /* * XDR afs_int32 integers * same as xdr_u_long - open coded to save a proc call! */ -bool_t -xdr_long(xdrs, lp) - register XDR *xdrs; - long *lp; +bool_t xdr_long(register XDR *xdrs, long *lp) { if (xdrs->x_op == XDR_ENCODE) @@ -199,31 +180,22 @@ xdr_long(xdrs, lp) * XDR unsigned afs_int32 integers * same as xdr_long - open coded to save a proc call! */ -bool_t -xdr_u_long(xdrs, ulp) - register XDR *xdrs; - u_long *ulp; +bool_t xdr_u_long(register XDR *xdrs, u_long *ulp) { if (xdrs->x_op == XDR_DECODE) - return (XDR_GETINT32(xdrs, (long *)ulp)); - + return (XDR_GETINT32(xdrs, ulp)); if (xdrs->x_op == XDR_ENCODE) - return (XDR_PUTINT32(xdrs, (long *)ulp)); - + return (XDR_PUTINT32(xdrs, ulp)); if (xdrs->x_op == XDR_FREE) return (TRUE); - return (FALSE); } /* * XDR chars */ -bool_t -xdr_char(xdrs, sp) - register XDR *xdrs; - char *sp; +bool_t xdr_char(register XDR *xdrs, char *sp) { afs_int32 l; @@ -249,10 +221,7 @@ xdr_char(xdrs, sp) /* * XDR unsigned chars */ -bool_t -xdr_u_char(xdrs, usp) - register XDR *xdrs; - u_char *usp; +bool_t xdr_u_char(register XDR *xdrs, u_char *usp) { afs_uint32 l; @@ -279,10 +248,7 @@ xdr_u_char(xdrs, usp) /* * XDR short integers */ -bool_t -xdr_short(xdrs, sp) - register XDR *xdrs; - short *sp; +bool_t xdr_short(register XDR *xdrs, short *sp) { afs_int32 l; @@ -308,10 +274,7 @@ xdr_short(xdrs, sp) /* * XDR unsigned short integers */ -bool_t -xdr_u_short(xdrs, usp) - register XDR *xdrs; - u_short *usp; +bool_t xdr_u_short(register XDR *xdrs, u_short *usp) { afs_uint32 l; @@ -338,10 +301,7 @@ xdr_u_short(xdrs, usp) /* * XDR booleans */ -bool_t -xdr_bool(xdrs, bp) - register XDR *xdrs; - bool_t *bp; +bool_t xdr_bool(register XDR *xdrs, bool_t *bp) { afs_int32 lb; @@ -367,10 +327,7 @@ xdr_bool(xdrs, bp) /* * XDR enumerations */ -bool_t -xdr_enum(xdrs, ep) - XDR *xdrs; - enum_t *ep; +bool_t xdr_enum(register XDR *xdrs, enum_t *ep) { enum sizecheck { SIZEVAL }; /* used to find the size of an enum */ @@ -387,11 +344,7 @@ xdr_enum(xdrs, ep) * Allows the specification of a fixed size sequence of opaque bytes. * cp points to the opaque object and cnt gives the byte length. */ -bool_t -xdr_opaque(xdrs, cp, cnt) - register XDR *xdrs; - caddr_t cp; - register u_int cnt; +bool_t xdr_opaque(register XDR *xdrs, caddr_t cp, register u_int cnt) { register u_int rndup; int crud[BYTES_PER_XDR_UNIT]; @@ -440,12 +393,7 @@ xdr_opaque(xdrs, cp, cnt) * *cpp is a pointer to the bytes, *sizep is the count. * If *cpp is NULL maxsize bytes are allocated */ -bool_t -xdr_bytes(xdrs, cpp, sizep, maxsize) - register XDR *xdrs; - char **cpp; - register u_int *sizep; - u_int maxsize; +bool_t xdr_bytes(register XDR *xdrs, char **cpp, register u_int *sizep, u_int maxsize) { register char *sp = *cpp; /* sp is the actual string pointer */ register u_int nodesize; @@ -499,13 +447,14 @@ xdr_bytes(xdrs, cpp, sizep, maxsize) * routine may be called. * If there is no specific or default routine an error is returned. */ -bool_t -xdr_union(xdrs, dscmp, unp, choices, dfault) - register XDR *xdrs; - enum_t *dscmp; /* enum to decide which arm to work on */ - caddr_t unp; /* the union itself */ - struct xdr_discrim *choices; /* [value, xdr proc] for each arm */ - xdrproc_t dfault; /* default xdr routine */ +/* + enum_t *dscmp; * enum to decide which arm to work on * + caddr_t unp; * the union itself * + struct xdr_discrim *choices; * [value, xdr proc] for each arm * + xdrproc_t dfault; * default xdr routine * +*/ +bool_t xdr_union(register XDR *xdrs, enum_t *dscmp, caddr_t unp, + struct xdr_discrim *choices, xdrproc_t dfault) { register enum_t dscm; @@ -548,11 +497,7 @@ xdr_union(xdrs, dscmp, unp, choices, dfault) * storage is allocated. The last parameter is the max allowed length * of the string as specified by a protocol. */ -bool_t -xdr_string(xdrs, cpp, maxsize) - register XDR *xdrs; - char **cpp; - u_int maxsize; +bool_t xdr_string(register XDR *xdrs, char **cpp, u_int maxsize) { register char *sp = *cpp; /* sp is the actual string pointer */ u_int size; @@ -614,10 +559,7 @@ xdr_string(xdrs, cpp, maxsize) * routines like clnt_call */ #ifndef KERNEL -bool_t -xdr_wrapstring(xdrs, cpp) - XDR *xdrs; - char **cpp; +bool_t xdr_wrapstring(register XDR *xdrs, char **cpp) { if (xdr_string(xdrs, cpp, BUFSIZ)) { return(TRUE); diff --git a/src/rx/xdr.h b/src/rx/xdr.h index 6869745..3b2dbe7 100644 --- a/src/rx/xdr.h +++ b/src/rx/xdr.h @@ -62,10 +62,14 @@ #endif #ifdef KERNEL -void *afs_osi_Alloc(); #define osi_alloc afs_osi_Alloc #define osi_free afs_osi_Free +/* keep here for now, 64 bit issues */ +extern void *afs_osi_Alloc(size_t x); +extern void *afs_osi_Alloc_NoSleep(size_t x); +extern void afs_osi_Free(void *x, size_t asize); + #ifndef UKERNEL #define xdr_void afs_xdr_void #define xdr_int afs_xdr_int @@ -160,7 +164,12 @@ enum xdr_op { * allocate dynamic storage of the appropriate size and return it. * bool_t (*xdrproc_t)(XDR *, caddr_t *); */ +#if 0 typedef bool_t (*xdrproc_t)(); +#else +typedef bool_t (*xdrproc_t) (void *, ...); +#endif + /* * The XDR handle. @@ -176,23 +185,23 @@ typedef struct { * 64 bits. I've only done this for the kernel, since other changes may * be necessary if we make a 64 bit user version of AFS. */ - bool_t (*x_getint64)(); /* get 32 bits into a long */ - bool_t (*x_putint64)(); /* send 32 bits of a long */ + bool_t (*x_getint64)(void *xdrs, afs_int64 *lp); /* get 32 bits into a long */ + bool_t (*x_putint64)(void *xdrs, afs_int64 *lp); /* send 32 bits of a long */ #endif /* AFS_SGI61_ENV */ #if !(defined(KERNEL) && defined(AFS_SUN57_ENV)) - bool_t (*x_getint32)(); /* get an afs_int32 from underlying stream */ - bool_t (*x_putint32)(); /* put an afs_int32 to " */ + bool_t (*x_getint32)(void *xdrs, afs_int32 *lp); /* get an afs_int32 from underlying stream */ + bool_t (*x_putint32)(void *xdrs, afs_int32 *lp); /* put an afs_int32 to " */ #endif - bool_t (*x_getbytes)();/* get some bytes from " */ - bool_t (*x_putbytes)();/* put some bytes to " */ - u_int (*x_getpostn)();/* returns bytes off from beginning */ - bool_t (*x_setpostn)();/* lets you reposition the stream */ - afs_int32 * (*x_inline)(); /* buf quick ptr to buffered data */ - void (*x_destroy)(); /* free privates of this xdr_stream */ + bool_t (*x_getbytes)(void *xdrs, caddr_t addr, u_int len);/* get some bytes from " */ + bool_t (*x_putbytes)(void *xdrs, caddr_t addr, u_int len);/* put some bytes to " */ + u_int (*x_getpostn)(void *xdrs);/* returns bytes off from beginning */ + bool_t (*x_setpostn)(void *xdrs, u_int pos);/* lets you reposition the stream */ + afs_int32 * (*x_inline)(void *xdrs, u_int len); /* buf quick ptr to buffered data */ + void (*x_destroy)(void *xdrs); /* free privates of this xdr_stream */ #if defined(KERNEL) && defined(AFS_SUN57_ENV) - bool_t (*x_control)(); - bool_t (*x_getint32)(); - bool_t (*x_putint32)(); + bool_t (*x_control)(void *xdrs); + bool_t (*x_getint32)(void *xdrs, afs_int32 *lp); + bool_t (*x_putint32)(void *xdrs, afs_int32 *lp); #endif } *x_ops; caddr_t x_public; /* users' data */ @@ -310,61 +319,6 @@ struct xdr_discrim { #define IXDR_PUT_SHORT(buf, v) IXDR_PUT_INT32((buf), ((afs_int32)(v))) #define IXDR_PUT_U_SHORT(buf, v) IXDR_PUT_INT32((buf), ((afs_int32)(v))) -/* - * These are the "generic" xdr routines. - */ -extern bool_t xdr_void(); -extern bool_t xdr_int(); -extern bool_t xdr_u_int(); -extern bool_t xdr_short(); -extern bool_t xdr_u_short(); -extern bool_t xdr_long(); -extern bool_t xdr_char(); -extern bool_t xdr_u_char(); -extern bool_t xdr_bool(); -extern bool_t xdr_enum(); -extern bool_t xdr_array(); -extern bool_t xdr_bytes(); -extern bool_t xdr_opaque(); -extern bool_t xdr_string(); -extern bool_t xdr_union(); -extern bool_t xdr_float(); -extern bool_t xdr_double(); -extern bool_t xdr_reference(); -extern bool_t xdr_wrapstring(); -extern bool_t xdr_vector(); -extern bool_t xdr_int64(); -extern bool_t xdr_uint64(); - -/* - * These are the public routines for the various implementations of - * xdr streams. - */ -extern void xdrmem_create(); /* XDR using memory buffers */ -extern void xdrrx_create(); /* XDR using rx */ -extern void xdrstdio_create(); /* XDR using stdio library */ -extern void xdrrec_create(); /* XDR pseudo records for tcp */ -extern bool_t xdrrec_endofrecord(); /* make end of xdr record */ -extern bool_t xdrrec_skiprecord(); /* move to begining of next record */ -extern bool_t xdrrec_eof(); /* true iff no more input */ - -/* - * If you change the definitions of xdr_afs_int32 and xdr_afs_uint32, be sure - * to change them in BOTH rx/xdr.h and rxgen/rpc_main.c. Also, config/stds.h - * has the defines for afs_int32 which should match below. - */ - -#ifndef xdr_afs_int32 -#define xdr_afs_int32 xdr_int -#endif -#ifndef xdr_afs_uint32 -#define xdr_afs_uint32 xdr_u_int -#endif -#ifndef xdr_afs_int64 -#define xdr_afs_int64 xdr_int64 -#endif -#ifndef xdr_afs_uint64 -#define xdr_afs_uint64 xdr_uint64 -#endif +#include "xdr_prototypes.h" #endif /* __XDR_INCLUDE__ */ diff --git a/src/rx/xdr_afsuuid.c b/src/rx/xdr_afsuuid.c index f975acb..f063ffd 100644 --- a/src/rx/xdr_afsuuid.c +++ b/src/rx/xdr_afsuuid.c @@ -36,10 +36,7 @@ RCSID("$Header$"); #endif #endif -int -xdr_afsUUID(xdrs, objp) - XDR *xdrs; - afsUUID *objp; +int xdr_afsUUID(XDR *xdrs, afsUUID *objp) { if (!xdr_afs_uint32(xdrs, &objp->time_low)) { return (FALSE); diff --git a/src/rx/xdr_array.c b/src/rx/xdr_array.c index d495610..b1538aa 100644 --- a/src/rx/xdr_array.c +++ b/src/rx/xdr_array.c @@ -57,10 +57,6 @@ RCSID("$Header$"); #endif #include "xdr.h" -#ifndef osi_alloc -char *osi_alloc(); -#endif - #define LASTUNSIGNED ((u_int)0-1) @@ -71,14 +67,16 @@ char *osi_alloc(); * elsize is the size (in bytes) of each element, and elproc is the * xdr procedure to call to handle each element of the array. */ -bool_t -xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc) - register XDR *xdrs; - caddr_t *addrp; /* array pointer */ - u_int *sizep; /* number of elements */ - u_int maxsize; /* max numberof elements */ - u_int elsize; /* size in bytes of each element */ - xdrproc_t elproc; /* xdr routine to handle each element */ +/* + caddr_t *addrp; * array pointer * + u_int *sizep; * number of elements * + u_int maxsize; * max numberof elements * + u_int elsize; * size in bytes of each element * + xdrproc_t elproc; * xdr routine to handle each element * +*/ + +bool_t xdr_array(register XDR *xdrs, caddr_t *addrp, u_int *sizep, + u_int maxsize, u_int elsize, xdrproc_t elproc) { register u_int i; register caddr_t target = *addrp; diff --git a/src/rx/xdr_arrayn.c b/src/rx/xdr_arrayn.c index 70cb23f..dda4cd7 100644 --- a/src/rx/xdr_arrayn.c +++ b/src/rx/xdr_arrayn.c @@ -62,10 +62,6 @@ RCSID("$Header$"); #endif #endif -#ifndef osi_alloc -char *osi_alloc(); -#endif - #define LASTUNSIGNED ((u_int)0-1) @@ -76,14 +72,16 @@ char *osi_alloc(); * elsize is the size (in bytes) of each element, and elproc is the * xdr procedure to call to handle each element of the array. */ +/* + caddr_t *addrp; * array pointer * + u_int *sizep; * number of elements * + u_int maxsize; * max numberof elements * + u_int elsize; * size in bytes of each element * + xdrproc_t elproc; * xdr routine to handle each element * +*/ #ifdef KERNEL -bool_t xdr_arrayN(xdrs, addrp, sizep, maxsize, elsize, elproc) - register XDR *xdrs; - caddr_t *addrp; /* array pointer */ - u_int *sizep; /* number of elements */ - u_int maxsize; /* max numberof elements */ - u_int elsize; /* size in bytes of each element */ - xdrproc_t elproc; /* xdr routine to handle each element */ +bool_t xdr_arrayN(register XDR *xdrs, caddr_t *addrp, u_int *sizep, + u_int maxsize, u_int elsize, xdrproc_t elproc) { register u_int i; register caddr_t target = *addrp; @@ -113,7 +111,7 @@ bool_t xdr_arrayN(xdrs, addrp, sizep, maxsize, elsize, elproc) case XDR_DECODE: if (c == 0) return (TRUE); - *addrp = target = osi_alloc(nodesize); + *addrp = target = (caddr_t) osi_alloc(nodesize); if (target == NULL) { return (FALSE); } diff --git a/src/rx/xdr_float.c b/src/rx/xdr_float.c index c28a3a1..1cd753c 100644 --- a/src/rx/xdr_float.c +++ b/src/rx/xdr_float.c @@ -52,12 +52,11 @@ RCSID("$Header$"); * in the system libraries. */ -#ifdef AFS_NT40_ENV -bool_t -xdr_float(xdrs, fp) - register XDR *xdrs; - register float *fp; +bool_t xdr_float(register XDR *xdrs, register float *fp) { +#ifdef AFS_NT40_ENV + return(FALSE); +#else switch (xdrs->x_op) { case XDR_ENCODE: @@ -70,13 +69,14 @@ xdr_float(xdrs, fp) return (TRUE); } return (FALSE); +#endif } -bool_t -xdr_double(xdrs, dp) - register XDR *xdrs; - double *dp; +bool_t xdr_double(register XDR *xdrs, double *dp) { +#ifdef AFS_NT40_ENV + return(FALSE); +#else afs_int32 *ip; switch (xdrs->x_op) { @@ -92,25 +92,7 @@ xdr_double(xdrs, dp) return (TRUE); } return (FALSE); +#endif } -#else /* AFS_NT40_ENV */ - -bool_t -xdr_float(xdrs, fp) - register XDR *xdrs; - float *fp; -{ - return(FALSE); -} - -bool_t -xdr_double(xdrs, dp) - register XDR *xdrs; - double *dp; -{ - return(FALSE); -} -#endif /* AFS_NT40_ENV */ - #endif /* NeXT */ diff --git a/src/rx/xdr_int32.c b/src/rx/xdr_int32.c new file mode 100644 index 0000000..1340dbd --- /dev/null +++ b/src/rx/xdr_int32.c @@ -0,0 +1,83 @@ +/* + * Sun RPC is a product of Sun Microsystems, Inc. and is provided for + * unrestricted use provided that this legend is included on all tape + * media and as a part of the software program in whole or part. Users + * may copy or modify Sun RPC without charge, but are not authorized + * to license or distribute it to anyone else except as part of a product or + * program developed by the user. + * + * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE + * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * + * Sun RPC is provided with no support and without any obligation on the + * part of Sun Microsystems, Inc. to assist in its use, correction, + * modification or enhancement. + * + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC + * OR ANY PART THEREOF. + * + * In no event will Sun Microsystems, Inc. be liable for any lost revenue + * or profits or other special, indirect and consequential damages, even if + * Sun has been advised of the possibility of such damages. + * + * Sun Microsystems, Inc. + * 2550 Garcia Avenue + * Mountain View, California 94043 + */ + +#include +#ifdef KERNEL +#include "../afs/param.h" +#else +#include +#endif + +RCSID("$Header$"); + +#ifndef NeXT + +#ifdef KERNEL +#include +#else +#include +#endif +#include "xdr.h" + +/* + * XDR afs_int32 integers + * same as xdr_u_long - open coded to save a proc call! + */ +bool_t xdr_afs_int32(register XDR *xdrs, afs_int32 *lp) +{ + + if (xdrs->x_op == XDR_ENCODE) + return (XDR_PUTINT32(xdrs, (long *)lp)); + + if (xdrs->x_op == XDR_DECODE) + return (XDR_GETINT32(xdrs, (long *)lp)); + + if (xdrs->x_op == XDR_FREE) + return (TRUE); + + return (FALSE); +} + +/* + * XDR unsigned afs_int32 integers + * same as xdr_long - open coded to save a proc call! + */ +bool_t xdr_afs_uint32(register XDR *xdrs, afs_uint32 *ulp) +{ + + if (xdrs->x_op == XDR_DECODE) + return (XDR_GETINT32(xdrs, (long *)ulp)); + if (xdrs->x_op == XDR_ENCODE) + return (XDR_PUTINT32(xdrs, (long *)ulp)); + if (xdrs->x_op == XDR_FREE) + return (TRUE); + return (FALSE); +} + +#endif /* NeXT */ diff --git a/src/rx/xdr_int64.c b/src/rx/xdr_int64.c index be60e72..29f9834 100644 --- a/src/rx/xdr_int64.c +++ b/src/rx/xdr_int64.c @@ -11,9 +11,6 @@ RCSID("$Header$"); #if defined(KERNEL) && !defined(UKERNEL) #ifdef AFS_LINUX20_ENV #include "../h/string.h" -#if 0 -#define bzero(A,C) memset((A), 0, (C)) -#endif #else #include #include @@ -32,10 +29,12 @@ RCSID("$Header$"); /* * XDR afs_int64 integers */ -bool_t -xdr_int64(xdrs, ulp) - register XDR *xdrs; - afs_int64 *ulp; +bool_t xdr_int64(register XDR *xdrs, afs_int64 *ulp) +{ + return xdr_afs_int64(xdrs, ulp); +} + +bool_t xdr_afs_int64(register XDR *xdrs, afs_int64 *ulp) { static afs_int32 high; static afs_uint32 low; @@ -62,10 +61,11 @@ xdr_int64(xdrs, ulp) /* * XDR afs_int64 integers */ -bool_t -xdr_uint64(xdrs, ulp) - register XDR *xdrs; - afs_uint64 *ulp; +bool_t xdr_uint64(register XDR *xdrs, afs_uint64 *ulp) +{ + return xdr_afs_uint64(xdrs, ulp); +} +bool_t xdr_afs_uint64(register XDR *xdrs, afs_uint64 *ulp) { static afs_uint32 high; static afs_uint32 low; @@ -88,14 +88,16 @@ xdr_uint64(xdrs, ulp) return (TRUE); return (FALSE); } + #else /* AFS_64BIT_ENV */ /* * XDR afs_int64 integers */ -bool_t -xdr_int64(xdrs, ulp) - register XDR *xdrs; - afs_int64 *ulp; +bool_t xdr_int64(register XDR *xdrs, afs_int64 *ulp) +{ + return xdr_afs_int64(xdrs, ulp); +} +bool_t xdr_afs_int64(register XDR *xdrs, afs_int64 *ulp) { if (xdrs->x_op == XDR_DECODE) { if (!XDR_GETINT32(xdrs, (afs_int32 *) &ulp->high)) return (FALSE); @@ -113,10 +115,11 @@ xdr_int64(xdrs, ulp) /* * XDR afs_uint64 integers */ -bool_t -xdr_uint64(xdrs, ulp) - register XDR *xdrs; - afs_uint64 *ulp; +bool_t xdr_uint64(register XDR *xdrs, afs_uint64 *ulp) +{ + return xdr_afs_uint64(xdrs, ulp); +} +bool_t xdr_afs_uint64(register XDR *xdrs, afs_uint64 *ulp) { if (xdrs->x_op == XDR_DECODE) { if (!XDR_GETINT32(xdrs, (afs_uint32 *) &ulp->high)) return (FALSE); diff --git a/src/rx/xdr_mem.c b/src/rx/xdr_mem.c index 0047b37..903db68 100644 --- a/src/rx/xdr_mem.c +++ b/src/rx/xdr_mem.c @@ -73,32 +73,20 @@ static struct xdr_ops xdrmem_ops = { * The procedure xdrmem_create initializes a stream descriptor for a * memory buffer. */ -void -xdrmem_create(xdrs, addr, size, op) - register XDR *xdrs; - caddr_t addr; - u_int size; - enum xdr_op op; +void xdrmem_create(register XDR *xdrs, caddr_t addr, u_int size, enum xdr_op op) { - xdrs->x_op = op; xdrs->x_ops = &xdrmem_ops; xdrs->x_private = xdrs->x_base = addr; xdrs->x_handy = size; } -static void -xdrmem_destroy(/*xdrs*/) - /*XDR *xdrs;*/ +static void xdrmem_destroy(void) { } -static bool_t -xdrmem_getint32(xdrs, lp) - register XDR *xdrs; - afs_int32 *lp; +static bool_t xdrmem_getint32(register XDR *xdrs, afs_int32 *lp) { - if ((xdrs->x_handy -= sizeof(afs_int32)) < 0) return (FALSE); *lp = ntohl(*((afs_int32 *)(xdrs->x_private))); @@ -106,12 +94,8 @@ xdrmem_getint32(xdrs, lp) return (TRUE); } -static bool_t -xdrmem_putint32(xdrs, lp) - register XDR *xdrs; - afs_int32 *lp; +static bool_t xdrmem_putint32(register XDR *xdrs, afs_int32 *lp) { - if ((xdrs->x_handy -= sizeof(afs_int32)) < 0) return (FALSE); *(afs_int32 *)xdrs->x_private = htonl(*lp); @@ -119,13 +103,8 @@ xdrmem_putint32(xdrs, lp) return (TRUE); } -static bool_t -xdrmem_getbytes(xdrs, addr, len) - register XDR *xdrs; - caddr_t addr; - register u_int len; +static bool_t xdrmem_getbytes(register XDR *xdrs, caddr_t addr, register u_int len) { - if ((xdrs->x_handy -= len) < 0) return (FALSE); memcpy(addr, xdrs->x_private, len); @@ -133,13 +112,8 @@ xdrmem_getbytes(xdrs, addr, len) return (TRUE); } -static bool_t -xdrmem_putbytes(xdrs, addr, len) - register XDR *xdrs; - caddr_t addr; - register u_int len; +static bool_t xdrmem_putbytes(register XDR *xdrs, caddr_t addr, register u_int len) { - if ((xdrs->x_handy -= len) < 0) return (FALSE); memcpy(xdrs->x_private, addr, len); @@ -147,18 +121,12 @@ xdrmem_putbytes(xdrs, addr, len) return (TRUE); } -static u_int -xdrmem_getpos(xdrs) - register XDR *xdrs; +static u_int xdrmem_getpos(register XDR *xdrs) { - return ((u_int)xdrs->x_private - (u_int)xdrs->x_base); } -static bool_t -xdrmem_setpos(xdrs, pos) - register XDR *xdrs; - u_int pos; +static bool_t xdrmem_setpos(register XDR *xdrs, u_int pos) { register caddr_t newaddr = xdrs->x_base + pos; register caddr_t lastaddr = xdrs->x_private + xdrs->x_handy; @@ -170,10 +138,7 @@ xdrmem_setpos(xdrs, pos) return (TRUE); } -static afs_int32 * -xdrmem_inline(xdrs, len) - register XDR *xdrs; - int len; +static afs_int32 *xdrmem_inline(register XDR *xdrs, int len) { afs_int32 *buf = 0; diff --git a/src/rx/xdr_prototypes.h b/src/rx/xdr_prototypes.h new file mode 100644 index 0000000..4e4eac8 --- /dev/null +++ b/src/rx/xdr_prototypes.h @@ -0,0 +1,98 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _XDR_PROTOTYPES_H +#define _XDR_PROTOTYPES_H + +/* I don't like this, but some of these defs depend on rx.h */ +#if defined(KERNEL) && defined(UKERNEL) +#include "../afs/sysincludes.h" +#include "../rx/rx.h" +#else +#include "rx/rx.h" +#endif + +/* xdr_afsuuid.c */ +extern int xdr_afsUUID(XDR *xdrs, afsUUID *objp); + +/* xdr_int32.c */ +extern bool_t xdr_afs_int32(register XDR *xdrs, afs_int32 *ip); +extern bool_t xdr_afs_uint32(register XDR *xdrs, afs_uint32 *up); + +/* xdr_int64.c */ +extern bool_t xdr_int64(register XDR *xdrs, afs_int64 *ulp); +extern bool_t xdr_afs_int64(register XDR *xdrs, afs_int64 *ulp); +extern bool_t xdr_uint64(register XDR *xdrs, afs_uint64 *ulp); +extern bool_t xdr_afs_uint64(register XDR *xdrs, afs_uint64 *ulp); + +/* xdr_rx.c */ +extern void xdrrx_create(register XDR *xdrs, register struct rx_call *call, register enum xdr_op op); + +#ifndef XDR_AFS_DECLS_ONLY + +/* xdr_array.c */ +extern bool_t xdr_array(register XDR *xdrs, caddr_t *addrp, u_int *sizep, + u_int maxsize, u_int elsize, xdrproc_t elproc); + +/* xdr_arrayn.c */ +extern bool_t xdr_arrayN(register XDR *xdrs, caddr_t *addrp, u_int *sizep, + u_int maxsize, u_int elsize, xdrproc_t elproc); + +/* xdr.c */ +extern bool_t xdr_void(void); +extern bool_t xdr_long(register XDR *xdrs, long *lp); +extern bool_t xdr_u_long(register XDR *xdrs, u_long *ulp); +extern bool_t xdr_int(register XDR *xdrs, int *ip); +extern bool_t xdr_u_int(register XDR *xdrs, u_int *up); +extern bool_t xdr_char(register XDR *xdrs, char *sp); +extern bool_t xdr_u_char(register XDR *xdrs, u_char *usp); +extern bool_t xdr_short(register XDR *xdrs, short *sp); +extern bool_t xdr_u_short(register XDR *xdrs, u_short *usp); +extern bool_t xdr_bool(register XDR *xdrs, bool_t *bp); +extern bool_t xdr_enum(register XDR *xdrs, enum_t *ep); +extern bool_t xdr_opaque(register XDR *xdrs, caddr_t cp, register u_int cnt); +extern bool_t xdr_bytes(register XDR *xdrs, char **cpp, register u_int *sizep, u_int maxsize); +extern bool_t xdr_union(register XDR *xdrs, enum_t *dscmp, caddr_t unp, + struct xdr_discrim *choices, xdrproc_t dfault); +extern bool_t xdr_string(register XDR *xdrs, char **cpp, u_int maxsize); +extern bool_t xdr_wrapstring(register XDR *xdrs, char **cpp); + + +/* xdr_float.c */ +extern bool_t xdr_float(register XDR *xdrs, register float *fp); +extern bool_t xdr_double(register XDR *xdrs, double *dp); + +/* xdr_mem.c */ +extern void xdrmem_create(register XDR *xdrs, caddr_t addr, u_int size, enum xdr_op op); + + +/* xdr_rec.c */ +extern void xdrrec_create(register XDR *xdrs, u_int sendsize, u_int recvsize, caddr_t tcp_handle, + int (*readit)(caddr_t tcp_handle, caddr_t out_base, int len), + int (*writeit)(caddr_t tcp_handle, caddr_t out_base, int len)); +extern bool_t xdrrec_skiprecord(XDR *xdrs); +extern bool_t xdrrec_eof(XDR *xdrs); +extern bool_t xdrrec_endofrecord(XDR *xdrs, bool_t sendnow); + + +/* xdr_refernce.c */ + + +/* xdr_stdio.c */ + + +/* xdr_update.c */ +extern bool_t xdr_pointer(register XDR *xdrs, char **objpp, + u_int obj_size, xdrproc_t xdr_obj); +extern bool_t xdr_vector(register XDR *xdrs, register char *basep, + register u_int nelem, register u_int elemsize, register xdrproc_t xdr_elem); + + +#endif +#endif /* _XDR_PROTOTYPES_H */ diff --git a/src/rx/xdr_rec.c b/src/rx/xdr_rec.c index 1f1432c..c8e6ddd 100644 --- a/src/rx/xdr_rec.c +++ b/src/rx/xdr_rec.c @@ -49,43 +49,23 @@ RCSID("$Header$"); #include +#ifdef HAVE_STDLIB_H +#include +#endif #include "xdr.h" #ifndef AFS_NT40_ENV #include #include #endif -#ifndef osi_alloc -char *osi_alloc(); +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif #endif -extern afs_int32 lseek(); - -static u_int fix_buf_size(); - -static bool_t flush_out(); -static bool_t get_input_bytes(); -static bool_t set_input_fragment(); -static bool_t skip_input_bytes(); - -static bool_t xdrrec_getint32(); -static bool_t xdrrec_putint32(); -static bool_t xdrrec_getbytes(); -static bool_t xdrrec_putbytes(); -static u_int xdrrec_getpos(); -static bool_t xdrrec_setpos(); -static afs_int32 * xdrrec_inline(); -static void xdrrec_destroy(); -static struct xdr_ops xdrrec_ops = { - xdrrec_getint32, - xdrrec_putint32, - xdrrec_getbytes, - xdrrec_putbytes, - xdrrec_getpos, - xdrrec_setpos, - xdrrec_inline, - xdrrec_destroy -}; /* * A record is composed of one or more record fragments. * A record fragment is a two-byte header followed by zero to @@ -105,7 +85,7 @@ typedef struct rec_strm { caddr_t tcp_handle; /* * out-goung bits */ - int (*writeit)(); + int (*writeit)(caddr_t tcp_handle, caddr_t out_base, int len); caddr_t out_base; /* output buffer (points to frag header) */ caddr_t out_finger; /* next output position */ caddr_t out_boundry; /* data cannot up to this address */ @@ -113,7 +93,7 @@ typedef struct rec_strm { bool_t frag_sent; /* true if buffer sent in middle of record */ /* * in-coming bits */ - int (*readit)(); + int (*readit)(caddr_t tcp_handle, caddr_t out_base, int len); afs_uint32 in_size; /* fixed size of the input buffer */ caddr_t in_base; caddr_t in_finger; /* location of next byte to be had */ @@ -124,6 +104,32 @@ typedef struct rec_strm { u_int recvsize; } RECSTREAM; +/* Prototypes for static routines */ +static bool_t xdrrec_getint32(XDR *xdrs, afs_int32 *lp); +static bool_t xdrrec_putint32(XDR *xdrs, afs_int32 *lp); +static bool_t xdrrec_getbytes(XDR *xdrs, register caddr_t addr, register u_int len); +static bool_t xdrrec_putbytes(XDR *xdrs, register caddr_t addr, register u_int len); +static u_int xdrrec_getpos(register XDR *xdrs); +static bool_t xdrrec_setpos(register XDR *xdrs, u_int pos); +static afs_int32 *xdrrec_inline(register XDR *xdrs, int len); +static void xdrrec_destroy(register XDR *xdrs); +static bool_t flush_out(register RECSTREAM *rstrm, bool_t eor); +static bool_t fill_input_buf(register RECSTREAM *rstrm); +static bool_t get_input_bytes(register RECSTREAM *rstrm, register caddr_t addr, register int len); +static bool_t set_input_fragment(register RECSTREAM *rstrm); +static bool_t skip_input_bytes(register RECSTREAM *rstrm, int cnt); +static u_int fix_buf_size(register u_int s); + +static struct xdr_ops xdrrec_ops = { + xdrrec_getint32, + xdrrec_putint32, + xdrrec_getbytes, + xdrrec_putbytes, + xdrrec_getpos, + xdrrec_setpos, + xdrrec_inline, + xdrrec_destroy +}; /* * Create an xdr handle for xdrrec * xdrrec_create fills in xdrs. Sendsize and recvsize are @@ -133,14 +139,13 @@ typedef struct rec_strm { * write respectively. They are like the system * calls expect that they take an opaque handle rather than an fd. */ -void -xdrrec_create(xdrs, sendsize, recvsize, tcp_handle, readit, writeit) - register XDR *xdrs; - u_int sendsize; - u_int recvsize; - caddr_t tcp_handle; - int (*readit)(); /* like read, but pass it a tcp_handle, not sock */ - int (*writeit)(); /* like write, but pass it a tcp_handle, not sock */ +/* + int (*readit)(); * like read, but pass it a tcp_handle, not sock * + int (*writeit)(); * like write, but pass it a tcp_handle, not sock * +*/ +void xdrrec_create(register XDR *xdrs, u_int sendsize, u_int recvsize, caddr_t tcp_handle, + int (*readit)(caddr_t tcp_handle, caddr_t out_base, int len), + int (*writeit)(caddr_t tcp_handle, caddr_t out_base, int len)) { register RECSTREAM *rstrm = (RECSTREAM *)osi_alloc(sizeof(RECSTREAM)); @@ -182,10 +187,7 @@ xdrrec_create(xdrs, sendsize, recvsize, tcp_handle, readit, writeit) * xdr handle filled in by xdrrec_create. */ -static bool_t -xdrrec_getint32(xdrs, lp) - XDR *xdrs; - afs_int32 *lp; +static bool_t xdrrec_getint32(XDR *xdrs, afs_int32 *lp) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); register afs_int32 *buflp = (afs_int32 *)(rstrm->in_finger); @@ -205,10 +207,7 @@ xdrrec_getint32(xdrs, lp) return (TRUE); } -static bool_t -xdrrec_putint32(xdrs, lp) - XDR *xdrs; - afs_int32 *lp; +static bool_t xdrrec_putint32(XDR *xdrs, afs_int32 *lp) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); register afs_int32 *dest_lp = ((afs_int32 *)(rstrm->out_finger)); @@ -229,11 +228,7 @@ xdrrec_putint32(xdrs, lp) return (TRUE); } -static bool_t /* must manage buffers, fragments, and records */ -xdrrec_getbytes(xdrs, addr, len) - XDR *xdrs; - register caddr_t addr; - register u_int len; +static bool_t xdrrec_getbytes(XDR *xdrs, register caddr_t addr, register u_int len) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); register int current; @@ -257,11 +252,7 @@ xdrrec_getbytes(xdrs, addr, len) return (TRUE); } -static bool_t -xdrrec_putbytes(xdrs, addr, len) - XDR *xdrs; - register caddr_t addr; - register u_int len; +static bool_t xdrrec_putbytes(XDR *xdrs, register caddr_t addr, register u_int len) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); register int current; @@ -282,9 +273,7 @@ xdrrec_putbytes(xdrs, addr, len) return (TRUE); } -static u_int -xdrrec_getpos(xdrs) - register XDR *xdrs; +static u_int xdrrec_getpos(register XDR *xdrs) { register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; register u_int pos; @@ -308,10 +297,7 @@ xdrrec_getpos(xdrs) return (pos); } -static bool_t -xdrrec_setpos(xdrs, pos) - register XDR *xdrs; - u_int pos; +static bool_t xdrrec_setpos(register XDR *xdrs, u_int pos) { register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; u_int currpos = xdrrec_getpos(xdrs); @@ -344,10 +330,7 @@ xdrrec_setpos(xdrs, pos) return (FALSE); } -static afs_int32 * -xdrrec_inline(xdrs, len) - register XDR *xdrs; - int len; +static afs_int32 *xdrrec_inline(register XDR *xdrs, int len) { register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; afs_int32 * buf = NULL; @@ -373,9 +356,7 @@ xdrrec_inline(xdrs, len) return (buf); } -static void -xdrrec_destroy(xdrs) - register XDR *xdrs; +static void xdrrec_destroy(register XDR *xdrs) { register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; @@ -393,9 +374,7 @@ xdrrec_destroy(xdrs) * Before reading (deserializing from the stream, one should always call * this procedure to guarantee proper record alignment. */ -bool_t -xdrrec_skiprecord(xdrs) - XDR *xdrs; +bool_t xdrrec_skiprecord(XDR *xdrs) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); @@ -415,9 +394,7 @@ xdrrec_skiprecord(xdrs) * Returns TRUE iff there is no more input in the buffer * after consuming the rest of the current record. */ -bool_t -xdrrec_eof(xdrs) - XDR *xdrs; +bool_t xdrrec_eof(XDR *xdrs) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); @@ -439,10 +416,7 @@ xdrrec_eof(xdrs) * (output) tcp stream. (This let's the package support batched or * pipelined procedure calls.) TRUE => immmediate flush to tcp connection. */ -bool_t -xdrrec_endofrecord(xdrs, sendnow) - XDR *xdrs; - bool_t sendnow; +bool_t xdrrec_endofrecord(XDR *xdrs, bool_t sendnow) { register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); register afs_uint32 len; /* fragment length */ @@ -465,10 +439,7 @@ xdrrec_endofrecord(xdrs, sendnow) /* * Internal useful routines */ -static bool_t -flush_out(rstrm, eor) - register RECSTREAM *rstrm; - bool_t eor; +static bool_t flush_out(register RECSTREAM *rstrm, bool_t eor) { register afs_uint32 eormask = (eor == TRUE) ? LAST_FRAG : 0; register afs_uint32 len = (afs_uint32)(rstrm->out_finger) - @@ -484,9 +455,7 @@ flush_out(rstrm, eor) return (TRUE); } -static bool_t /* knows nothing about records! Only about input buffers */ -fill_input_buf(rstrm) - register RECSTREAM *rstrm; +static bool_t fill_input_buf(register RECSTREAM *rstrm) { register caddr_t where = rstrm->in_base; register int len = rstrm->in_size; @@ -504,11 +473,7 @@ fill_input_buf(rstrm) return (TRUE); } -static bool_t /* knows nothing about records! Only about input buffers */ -get_input_bytes(rstrm, addr, len) - register RECSTREAM *rstrm; - register caddr_t addr; - register int len; +static bool_t get_input_bytes(register RECSTREAM *rstrm, register caddr_t addr, register int len) { register int current; @@ -528,9 +493,8 @@ get_input_bytes(rstrm, addr, len) return (TRUE); } -static bool_t /* next two bytes of the input stream are treated as a header */ -set_input_fragment(rstrm) - register RECSTREAM *rstrm; +/* next two bytes of the input stream are treated as a header */ +static bool_t set_input_fragment(register RECSTREAM *rstrm) { afs_uint32 header; @@ -542,10 +506,8 @@ set_input_fragment(rstrm) return (TRUE); } -static bool_t /* consumes input bytes; knows nothing about records! */ -skip_input_bytes(rstrm, cnt) - register RECSTREAM *rstrm; - int cnt; +/* consumes input bytes; knows nothing about records! */ +static bool_t skip_input_bytes(register RECSTREAM *rstrm, int cnt) { register int current; @@ -563,9 +525,7 @@ skip_input_bytes(rstrm, cnt) return (TRUE); } -static u_int -fix_buf_size(s) - register u_int s; +static u_int fix_buf_size(register u_int s) { if (s < 100) @@ -574,4 +534,5 @@ fix_buf_size(s) * BYTES_PER_XDR_UNIT; } + #endif /* NeXT */ diff --git a/src/rx/xdr_refernce.c b/src/rx/xdr_refernce.c index e938628..f74bd77 100644 --- a/src/rx/xdr_refernce.c +++ b/src/rx/xdr_refernce.c @@ -46,10 +46,6 @@ RCSID("$Header$"); #include #define LASTUNSIGNED ((u_int)0-1) -#ifndef osi_alloc -char *osi_alloc(); -#endif - /* * XDR an indirect pointer * xdr_reference is for recursively translating a structure that is diff --git a/src/rx/xdr_rx.c b/src/rx/xdr_rx.c index 5ef8876..e074960 100644 --- a/src/rx/xdr_rx.c +++ b/src/rx/xdr_rx.c @@ -62,8 +62,8 @@ RCSID("$Header$"); #ifndef AFS_NT40_ENV #include #endif -#include "xdr.h" #include "rx.h" +#include "xdr.h" #endif /* KERNEL */ /* @@ -87,16 +87,19 @@ RCSID("$Header$"); # define AFS_RPC_INLINE_T afs_int32 #endif /* KERNEL */ +/* Static prototypes */ #if (defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV) -static bool_t xdrrx_getint64(); -static bool_t xdrrx_putint64(); -#endif /* defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT) || defined(AFS_HPUX_64BIT_ENV) */ -static bool_t xdrrx_getint32(); -static bool_t xdrrx_putint32(); -static bool_t xdrrx_getbytes(); -static bool_t xdrrx_putbytes(); -static AFS_RPC_INLINE_T * xdrrx_inline(); -void xdrrx_destroy(); +static bool_t xdrrx_getint64(XDR *xdrs, long *lp); +static bool_t xdrrx_putint64(XDR *xdrs, long *lp); +#endif +static bool_t xdrrx_getint32(XDR *xdrs, afs_int32 *lp); +static bool_t xdrrx_putint32(register XDR *xdrs, register afs_int32 *lp); +static bool_t xdrrx_getbytes(register XDR *xdrs, + register caddr_t addr, register u_int len); +static bool_t xdrrx_putbytes(register XDR *xdrs, + register caddr_t addr, register u_int len); +static AFS_RPC_INLINE_T *xdrrx_inline(register XDR *xdrs, register u_int len); + /* * Ops vector for stdio type XDR @@ -127,11 +130,7 @@ static struct xdr_ops xdrrx_ops = { * Initialize an rx xdr handle, for a given rx call. op must be XDR_ENCODE or XDR_DECODE. * Call must have been returned by rx_MakeCall or rx_GetCall. Stream should be a pointer to a local rx_stream structure. */ -void -xdrrx_create(xdrs, call, op) - register XDR *xdrs; - register struct rx_call *call; - register enum xdr_op op; +void xdrrx_create(register XDR *xdrs, register struct rx_call *call, register enum xdr_op op) { xdrs->x_op = op; xdrs->x_ops = &xdrrx_ops; @@ -144,8 +143,7 @@ int rx_pin_failed = 0; #endif #if (defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV) -static bool_t -xdrrx_getint64(XDR *xdrs, long *lp) +static bool_t xdrrx_getint64(XDR *xdrs, long *lp) { register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); afs_int32 i; @@ -157,8 +155,7 @@ xdrrx_getint64(XDR *xdrs, long *lp) return FALSE; } -static bool_t -xdrrx_putint64(XDR *xdrs, long *lp) +static bool_t xdrrx_putint64(XDR *xdrs, long *lp) { afs_int32 code, i = htonl(*lp); register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); @@ -168,10 +165,7 @@ xdrrx_putint64(XDR *xdrs, long *lp) } #endif /* (defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV) */ -static bool_t -xdrrx_getint32(xdrs, lp) - register XDR *xdrs; - register afs_int32 *lp; +static bool_t xdrrx_getint32(XDR *xdrs, afs_int32 *lp) { afs_int32 l; register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); @@ -189,7 +183,7 @@ xdrrx_getint32(xdrs, lp) */ if (pin(saddr, STACK_TO_PIN)) { /* XXX There's little we can do by continue XXX */ - saddr = (char *)0; + saddr = NULL; rx_pin_failed++; } #endif @@ -206,10 +200,7 @@ xdrrx_getint32(xdrs, lp) return FALSE; } -static bool_t -xdrrx_putint32(xdrs, lp) - register XDR *xdrs; - register afs_int32 *lp; +static bool_t xdrrx_putint32(register XDR *xdrs, register afs_int32 *lp) { afs_int32 code, l = htonl(*lp); register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); @@ -226,7 +217,7 @@ xdrrx_putint32(xdrs, lp) * guarantee that they remain there. */ if (pin(saddr, STACK_TO_PIN)) { - saddr = (char *)0; + saddr = NULL; rx_pin_failed++; } #endif @@ -237,11 +228,8 @@ xdrrx_putint32(xdrs, lp) return code; } -static bool_t -xdrrx_getbytes(xdrs, addr, len) - register XDR *xdrs; - register caddr_t addr; - register u_int len; +static bool_t xdrrx_getbytes(register XDR *xdrs, + register caddr_t addr, register u_int len) { afs_int32 code; register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); @@ -259,7 +247,7 @@ xdrrx_getbytes(xdrs, addr, len) */ if (pin(saddr, STACK_TO_PIN)) { /* XXX There's little we can do by continue XXX */ - saddr = (char *)0; + saddr = NULL; rx_pin_failed++; } #endif @@ -270,11 +258,8 @@ xdrrx_getbytes(xdrs, addr, len) return code; } -static bool_t -xdrrx_putbytes(xdrs, addr, len) - register XDR *xdrs; - register caddr_t addr; - register u_int len; +static bool_t xdrrx_putbytes(register XDR *xdrs, + register caddr_t addr, register u_int len) { afs_int32 code; register struct rx_call *call = ((struct rx_call *) (xdrs)->x_private); @@ -292,7 +277,7 @@ xdrrx_putbytes(xdrs, addr, len) */ if (pin(saddr, STACK_TO_PIN)) { /* XXX There's little we can do by continue XXX */ - saddr = (char *)0; + saddr = NULL; rx_pin_failed++; } #endif @@ -304,28 +289,20 @@ xdrrx_putbytes(xdrs, addr, len) } #ifdef undef /* not used */ -static u_int -xdrrx_getpos(xdrs) - register XDR *xdrs; +static u_int xdrrx_getpos(register XDR *xdrs) { /* Not supported. What error code should we return? (It doesn't matter: it will never be called, anyway!) */ return -1; } -static bool_t -xdrrx_setpos(xdrs, pos) - register XDR *xdrs; - u_int pos; +static bool_t xdrrx_setpos(register XDR *xdrs, u_int pos) { /* Not supported */ return FALSE; } #endif -static AFS_RPC_INLINE_T * -xdrrx_inline(xdrs, len) - register XDR *xdrs; - register u_int len; +static AFS_RPC_INLINE_T *xdrrx_inline(register XDR *xdrs, register u_int len) { /* I don't know what this routine is supposed to do, but the stdio module returns null, so we will, too */ return (0); diff --git a/src/rx/xdr_update.c b/src/rx/xdr_update.c index 608449d..c5edf26 100644 --- a/src/rx/xdr_update.c +++ b/src/rx/xdr_update.c @@ -41,12 +41,8 @@ RCSID("$Header$"); * > xdr_obj: routine to XDR an object. * */ -bool_t -xdr_pointer(xdrs,objpp,obj_size,xdr_obj) - register XDR *xdrs; - char **objpp; - u_int obj_size; - xdrproc_t xdr_obj; +bool_t xdr_pointer(register XDR *xdrs, char **objpp, + u_int obj_size, xdrproc_t xdr_obj) { bool_t more_data; @@ -72,13 +68,8 @@ xdr_pointer(xdrs,objpp,obj_size,xdr_obj) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t -xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem) - register XDR *xdrs; - register char *basep; - register u_int nelem; - register u_int elemsize; - register xdrproc_t xdr_elem; +bool_t xdr_vector(register XDR *xdrs, register char *basep, + register u_int nelem, register u_int elemsize, register xdrproc_t xdr_elem) { register u_int i; register char *elptr; diff --git a/src/rxdebug/rxdebug.c b/src/rxdebug/rxdebug.c index 04ba6d6..f808725 100644 --- a/src/rxdebug/rxdebug.c +++ b/src/rxdebug/rxdebug.c @@ -73,7 +73,7 @@ static short PortName(aname) register char *aname; { register struct servent *ts; - ts = getservbyname(aname, (char *) 0); + ts = getservbyname(aname, NULL); if (!ts) return -1; return ts->s_port; /* returns it in network byte order */ } @@ -136,12 +136,12 @@ struct cmd_syndesc *as; if (as->parms[0].items) hostName = as->parms[0].items->data; else - hostName = (char *) 0; + hostName = NULL; if (as->parms[1].items) portName = as->parms[1].items->data; else - portName = (char *) 0; + portName = NULL; if (as->parms[7].items) { char *name = as->parms[7].items->data; @@ -536,7 +536,7 @@ char **argv; } #endif - ts = cmd_CreateSyntax((char *) 0, MainCommand, 0, "probe RX server"); + ts = cmd_CreateSyntax(NULL, MainCommand, 0, "probe RX server"); cmd_AddParm(ts, "-servers", CMD_SINGLE, CMD_REQUIRED, "server machine"); cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "IP port"); cmd_AddParm(ts, "-nodally", CMD_FLAG, CMD_OPTIONAL, diff --git a/src/rxgen/rpc_clntout.c b/src/rxgen/rpc_clntout.c index 4a03f82..d60928a 100644 --- a/src/rxgen/rpc_clntout.c +++ b/src/rxgen/rpc_clntout.c @@ -39,16 +39,18 @@ RCSID("$Header$"); #include #include +#include "rpc_scan.h" #include "rpc_parse.h" #include "rpc_util.h" #define DEFAULT_TIMEOUT 25 /* in seconds */ -static write_program(); -static printbody(); +/* static prototypes */ +static void write_program(definition *def); +static char *ampr(char *type); +static void printbody(proc_list *proc); -void -write_stubs() +void write_stubs(void) { list *l; definition *def; @@ -64,9 +66,7 @@ write_stubs() } -static -write_program(def) - definition *def; +static void write_program(definition *def) { version_list *vp; proc_list *proc; @@ -89,9 +89,7 @@ write_program(def) } } -static char * -ampr(type) - char *type; +static char *ampr(char *type) { if (isvectordef(type, REL_ALIAS)) { return (""); @@ -100,9 +98,7 @@ ampr(type) } } -static -printbody(proc) - proc_list *proc; +static void printbody(proc_list *proc) { f_print(fout, "\tstatic "); if (streq(proc->res_type, "void")) { diff --git a/src/rxgen/rpc_cout.c b/src/rxgen/rpc_cout.c index 1742e54..8ea14af 100644 --- a/src/rxgen/rpc_cout.c +++ b/src/rxgen/rpc_cout.c @@ -46,24 +46,38 @@ RCSID("$Header$"); #include #endif #endif -#include "rpc_util.h" +#include "rpc_scan.h" #include "rpc_parse.h" +#include "rpc_util.h" + +/* Static prototypes */ +static int findtype(definition *def, char *type); +static int undefined(char *type); +static void print_header(definition *def); +static void print_trailer(void); +static void print_ifopen(int indent, char *name); +static void print_ifarg(char *arg); +static void print_ifsizeof(char *prefix, char *type); +static void print_ifclose(int indent); +static void space(void); +static void print_ifstat(int indent, char *prefix, char *type, + relation rel, char *amax, char *objname, char *name); +static void emit_enum(definition *def); +static void emit_union(definition *def); +static void emit_struct(definition *def); +static void emit_typedef(definition *def); +static void print_stat(declaration *dec); +static void print_hout(declaration *dec); +static void print_cout(declaration *dec); +static void print_rxifopen(char *typename); +static void print_rxifarg(char *amp, char *arg, int costant); +static void print_rxifsizeof(char *prefix, char *type); -static print_header(); -static print_trailer(); -static space(); -static emit_enum(); -static emit_union(); -static emit_struct(); -static emit_typedef(); -static print_stat(); /* * Emit the C-routine for the given definition */ -void -emit(def) - definition *def; +void emit(definition *def) { if (def->def_kind == DEF_PROGRAM || def->def_kind == DEF_CONST) { return; @@ -86,10 +100,7 @@ emit(def) print_trailer(); } -static -findtype(def, type) - definition *def; - char *type; +static int findtype(definition *def, char *type) { if (def->def_kind == DEF_PROGRAM || def->def_kind == DEF_CONST) { return (0); @@ -98,9 +109,7 @@ findtype(def, type) } } -static -undefined(type) - char *type; +static int undefined(char *type) { definition *def; @@ -109,25 +118,25 @@ undefined(type) } -static -print_header(def) - definition *def; +static void print_header(definition *def) { space(); f_print(fout, "bool_t\n"); - f_print(fout, "xdr_%s(xdrs, objp)\n", def->def_name); - f_print(fout, "\tXDR *xdrs;\n"); - f_print(fout, "\t%s ", def->def_name); + f_print(fout, "xdr_%s(XDR *xdrs, ", def->def_name); + f_print(fout, "%s ", def->def_name); +#if 0 if (def->def_kind != DEF_TYPEDEF || !isvectordef(def->def.ty.old_type, def->def.ty.rel)) { f_print(fout, "*"); } - f_print(fout, "objp;\n"); +#else + f_print(fout, "*"); +#endif + f_print(fout, "objp)\n"); f_print(fout, "{\n"); } -static -print_trailer() +static void print_trailer(void) { f_print(fout, "\treturn (TRUE);\n"); f_print(fout, "}\n"); @@ -135,28 +144,20 @@ print_trailer() } -static -print_ifopen(indent, name) - int indent; - char *name; +static void print_ifopen(int indent, char *name) { tabify(fout, indent); f_print(fout, "if (!xdr_%s(xdrs", name); } -static -print_ifarg(arg) - char *arg; +static void print_ifarg(char *arg) { f_print(fout, ", %s", arg); } -static -print_ifsizeof(prefix, type) - char *prefix; - char *type; +static void print_ifsizeof(char *prefix, char *type) { if (streq(type, "bool")) { f_print(fout, ", sizeof(bool_t), xdr_bool"); @@ -169,9 +170,7 @@ print_ifsizeof(prefix, type) } } -static -print_ifclose(indent) - int indent; +static void print_ifclose(int indent) { f_print(fout, ")) {\n"); tabify(fout, indent); @@ -180,21 +179,13 @@ print_ifclose(indent) f_print(fout, "}\n"); } -static -space() +static void space(void) { f_print(fout, "\n\n"); } -static -print_ifstat(indent, prefix, type, rel, amax, objname, name) - int indent; - char *prefix; - char *type; - relation rel; - char *amax; - char *objname; - char *name; +static void print_ifstat(int indent, char *prefix, char *type, + relation rel, char *amax, char *objname, char *name) { char *alt = NULL; @@ -262,10 +253,7 @@ print_ifstat(indent, prefix, type, rel, amax, objname, name) } -/* ARGSUSED */ -static -emit_enum(def) - definition *def; +static void emit_enum(definition *def) { print_ifopen(1, "enum"); print_ifarg("(enum_t *)objp"); @@ -273,9 +261,7 @@ emit_enum(def) } -static -emit_union(def) - definition *def; +static void emit_union(definition *def) { declaration *dflt; case_list *cl; @@ -319,9 +305,7 @@ emit_union(def) -static -emit_struct(def) - definition *def; +static void emit_struct(definition *def) { decl_list *dl; @@ -333,9 +317,7 @@ emit_struct(def) -static -emit_typedef(def) - definition *def; +static void emit_typedef(definition *def) { char *prefix = def->def.ty.old_prefix; char *type = def->def.ty.old_type; @@ -349,9 +331,7 @@ emit_typedef(def) -static -print_stat(dec) - declaration *dec; +static void print_stat(declaration *dec) { char *prefix = dec->prefix; char *type = dec->type; @@ -367,12 +347,7 @@ print_stat(dec) print_ifstat(1, prefix, type, rel, amax, name, dec->name); } -extern proc1_list *Proc_list; -extern int PerProcCounter; - -static -print_hout(dec) -declaration *dec; +static void print_hout(declaration *dec) { char prefix[8]; @@ -391,22 +366,17 @@ declaration *dec; break; } f_print(fout, ";\n"); - f_print(fout, "bool_t xdr_%s();\n", dec->name); + f_print(fout, "bool_t xdr_%s(XDR *xdrs, %s *objp);\n", dec->name, dec->name); } } -static -print_cout(dec) -declaration *dec; +static void print_cout(declaration *dec) { - if (cflag) { space(); f_print(fout, "bool_t\n"); - f_print(fout, "xdr_%s(xdrs, objp)\n", dec->name); - f_print(fout, "\tXDR *xdrs;\n"); - f_print(fout, "\t%s *objp;\n", dec->name); + f_print(fout, "xdr_%s(XDR *xdrs, %s *objp)\n", dec->name, dec->name); f_print(fout, "{\n"); print_ifstat(1, dec->prefix, dec->type, dec->rel, dec->array_max, "objp", dec->name); print_trailer(); @@ -414,20 +384,14 @@ declaration *dec; } -static -print_rxifopen(typename) -char *typename; +static void print_rxifopen(char *typename) { sprintf(Proc_list->code, "xdr_%s(&z_xdrs", typename); sprintf(Proc_list->scode, "xdr_%s(z_xdrs", typename); } -static -print_rxifarg(amp, arg, costant) -char *amp; -char *arg; -int costant; +static void print_rxifarg(char *amp, char *arg, int costant) { char code[100], scode[100]; @@ -441,9 +405,7 @@ int costant; } -static -print_rxifsizeof(prefix, type) -char *prefix, *type; +static void print_rxifsizeof(char *prefix, char *type) { char name[256]; @@ -465,8 +427,7 @@ char *prefix, *type; } -print_param(dec) -declaration *dec; +void print_param(declaration *dec) { char *prefix = dec->prefix; char *type = dec->type; diff --git a/src/rxgen/rpc_hout.c b/src/rxgen/rpc_hout.c index bb763cb..eeba6f9 100644 --- a/src/rxgen/rpc_hout.c +++ b/src/rxgen/rpc_hout.c @@ -40,29 +40,37 @@ RCSID("$Header$"); #include #include #include -#include "rpc_util.h" -#include "rpc_parse.h" -static pconstdef(); -static pstructdef(); -static puniondef(); -static pprogramdef(); -static psprocdef(); -static penumdef(); -static ptypedef(); -static pdeclaration(); -static undefined2(); +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include "rpc_scan.h" +#include "rpc_parse.h" +#include "rpc_util.h" + +/* Static declarations */ +static void pconstdef(definition *def); +static void pstructdef(definition *def); +static void puniondef(definition *def); +static void puldefine(char *name, char *num); +static int define_printed(proc_list *stop, version_list *start); +static void pprogramdef(definition *def); +static void psproc1(definition *defp, int callTconnF, char *type, char *prefix, int iomask); +static void psprocdef(definition *defp); +static void penumdef(definition *def); +static void ptypedef(definition *def); +static void pdeclaration(char *name, declaration *dec, int tab); +static int undefined2(char *type, char *stop); /* * Print the C-version of an xdr definition */ -void -print_datadef(def) - definition *def; +void print_datadef(definition *def) { - extern int IsRxgenDefinition(); - if (Sflag) scan_print = 0; if ((def->def_kind != DEF_CONST) && (!IsRxgenDefinition(def))) { f_print(fout, "\n"); @@ -92,7 +100,7 @@ print_datadef(def) break; } if (def->def_kind != DEF_PROGRAM && def->def_kind != DEF_CONST && (!IsRxgenDefinition(def))) { - f_print(fout, "bool_t xdr_%s();\n", def->def_name); + f_print(fout, "bool_t xdr_%s(XDR *xdrs, %s *objp);\n", def->def_name, def->def_name); } if (def->def_kind != DEF_CONST && (!IsRxgenDefinition(def))) { f_print(fout, "\n"); @@ -100,16 +108,12 @@ print_datadef(def) if (Sflag) scan_print = 1; } -static -pconstdef(def) - definition *def; +static void pconstdef(definition *def) { pdefine(def->def_name, def->def.co); } -static -pstructdef(def) - definition *def; +static void pstructdef(definition *def) { decl_list *l; char *name = def->def_name; @@ -122,9 +126,7 @@ pstructdef(def) f_print(fout, "typedef struct %s %s;\n", name, name); } -static -puniondef(def) - definition *def; +static void puniondef(definition *def) { case_list *l; char *name = def->def_name; @@ -152,25 +154,17 @@ puniondef(def) } -pdefine(name, num) - char *name; - char *num; +void pdefine(char *name, char *num) { f_print(fout, "#define %s %s\n", name, num); } -static -puldefine(name, num) - char *name; - char *num; +static void puldefine(char *name, char *num) { f_print(fout, "#define %s ((afs_uint32)%s)\n", name, num); } -static -define_printed(stop, start) - proc_list *stop; - version_list *start; +static int define_printed(proc_list *stop, version_list *start) { version_list *vers; proc_list *proc; @@ -189,9 +183,7 @@ define_printed(stop, start) } -static -pprogramdef(def) - definition *def; +static void pprogramdef(definition *def) { version_list *vers; proc_list *proc; @@ -208,14 +200,9 @@ pprogramdef(def) } } -static -psproc1(defp,callTconnF,type,prefix,iomask) -definition *defp; -int callTconnF; -char *type, *prefix; -int iomask; +static void psproc1(definition *defp, int callTconnF, char *type, char *prefix, int iomask) { - proc1_list *plist, *plist1; + proc1_list *plist; f_print(fout,"\nextern %s %s%s%s(\n",type,prefix,defp->pc.proc_prefix,defp->pc.proc_name); @@ -242,9 +229,7 @@ int iomask; f_print(fout, ");\n"); } -static -psprocdef(defp) -definition *defp; +static void psprocdef(definition *defp) { int split_flag = defp->pc.split_flag; @@ -259,9 +244,7 @@ definition *defp; } -pprocdef(proc, vp) - proc_list *proc; - version_list *vp; +void pprocdef(proc_list *proc, version_list *vp) { f_print(fout, "extern "); if (proc->res_prefix) { @@ -282,9 +265,7 @@ pprocdef(proc, vp) f_print(fout, "();\n"); } -static -penumdef(def) - definition *def; +static void penumdef(definition *def) { char *name = def->def_name; enumval_list *l; @@ -311,9 +292,7 @@ penumdef(def) f_print(fout, "typedef enum %s %s;\n", name, name); } -static -ptypedef(def) - definition *def; +static void ptypedef(definition *def) { char *name = def->def_name; char *old = def->def.ty.old_type; @@ -361,11 +340,7 @@ ptypedef(def) } -static -pdeclaration(name, dec, tab) - char *name; - declaration *dec; - int tab; +static void pdeclaration(char *name, declaration *dec, int tab) { char buf[8]; /* enough to hold "struct ", include NUL */ char *prefix; @@ -420,10 +395,7 @@ pdeclaration(name, dec, tab) -static -undefined2(type, stop) - char *type; - char *stop; +static int undefined2(char *type, char *stop) { list *l; definition *def; diff --git a/src/rxgen/rpc_main.c b/src/rxgen/rpc_main.c index d1f450c..b8e669c 100644 --- a/src/rxgen/rpc_main.c +++ b/src/rxgen/rpc_main.c @@ -55,9 +55,12 @@ RCSID("$Header$"); #ifdef HAVE_SYS_FILE_H #include #endif -#include "rpc_util.h" -#include "rpc_parse.h" +#ifdef HAVE_UNISTD_H +#include +#endif #include "rpc_scan.h" +#include "rpc_parse.h" +#include "rpc_util.h" #define EXTEND 1 /* alias for TRUE */ @@ -105,9 +108,6 @@ static char CPP[] = "cc -E"; static char CPP[] = "/lib/cpp"; #endif static char CPPFLAGS[] = "-C"; -static char *allv[] = { - "rpcgen", "-s", "udp", "-s", "tcp", -}; #ifdef AFS_ALPHA_ENV /* @@ -127,28 +127,34 @@ static char *XTRA_CPPFLAGS[] = { }; #endif -static int c_output(); -static int h_output(); -static int s_output(); -static int l_output(); -static int do_registers(); -static int parseargs(); - -static int allc = sizeof(allv)/sizeof(allv[0]); - #include "AFS_component_version_number.c" -int -main(argc, argv) - int argc; - char *argv[]; - +/* static prototypes */ +static char *extendfile(char *file, char *ext); +static void open_output(char *infile, char *outfile); +static void open_input(char *infile, char *define); +static void c_output(char *infile, char *define, int extend, + char *outfile, int append); +static void h_output(char *infile, char *define, int extend, + char *outfile, int append); +static void s_output(int argc, char *argv[], char *infile, + char *define, int extend, char *outfile, int nomain); +static void l_output(char *infile, char *define, int extend, char *outfile); +static void do_registers(int argc, char *argv[]); +static int parseargs(int argc, char *argv[], struct commandline *cmd); +static void C_output(char *infile, char *define, int extend, + char *outfile, int append); +static void S_output(char *infile, char *define, int extend, + char *outfile, int append); +static char *uppercase(char *str); + +int main(int argc, char *argv[]) { struct commandline cmd; +#ifdef AFS_NT40_ENV char *ep; /* initialize CPP with the correct pre-processor on NT */ -#ifdef AFS_NT40_ENV ep = getenv("RXGEN_CPPCMD"); if (ep) strcpy(CPP, ep); @@ -188,7 +194,7 @@ main(argc, argv) OutFileFlag = NULL; c_output(cmd.infile, "-DRPC_XDR", !EXTEND, cmd.outfile, 0); } else if (cmd.hflag) { - h_output(cmd.infile, "-DRPC_HDR", !EXTEND, cmd.outfile); + h_output(cmd.infile, "-DRPC_HDR", !EXTEND, cmd.outfile, 0); } else if (cmd.lflag) { l_output(cmd.infile, "-DRPC_CLNT", !EXTEND, cmd.outfile); } else if (cmd.sflag || cmd.mflag) { @@ -223,60 +229,10 @@ main(argc, argv) exit(0); } -static void -write_int32_macros(fout) - FILE *fout; -{ - /* - * Note that rxgen writes code that uses xdr_afs_int32() and - * xdr_afs_uint32(). Systems do not provide these natively, so we - * #define them to locally provided equivalents. - * - * Some systems do come with native xdr_int32() and xdr_uint32() - * functions, but the prototypes are not always in the same - * place and are not always consistent so it is less trouble to - * use the original int and u_int functions. We do check that - * an int is 32 bits... - * - * A cleaner solution than these #defines would be to make rxgen - * emit calls to xdr_int() and xdr_u_int() to process the types - * afs_int32 and afs_uint32 (if, of course, an int is 32 bits). - * - * Note that to avoid compiler warnings we need to keep - * the types of the native xdr_* routines in sync with the - * definitions of afs_int32 and afs_uint32 in config/stds.h. - */ - - /* - * If you change the definitions of xdr_afs_int32 and xdr_afs_uint32, - * be sure to change them in BOTH rx/xdr.h and rxgen/rpc_main.c. - */ - -#if (INT_MAX == 0x7FFFFFFF) && (UINT_MAX == 0xFFFFFFFFu) - f_print(fout, "#ifndef xdr_afs_int32\n"); - f_print(fout, "#define xdr_afs_int32 xdr_int\n"); - f_print(fout, "#endif\n"); - f_print(fout, "#ifndef xdr_afs_uint32\n"); - f_print(fout, "#define xdr_afs_uint32 xdr_u_int\n"); - f_print(fout, "#endif\n"); - f_print(fout, "#ifndef xdr_afs_int64\n"); - f_print(fout, "#define xdr_afs_int64 xdr_int64\n"); - f_print(fout, "#endif\n"); - f_print(fout, "#ifndef xdr_afs_uint64\n"); - f_print(fout, "#define xdr_afs_uint64 xdr_uint64\n"); - f_print(fout, "#endif\n"); -#else -#error Need to do some work here... -#endif -} - /* * add extension to filename */ -static char * -extendfile(file, ext) - char *file; - char *ext; +static char *extendfile(char *file, char *ext) { char *res; char *p; @@ -303,10 +259,7 @@ extendfile(file, ext) /* * Open output file with given extension */ -static -open_output(infile, outfile) - char *infile; - char *outfile; +static void open_output(char *infile, char *outfile) { if (outfile == NULL) { fout = stdout; @@ -329,12 +282,8 @@ open_output(infile, outfile) /* * Open input file with given define for C-preprocessor */ -static -open_input(infile, define) - char *infile; - char *define; +static void open_input(char *infile, char *define) { - int nargs = 0; char cpp_cmdline[MAXCMDLINE]; int i; @@ -384,13 +333,8 @@ open_input(infile, define) /* * Compile into an XDR routine output file */ -static -c_output(infile, define, extend, outfile, append) - char *infile; - char *define; - int extend; - char *outfile; - int append; +static void c_output(char *infile, char *define, int extend, + char *outfile, int append) { definition *def; char *include; @@ -443,12 +387,8 @@ c_output(infile, define, extend, outfile, append) } } - write_int32_macros(fout); - tell = ftell(fout); - while (def = get_definition()) { - extern int IsRxgenDefinition(); - + while ((def = get_definition())) { if (!yflag) { if ((!IsRxgenDefinition(def)) && def->def_kind != DEF_CUSTOMIZED) emit(def); @@ -469,10 +409,10 @@ c_output(infile, define, extend, outfile, append) for(i=0;idef_kind == DEF_PROGRAM); } if (extend && !foundprogram) { @@ -647,12 +572,7 @@ s_output(argc, argv, infile, define, extend, outfile, nomain) } } -static -l_output(infile, define, extend, outfile) - char *infile; - char *define; - int extend; - char *outfile; +static void l_output(char *infile, char *define, int extend, char *outfile) { char *include; definition *def; @@ -669,7 +589,7 @@ l_output(infile, define, extend, outfile) free(include); } foundprogram = 0; - while (def = get_definition()) { + while ((def = get_definition())) { foundprogram |= (def->def_kind == DEF_PROGRAM); } if (extend && !foundprogram) { @@ -682,11 +602,7 @@ l_output(infile, define, extend, outfile) /* * Perform registrations for service output */ -static -do_registers(argc, argv) - int argc; - char *argv[]; - +static void do_registers(int argc, char *argv[]) { int i; @@ -699,12 +615,8 @@ do_registers(argc, argv) } -C_output(infile, define, extend, outfile, append) -char *infile; -char *define; -int extend; -char *outfile; -int append; +static void C_output(char *infile, char *define, int extend, + char *outfile, int append) { char *include; char *outfilename; @@ -757,8 +669,6 @@ int append; } } - write_int32_macros(fout); - tell = ftell(fout); while (get_definition()) continue; if (extend && tell == ftell(fout)) { @@ -768,19 +678,14 @@ int append; Cflag = 0; } -S_output(infile, define, extend, outfile, append) -char *infile; -char *define; -int extend; -char *outfile; -int append; +static void S_output(char *infile, char *define, int extend, + char *outfile, int append) { char *include; char *outfilename; char fullname[1024]; definition *def; long tell; - extern int er_Proc_CodeGeneration(); char *currfile = (OutFileFlag ? OutFile : infile); Sflag = 1; @@ -828,11 +733,9 @@ int append; } } - write_int32_macros(fout); - tell = ftell(fout); fflush(fout); - while (def = get_definition()) { + while ((def = get_definition())) { fflush(fout); print_datadef(def); } @@ -845,8 +748,7 @@ int append; Sflag = 0; } -char *uppercase(str) -char *str; +static char *uppercase(char *str) { static char max_size[100]; char *pnt; @@ -862,12 +764,7 @@ char *str; /* * Parse command line arguments */ -static -parseargs(argc, argv, cmd) - int argc; - char *argv[]; - struct commandline *cmd; - +static int parseargs(int argc, char *argv[], struct commandline *cmd) { int i; int j; @@ -906,10 +803,10 @@ parseargs(argc, argv, cmd) case 'x': case 'y': case 'z': - if (flag[c]) { + if (flag[(int)c]) { return (0); } - flag[c] = 1; + flag[(int)c] = 1; break; case 'o': case 's': @@ -917,7 +814,7 @@ parseargs(argc, argv, cmd) argv[i][j + 1] != 0) { return (0); } - flag[c] = 1; + flag[(int)c] = 1; if (++i == argc) { return (0); } diff --git a/src/rxgen/rpc_parse.c b/src/rxgen/rpc_parse.c index 5f24aa9..9008fb5 100644 --- a/src/rxgen/rpc_parse.c +++ b/src/rxgen/rpc_parse.c @@ -47,9 +47,9 @@ RCSID("$Header$"); #include #endif #endif -#include "rpc_util.h" #include "rpc_scan.h" #include "rpc_parse.h" +#include "rpc_util.h" list *proc_defined[MAX_PACKAGES], *special_defined, *typedef_defined, *uniondef_defined; char *SplitStart = NULL; @@ -85,63 +85,68 @@ char function_list[MAX_PACKAGES] [MAX_FUNCTION_NAME_LEN]; int function_list_index; -extern int pushed, scan_print; - -static isdefined(); -static def_struct(); -static def_program(); -static def_enum(); -static def_const(); -static def_union(); -static def_typedef(); -static get_declaration(); -static get_type(); -static unsigned_dec(); -static def_package(); -static def_prefix(); -static def_startingopcode(); -static def_statindex(); -static def_split(); -static customize_struct(); -static def_special(); -static check_proc(); -static int InvalidConstant(); -static opcodenum_is_defined(); -static analyze_ProcParams(); -static generate_code(); -static handle_split_proc(); -static do_split(); -static hdle_param_tok(); -static get1_param_type(); -static get_param_type(); -static cs_Proc_CodeGeneration(); -static cs_ProcName_setup(); -static cs_ProcParams_setup(); -static cs_ProcMarshallInParams_setup(); -static cs_ProcSendPacket_setup(); -static cs_ProcUnmarshallOutParams_setup(); -static cs_ProcTail_setup(); -static ss_Proc_CodeGeneration(); -static ss_ProcName_setup(); -static ss_ProcParams_setup(); -static ss_ProcSpecial_setup(); -static ss_ProcUnmarshallInParams_setup(); -static ss_ProcCallRealProc_setup(); -static ss_ProcMarshallOutParams_setup(); -static ss_ProcTail_setup(); -static er_ProcDeclExterns_setup(); -static er_ProcProcsArray_setup(); -static er_ProcMainBody_setup(); -static er_HeadofOldStyleProc_setup(); -static er_BodyofOldStyleProc_setup(); -static proc_er_case(); -static er_TailofOldStyleProc_setup(); +/* static prototypes */ +static void isdefined(definition *defp); +static void def_struct(definition *defp); +static void def_program(definition *defp); +static void def_enum(definition *defp); +static void def_const(definition *defp); +static void def_union(definition *defp); +static void def_typedef(definition *defp); +static void get_declaration(declaration *dec, defkind dkind); +static void get_type(char **prefixp, char **typep, defkind dkind); +static void unsigned_dec(char **typep); +static void def_package(definition *defp); +static void def_prefix(definition *defp); +static void def_statindex(definition *defp); +static void def_startingopcode(definition *defp); +static void def_split(definition *defp); +static void customize_struct(definition *defp); +static char *structname(char *name); +static void def_special(declaration *dec, definition *defp); +static void check_proc(definition *defp, token *tokp, int noname); +static int InvalidConstant(char *name); +static int opcodenum_is_defined(int opcode_num); +static void analyze_ProcParams(definition *defp, token *tokp); +static void generate_code(definition *defp, int proc_split_flag, int multi_flag); +static void handle_split_proc(definition *defp, int multi_flag); +static void do_split(definition *defp, int direction, int *numofparams, defkind param_kind, int restore_flag); +static void hdle_param_tok(definition *defp, declaration *dec, token *tokp, defkind par_kind); +static void get1_param_type(definition *defp, declaration *dec, char **param_type); +static void get_param_type(definition *defp, declaration *dec, char **param_type, char **typename); +#ifdef undef +static void hndle_param_tail(definition *defp, declaration *dec, token *tokp, char *typename); +#endif +static void cs_Proc_CodeGeneration(definition *defp, int split_flag, char *procheader); +static void cs_ProcName_setup(definition *defp, char *procheader, int split_flag); +static void cs_ProcParams_setup(definition *defp, int split_flag); +static void cs_ProcMarshallInParams_setup(definition *defp, int split_flag); +static void cs_ProcSendPacket_setup(definition *defp, int split_flag); +static void cs_ProcUnmarshallOutParams_setup(definition *defp); +static void cs_ProcTail_setup(definition *defp, int split_flag); +static void ss_Proc_CodeGeneration(definition *defp); +static void ss_ProcName_setup(definition *defp); +static void ss_ProcParams_setup(definition *defp, int *somefrees); +static void ss_ProcSpecial_setup(definition *defp, int *somefrees); +static void ss_ProcUnmarshallInParams_setup(definition *defp); +static void ss_ProcCallRealProc_setup(definition *defp); +static void ss_ProcMarshallOutParams_setup(definition *defp); +static void ss_ProcTail_setup(definition *defp, int somefrees); +static int opcode_holes_exist(void); +static void er_ProcDeclExterns_setup(void); +static void er_ProcProcsArray_setup(void); +static void er_ProcMainBody_setup(void); +static void er_HeadofOldStyleProc_setup(void); +static void er_BodyofOldStyleProc_setup(void); +static void proc_er_case(definition *defp); +static void er_TailofOldStyleProc_setup(void); + + /* * return the next definition you see */ -definition * -get_definition() +definition *get_definition(void) { definition *defp; token tok; @@ -224,17 +229,13 @@ get_definition() return (defp); } -static -isdefined(defp) - definition *defp; +static void isdefined(definition *defp) { STOREVAL(&defined, defp); } -static -def_struct(defp) - definition *defp; +static void def_struct(definition *defp) { token tok; declaration dec; @@ -260,9 +261,7 @@ def_struct(defp) *tailp = NULL; } -static -def_program(defp) - definition *defp; +static void def_program(definition *defp) { token tok; version_list *vlist; @@ -319,9 +318,7 @@ def_program(defp) *vtailp = NULL; } -static -def_enum(defp) - definition *defp; +static void def_enum(definition *defp) { token tok; enumval_list *elist; @@ -349,9 +346,7 @@ def_enum(defp) *tailp = NULL; } -static -def_const(defp) - definition *defp; +static void def_const(definition *defp) { token tok; @@ -363,9 +358,7 @@ def_const(defp) defp->def.co = tok.str; } -static -def_union(defp) - definition *defp; +static void def_union(definition *defp) { token tok; declaration dec; @@ -409,9 +402,7 @@ def_union(defp) } -static -def_typedef(defp) - definition *defp; +static void def_typedef(definition *defp) { declaration dec; @@ -425,10 +416,7 @@ def_typedef(defp) } -static -get_declaration(dec, dkind) - declaration *dec; - defkind dkind; +static void get_declaration(declaration *dec, defkind dkind) { token tok; @@ -476,11 +464,7 @@ get_declaration(dec, dkind) } -static -get_type(prefixp, typep, dkind) - char **prefixp; - char **typep; - defkind dkind; +static void get_type(char **prefixp, char **typep, defkind dkind) { token tok; @@ -530,9 +514,7 @@ get_type(prefixp, typep, dkind) } -static -unsigned_dec(typep) - char **typep; +static void unsigned_dec(char **typep) { token tok; @@ -563,9 +545,7 @@ unsigned_dec(typep) } -static -def_package(defp) -definition *defp; +static void def_package(definition *defp) { token tok; @@ -585,9 +565,7 @@ definition *defp; PackageStatIndex[PackageIndex] = NULL; } -static -def_prefix(defp) -definition *defp; +static void def_prefix(definition *defp) { token tok; @@ -597,9 +575,7 @@ definition *defp; ServerPrefix = tok.str; } -static -def_statindex(defp) -definition *defp; +static void def_statindex(definition *defp) { token tok; char *name; @@ -620,9 +596,7 @@ definition *defp; PackageStatIndex[PackageIndex] = name; } -static -def_startingopcode(defp) -definition *defp; +static void def_startingopcode(definition *defp) { token tok; @@ -638,9 +612,7 @@ definition *defp; opcodesnotallowed[PackageIndex]=1; } -static -def_split(defp) -definition *defp; +static void def_split(definition *defp) { token tok; @@ -669,9 +641,7 @@ definition *defp; } -static -customize_struct(defp) -definition *defp; +static void customize_struct(definition *defp) { decl_list *listp; declaration *dec; @@ -695,10 +665,7 @@ definition *defp; STOREVAL(&special_defined, defp1); } -static -char * -structname(name) -char *name; +static char *structname(char *name) { char namecontents[150], *pnt, *pnt1; @@ -713,10 +680,7 @@ char *name; } -static -def_special(dec, defp) -declaration *dec; -definition *defp; +static void def_special(declaration *dec, definition *defp) { char *typename; spec_list *specs, **tailp; @@ -745,11 +709,7 @@ definition *defp; proc1_list *Proc_list, **Proc_listp; -static -check_proc(defp, tokp, noname) -definition *defp; -token *tokp; -int noname; +static void check_proc(definition *defp, token *tokp, int noname) { token tok; int proc_split = 0; @@ -844,9 +804,7 @@ int noname; #define LEGALNUMS "0123456789" -static int -InvalidConstant(name) -char *name; +static int InvalidConstant(char *name) { char *map; int slen; @@ -856,9 +814,7 @@ char *name; return(slen != strspn(name, map)); } -static -opcodenum_is_defined(opcode_num) -int opcode_num; +static int opcodenum_is_defined(int opcode_num) { list *listp; definition *defp; @@ -872,10 +828,7 @@ int opcode_num; } -static -analyze_ProcParams(defp, tokp) -definition *defp; -token *tokp; +static void analyze_ProcParams(definition *defp, token *tokp) { declaration dec; decl_list *decls, **tailp; @@ -916,11 +869,7 @@ token *tokp; } -static -generate_code(defp, proc_split_flag, multi_flag) -definition *defp; -int proc_split_flag; -int multi_flag; +static void generate_code(definition *defp, int proc_split_flag, int multi_flag) { if (proc_split_flag) handle_split_proc(defp, multi_flag); @@ -936,10 +885,7 @@ int multi_flag; } -static -handle_split_proc(defp, multi_flag) -definition *defp; -int multi_flag; +static void handle_split_proc(definition *defp, int multi_flag) { char *startname = SplitStart, *endname = SplitEnd; int numofparams; @@ -967,11 +913,7 @@ int multi_flag; } -static -do_split(defp, direction, numofparams, param_kind, restore_flag) -definition *defp; -int direction, *numofparams, restore_flag; -defkind param_kind; +static void do_split(definition *defp, int direction, int *numofparams, defkind param_kind, int restore_flag) { proc1_list *plist; @@ -992,12 +934,7 @@ defkind param_kind; } -static -hdle_param_tok(defp, dec, tokp, par_kind) -definition *defp; -declaration *dec; -token *tokp; -defkind par_kind; +static void hdle_param_tok(definition *defp, declaration *dec, token *tokp, defkind par_kind) { static defkind last_param_kind = DEF_NULL; @@ -1020,11 +957,7 @@ defkind par_kind; } -static -get1_param_type(defp, dec, param_type) -definition *defp; -declaration *dec; -char **param_type; +static void get1_param_type(definition *defp, declaration *dec, char **param_type) { char typecontents[100]; @@ -1047,11 +980,7 @@ char **param_type; } -static -get_param_type(defp, dec, param_type, typename) -definition *defp; -declaration *dec; -char **param_type, **typename; +static void get_param_type(definition *defp, declaration *dec, char **param_type, char **typename) { char typecontents[100]; @@ -1077,12 +1006,8 @@ char **param_type, **typename; } -static -hndle_param_tail(defp, dec, tokp, typename) -definition *defp; -declaration *dec; -token *tokp; -char *typename; +#ifdef undef +static void hndle_param_tail(definition *defp, declaration *dec, token *tokp, char *typename) { char *amp; @@ -1100,13 +1025,10 @@ char *typename; if (tokp->kind == TOK_COMMA) peek(tokp); } +#endif -static -cs_Proc_CodeGeneration(defp, split_flag, procheader) -definition *defp; -int split_flag; -char *procheader; +static void cs_Proc_CodeGeneration(definition *defp, int split_flag, char *procheader) { defp->can_fail = 0; cs_ProcName_setup(defp, procheader, split_flag); @@ -1122,11 +1044,7 @@ char *procheader; } -static -cs_ProcName_setup(defp, procheader, split_flag) -definition *defp; -char *procheader; -int split_flag; +static void cs_ProcName_setup(definition *defp, char *procheader, int split_flag) { proc1_list *plist; @@ -1152,10 +1070,7 @@ int split_flag; } -static -cs_ProcParams_setup(defp, split_flag) -definition *defp; -int split_flag; +static void cs_ProcParams_setup(definition *defp, int split_flag) { proc1_list *plist, *plist1; @@ -1191,10 +1106,7 @@ int split_flag; } -static -cs_ProcMarshallInParams_setup(defp, split_flag) -definition *defp; -int split_flag; +static void cs_ProcMarshallInParams_setup(definition *defp, int split_flag) { int noofparams, i=0; proc1_list *plist; @@ -1245,10 +1157,7 @@ int split_flag; } -static -cs_ProcSendPacket_setup(defp, split_flag) -definition *defp; -int split_flag; +static void cs_ProcSendPacket_setup(definition *defp, int split_flag) { int noofoutparams = defp->pc.paramtypes[INOUT] + defp->pc.paramtypes[OUT]; @@ -1263,9 +1172,7 @@ int split_flag; } -static -cs_ProcUnmarshallOutParams_setup(defp) -definition *defp; +static void cs_ProcUnmarshallOutParams_setup(definition *defp) { int noofparams, i; proc1_list *plist; @@ -1289,10 +1196,7 @@ definition *defp; } -static -cs_ProcTail_setup(defp, split_flag) -definition *defp; -int split_flag; +static void cs_ProcTail_setup(definition *defp, int split_flag) { f_print(fout, "\tz_result = RXGEN_SUCCESS;\n"); if (defp->can_fail) { @@ -1342,9 +1246,7 @@ int split_flag; } -static -ss_Proc_CodeGeneration(defp) -definition *defp; +static void ss_Proc_CodeGeneration(definition *defp) { int somefrees=0; @@ -1361,9 +1263,7 @@ definition *defp; } -static -ss_ProcName_setup(defp) -definition *defp; +static void ss_ProcName_setup(definition *defp) { proc1_list *plist; @@ -1372,8 +1272,8 @@ definition *defp; } if (!cflag) { - f_print(fout, "afs_int32 _%s%s%s(z_call, z_xdrs)\n", prefix, PackagePrefix[PackageIndex], defp->pc.proc_name); - f_print(fout, "\tstruct rx_call *z_call;\n\tXDR *z_xdrs;\n{\n"); + f_print(fout, "static afs_int32 _%s%s%s(", prefix, PackagePrefix[PackageIndex], defp->pc.proc_name); + f_print(fout, "struct rx_call *z_call, XDR *z_xdrs)\n{\n"); f_print(fout, "\t" "afs_int32 z_result;\n"); if (xflag) { f_print(fout, "\tstruct clock __QUEUE, __EXEC;\n"); @@ -1382,26 +1282,22 @@ definition *defp; for (plist = defp->pc.plists; plist; plist = plist->next) if (plist->component_kind == DEF_PARAM) { plist->pl.param_flag &= ~(PROCESSED_PARAM); - plist->pl.string_name = (char *)0; + plist->pl.string_name = NULL; } } } -static -ss_ProcParams_setup(defp, somefrees) -definition *defp; -int *somefrees; +static void ss_ProcParams_setup(definition *defp, int *somefrees) { proc1_list *plist, *plist1; list *listp; definition *defp1; - int preserve_flag = 0; for (plist = defp->pc.plists; plist; plist = plist->next) { if ((plist->component_kind == DEF_PARAM) && !(plist->pl.param_flag & PROCESSED_PARAM)) { if (plist->pl.param_flag & INDIRECT_PARAM) { - char pres, *pntr = strchr(plist->pl.param_type, '*'); + char pres='\0', *pntr = strchr(plist->pl.param_type, '*'); if (pntr){ --pntr; pres = *pntr; *pntr = (char)0; } f_print(fout, "\t%s %s", plist->pl.param_type, plist->pl.param_name); *pntr = pres; @@ -1448,10 +1344,7 @@ int *somefrees; } -static -ss_ProcSpecial_setup(defp, somefrees) -definition *defp; -int *somefrees; +static void ss_ProcSpecial_setup(definition *defp, int *somefrees) { proc1_list *plist; definition *defp1; @@ -1502,9 +1395,7 @@ int *somefrees; } -static -ss_ProcUnmarshallInParams_setup(defp) -definition *defp; +static void ss_ProcUnmarshallInParams_setup(definition *defp) { int noofparams, noofoutparams, i; proc1_list *plist; @@ -1532,9 +1423,7 @@ definition *defp; } -static -ss_ProcCallRealProc_setup(defp) -definition *defp; +static void ss_ProcCallRealProc_setup(definition *defp) { extern char zflag; proc1_list *plist; @@ -1560,9 +1449,7 @@ definition *defp; } -static -ss_ProcMarshallOutParams_setup(defp) -definition *defp; +static void ss_ProcMarshallOutParams_setup(definition *defp) { proc1_list *plist; int noofparams, i; @@ -1587,10 +1474,7 @@ definition *defp; } -static -ss_ProcTail_setup(defp, somefrees) -definition *defp; -int somefrees; +static void ss_ProcTail_setup(definition *defp, int somefrees) { proc1_list *plist; definition *defp1; @@ -1707,8 +1591,7 @@ int somefrees; } -static -opcode_holes_exist() +static int opcode_holes_exist(void) { int i; @@ -1720,8 +1603,7 @@ opcode_holes_exist() } -int -er_Proc_CodeGeneration() +void er_Proc_CodeGeneration(void) { int temp; @@ -1743,8 +1625,7 @@ er_Proc_CodeGeneration() } -static -er_ProcDeclExterns_setup() +static void er_ProcDeclExterns_setup(void) { list *listp; definition *defp; @@ -1754,25 +1635,27 @@ er_ProcDeclExterns_setup() defp = (definition *)listp->val; if (defp->pc.proc_serverstub) { f_print(fout, "afs_int32 %s();\n", defp->pc.proc_serverstub); - } else { - f_print(fout, "afs_int32 _%s%s%s();\n", prefix, defp->pc.proc_prefix, defp->pc.proc_name); } } } -static -er_ProcProcsArray_setup() +static void er_ProcProcsArray_setup(void) { list *listp; definition *defp; - if (listp = proc_defined[PackageIndex]) { + if ((listp = proc_defined[PackageIndex])) { defp = (definition *)listp->val; if (defp->pc.proc_serverstub){ - f_print(fout, "\nstatic afs_int32 (*StubProcsArray%d[])() = {%s", PackageIndex, defp->pc.proc_serverstub); + f_print(fout, "\nstatic afs_int32 (*StubProcsArray%d[])() = {%s", + PackageIndex, defp->pc.proc_serverstub); } else { - f_print(fout, "\nstatic afs_int32 (*StubProcsArray%d[])() = {_%s%s%s", PackageIndex, prefix, defp->pc.proc_prefix, (defp = (definition *)listp->val)->pc.proc_name); + f_print(fout, + "\nstatic afs_int32 (*StubProcsArray%d[])(struct rx_call *z_call, XDR *z_xdrs) = {_%s%s%s", + PackageIndex, prefix, defp->pc.proc_prefix, + ((definition *)listp->val)->pc.proc_name); + defp = (definition *)listp->val; } listp = listp->next; } @@ -1788,11 +1671,9 @@ er_ProcProcsArray_setup() } -static -er_ProcMainBody_setup() +static void er_ProcMainBody_setup(void) { - f_print(fout, "int %s%sExecuteRequest(z_call)\n", prefix, PackagePrefix[PackageIndex]); - f_print(fout, "\tregister struct rx_call *z_call;\n"); + f_print(fout, "int %s%sExecuteRequest(register struct rx_call *z_call)\n", prefix, PackagePrefix[PackageIndex]); f_print(fout, "{\n\tint op;\n"); f_print(fout, "\tXDR z_xdrs;\n"); f_print(fout, "\t" "afs_int32 z_result;\n\n"); @@ -1804,11 +1685,10 @@ er_ProcMainBody_setup() } -static -er_HeadofOldStyleProc_setup() +static void er_HeadofOldStyleProc_setup(void) { - f_print(fout, "\nint %s%sExecuteRequest (z_call)\n", prefix, (combinepackages ? MasterPrefix : PackagePrefix[PackageIndex])); - f_print(fout, "\tregister struct rx_call *z_call;\n"); + f_print(fout, "\nint %s%sExecuteRequest (register struct rx_call *z_call)\n", + prefix, (combinepackages ? MasterPrefix : PackagePrefix[PackageIndex])); f_print(fout, "{\n"); f_print(fout, "\tint op;\n"); f_print(fout, "\tXDR z_xdrs;\n"); @@ -1819,8 +1699,7 @@ er_HeadofOldStyleProc_setup() f_print(fout, "\tswitch (op) {\n"); } -static -er_BodyofOldStyleProc_setup() +static void er_BodyofOldStyleProc_setup(void) { list *listp; @@ -1838,28 +1717,23 @@ er_BodyofOldStyleProc_setup() } -static -proc_er_case(defp) -definition *defp; +static void proc_er_case(definition *defp) { if (opcodesnotallowed[PackageIndex]) { - f_print(fout, "\t\tcase %d: {\n", defp->pc.proc_opcodenum); + f_print(fout, "\t\tcase %d:\n", defp->pc.proc_opcodenum); } else { - f_print(fout, "\t\tcase %s: {\n", defp->pc.proc_opcodename); + f_print(fout, "\t\tcase %s:\n", defp->pc.proc_opcodename); } if (defp->pc.proc_serverstub) { - f_print(fout, "\t\t\t" "afs_int32 %s();\n", defp->pc.proc_serverstub); f_print(fout, "\t\t\tz_result = %s(z_call, &z_xdrs);\n", defp->pc.proc_serverstub); } else { - f_print(fout, "\t\t\t" "afs_int32 _%s%s%s();\n", prefix, defp->pc.proc_prefix, defp->pc.proc_name); f_print(fout, "\t\t\tz_result = _%s%s%s(z_call, &z_xdrs);\n", prefix, defp->pc.proc_prefix, defp->pc.proc_name); } - f_print(fout, "\t\t\tbreak;\n\t\t}\n"); + f_print(fout, "\t\t\tbreak;\n"); } -static -er_TailofOldStyleProc_setup() +static void er_TailofOldStyleProc_setup(void) { f_print(fout, "\t\tdefault:\n"); f_print(fout, "\t\t\tz_result = RXGEN_OPCODE;\n"); @@ -1869,7 +1743,7 @@ er_TailofOldStyleProc_setup() } -int h_opcode_stats() +void h_opcode_stats(void) { if (combinepackages) { f_print(fout, "\n/* Opcode-related useful stats for Master package: %s */\n", MasterPrefix); @@ -1898,8 +1772,7 @@ int h_opcode_stats() } -int generate_multi_macros(defp) -definition *defp; +void generate_multi_macros(definition *defp) { char *startname = SplitStart, *endname = SplitEnd; proc1_list *plist; @@ -1944,9 +1817,7 @@ definition *defp; } -int -IsRxgenToken(tokp) -token *tokp; +int IsRxgenToken(token *tokp) { if (tokp->kind == TOK_PACKAGE || tokp->kind == TOK_PREFIX || tokp->kind == TOK_SPECIAL || tokp->kind == TOK_STARTINGOPCODE || @@ -1956,9 +1827,7 @@ token *tokp; return 0; } -int -IsRxgenDefinition(def) -definition *def; +int IsRxgenDefinition(definition *def) { if (def->def_kind == DEF_PACKAGE || def->def_kind == DEF_PREFIX || def->def_kind == DEF_SPECIAL || def->def_kind == DEF_STARTINGOPCODE || def->def_kind == DEF_SPLITPREFIX || def->def_kind == DEF_PROC) return 1; diff --git a/src/rxgen/rpc_parse.h b/src/rxgen/rpc_parse.h index 010306c..d3ca897 100644 --- a/src/rxgen/rpc_parse.h +++ b/src/rxgen/rpc_parse.h @@ -226,6 +226,3 @@ struct definition { int can_fail; }; typedef struct definition definition; - -/* @(#)rpc_parse.h 1.2 87/11/19 3.9 RPCSRC */ -definition *get_definition(); diff --git a/src/rxgen/rpc_scan.c b/src/rxgen/rpc_scan.c index 1e1713f..8215bbe 100644 --- a/src/rxgen/rpc_scan.c +++ b/src/rxgen/rpc_scan.c @@ -48,29 +48,33 @@ RCSID("$Header$"); #endif #endif #include "rpc_scan.h" +#include "rpc_parse.h" #include "rpc_util.h" #define startcomment(where) (where[0] == '/' && where[1] == '*') #define endcomment(where) (where[-1] == '*' && where[0] == '/') #define verbatimstart(p) (*(p) == '@' && *((p) + 1) == '{') #define verbatimend(p) (*(p) == '@' && *((p) + 1) == '}') + int pushed = 0; /* is a token pushed */ token lasttok; /* last token, if pushed */ int scan_print = 1; -static findstrconst(); -static findconst(); -static cppline(); -static directive(); -static docppline(); +/* static prototypes */ +static void findstrconst(char **str, char **val); +static void findconst(char **str, char **val); +static int cppline(char *line); +static int directive(char *line); +static void docppline(char *line, int *lineno, char **fname); +#ifdef undef +static void deverbatim(void); +#endif + /* * scan expecting 1 given token */ -void -scan(expect, tokp) - tok_kind expect; - token *tokp; +void scan(tok_kind expect, token *tokp) { get_token(tokp); if (tokp->kind != expect) { @@ -81,11 +85,8 @@ scan(expect, tokp) /* * scan expecting 2 given tokens */ -void -scan2(expect1, expect2, tokp) - tok_kind expect1; - tok_kind expect2; - token *tokp; +void scan2(tok_kind expect1, tok_kind expect2, + token *tokp) { get_token(tokp); if (tokp->kind != expect1 && tokp->kind != expect2) { @@ -96,12 +97,8 @@ scan2(expect1, expect2, tokp) /* * scan expecting 3 given token */ -void -scan3(expect1, expect2, expect3, tokp) - tok_kind expect1; - tok_kind expect2; - tok_kind expect3; - token *tokp; +void scan3(tok_kind expect1, tok_kind expect2, + tok_kind expect3, token *tokp) { get_token(tokp); if (tokp->kind != expect1 && tokp->kind != expect2 @@ -114,13 +111,8 @@ scan3(expect1, expect2, expect3, tokp) /* * scan expecting 4 given token */ -void -scan4(expect1,expect2,expect3,expect4,tokp) - tok_kind expect1; - tok_kind expect2; - tok_kind expect3; - tok_kind expect4; - token *tokp; +void scan4(tok_kind expect1, tok_kind expect2, + tok_kind expect3, tok_kind expect4, token *tokp) { get_token(tokp); if (tokp->kind != expect1 && tokp->kind != expect2 @@ -132,9 +124,7 @@ scan4(expect1,expect2,expect3,expect4,tokp) /* * scan expecting a constant, possibly symbolic */ -void -scan_num(tokp) - token *tokp; +void scan_num(token *tokp) { get_token(tokp); switch (tokp->kind) { @@ -149,9 +139,7 @@ scan_num(tokp) /* * Peek at the next token */ -void -peek(tokp) - token *tokp; +void peek(token *tokp) { get_token(tokp); unget_token(tokp); @@ -161,10 +149,7 @@ peek(tokp) /* * Peek at the next token and scan it if it matches what you expect */ -int -peekscan(expect, tokp) - tok_kind expect; - token *tokp; +int peekscan(tok_kind expect, token *tokp) { peek(tokp); if (tokp->kind == expect) { @@ -179,9 +164,7 @@ peekscan(expect, tokp) /* * Get the next token, printing out any directive that are encountered. */ -void -get_token(tokp) - token *tokp; +void get_token(token *tokp) { int commenting; int verbatim = 0; @@ -342,18 +325,14 @@ get_token(tokp) } -unget_token(tokp) - token *tokp; +void unget_token(token *tokp) { lasttok = *tokp; pushed = 1; } -static -findstrconst(str, val) - char **str; - char **val; +static void findstrconst(char **str, char **val) { char *p; int size; @@ -373,10 +352,7 @@ findstrconst(str, val) *str = p; } -static -findconst(str, val) - char **str; - char **val; +static void findconst(char **str, char **val) { char *p; int size; @@ -441,9 +417,7 @@ static token symbols[] = { }; -findkind(mark, tokp) - char **mark; - token *tokp; +void findkind(char **mark, token *tokp) { int len; @@ -470,31 +444,22 @@ findkind(mark, tokp) *mark = str + len; } -static -cppline(line) - char *line; +static int cppline(char *line) { return (line == curline && *line == '#'); } -static -directive(line) - char *line; +static int directive(char *line) { return (line == curline && *line == '%'); } -printdirective(line) - char *line; +void printdirective(char *line) { f_print(fout, "%s", line + 1); } -static -docppline(line, lineno, fname) - char *line; - int *lineno; - char **fname; +static void docppline(char *line, int *lineno, char **fname) { char *file; int num; @@ -548,8 +513,9 @@ docppline(line, lineno, fname) } -static -deverbatim() +#ifdef undef +/* doesn't appear to be used */ +static void deverbatim(void) { for (where += 2; ! verbatimend(where) ; where++) { if (*where == 0) { @@ -567,3 +533,4 @@ deverbatim() } where += 2; } +#endif diff --git a/src/rxgen/rpc_scan.h b/src/rxgen/rpc_scan.h index fd042b5..1554eb7 100644 --- a/src/rxgen/rpc_scan.h +++ b/src/rxgen/rpc_scan.h @@ -99,17 +99,3 @@ struct token { char *str; }; typedef struct token token; - - -/* - * routine interface - */ -void scanprint(); -void scan(); -void scan2(); -void scan3(); -void scan4(); -void scan_num(); -void peek(); -int peekscan(); -void get_token(); diff --git a/src/rxgen/rpc_svcout.c b/src/rxgen/rpc_svcout.c index fa2fe01..31667f8 100644 --- a/src/rxgen/rpc_svcout.c +++ b/src/rxgen/rpc_svcout.c @@ -45,6 +45,7 @@ RCSID("$Header$"); #include #endif #endif +#include "rpc_scan.h" #include "rpc_parse.h" #include "rpc_util.h" @@ -54,15 +55,16 @@ static char ARG[] = "argument"; static char RESULT[] = "result"; static char ROUTINE[] = "local"; -static write_program(); -static printerr(); -static printif(); +/* static prototypes */ +static void write_program(definition *def, char *storage); +static void printerr(char *err, char *transp); +static void printif(char *proc, char *transp, char *prefix, char *arg); + /* * write most of the service, that is, everything but the registrations. */ -void -write_most() +void write_most(void) { list *l; definition *def; @@ -98,9 +100,7 @@ write_most() /* * write a registration for the given transport */ -void -write_register(transp) - char *transp; +void write_register(char *transp) { list *l; definition *def; @@ -142,8 +142,7 @@ write_register(transp) /* * write the rest of the service */ -void -write_rest() +void write_rest(void) { f_print(fout, "\tsvc_run();\n"); f_print(fout, "\tfprintf(stderr, \"svc_run returned\\n\");\n"); @@ -151,9 +150,7 @@ write_rest() f_print(fout, "}\n"); } -void -write_programs(storage) - char *storage; +void write_programs(char *storage) { list *l; definition *def; @@ -167,10 +164,7 @@ write_programs(storage) } -static -write_program(def, storage) - definition *def; - char *storage; +static void write_program(definition *def, char *storage) { version_list *vp; proc_list *proc; @@ -254,28 +248,19 @@ write_program(def, storage) } } -static -printerr(err, transp) - char *err; - char *transp; +static void printerr(char *err, char *transp) { f_print(fout, "\t\tsvcerr_%s(%s);\n", err, transp); } -static -printif(proc, transp, prefix, arg) - char *proc; - char *transp; - char *prefix; - char *arg; +static void printif(char *proc, char *transp, char *prefix, char *arg) { f_print(fout, "\tif (!svc_%s(%s, xdr_%s, %s%s)) {\n", proc, transp, arg, prefix, arg); } -nullproc(proc) - proc_list *proc; +int nullproc(proc_list *proc) { for (; proc != NULL; proc = proc->next) { if (streq(proc->proc_num, "0")) { diff --git a/src/rxgen/rpc_util.c b/src/rxgen/rpc_util.c index 9c2c960..f8f5c52 100644 --- a/src/rxgen/rpc_util.c +++ b/src/rxgen/rpc_util.c @@ -45,6 +45,12 @@ RCSID("$Header$"); #include #endif #endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif #include "rpc_scan.h" #include "rpc_parse.h" #include "rpc_util.h" @@ -64,12 +70,20 @@ FILE *fin; /* file pointer of current input */ list *defined; /* list of defined things */ -static printwhere(); +/* static prototypes */ +static int findit(definition *def, char *type); +static char *fixit(char *type, char *orig); +static int typedefed(definition *def, char *type); +static char *locase(char *str); +static char *toktostr(tok_kind kind); +static void printbuf(void); +static void printwhere(void); + /* * Reinitialize the world */ -reinitialize() +void reinitialize(void) { int i; memset(curline, 0, MAXLINESIZE); @@ -89,9 +103,7 @@ reinitialize() /* * string equality */ -streq(a, b) - char *a; - char *b; +int streq(char *a, char *b) { return (strcmp(a, b) == 0); } @@ -99,15 +111,10 @@ streq(a, b) /* * find a value in a list */ -char * -findval(lst, val, cmp) - list *lst; - char *val; - int (*cmp) (); - +char *findval(list *lst, char *val, int (*cmp)(definition *def, char *type)) { for (; lst != NULL; lst = lst->next) { - if ((*cmp) (lst->val, val)) { + if ((*cmp) ((definition *) lst->val, val)) { return (lst->val); } } @@ -117,10 +124,7 @@ findval(lst, val, cmp) /* * store a value in a list */ -void -storeval(lstp, val) - list **lstp; - char *val; +void storeval(list **lstp, char *val) { list **l; list *lst; @@ -133,19 +137,13 @@ storeval(lstp, val) } -static -findit(def, type) - definition *def; - char *type; +static int findit(definition *def, char *type) { return (streq(def->def_name, type)); } -static char * -fixit(type, orig) - char *type; - char *orig; +static char *fixit(char *type, char *orig) { definition *def; @@ -163,16 +161,12 @@ fixit(type, orig) } } -char * -fixtype(type) - char *type; +char *fixtype(char *type) { return (fixit(type, type)); } -char * -stringfix(type) - char *type; +char *stringfix(char *type) { if (streq(type, "string")) { return ("wrapstring"); @@ -181,11 +175,7 @@ stringfix(type) } } -void -ptype(prefix, type, follow) - char *prefix; - char *type; - int follow; +void ptype(char *prefix, char *type, int follow) { if (prefix != NULL) { if (streq(prefix, "enum")) { @@ -204,10 +194,7 @@ ptype(prefix, type, follow) } -static -typedefed(def, type) - definition *def; - char *type; +static int typedefed(definition *def, char *type) { if (def->def_kind != DEF_TYPEDEF || def->def.ty.old_prefix != NULL) { return (0); @@ -216,9 +203,7 @@ typedefed(def, type) } } -isvectordef(type, rel) - char *type; - relation rel; +int isvectordef(char *type, relation rel) { definition *def; @@ -242,15 +227,13 @@ isvectordef(type, rel) } -static char * -locase(str) - char *str; +static char *locase(char *str) { char c; static char buf[100]; char *p = buf; - while (c = *str++) { + while ((c = *str++)) { *p++ = (c >= 'A' && c <= 'Z') ? (c - 'A' + 'a') : c; } *p = 0; @@ -258,10 +241,7 @@ locase(str) } -void -pvname(pname, vnum) - char *pname; - char *vnum; +void pvname(char *pname, char *vnum) { f_print(fout, "%s_%s", locase(pname), vnum); } @@ -270,9 +250,7 @@ pvname(pname, vnum) /* * print a useful (?) error message, and then die */ -void -error(msg) - char *msg; +void error(char *msg) { printwhere(); f_print(stderr, "%s, line %d: ", infilename, linenum); @@ -284,7 +262,7 @@ error(msg) * Something went wrong, unlink any files that we may have created and then * die. */ -crash() +void crash(void) { int i; @@ -295,9 +273,7 @@ crash() } -void -record_open(file) - char *file; +void record_open(char *file) { if (nfiles < NFILES) { outfiles[nfiles++] = file; @@ -307,15 +283,13 @@ record_open(file) } } +/* buffer shared for all of the expected* routines */ static char expectbuf[100]; -static char *toktostr(); /* * error, token encountered was not the expected one */ -void -expected1(exp1) - tok_kind exp1; +void expected1(tok_kind exp1) { s_print(expectbuf, "expected '%s'", toktostr(exp1)); @@ -325,9 +299,7 @@ expected1(exp1) /* * error, token encountered was not one of two expected ones */ -void -expected2(exp1, exp2) - tok_kind exp1, exp2; +void expected2(tok_kind exp1, tok_kind exp2) { s_print(expectbuf, "expected '%s' or '%s'", toktostr(exp1), @@ -338,9 +310,7 @@ expected2(exp1, exp2) /* * error, token encountered was not one of 3 expected ones */ -void -expected3(exp1, exp2, exp3) - tok_kind exp1, exp2, exp3; +void expected3(tok_kind exp1, tok_kind exp2, tok_kind exp3) { s_print(expectbuf, "expected '%s', '%s' or '%s'", toktostr(exp1), @@ -353,9 +323,7 @@ expected3(exp1, exp2, exp3) /* * error, token encountered was not one of 4 expected ones */ -void -expected4(exp1,exp2,exp3,exp4) - tok_kind exp1,exp2,exp3,exp4; +void expected4(tok_kind exp1, tok_kind exp2, tok_kind exp3, tok_kind exp4) { sprintf(expectbuf,"expected '%s', '%s', '%s', or '%s'", toktostr(exp1), @@ -365,10 +333,7 @@ expected4(exp1,exp2,exp3,exp4) error(expectbuf); } -void -tabify(f, tab) - FILE *f; - int tab; +void tabify(FILE *f, int tab) { if (scan_print) while (tab--) { @@ -376,62 +341,58 @@ tabify(f, tab) } } - - static token tokstrings[] = { - {TOK_IDENT, "identifier"}, - {TOK_CONST, "const"}, - {TOK_RPAREN, ")"}, - {TOK_LPAREN, "("}, - {TOK_RBRACE, "}"}, - {TOK_LBRACE, "{"}, - {TOK_LBRACKET, "["}, - {TOK_RBRACKET, "]"}, - {TOK_STAR, "*"}, - {TOK_COMMA, ","}, - {TOK_EQUAL, "="}, - {TOK_COLON, ":"}, - {TOK_SEMICOLON, ";"}, - {TOK_UNION, "union"}, - {TOK_STRUCT, "struct"}, - {TOK_SWITCH, "switch"}, - {TOK_CASE, "case"}, - {TOK_DEFAULT, "default"}, - {TOK_ENUM, "enum"}, - {TOK_TYPEDEF, "typedef"}, - {TOK_INT, "int"}, - {TOK_SHORT, "short"}, - {TOK_INT32, "afs_int32"}, /* XXX */ - {TOK_UNSIGNED, "unsigned"}, - {TOK_DOUBLE, "double"}, - {TOK_FLOAT, "float"}, - {TOK_CHAR, "char"}, - {TOK_STRING, "string"}, - {TOK_OPAQUE, "opaque"}, - {TOK_BOOL, "bool"}, - {TOK_VOID, "void"}, - {TOK_PROGRAM, "program"}, - {TOK_VERSION, "version"}, - { TOK_PACKAGE, "package" }, - { TOK_PREFIX, "prefix" }, - { TOK_STATINDEX, "statindex" }, - { TOK_SPECIAL, "special" }, - { TOK_STARTINGOPCODE, "startingopcode" }, - { TOK_CUSTOMIZED, "customized" }, - { TOK_PROC, "proc" }, - { TOK_SPLITPREFIX, "splitprefix" }, - { TOK_SPLIT, "split" }, - { TOK_MULTI, "multi" }, - { TOK_IN, "IN" }, - { TOK_OUT, "OUT" }, - { TOK_INOUT, "INOUT" }, - { TOK_AFSUUID, "afsUUID" }, - {TOK_EOF, "??????"} + { TOK_IDENT, "identifier"}, + { TOK_CONST, "const"}, + { TOK_RPAREN, ")"}, + { TOK_LPAREN, "("}, + { TOK_RBRACE, "}"}, + { TOK_LBRACE, "{"}, + { TOK_LBRACKET, "["}, + { TOK_RBRACKET, "]"}, + { TOK_STAR, "*"}, + { TOK_COMMA, ","}, + { TOK_EQUAL, "="}, + { TOK_COLON, ":"}, + { TOK_SEMICOLON, ";"}, + { TOK_UNION, "union"}, + { TOK_STRUCT, "struct"}, + { TOK_SWITCH, "switch"}, + { TOK_CASE, "case"}, + { TOK_DEFAULT, "default"}, + { TOK_ENUM, "enum"}, + { TOK_TYPEDEF, "typedef"}, + { TOK_INT, "int"}, + { TOK_SHORT, "short"}, + { TOK_INT32, "afs_int32"}, /* XXX */ + { TOK_UNSIGNED, "unsigned"}, + { TOK_DOUBLE, "double"}, + { TOK_FLOAT, "float"}, + { TOK_CHAR, "char"}, + { TOK_STRING, "string"}, + { TOK_OPAQUE, "opaque"}, + { TOK_BOOL, "bool"}, + { TOK_VOID, "void"}, + { TOK_PROGRAM, "program"}, + { TOK_VERSION, "version"}, + { TOK_PACKAGE, "package" }, + { TOK_PREFIX, "prefix" }, + { TOK_STATINDEX, "statindex" }, + { TOK_SPECIAL, "special" }, + { TOK_STARTINGOPCODE, "startingopcode" }, + { TOK_CUSTOMIZED, "customized" }, + { TOK_PROC, "proc" }, + { TOK_SPLITPREFIX, "splitprefix" }, + { TOK_SPLIT, "split" }, + { TOK_MULTI, "multi" }, + { TOK_IN, "IN" }, + { TOK_OUT, "OUT" }, + { TOK_INOUT, "INOUT" }, + { TOK_AFSUUID, "afsUUID" }, + { TOK_EOF, "??????"} }; -static char * -toktostr(kind) - tok_kind kind; +static char *toktostr(tok_kind kind) { token *sp; @@ -441,8 +402,7 @@ toktostr(kind) -static -printbuf() +static void printbuf(void) { char c; int i; @@ -450,7 +410,7 @@ printbuf() # define TABSIZE 4 - for (i = 0; c = curline[i]; i++) { + for (i = 0; (c = curline[i]); i++) { if (c == '\t') { cnt = 8 - (i % TABSIZE); c = ' '; @@ -458,14 +418,13 @@ printbuf() cnt = 1; } while (cnt--) { - (void) fputc(c, stderr); + fputc(c, stderr); } } } -static -printwhere() +static void printwhere(void) { int i; char c; @@ -480,8 +439,8 @@ printwhere() cnt = 1; } while (cnt--) { - (void) fputc('^', stderr); + fputc('^', stderr); } } - (void) fputc('\n', stderr); + fputc('\n', stderr); } diff --git a/src/rxgen/rpc_util.h b/src/rxgen/rpc_util.h index 501e9bd..fde66f5 100644 --- a/src/rxgen/rpc_util.h +++ b/src/rxgen/rpc_util.h @@ -46,84 +46,132 @@ struct list { }; typedef struct list list; -/* - * Global variables - */ #define MAXLINESIZE 1024 -extern char curline[MAXLINESIZE]; -extern char *where; -extern int linenum; -extern char Sflag, Cflag, hflag, cflag, xflag; + +/* PROTOTYPES */ + +/* rpc_main.c */ extern char *prefix; -extern list *special_defined, *typedef_defined, *uniondef_defined; -extern int PackageIndex, combinepackages, scan_print, master_opcodenumber, master_highest_opcode; -extern char *PackagePrefix[MAX_PACKAGES]; -extern char *PackageStatIndex[MAX_PACKAGES]; -extern int no_of_stat_funcs; -extern int no_of_stat_funcs_header[MAX_PACKAGES]; +extern int nincludes; +extern char *OutFileFlag; +extern char OutFile[]; +extern char Sflag, Cflag, hflag, cflag, kflag; +extern char zflag; +extern char xflag; +extern char yflag; +extern int debug; + + +/* rpc_util.c */ +extern char curline[]; +extern char *where; +extern int linenum; extern char *infilename; +extern char *outfiles[]; +extern int nfiles; extern FILE *fout; extern FILE *fin; - extern list *defined; -/* - * Character arrays to keep list of function names as we process the file - */ +extern void reinitialize(void); +extern int streq(char *a, char *b); +extern char *findval(list *lst, char *val, int (*cmp)(definition *def, char *type)); +extern void storeval(list **lstp, char *val); +extern char *fixtype(char *type); +extern char *stringfix(char *type); +extern void ptype(char *prefix, char *type, int follow); +extern int isvectordef(char *type, relation rel); +extern void pvname(char *pname, char *vnum); +extern void error(char *msg); +extern void crash(void); +extern void record_open(char *file); +extern void expected1(tok_kind exp1); +extern void expected2(tok_kind exp1, tok_kind exp2); +extern void expected3(tok_kind exp1, tok_kind exp2, tok_kind exp3); +extern void expected4(tok_kind exp1, tok_kind exp2, tok_kind exp3, tok_kind exp4); +extern void tabify(FILE *f, int tab); + +#define STOREVAL(list,item) \ + storeval(list,(char *)item) + +#define FINDVAL(list,item,finder) \ + findval(list, (char *) item, finder) +/* rpc_clntout.c */ +extern void write_stubs(void); + +/* rpc_cout.c */ +extern void emit(definition *def); +extern void print_param(declaration *dec); + +/* rpc_hout.c */ +extern void print_datadef(definition *def); +extern void pdefine(char *name, char *num); +extern void pprocdef(proc_list *proc, version_list *vp); + +/* rpc_parse.c */ +extern list *proc_defined[MAX_PACKAGES], *special_defined, *typedef_defined, *uniondef_defined; +extern char *SplitStart; +extern char *SplitEnd; +extern char *MasterPrefix; +extern char *ServerPrefix; +extern char *PackagePrefix[]; +extern char *PackageStatIndex[]; +extern int no_of_stat_funcs; +extern int no_of_stat_funcs_header[]; +extern int no_of_opcodes[], master_no_of_opcodes; +extern int lowest_opcode[], master_lowest_opcode; +extern int highest_opcode[], master_highest_opcode; +extern int master_opcodenumber; +extern int opcodesnotallowed[]; +extern int combinepackages; +extern int PackageIndex; +extern int PerProcCounter; +extern int Multi_Init; extern char function_list[MAX_PACKAGES] - [MAX_FUNCTIONS_PER_PACKAGE] - [MAX_FUNCTION_NAME_LEN]; + [MAX_FUNCTIONS_PER_PACKAGE] + [MAX_FUNCTION_NAME_LEN]; extern int function_list_index; -/* - * rpc_util routines - */ -void storeval(); +extern definition *get_definition(void); -#define STOREVAL(list,item) \ - storeval(list,(char *)item) +extern void er_Proc_CodeGeneration(void); +extern void h_opcode_stats(void); +extern void generate_multi_macros(definition *defp); +extern int IsRxgenToken(token *tokp); +extern int IsRxgenDefinition(definition *def); -char *findval(); -#define FINDVAL(list,item,finder) \ - findval(list, (char *) item, finder) -char *fixtype(); -char *stringfix(); -void pvname(); -void ptype(); -int isvectordef(); -int streq(); -void error(); -void expected1(); -void expected2(); -void expected3(); -void expected4(); -void tabify(); -void record_open(); -/* - * rpc_cout routines - */ -void cprint(); -void emit(); +extern proc1_list *Proc_list, **Proc_listp; -/* - * rpc_hout routines - */ -void print_datadef(); -/* - * rpc_svcout routines - */ -void write_most(); -void write_register(); -void write_rest(); -void write_programs(); +/* rpc_svcout.c */ +extern int nullproc(proc_list *proc); +extern void write_programs(char *storage); +extern void write_rest(void); +extern void write_most(void); +extern void write_register(char *transp); + +/* rpc_scan.c */ +extern int pushed; +extern token lasttok; +extern int scan_print; + +extern void scan(tok_kind expect, token *tokp); +extern void scan2(tok_kind expect1, tok_kind expect2, + token *tokp); +extern void scan3(tok_kind expect1, tok_kind expect2, + tok_kind expect3, token *tokp); +extern void scan4(tok_kind expect1, tok_kind expect2, + tok_kind expect3, tok_kind expect4, token *tokp); +extern void scan_num(token *tokp); +extern void peek(token *tokp); +extern int peekscan(tok_kind expect, token *tokp); +extern void get_token(token *tokp); +extern void unget_token(token *tokp); +extern void findkind(char **mark, token *tokp); +extern void printdirective(char *line); -/* - * rpc_clntout routines - */ -void write_stubs(); diff --git a/src/rxgen/rxgen_consts.h b/src/rxgen/rxgen_consts.h index e37dc33..8731a5f 100644 --- a/src/rxgen/rxgen_consts.h +++ b/src/rxgen/rxgen_consts.h @@ -31,18 +31,4 @@ #define MAX_FUNCTIONS_PER_PACKAGE 500 #define MAX_FUNCTIONS_PER_INTERFACE (MAX_FUNCTIONS_PER_PACKAGE * MAX_PACKAGES) -#ifndef AFS_SGI61_ENV -/* SGI 6.1 and up do include xdr_char */ -#ifdef KERNEL -/* kernel's xdr.h doesn't normally define these things, but we need them */ -/* some environments turn these into macros which don't compile... */ -#ifndef xdr_char -extern bool_t xdr_char(); -#endif /* xdr_char */ - -#ifndef xdr_u_char -extern bool_t xdr_u_char(); -#endif /* xdr_u_char */ -#endif /* KERNEL */ -#endif /* AFS_SGI61_ENV */ #endif /* _RXGEN_CONSTS_ */ diff --git a/src/rxkad/Makefile.in b/src/rxkad/Makefile.in index 9bbd742..5c0d565 100644 --- a/src/rxkad/Makefile.in +++ b/src/rxkad/Makefile.in @@ -10,7 +10,8 @@ include @TOP_OBJDIR@/src/config/Makefile.config CFLAGS=-I. -I${srcdir} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} INCLS=${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \ - rxkad.h + ${TOP_INCDIR}/rx/fcrypt.h \ + rxkad.h rxkad_prototypes.h fcrypt.h OBJS=rxkad_client.o rxkad_server.o rxkad_common.o ticket.o rxkad_errs.o \ fcrypt.o crypt_conn.o @@ -24,7 +25,8 @@ fc_test_LIBS=\ ${TOP_LIBDIR}/libsys.a all: kinstall ukinstall ${TOP_LIBDIR}/librxkad.a fc_test \ - ${TOP_INCDIR}/rx/rxkad.h + ${TOP_INCDIR}/rx/rxkad.h ${TOP_INCDIR}/rx/rxkad_prototypes.h \ + ${TOP_INCDIR}/rx/fcrypt.h # # Install targets @@ -32,6 +34,7 @@ all: kinstall ukinstall ${TOP_LIBDIR}/librxkad.a fc_test \ kinstall: \ ${KERNELDIR}/afs/private_data.h \ ${KERNELDIR}/afs/rxkad.h \ + ${KERNELDIR}/afs/rxkad_prototypes.h \ ${KERNELDIR}/afs/sboxes.h \ ${KERNELDIR}/afs/fcrypt.h \ ${KERNELDIR}/afs/fcrypt.c \ @@ -45,6 +48,9 @@ ${KERNELDIR}/afs/private_data.h: private_data.h ${KERNELDIR}/afs/rxkad.h: rxkad.h ${INSTALL} $? $@ +${KERNELDIR}/afs/rxkad_prototypes.h: rxkad_prototypes.h + ${INSTALL} $? $@ + ${KERNELDIR}/afs/sboxes.h: sboxes.h ${INSTALL} $? $@ @@ -68,9 +74,12 @@ ukinstall: \ ${UKERNELDIR}/rx \ ${UKERNELDIR}/afs/private_data.h \ ${UKERNELDIR}/afs/rxkad.h \ + ${UKERNELDIR}/afs/rxkad_prototypes.h \ + ${UKERNELDIR}/afs/fcrypt.h \ ${UKERNELDIR}/rx/rxkad.h \ + ${UKERNELDIR}/rx/rxkad_prototypes.h \ + ${UKERNELDIR}/rx/fcrypt.h \ ${UKERNELDIR}/afs/sboxes.h \ - ${UKERNELDIR}/afs/fcrypt.h \ ${UKERNELDIR}/afs/fcrypt.c \ ${UKERNELDIR}/afs/crypt_conn.c \ ${UKERNELDIR}/afs/rxkad_client.c \ @@ -93,7 +102,13 @@ ${UKERNELDIR}/afs/private_data.h: private_data.h ${UKERNELDIR}/afs/rxkad.h: rxkad.h ${INSTALL} $? $@ -${UKERNELDIR}/rx/rxkad.h: rxkad.h +${UKERNELDIR}/afs/rxkad_prototypes.h: rxkad_prototypes.h + ${INSTALL} $? $@ + +${UKERNELDIR}/afs/fcrypt.h: fcrypt.h + ${INSTALL} $? $@ + +${UKERNELDIR}/rx/rxkad_prototypes.h: rxkad_prototypes.h ${INSTALL} $? $@ ${UKERNELDIR}/afs/lifetimes.h: lifetimes.h @@ -105,9 +120,6 @@ ${UKERNELDIR}/afs/ticket.c: ticket.c ${UKERNELDIR}/afs/sboxes.h: sboxes.h ${INSTALL} $? $@ -${UKERNELDIR}/afs/fcrypt.h: fcrypt.h - ${INSTALL} $? $@ - ${UKERNELDIR}/afs/fcrypt.c: fcrypt.c ${INSTALL} $? $@ @@ -126,14 +138,30 @@ ${UKERNELDIR}/afs/rxkad_server.c: rxkad_server.c ${UKERNELDIR}/afs/rxkad_common.c: rxkad_common.c ${INSTALL} $? $@ -install: ${DESTDIR}${libdir}/librxkad.a ${DESTDIR}${includedir}/rx/rxkad.h +${UKERNELDIR}/rx/rxkad.h: rxkad.h + ${INSTALL} $? $@ + +${UKERNELDIR}/rx/fcrypt.h: fcrypt.h + ${INSTALL} $? $@ + +install: \ + ${DESTDIR}${libdir}/librxkad.a \ + ${DESTDIR}${includedir}/rx/fcrypt.h \ + ${DESTDIR}${includedir}/rx/rxkad.h \ + ${DESTDIR}${includedir}/rx/rxkad_prototypes.h ${DEST}/lib/librxkad.a: librxkad.a ${INSTALL} $? $@ +${DEST}/include/rx/fcrypt.h: fcrypt.h + ${INSTALL} $? $@ + ${DEST}/include/rx/rxkad.h: rxkad.h ${INSTALL} $? $@ +${DEST}/include/rx/rxkad_prototypes.h: rxkad_prototypes.h + ${INSTALL} $? $@ + # # Build targets # @@ -159,7 +187,7 @@ rxkad_errs.c rxkad.h: rxkad_errs.et rxkad.p.h ticket.o: ticket.c lifetimes.h ${INCLS} -fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h +fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h rxkad_prototypes.h ${CC} ${CFLAGS} -c fcrypt.c tcrypt: tcrypt.o librxkad.a @@ -177,7 +205,7 @@ fc_test.o: ${INCLS} # clean: - $(RM) -f *.o *.a tcrypt core rxkad_errs.c rxkad.h \ + $(RM) -f *.o *.a tcrypt core rxkad_errs.c rxkad.h rxkad_prototypes.h \ AFS_component_version_number.c \ crypt_conn.c fcrypt.c fcrypt.h sboxes.h \ fc_test @@ -210,11 +238,27 @@ ${DESTDIR}${libdir}/librxkad.a: librxkad.a ${TOP_LIBDIR}/librxkad.a: librxkad.a ${INSTALL} $? $@ +${DESTDIR}${includedir}/rx/fcrypt.h: fcrypt.h + ${INSTALL} $? $@ + ${DESTDIR}${includedir}/rx/rxkad.h: rxkad.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/rx/rxkad_prototypes.h: rxkad_prototypes.h + ${INSTALL} $? $@ + +${TOP_INCDIR}/rx/fcrypt.h: fcrypt.h + ${INSTALL} $? $@ + ${TOP_INCDIR}/rx/rxkad.h: rxkad.h ${INSTALL} $? $@ -dest: ${DEST}/lib/librxkad.a ${DEST}/include/rx/rxkad.h +${TOP_INCDIR}/rx/rxkad_prototypes.h: rxkad_prototypes.h + ${INSTALL} $? $@ + +dest: \ + ${DEST}/lib/librxkad.a \ + ${DEST}/include/rx/fcrypt.h \ + ${DEST}/include/rx/rxkad.h \ + ${DEST}/include/rx/rxkad_prototypes.h diff --git a/src/rxkad/domestic/crypt_conn.c b/src/rxkad/domestic/crypt_conn.c index 7723bb9..e51ef5b 100644 --- a/src/rxkad/domestic/crypt_conn.c +++ b/src/rxkad/domestic/crypt_conn.c @@ -44,18 +44,17 @@ RCSID("$Header$"); #include "private_data.h" #define XPRT_RXKAD_CRYPT -afs_int32 rxkad_DecryptPacket (conn, schedule, ivec, len, packet) - IN struct rx_connection *conn; - IN fc_KeySchedule *schedule; - IN fc_InitializationVector *ivec; - IN int len; - INOUT struct rx_packet *packet; +afs_int32 rxkad_DecryptPacket (const struct rx_connection *conn, + const fc_KeySchedule *schedule, const fc_InitializationVector *ivec, + const int inlen, struct rx_packet *packet) { afs_uint32 xor[2]; struct rx_securityClass *obj; struct rxkad_cprivate *tp; /* s & c have type at same offset */ char * data; - int i,tlen; + int i,tlen,len; + + len = inlen; obj = rx_SecurityObjectOf(conn); tp = (struct rxkad_cprivate *)obj->privateData; @@ -80,18 +79,17 @@ afs_int32 rxkad_DecryptPacket (conn, schedule, ivec, len, packet) return 0; } -afs_int32 rxkad_EncryptPacket (conn, schedule, ivec, len, packet) - IN struct rx_connection *conn; - IN fc_KeySchedule *schedule; - IN fc_InitializationVector *ivec; - IN int len; - INOUT struct rx_packet *packet; +afs_int32 rxkad_EncryptPacket (const struct rx_connection *conn, + const fc_KeySchedule *schedule, const fc_InitializationVector *ivec, + const int inlen, struct rx_packet *packet) { afs_uint32 xor[2]; struct rx_securityClass *obj; struct rxkad_cprivate *tp; /* s & c have type at same offset */ char *data; - int i,tlen; + int i,tlen,len; + + len = inlen; obj = rx_SecurityObjectOf(conn); tp = (struct rxkad_cprivate *)obj->privateData; diff --git a/src/rxkad/domestic/fcrypt.c b/src/rxkad/domestic/fcrypt.c index 2ae320c..b36964f 100644 --- a/src/rxkad/domestic/fcrypt.c +++ b/src/rxkad/domestic/fcrypt.c @@ -64,9 +64,8 @@ int ROUNDS = 16; #define XPRT_FCRYPT -int fc_keysched (key, schedule) - IN struct ktc_encryptionKey *key; - OUT fc_KeySchedule schedule; +int fc_keysched (struct ktc_encryptionKey *key, + fc_KeySchedule schedule) { unsigned char *keychar = (unsigned char *)key; afs_uint32 kword[2]; @@ -106,11 +105,9 @@ int fc_keysched (key, schedule) return 0; } -afs_int32 fc_ecb_encrypt(clear, cipher, schedule, encrypt) - IN afs_uint32 *clear; - OUT afs_uint32 *cipher; - IN fc_KeySchedule schedule; - IN int encrypt; /* 0 ==> decrypt, else encrypt */ +/* IN int encrypt; * 0 ==> decrypt, else encrypt */ +afs_int32 fc_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher, + fc_KeySchedule schedule, int encrypt) { afs_uint32 L,R; afs_uint32 S,P; unsigned char *Pchar = (unsigned char *)&P; @@ -195,13 +192,14 @@ afs_int32 fc_ecb_encrypt(clear, cipher, schedule, encrypt) * NOTE: fc_cbc_encrypt now modifies its 5th argument, to permit chaining over * scatter/gather vectors. */ -afs_int32 fc_cbc_encrypt (input, output, length, key, xor, encrypt) - char *input; - char *output; - afs_int32 length; /* in bytes */ - int encrypt; /* 0 ==> decrypt, else encrypt */ - fc_KeySchedule key; /* precomputed key schedule */ - afs_uint32 *xor; /* 8 bytes of initialization vector */ +/* + afs_int32 length; * in bytes * + int encrypt; * 0 ==> decrypt, else encrypt * + fc_KeySchedule key; * precomputed key schedule * + afs_uint32 *xor; * 8 bytes of initialization vector * +*/ +afs_int32 fc_cbc_encrypt (char *input, char *output, afs_int32 length, + fc_KeySchedule key, afs_uint32 *xor, int encrypt) { afs_uint32 i,j; afs_uint32 t_input[2]; afs_uint32 t_output[2]; diff --git a/src/rxkad/domestic/fcrypt.h b/src/rxkad/domestic/fcrypt.h index b5c8e9b..73b10e2 100644 --- a/src/rxkad/domestic/fcrypt.h +++ b/src/rxkad/domestic/fcrypt.h @@ -16,10 +16,16 @@ #ifndef TRANSARC_RXKAD_FCRYPT_H #define TRANSARC_RXKAD_FCRYPT_H +#ifdef ENCRYPTIONBLOCKSIZE +#undef ENCRYPTIONBLOCKSIZE +#endif #define ENCRYPTIONBLOCKSIZE 8 typedef afs_int32 fc_InitializationVector[ENCRYPTIONBLOCKSIZE/4]; +#ifdef MAXROUNDS +#undef MAXROUNDS +#endif #define MAXROUNDS 16 typedef afs_int32 fc_KeySchedule[MAXROUNDS]; diff --git a/src/rxkad/fc_test.c b/src/rxkad/fc_test.c index ba3ebc4..81874a0 100644 --- a/src/rxkad/fc_test.c +++ b/src/rxkad/fc_test.c @@ -72,8 +72,7 @@ const char ciph2[] = { #define rxkad_EncryptPacket _afs_bpwQbdoghO #endif -int -main() +int main(void) { int32 sched[ROUNDS]; char ciph[100], clear[100]; diff --git a/src/rxkad/private_data.h b/src/rxkad/private_data.h index ab73a6c..8dc0f4f 100644 --- a/src/rxkad/private_data.h +++ b/src/rxkad/private_data.h @@ -9,8 +9,8 @@ /* Declarations of data structures associated with rxkad security objects. */ -#ifndef TRANSARC_RXKAD_PRIVATE_DATA_H -#define TRANSARC_RXKAD_PRIVATE_DATA_H +#ifndef RXKAD_PRIVATE_DATA_H +#define RXKAD_PRIVATE_DATA_H #include "rxkad.h" @@ -144,20 +144,4 @@ struct rxkad_v2ChallengeResponse { The above structure requires that (RX_MAXCALLS == 4). #endif -/* This should be afs_int32, but the RXS ops are defined as int returning */ -#define rxs_return_t int -extern rxs_return_t - rxkad_Close(), - rxkad_NewConnection(), - rxkad_CheckAuthentication(), - rxkad_CreateChallenge(), - rxkad_GetChallenge(), - rxkad_GetResponse(), - rxkad_CheckPacket(), - rxkad_PreparePacket(), - rxkad_CheckResponse(), - rxkad_DestroyConnection(), - rxkad_AllocCID(), - rxkad_GetStats(); - -#endif /* TRANSARC_RXKAD_PRIVATE_DATA_H */ +#endif /* RXKAD_PRIVATE_DATA_H */ diff --git a/src/rxkad/rxkad.p.h b/src/rxkad/rxkad.p.h index 8c876db..e27ad77 100644 --- a/src/rxkad/rxkad.p.h +++ b/src/rxkad/rxkad.p.h @@ -61,9 +61,6 @@ struct ktc_principal { #define NEVERDATE 0xffffffff #endif -extern struct rx_securityClass *rxkad_NewServerSecurityObject(); -extern struct rx_securityClass *rxkad_NewClientSecurityObject(); - /* this function round a length to the correct encryption block size */ #define round_up_to_ebs(v) (((v) + 7) & (~7)) @@ -136,4 +133,10 @@ extern pthread_mutex_t rxkad_stats_mutex; extern int rxkad_EpochWasSet; /* TRUE => we called rx_SetEpoch */ +#ifdef KERNEL +#include "../afs/rxkad_prototypes.h" +#else +#include "rxkad_prototypes.h" +#endif + #endif /* TRANSARC_RXKAD_RXKAD_H */ diff --git a/src/rxkad/rxkad_client.c b/src/rxkad/rxkad_client.c index 637ac76..042e091 100644 --- a/src/rxkad/rxkad_client.c +++ b/src/rxkad/rxkad_client.c @@ -111,9 +111,7 @@ static afs_int32 Cuid[2]; /* set once and shared by all */ int rxkad_EpochWasSet = 0; /* TRUE => we called rx_SetEpoch */ /* allocate a new connetion ID in place */ -rxkad_AllocCID(aobj, aconn) - struct rx_securityClass *aobj; - struct rx_connection *aconn; +int rxkad_AllocCID(struct rx_securityClass *aobj, struct rx_connection *aconn) { struct rxkad_cprivate *tcp; struct rxkad_cidgen tgen; @@ -167,13 +165,9 @@ rxkad_AllocCID(aobj, aconn) * the session key and the ticket for the other side obtained from the * AuthServer. Refers to export control to determine level. */ -struct rx_securityClass * -rxkad_NewClientSecurityObject(level, sessionkey, kvno, ticketLen, ticket) - rxkad_level level; - struct ktc_encryptionKey *sessionkey; - afs_int32 kvno; - int ticketLen; - char *ticket; +struct rx_securityClass *rxkad_NewClientSecurityObject( + rxkad_level level, struct ktc_encryptionKey *sessionkey, + afs_int32 kvno, int ticketLen, char *ticket) { struct rx_securityClass *tsc; struct rxkad_cprivate *tcp; int code; @@ -206,10 +200,8 @@ rxkad_NewClientSecurityObject(level, sessionkey, kvno, ticketLen, ticket) /* client: respond to a challenge packet */ -rxs_return_t rxkad_GetResponse (aobj, aconn, apacket) - IN struct rx_securityClass *aobj; - IN struct rx_packet *apacket; - IN struct rx_connection *aconn; +int rxkad_GetResponse(struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket) { struct rxkad_cprivate *tcp; char *tp; int v2; /* whether server is old style or v2 */ @@ -287,7 +279,7 @@ rxs_return_t rxkad_GetResponse (aobj, aconn, apacket) rx_computelen(apacket, missing); missing = responseSize + tcp->ticketLen - missing; if (missing > 0) - if (rxi_AllocDataBuf(apacket, missing) > 0) + if (rxi_AllocDataBuf(apacket, missing, RX_PACKET_CLASS_SEND) > 0) return RXKADPACKETSHORT; /* not enough space */ /* copy response and ticket into packet */ @@ -298,8 +290,7 @@ rxs_return_t rxkad_GetResponse (aobj, aconn, apacket) return 0; } - -rxkad_ResetState() +void rxkad_ResetState(void) { LOCK_CUID Cuid[0] = 0; diff --git a/src/rxkad/rxkad_common.c b/src/rxkad/rxkad_common.c index 6d24c0f..b861f3e 100644 --- a/src/rxkad/rxkad_common.c +++ b/src/rxkad/rxkad_common.c @@ -19,6 +19,8 @@ #ifdef AFS_SUN59_ENV #include #endif + +#define INCLUDE_RXKAD_PRIVATE_DECLS RCSID("$Header$"); @@ -79,12 +81,16 @@ char *rxi_Alloc(); #endif struct rxkad_stats rxkad_stats = {0}; +/* static prototypes */ +static afs_int32 ComputeSum(struct rx_packet *apacket, + fc_KeySchedule *aschedule, afs_int32 *aivec); +static afs_int32 FreeObject(struct rx_securityClass *aobj); + /* this call sets up an endpoint structure, leaving it in *network* byte * order so that it can be used quickly for encryption. */ -rxkad_SetupEndpoint(aconnp, aendpointp) - IN struct rx_connection *aconnp; - OUT struct rxkad_endpoint *aendpointp; +int rxkad_SetupEndpoint(struct rx_connection *aconnp, + struct rxkad_endpoint *aendpointp) { register afs_int32 i; @@ -97,11 +103,8 @@ rxkad_SetupEndpoint(aconnp, aendpointp) } /* setup xor information based on session key */ -rxkad_DeriveXORInfo(aconnp, aschedule, aivec, aresult) - IN struct rx_connection *aconnp; - IN fc_KeySchedule *aschedule; - IN char *aivec; - OUT char *aresult; +int rxkad_DeriveXORInfo(struct rx_connection *aconnp, + fc_KeySchedule *aschedule, char *aivec, char *aresult) { struct rxkad_endpoint tendpoint; afs_uint32 xor[2]; @@ -119,8 +122,7 @@ rxkad_DeriveXORInfo(aconnp, aschedule, aivec, aresult) * The endpoint.cksum field is omitted and treated as zero. The cksum is * returned in network order. */ -afs_uint32 rxkad_CksumChallengeResponse (v2r) - IN struct rxkad_v2ChallengeResponse *v2r; +afs_uint32 rxkad_CksumChallengeResponse(struct rxkad_v2ChallengeResponse *v2r) { int i; afs_uint32 cksum; @@ -138,9 +140,7 @@ afs_uint32 rxkad_CksumChallengeResponse (v2r) return htonl(cksum); } -void rxkad_SetLevel(conn, level) - struct rx_connection *conn; - rxkad_level level; +void rxkad_SetLevel(struct rx_connection *conn, rxkad_level level) { if (level == rxkad_auth) { rx_SetSecurityHeaderSize (conn, 4); @@ -156,10 +156,9 @@ void rxkad_SetLevel(conn, level) /* returns a short integer in host byte order representing a good checksum of * the packet header. */ -static afs_int32 ComputeSum(apacket, aschedule, aivec) -struct rx_packet *apacket; -afs_int32 *aivec; -fc_KeySchedule *aschedule; { +static afs_int32 ComputeSum(struct rx_packet *apacket, + fc_KeySchedule *aschedule, afs_int32 *aivec) +{ afs_uint32 word[2]; register afs_uint32 t; @@ -181,8 +180,7 @@ fc_KeySchedule *aschedule; { } -static afs_int32 FreeObject (aobj) - IN struct rx_securityClass *aobj; +static afs_int32 FreeObject(struct rx_securityClass *aobj) { struct rxkad_cprivate *tcp; /* both structs start w/ type field */ if (aobj->refCount > 0) return 0; /* still in use */ @@ -204,8 +202,7 @@ static afs_int32 FreeObject (aobj) /* rxkad_Close - called by rx with the security class object as a parameter * when a security object is to be discarded */ -rxs_return_t rxkad_Close (aobj) - IN struct rx_securityClass *aobj; +int rxkad_Close(struct rx_securityClass *aobj) { afs_int32 code; aobj->refCount--; @@ -215,9 +212,8 @@ rxs_return_t rxkad_Close (aobj) /* either: called to (re)create a new connection. */ -rxs_return_t rxkad_NewConnection (aobj, aconn) - struct rx_securityClass *aobj; - struct rx_connection *aconn; +int rxkad_NewConnection(struct rx_securityClass *aobj, + struct rx_connection *aconn) { if (aconn->securityData) return RXKADINCONSISTENCY; /* already allocated??? */ @@ -250,9 +246,8 @@ rxs_return_t rxkad_NewConnection (aobj, aconn) /* either: called to destroy a connection. */ -rxs_return_t rxkad_DestroyConnection (aobj, aconn) - struct rx_securityClass *aobj; - struct rx_connection *aconn; +int rxkad_DestroyConnection(struct rx_securityClass *aobj, + struct rx_connection *aconn) { if (rx_IsServerConn(aconn)) { struct rxkad_sconn *sconn; @@ -300,10 +295,8 @@ rxs_return_t rxkad_DestroyConnection (aobj, aconn) /* either: decode packet */ -rxs_return_t rxkad_CheckPacket (aobj, acall, apacket) - struct rx_securityClass *aobj; - struct rx_call *acall; - struct rx_packet *apacket; +int rxkad_CheckPacket(struct rx_securityClass *aobj, + struct rx_call *acall, struct rx_packet *apacket) { struct rx_connection *tconn; rxkad_level level; fc_KeySchedule *schedule; @@ -395,10 +388,8 @@ rxs_return_t rxkad_CheckPacket (aobj, acall, apacket) /* either: encode packet */ -rxs_return_t rxkad_PreparePacket (aobj, acall, apacket) - struct rx_securityClass *aobj; - struct rx_call *acall; - struct rx_packet *apacket; +int rxkad_PreparePacket(struct rx_securityClass *aobj, + struct rx_call *acall, struct rx_packet *apacket) { struct rx_connection *tconn; rxkad_level level; @@ -487,10 +478,8 @@ rxs_return_t rxkad_PreparePacket (aobj, acall, apacket) /* either: return connection stats */ -rxs_return_t rxkad_GetStats (aobj, aconn, astats) - IN struct rx_securityClass *aobj; - IN struct rx_connection *aconn; - OUT struct rx_securityObjectStats *astats; +int rxkad_GetStats(struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_securityObjectStats *astats) { astats->type = 3; astats->level = ((struct rxkad_cprivate *)aobj->privateData)->level; diff --git a/src/rxkad/rxkad_prototypes.h b/src/rxkad/rxkad_prototypes.h new file mode 100644 index 0000000..1c339ff --- /dev/null +++ b/src/rxkad/rxkad_prototypes.h @@ -0,0 +1,105 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _RXKAD_PROTOTYPES_H +#define _RXKAD_PROTOTYPES_H + +/* till the typedefs are moved elsewhere */ +#ifdef KERNEL +#include "../afs/fcrypt.h" +#else +#include "rx/fcrypt.h" +#endif +#include "../rx/rx.h" + +/* domestic/crypt_conn.c */ +extern afs_int32 rxkad_DecryptPacket (const struct rx_connection *conn, + const fc_KeySchedule *schedule, const fc_InitializationVector *ivec, + const int len, struct rx_packet *packet); +extern afs_int32 rxkad_EncryptPacket (const struct rx_connection *conn, + const fc_KeySchedule *schedule, const fc_InitializationVector *ivec, + const int len, struct rx_packet *packet); + + +/* domestic/fcrypt.c */ +extern int fc_keysched (struct ktc_encryptionKey *key, + fc_KeySchedule schedule); +extern afs_int32 fc_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher, + fc_KeySchedule schedule, int encrypt); +extern afs_int32 fc_cbc_encrypt (char *input, char *output, afs_int32 length, + fc_KeySchedule key, afs_uint32 *xor, int encrypt); + +/* rxkad_client.c */ +extern int rxkad_AllocCID(struct rx_securityClass *aobj, struct rx_connection *aconn); +extern struct rx_securityClass *rxkad_NewClientSecurityObject( + rxkad_level level, struct ktc_encryptionKey *sessionkey, + afs_int32 kvno, int ticketLen, char *ticket); +extern int rxkad_GetResponse(struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket); +extern void rxkad_ResetState(void); + +/* rxkad_common.c */ +#if 0 +/* can't prototype these due to types */ +extern int rxkad_SetupEndpoint(struct rx_connection *aconnp, + struct rxkad_endpoint *aendpointp); +extern afs_uint32 rxkad_CksumChallengeResponse(struct rxkad_v2ChallengeResponse *v2r); +#endif +extern int rxkad_DeriveXORInfo(struct rx_connection *aconnp, + fc_KeySchedule *aschedule, char *aivec, char *aresult); +extern void rxkad_SetLevel(struct rx_connection *conn, rxkad_level level); +extern int rxkad_Close(struct rx_securityClass *aobj); +extern int rxkad_NewConnection(struct rx_securityClass *aobj, + struct rx_connection *aconn); +extern int rxkad_DestroyConnection(struct rx_securityClass *aobj, + struct rx_connection *aconn); +extern int rxkad_CheckPacket(struct rx_securityClass *aobj, + struct rx_call *acall, struct rx_packet *apacket); +extern int rxkad_PreparePacket(struct rx_securityClass *aobj, + struct rx_call *acall, struct rx_packet *apacket); +extern int rxkad_GetStats(struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_securityObjectStats *astats); + + +/* rxkad_errs.c */ + +/* rxkad_server.c */ +extern struct rx_securityClass *rxkad_NewServerSecurityObject ( + rxkad_level level, char *get_key_rock, + int (*get_key)(char *get_key_rock, int kvno, struct ktc_encryptionKey *serverKey), + int (*user_ok)(char *name, char *instance, char *cell, afs_int32 kvno)); +extern int rxkad_CheckAuthentication (struct rx_securityClass *aobj, + struct rx_connection *aconn); +extern int rxkad_CreateChallenge(struct rx_securityClass *aobj, + struct rx_connection *aconn); +extern int rxkad_GetChallenge (struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket); +extern int rxkad_CheckResponse (struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket); +extern afs_int32 rxkad_GetServerInfo (struct rx_connection *aconn, + rxkad_level *level, afs_uint32 *expiration, char *name, char *instance, + char *cell, afs_int32 *kvno); + + + +/* ticket.c */ +extern int tkt_DecodeTicket (char *asecret, afs_int32 ticketLen, + struct ktc_encryptionKey *key, char *name, char *inst, char *cell, + char *sessionKey, afs_int32 *host, afs_int32 *start, afs_int32 *end); +extern int tkt_MakeTicket (char *ticket, int *ticketLen, + struct ktc_encryptionKey *key, char *name, char *inst, char *cell, + afs_uint32 start, afs_uint32 end, struct ktc_encryptionKey *sessionKey, + afs_uint32 host, char *sname, char *sinst); +extern int tkt_CheckTimes (afs_uint32 start, afs_uint32 end, afs_uint32 now); +extern afs_int32 ktohl (char flags, afs_int32 l); +extern afs_uint32 life_to_time (afs_uint32 start, unsigned char life); +extern unsigned char time_to_life (afs_uint32 start, afs_uint32 end); + + +#endif diff --git a/src/rxkad/rxkad_server.c b/src/rxkad/rxkad_server.c index c027f03..11d6948 100644 --- a/src/rxkad/rxkad_server.c +++ b/src/rxkad/rxkad_server.c @@ -82,7 +82,7 @@ pthread_mutex_t rxkad_random_mutex; #define UNLOCK_RM #endif /* AFS_PTHREAD_ENV */ -static void init_random_int32 () +static void init_random_int32 (void) { struct timeval key; gettimeofday (&key, NULL); @@ -91,7 +91,7 @@ static void init_random_int32 () UNLOCK_RM } -static afs_int32 get_random_int32 () +static afs_int32 get_random_int32 (void) { static struct timeval seed; afs_int32 rc; @@ -113,12 +113,17 @@ static afs_int32 get_random_int32 () the rx connection pointer passed to the RPC routine to obtain information about the client. */ -struct rx_securityClass * -rxkad_NewServerSecurityObject (level, get_key_rock, get_key, user_ok) - rxkad_level level; /* minimum level */ - char *get_key_rock; /* rock for get_key implementor */ - int (*get_key)(); /* passed kvno & addr(key) to fill */ - int (*user_ok)(); /* passed name, inst, cell => bool */ +/* + rxkad_level level; * minimum level * + char *get_key_rock; * rock for get_key implementor * + int (*get_key)(); * passed kvno & addr(key) to fill * + int (*user_ok)(); * passed name, inst, cell => bool * +*/ + +struct rx_securityClass *rxkad_NewServerSecurityObject ( + rxkad_level level, char *get_key_rock, + int (*get_key)(char *get_key_rock, int kvno, struct ktc_encryptionKey *serverKey), + int (*user_ok)(char *name, char *instance, char *cell, afs_int32 kvno)) { struct rx_securityClass *tsc; struct rxkad_sprivate *tsp; int size; @@ -150,9 +155,8 @@ rxkad_NewServerSecurityObject (level, get_key_rock, get_key, user_ok) /* server: called to tell if a connection authenticated properly */ -rxs_return_t rxkad_CheckAuthentication (aobj, aconn) - struct rx_securityClass *aobj; - struct rx_connection *aconn; +int rxkad_CheckAuthentication (struct rx_securityClass *aobj, + struct rx_connection *aconn) { struct rxkad_sconn *sconn; /* first make sure the object exists */ @@ -165,9 +169,8 @@ rxs_return_t rxkad_CheckAuthentication (aobj, aconn) /* server: put the current challenge in the connection structure for later use by packet sender */ -rxs_return_t rxkad_CreateChallenge(aobj, aconn) - struct rx_securityClass *aobj; - struct rx_connection *aconn; +int rxkad_CreateChallenge(struct rx_securityClass *aobj, + struct rx_connection *aconn) { struct rxkad_sconn *sconn; struct rxkad_sprivate *tsp; @@ -182,10 +185,8 @@ rxs_return_t rxkad_CreateChallenge(aobj, aconn) /* server: fill in a challenge in the packet */ -rxs_return_t rxkad_GetChallenge (aobj, aconn, apacket) - IN struct rx_securityClass *aobj; - IN struct rx_packet *apacket; - IN struct rx_connection *aconn; +int rxkad_GetChallenge (struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket) { struct rxkad_sconn *sconn; char *challenge; int challengeSize; @@ -226,10 +227,8 @@ rxs_return_t rxkad_GetChallenge (aobj, aconn, apacket) /* XXX this does some copying of data in and out of the packet, but I'll bet it * could just do it in place, especially if I used rx_Pullup... */ -rxs_return_t rxkad_CheckResponse (aobj, aconn, apacket) - struct rx_securityClass *aobj; - struct rx_packet *apacket; - struct rx_connection *aconn; +int rxkad_CheckResponse (struct rx_securityClass *aobj, + struct rx_connection *aconn, struct rx_packet *apacket) { struct rxkad_sconn *sconn; struct rxkad_sprivate *tsp; struct ktc_encryptionKey serverKey; @@ -386,15 +385,9 @@ rxs_return_t rxkad_CheckResponse (aobj, aconn, apacket) /* return useful authentication info about a server-side connection */ -afs_int32 rxkad_GetServerInfo (aconn, level, expiration, - name, instance, cell, kvno) - struct rx_connection *aconn; - rxkad_level *level; - afs_uint32 *expiration; - char *name; - char *instance; - char *cell; - afs_int32 *kvno; +afs_int32 rxkad_GetServerInfo (struct rx_connection *aconn, + rxkad_level *level, afs_uint32 *expiration, char *name, char *instance, + char *cell, afs_int32 *kvno) { struct rxkad_sconn *sconn; diff --git a/src/rxkad/test/stress.c b/src/rxkad/test/stress.c index 8c4ff04..c11fa3e 100644 --- a/src/rxkad/test/stress.c +++ b/src/rxkad/test/stress.c @@ -283,7 +283,7 @@ void main (argc, argv) exit (1); } #endif - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "run Rx authentication stress test"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "run Rx authentication stress test"); cmd_AddParm (ts, "-server", CMD_FLAG, CMD_OPTIONAL, "start server"); cmd_AddParm (ts, "-client", CMD_SINGLE, CMD_OPTIONAL, "start client"); cmd_AddParm (ts, "-sendlen", CMD_SINGLE, CMD_OPTIONAL, "bytes to send to server in Copious call"); diff --git a/src/rxkad/test/stress_c.c b/src/rxkad/test/stress_c.c index 6ca0863..aac2536 100644 --- a/src/rxkad/test/stress_c.c +++ b/src/rxkad/test/stress_c.c @@ -1153,7 +1153,7 @@ long rxkst_StartClient (parms) scIndex = 2; /* kerberos security index */ } else { /* unauthenticated connection */ - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject (); + sc = rxnull_NewClientSecurityObject(); assert (sc); scIndex = 0; /* null security index */ } diff --git a/src/rxkad/ticket.c b/src/rxkad/ticket.c index 15c63cb..bfeb763 100644 --- a/src/rxkad/ticket.c +++ b/src/rxkad/ticket.c @@ -47,13 +47,13 @@ RCSID("$Header$"); #include "rxkad.h" #endif /* defined(UKERNEL) */ - -extern afs_int32 ktohl(); -extern afs_uint32 life_to_time(); -extern unsigned char time_to_life(); - -static int decode_athena_ticket(); -static int assemble_athena_ticket(); +/* static prototypes */ +static int decode_athena_ticket (char *ticket, int ticketLen, char *name, + char *inst, char *realm, afs_int32 *host, struct ktc_encryptionKey *sessionKey, + afs_uint32 *start, afs_uint32 *end); +static int assemble_athena_ticket (char *ticket, int *ticketLen, char *name, + char *inst, char *realm, afs_int32 host, struct ktc_encryptionKey *sessionKey, + afs_uint32 start, afs_uint32 end, char *sname, char *sinst); #define ANDREWFLAGSVALUE (0x80) #define TICKET_LABEL "TicketEnd" @@ -65,18 +65,9 @@ static int assemble_athena_ticket(); interpreting the ticket and the values of the output parameters are undefined. */ -int tkt_DecodeTicket (asecret, ticketLen, key, - name, inst, cell, sessionKey, host, start, end) - char *asecret; - afs_int32 ticketLen; - struct ktc_encryptionKey *key; - char *name; - char *inst; - char *cell; - char *sessionKey; - afs_int32 *host; - afs_int32 *start; - afs_int32 *end; +int tkt_DecodeTicket (char *asecret, afs_int32 ticketLen, + struct ktc_encryptionKey *key, char *name, char *inst, char *cell, + char *sessionKey, afs_int32 *host, afs_int32 *start, afs_int32 *end) { char clear_ticket[MAXKTCTICKETLEN]; char *ticket; Key_schedule schedule; @@ -126,20 +117,24 @@ int tkt_DecodeTicket (asecret, ticketLen, key, } /* This makes a Kerberos ticket */ - -int tkt_MakeTicket (ticket, ticketLen, key, name, inst, cell, - start, end, sessionKey, host, sname, sinst) - char *ticket; /* ticket is constructed here */ - int *ticketLen; /* output length of finished ticket */ - struct ktc_encryptionKey *key; /* key ticket should be sealed with */ - char *name; /* user of this ticket */ +/* + char *ticket; * ticket is constructed here * + int *ticketLen; * output length of finished ticket * + struct ktc_encryptionKey *key; * key ticket should be sealed with * + char *name; * user of this ticket * char *inst; - char *cell; /* cell of authentication */ - afs_uint32 start,end; /* life of ticket */ - struct ktc_encryptionKey *sessionKey; /* session key invented for ticket */ - afs_uint32 host; /* caller's host address */ - char *sname; /* server */ + char *cell; * cell of authentication * + afs_uint32 start,end; * life of ticket * + struct ktc_encryptionKey *sessionKey; * session key invented for ticket * + afs_uint32 host; * caller's host address * + char *sname; * server * char *sinst; +*/ + +int tkt_MakeTicket (char *ticket, int *ticketLen, + struct ktc_encryptionKey *key, char *name, char *inst, char *cell, + afs_uint32 start, afs_uint32 end, struct ktc_encryptionKey *sessionKey, + afs_uint32 host, char *sname, char *sinst) { int code; Key_schedule schedule; @@ -150,7 +145,7 @@ int tkt_MakeTicket (ticket, ticketLen, key, name, inst, cell, if (code) return -1; /* encrypt ticket */ - if (code = key_sched (key, schedule)) { + if ((code = key_sched (key, schedule))) { printf ("In tkt_MakeTicket: key_sched returned %d\n", code); return RXKADBADKEY; } @@ -164,17 +159,9 @@ int tkt_MakeTicket (ticket, ticketLen, key, name, inst, cell, strcpy (name, ticket); \ ticket += slen+1 -static int decode_athena_ticket (ticket, ticketLen, name, inst, realm, - host, sessionKey, start, end) - char *ticket; - int ticketLen; - char *name; - char *inst; - char *realm; - afs_int32 *host; - struct ktc_encryptionKey *sessionKey; - afs_uint32 *start; - afs_uint32 *end; +static int decode_athena_ticket (char *ticket, int ticketLen, char *name, + char *inst, char *realm, afs_int32 *host, struct ktc_encryptionKey *sessionKey, + afs_uint32 *start, afs_uint32 *end) { char *ticketBeg = ticket; char flags; int slen; @@ -218,19 +205,9 @@ static int decode_athena_ticket (ticket, ticketLen, name, inst, realm, memcpy(ticket, &num, sizeof(num));\ ticket += sizeof(num) -static int assemble_athena_ticket (ticket, ticketLen, name, inst, realm, - host, sessionKey, start, end, sname, sinst) - char *ticket; - int *ticketLen; - char *name; - char *inst; - char *realm; - afs_int32 host; - struct ktc_encryptionKey *sessionKey; - afs_uint32 start; - afs_uint32 end; - char *sname; - char *sinst; +static int assemble_athena_ticket (char *ticket, int *ticketLen, char *name, + char *inst, char *realm, afs_int32 host, struct ktc_encryptionKey *sessionKey, + afs_uint32 start, afs_uint32 end, char *sname, char *sinst) { char *ticketBeg = ticket; int slen; unsigned char life; @@ -266,10 +243,7 @@ static int assemble_athena_ticket (ticket, ticketLen, name, inst, realm, and the lifetime is within the legal limit. */ -int tkt_CheckTimes (start, end, now) - afs_uint32 start; - afs_uint32 end; - afs_uint32 now; +int tkt_CheckTimes (afs_uint32 start, afs_uint32 end, afs_uint32 now) { int active; if (start >= end) return -2; /* zero or negative lifetime */ @@ -290,9 +264,7 @@ int tkt_CheckTimes (start, end, now) return active*2; /* ticket valid */ } -afs_int32 ktohl (flags, l) - char flags; - afs_int32 l; +afs_int32 ktohl (char flags, afs_int32 l) { if (flags & 1) { unsigned char *lp = (unsigned char *)&l; @@ -314,9 +286,7 @@ afs_int32 ktohl (flags, l) * table to extract the lifetime in seconds, which is added to start to produce * the end time. */ -afs_uint32 life_to_time (start, life) - afs_uint32 start; - unsigned char life; +afs_uint32 life_to_time (afs_uint32 start, unsigned char life) { int realLife; if (life == TKTLIFENOEXPIRE) return NEVERDATE; @@ -337,9 +307,7 @@ afs_uint32 life_to_time (start, life) * entry. The actual code is prepared to handle the case where the table is * unordered but that it an unnecessary frill. */ -unsigned char time_to_life (start, end) - afs_uint32 start; - afs_uint32 end; +unsigned char time_to_life (afs_uint32 start, afs_uint32 end) { int lifetime = end-start; int best, best_i; int i; diff --git a/src/scout/scout.c b/src/scout/scout.c index 1d338b9..8d62a76 100644 --- a/src/scout/scout.c +++ b/src/scout/scout.c @@ -20,6 +20,13 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #undef IN #include /*Generic window package*/ #include /*Object definitions*/ @@ -273,7 +280,7 @@ static struct onode *mini_initLightObject(a_name, a_x, a_y, a_width, a_win) rn, a_name, a_x, a_y, a_width); fflush(scout_debugfd); } - newlightp = (struct onode *)0; + newlightp = NULL; /* * Set up the creation parameters according to the information we've @@ -301,10 +308,10 @@ static struct onode *mini_initLightObject(a_name, a_x, a_y, a_width, a_win) light_crparams.onode_params.cr_width = a_width; light_crparams.onode_params.cr_height = 1; light_crparams.onode_params.cr_window = a_win; - light_crparams.onode_params.cr_home_obj = (struct onode *)0; - light_crparams.onode_params.cr_prev_obj = (struct onode *)0; - light_crparams.onode_params.cr_parent_obj = (struct onode *)0; - light_crparams.onode_params.cr_helpstring = (char *)0; + light_crparams.onode_params.cr_home_obj = NULL; + light_crparams.onode_params.cr_prev_obj = NULL; + light_crparams.onode_params.cr_parent_obj = NULL; + light_crparams.onode_params.cr_helpstring = NULL; light_crparams.appearance = 0; light_crparams.flashfreq = 0; @@ -383,7 +390,7 @@ static int scout_initDiskLightObjects(a_line, a_win) 0, /*Y value*/ LIGHTOBJ_DISK_WIDTH, /*Width*/ a_win)) /*Window*/ - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create disk %d light object\n", pn, rn, i); return(-1); @@ -1559,7 +1566,7 @@ static int init_mini_line(a_skt, a_lineNum, a_line, a_srvname) curr_y, LIGHTOBJ_CONN_WIDTH, scout_gwin)) - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create currConns light object\n", pn, rn); return(-1); @@ -1572,7 +1579,7 @@ static int init_mini_line(a_skt, a_lineNum, a_line, a_srvname) curr_y, LIGHTOBJ_FETCH_WIDTH, scout_frame->window)) - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create fetches light object\n", pn, rn); return(-1); @@ -1585,7 +1592,7 @@ static int init_mini_line(a_skt, a_lineNum, a_line, a_srvname) curr_y, LIGHTOBJ_STORE_WIDTH, scout_frame->window)) - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create stores light object\n", pn, rn); return(-1); @@ -1598,7 +1605,7 @@ static int init_mini_line(a_skt, a_lineNum, a_line, a_srvname) curr_y, LIGHTOBJ_WK_WIDTH, scout_frame->window)) - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create workstations light object\n", pn, rn); return(-1); @@ -1611,7 +1618,7 @@ static int init_mini_line(a_skt, a_lineNum, a_line, a_srvname) curr_y, LIGHTOBJ_SRVNAME_WIDTH, scout_frame->window)) - == (struct onode *)0) { + == NULL) { fprintf(stderr, "[%s:%s] Can't create server name light object\n", pn, rn); return(-1); @@ -1718,7 +1725,7 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) #endif /* 0 */ scout_gwin = gtx_Init(0, /*Don't start up InputServer yet*/ -1); /*Type of window package*/ - if (scout_gwin == (struct gwin *)0) { + if (scout_gwin == NULL) { fprintf(stderr, "[%s:%s] Call to gtx_Init() failed!\n", pn, rn); return(-1); } @@ -1767,7 +1774,7 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) else sprintf(fullsrvname, "%s.%s", curr_item->data, scout_basename); he = hostutil_GetHostByName(fullsrvname); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for '%s'\n", rn, fullsrvname); return(-1); @@ -1831,7 +1838,7 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) 0, /*Y*/ scout_frameDims.maxx, /*Width*/ scout_gwin); /*Window*/ - if (scout_banner0_lp != (struct onode *)0) { + if (scout_banner0_lp != NULL) { lightdata = (struct gator_lightobj *)(scout_banner0_lp->o_data); code = mini_justify(scout_Banner, lightdata->label, @@ -1854,7 +1861,7 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) 2, /*Y*/ scout_frameDims.maxx, /*Width*/ scout_gwin); /*Window*/ - if (scout_banner1_lp != (struct onode *)0) { + if (scout_banner1_lp != NULL) { if (scout_attn_disk_mode == SCOUT_DISKM_PCUSED) { sprintf(scout_Banner, "%s > %s%% used", scout_LightLabels, @@ -1881,7 +1888,7 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) 3, /*Y*/ scout_frameDims.maxx, /*Width*/ scout_gwin); /*Window*/ - if (scout_banner2_lp != (struct onode *)0) { + if (scout_banner2_lp != NULL) { lightdata = (struct gator_lightobj *)(scout_banner2_lp->o_data); code = mini_justify(scout_LightLabelUnd, lightdata->label, @@ -1962,8 +1969,8 @@ static int execute_scout(a_numservers, a_srvname, a_pkg) keymap_BindToString(scout_frame->keymap, /*Ptr to keymap*/ "e", /*Key to bind*/ ExitCmd, /*Cmd to execute*/ - (char *)0, /*Name*/ - (char *)0); /*Ptr to rock*/ + NULL, /*Name*/ + NULL); /*Ptr to rock*/ if (code) { fprintf(stderr, "[%s] Can't bind key `e', code is %d\n", rn, code); return(code); diff --git a/src/sgistuff/sgi_auth.c b/src/sgistuff/sgi_auth.c index 1803e08..0d63353 100644 --- a/src/sgistuff/sgi_auth.c +++ b/src/sgistuff/sgi_auth.c @@ -52,8 +52,8 @@ afs_verify( if (ka_UserAuthenticateGeneral( KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, uname, /* kerberos name */ - (char *)0, /* instance */ - (char *)0, /* realm */ + NULL, /* instance */ + NULL, /* realm */ pword, /* password */ 0, /* default lifetime */ exp, /* spare 1/expiration */ diff --git a/src/sys/afs.exp b/src/sys/afs.exp index 9d8df25..1718f82 100644 --- a/src/sys/afs.exp +++ b/src/sys/afs.exp @@ -98,7 +98,6 @@ afs_indexFlags afs_indexTimes rxi_Alloccnt rxi_Allocsize -afs_xaxscnt afs_dcentries rxevent_nFree rxevent_nPosted @@ -106,7 +105,6 @@ afs_brsWaiters afs_brsDaemons afs_brs afs_callo -cbHashT VLRU afs_DLRU afs_xcbhash @@ -123,9 +121,7 @@ rx_connHashTable_lock rxevent_lock * rxdb_idHash * rxdb_lockList -afs_nfspags afs_duplicate_nfs_fids -CTD_stats rx_tq_debug afs_totalServers afs_totalSrvAddrs diff --git a/src/sys/afssyscalls.c b/src/sys/afssyscalls.c index e1088cb..7b008cb 100644 --- a/src/sys/afssyscalls.c +++ b/src/sys/afssyscalls.c @@ -64,30 +64,26 @@ static void check_iops(int index, char *fun, char *file, int line); #endif int -icreate(dev, near_inode, param1, param2, param3, param4) -int dev, near_inode, param1, param2, param3, param4; +icreate(int dev, int near_inode, int param1, int param2, int param3, int param4) { return(syscall(AFS_ICREATE, dev, near_inode, param1, param2, param3, param4)); } int -iopen(dev, inode, usrmod) -int dev, inode, usrmod; +iopen(int dev, int inode, int usrmod) { return(syscall(AFS_IOPEN, dev, inode, usrmod)); } int -iinc(dev, inode, inode_p1) -int dev, inode, inode_p1; +iinc(int dev, int inode, int inode_p1) { return(syscall(AFS_IINC, dev, inode, inode_p1)); } int -idec(dev, inode, inode_p1) -int dev, inode, inode_p1; +idec(int dev, int inode, int inode_p1) { return(syscall(AFS_IDEC, dev, inode, inode_p1)); } @@ -187,36 +183,26 @@ int afs_init_kernel_config(int flag) #ifdef notdef /* iread and iwrite are deprecated interfaces. Use inode_read and inode_write instead. */ int -iread(dev, inode, inode_p1, offset, cbuf, count) -int dev, inode, inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +iread(int dev, int inode, int inode_p1, unsigned int offset, char *cbuf, unsigned int count) { return(syscall(AFS_IREAD, dev, inode, inode_p1, offset, cbuf, count)); } int -iwrite(dev, inode, inode_p1, offset, cbuf, count) -int dev, inode, inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +iwrite(int dev, int inode, int inode_p1, unsigned int offset, char *cbuf, unsigned int count) { return(syscall(AFS_IWRITE, dev, inode, inode_p1, offset, cbuf, count)); } #endif /* notdef */ int -lsetpag() +lsetpag(void) { return(syscall(AFS_SETPAG)); } int -lpioctl(path, cmd, cmarg, follow) -char *path, *cmarg; -int cmd, follow; +lpioctl(char *path, int cmd, char *cmarg, int follow) { return(syscall(AFS_PIOCTL, path, cmd, cmarg, follow)); } @@ -235,8 +221,7 @@ struct iparam { /* Also since we're limited to 6 parameters/call, in some calls (icreate, iread, iwrite) we combine some in a structure */ -icreate(dev, near_inode, param1, param2, param3, param4) -int dev, near_inode, param1, param2, param3, param4; +int icreate(int dev, int near_inode, int param1, int param2, int param3, int param4) { extern int errno; int errcode; @@ -252,8 +237,7 @@ int dev, near_inode, param1, param2, param3, param4; } -iopen(dev, inode, usrmod) -int dev, inode, usrmod; +int iopen(int dev, int inode, int usrmod) { extern int errno; int errcode; @@ -263,8 +247,7 @@ int dev, inode, usrmod; } -iinc(dev, inode, inode_p1) -int dev, inode, inode_p1; +int iinc(int dev, int inode, int inode_p1) { extern int errno; int errcode; @@ -274,8 +257,7 @@ int dev, inode, inode_p1; } -idec(dev, inode, inode_p1) -int dev, inode, inode_p1; +int idec(int dev, int inode, int inode_p1) { extern int errno; int errcode; @@ -286,11 +268,7 @@ int dev, inode, inode_p1; #ifdef notdef -iread(dev, inode, inode_p1, offset, cbuf, count) -int dev, inode, inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +int iread(int dev, int inode, int inode_p1, unsigned int offset, char *cbuf, unsigned int count) { extern int errno; int errcode; @@ -305,11 +283,7 @@ unsigned int count; } -iwrite(dev, inode, inode_p1, offset, cbuf, count) -int dev, inode, inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +iwrite(int dev, int inode, int inode_p1, unsigned int offset, char *cbuf, unsigned int count) { extern int errno; int errcode; @@ -327,7 +301,7 @@ unsigned int count; #endif /* AFS_NAMEI_ENV */ -lsetpag() +int lsetpag(void) { extern int errno; int errcode; @@ -336,9 +310,7 @@ lsetpag() return (errcode); } -lpioctl(path, cmd, cmarg, follow) -char *path, *cmarg; -int cmd, follow; +int lpioctl(char *path, int cmd, char *cmarg, int follow) { extern int errno; int errcode; @@ -353,13 +325,7 @@ int cmd, follow; #ifndef AFS_NAMEI_ENV int -inode_read(dev, inode, inode_p1, offset, cbuf, count) -afs_int32 dev; -Inode inode; -afs_int32 inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +inode_read(afs_int32 dev, Inode inode, afs_int32 inode_p1, unsigned int offset, char *cbuf, unsigned int count) { int fd; int code = 0; @@ -382,13 +348,7 @@ unsigned int count; int -inode_write(dev, inode, inode_p1, offset, cbuf, count) -afs_int32 dev; -Inode inode; -afs_int32 inode_p1; -unsigned int offset; -char *cbuf; -unsigned int count; +inode_write(afs_int32 dev, Inode inode, afs_int32 inode_p1, unsigned int offset, char *cbuf, unsigned int count) { int fd; int code = 0; @@ -416,9 +376,7 @@ unsigned int count; #ifdef AFS_64BIT_IOPS_ENV char * PrintInode(char *s, Inode ino) #else -char * PrintInode(s, ino) -afs_ino_str_t s; -Inode ino; +char * PrintInode(afs_ino_str_t s, Inode ino) #endif { static afs_ino_str_t result; diff --git a/src/sys/pagsh.c b/src/sys/pagsh.c index ae8839d..28c19d9 100644 --- a/src/sys/pagsh.c +++ b/src/sys/pagsh.c @@ -34,9 +34,7 @@ RCSID("$Header$"); extern afs_int32 setpag(); -int main(argc, argv) -int argc; -char **argv; +int main(int argc, char *argv[]) { struct passwd *pwe; int uid, gid; @@ -83,7 +81,7 @@ char **argv; #ifdef AFS_KERBEROS_ENV /* stolen from auth/ktc.c */ -static afs_uint32 curpag() +static afs_uint32 curpag(void) { afs_uint32 groups[NGROUPS_MAX]; afs_uint32 g0, g1; @@ -109,7 +107,7 @@ static afs_uint32 curpag() return -1; } -ktc_newpag() +int ktc_newpag(void) { extern char **environ; diff --git a/src/sys/rmtsysc.c b/src/sys/rmtsysc.c index ba003f2..1e1fcd1 100644 --- a/src/sys/rmtsysc.c +++ b/src/sys/rmtsysc.c @@ -51,8 +51,7 @@ static afs_int32 SetClientCreds(); * $HOME/.AFSSERVER file is checked, otherwise the "/.AFSSERVER" is * used. */ -afs_int32 GetAfsServerAddr(syscall) -char *syscall; +afs_int32 GetAfsServerAddr(char *syscall) { register struct hostent *th; char *getenv(); @@ -113,9 +112,7 @@ char *syscall; /* Does the actual RX connection to the afs server */ -struct rx_connection *rx_connection(errorcode, syscall) -afs_int32 *errorcode; -char *syscall; +struct rx_connection *rx_connection(afs_int32 *errorcode, char *syscall) { struct rx_connection *conn; struct rx_securityClass *null_securityObject; @@ -144,9 +141,9 @@ char *syscall; * do a setgroups(2) call with the new pag.... */ #ifdef AFS_DUX40_ENV #pragma weak setpag = afs_setpag -int afs_setpag() +int afs_setpag(void) #else -int setpag() +int setpag(void) #endif { struct rx_connection *conn; @@ -198,13 +195,10 @@ int setpag() /* Remote pioctl(2) client routine */ #ifdef AFS_DUX40_ENV #pragma weak pioctl = afs_pioctl -int afs_pioctl(path, cmd, data, follow) +int afs_pioctl(char *path, afs_int32 cmd, struct ViceIoctl *data, afs_int32 follow) #else -int pioctl(path, cmd, data, follow) +int pioctl(char *path, afs_int32 cmd, struct ViceIoctl *data, afs_int32 follow) #endif -char *path; -afs_int32 cmd, follow; -struct ViceIoctl *data; { struct rx_connection *conn; clientcred creds; @@ -277,8 +271,7 @@ struct ViceIoctl *data; } -int afs_get_pag_from_groups(g0, g1) -afs_uint32 g0, g1; +int afs_get_pag_from_groups(afs_uint32 g0, afs_uint32 g1) { afs_uint32 h, l, result; @@ -299,9 +292,7 @@ afs_uint32 g0, g1; } -afs_get_groups_from_pag(pag, g0p, g1p) -afs_uint32 pag; -afs_uint32 *g0p, *g1p; +afs_get_groups_from_pag(afs_uint32 pag, afs_uint32 *g0p, afs_uint32 *g1p) { unsigned short g0, g1; @@ -315,9 +306,7 @@ afs_uint32 *g0p, *g1p; } -static afs_int32 SetClientCreds(creds, groups) -struct clientcred *creds; -afs_int32 *groups; +static afs_int32 SetClientCreds(struct clientcred *creds, afs_int32 *groups) { afs_int32 ngroups; diff --git a/src/sys/rmtsysd.c b/src/sys/rmtsysd.c index 1a85b2f..ea9739f 100644 --- a/src/sys/rmtsysd.c +++ b/src/sys/rmtsysd.c @@ -39,7 +39,8 @@ extern RMTSYS_ExecuteRequest(); #include "AFS_component_version_number.c" -main() { +int main(int argc, char *argv[]) +{ struct rx_securityClass *(securityObjects[N_SECURITY_OBJECTS]); struct rx_service *service; diff --git a/src/sys/rmtsysnet.c b/src/sys/rmtsysnet.c index 399b818..c18a7da 100644 --- a/src/sys/rmtsysnet.c +++ b/src/sys/rmtsysnet.c @@ -127,10 +127,8 @@ struct Acl *RParseAcl(astr) } -RAclToString(acl, mydata, ntoh_conv) -struct Acl *acl; -char *mydata; -int ntoh_conv; { +int RAclToString(struct Acl *acl, char *mydata, int ntoh_conv) +{ char tstring[MAXSIZE]; struct AclEntry *tp; @@ -148,8 +146,8 @@ int ntoh_conv; { /* Free all malloced stuff */ -RCleanAcl(aa) -struct Acl *aa; { +int RCleanAcl(struct Acl *aa) +{ register struct AclEntry *te, *ne; for(te = aa->pluslist; te; te=ne) { @@ -164,9 +162,7 @@ struct Acl *aa; { } -RFetchVolumeStatus_conversion(data, ntoh_conv) -char *data; -int ntoh_conv; +int RFetchVolumeStatus_conversion(char *data, int ntoh_conv) { struct AFSFetchVolumeStatus *status = (AFSFetchVolumeStatus *)data; @@ -205,9 +201,7 @@ int ntoh_conv; } } -RClearToken_convert(ptr, ntoh_conv) -char *ptr; -int ntoh_conv; +int RClearToken_convert(char *ptr, int ntoh_conv) { struct ClearToken *ticket = (struct ClearToken *)ptr; @@ -224,9 +218,7 @@ int ntoh_conv; } } -inparam_conversion(cmd, buffer, ntoh_conv) -afs_int32 cmd, ntoh_conv; -char *buffer; +int inparam_conversion(afs_int32 cmd, char *buffer, afs_int32 ntoh_conv) { struct Acl *acl; afs_int32 *lptr, i; @@ -384,9 +376,7 @@ char *buffer; } -outparam_conversion(cmd, buffer, ntoh_conv) -afs_int32 cmd, ntoh_conv; -char *buffer; +int outparam_conversion(afs_int32 cmd, char *buffer, afs_int32 ntoh_conv) { struct Acl *acl; afs_int32 *lptr, i; diff --git a/src/tests/fsx.c b/src/tests/fsx.c index 7ec2075..79b1b6c 100644 --- a/src/tests/fsx.c +++ b/src/tests/fsx.c @@ -812,7 +812,7 @@ getnum(char *s, char **e) { int ret = -1; - *e = (char *) 0; + *e = NULL; ret = strtol(s, e, 0); if (*e) switch (**e) { @@ -852,7 +852,7 @@ main(int argc, char **argv) goodfile[0] = 0; logfile[0] = 0; - setvbuf(stdout, (char *)0, _IOLBF, 0); /* line buffered stdout */ + setvbuf(stdout, NULL, _IOLBF, 0); /* line buffered stdout */ while ((ch = getopt(argc, argv, "b:c:dl:m:no:p:qr:s:t:w:D:LN:OP:RS:W")) != EOF) diff --git a/src/tsm41/aix41_auth.c b/src/tsm41/aix41_auth.c index ea57140..dadb0fe 100644 --- a/src/tsm41/aix41_auth.c +++ b/src/tsm41/aix41_auth.c @@ -35,7 +35,7 @@ int afs_authenticate (char *userName, char *response, int *reenter, char **mess int code, unixauthneeded, password_expires = -1; *reenter = 0; - *message = (char *)0; + *message = NULL; if (response) { pword = response; } else { @@ -54,7 +54,7 @@ int afs_authenticate (char *userName, char *response, int *reenter, char **mess return AUTH_FAILURE; } if (code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, userName, - (char *)0, (char *)0, pword, 0, &password_expires, 0, &reason)) { + NULL, NULL, pword, 0, &password_expires, 0, &reason)) { if (code == KANOENT) return AUTH_NOTFOUND; *message = (char *)malloc(1024); diff --git a/src/ubik/beacon.c b/src/ubik/beacon.c index 140927f..b9cea2a 100644 --- a/src/ubik/beacon.c +++ b/src/ubik/beacon.c @@ -52,7 +52,6 @@ static nServers; /* total number of servers */ static char amIMagic=0; /* is this host the magic host */ char amIClone=0; /* is this a clone which doesn't vote */ static char ubik_singleServer = 0; -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); int (*ubik_CRXSecurityProc)(); char *ubik_CRXSecurityRock; afs_int32 ubikSecIndex; diff --git a/src/ubik/disk.c b/src/ubik/disk.c index 15fb858..e0552b3 100644 --- a/src/ubik/disk.c +++ b/src/ubik/disk.c @@ -461,7 +461,7 @@ static struct buffer *newslot (adbase, afid, apage) if (pp == 0) { /* There are no unlocked buffers that don't need to be written to the disk. */ ubik_print("Ubik: Internal Error: Unable to find free buffer in ubik cache\n"); - return (struct buffer *) 0; + return NULL; } /* Now fill in the header. */ @@ -562,7 +562,7 @@ static char *DNew (dbase, fid, page) afs_int32 fid; { struct buffer *tb; - if ((tb = newslot(dbase, fid, page)) == 0) return (char *) 0; + if ((tb = newslot(dbase, fid, page)) == 0) return NULL; tb->lockers++; memset(tb->data, 0, PAGESIZE); return tb->data; diff --git a/src/ubik/phys.c b/src/ubik/phys.c index 0fcaf8f..20dc555 100644 --- a/src/ubik/phys.c +++ b/src/ubik/phys.c @@ -101,7 +101,7 @@ static int uphys_open(adbase, afid) /* enter it in the cache */ tfd = fdcache; - bestfd = (struct fdcache *) 0; + bestfd = NULL; for(i=0;ifd == -1) { bestfd = tfd; diff --git a/src/ubik/ubik.c b/src/ubik/ubik.c index f4854be..0132470 100644 --- a/src/ubik/ubik.c +++ b/src/ubik/ubik.c @@ -218,7 +218,6 @@ int ubik_ServerInitCommon(myHost, myPort, info, clones, serverList, pathName, db struct rx_securityClass *secClass; struct rx_service *tservice; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int VOTE_ExecuteRequest(), DISK_ExecuteRequest(); extern void rx_ServerProc(); extern int rx_stackSize; diff --git a/src/ubik/udebug.c b/src/ubik/udebug.c index 272c850..125fbb3 100644 --- a/src/ubik/udebug.c +++ b/src/ubik/udebug.c @@ -66,7 +66,7 @@ static short PortName(aname) struct servent *ts; int len; - ts = getservbyname(aname, (char *) 0); + ts = getservbyname(aname, NULL); if (ts) return ntohs(ts->s_port); /* returns it in host byte order */ @@ -107,12 +107,12 @@ struct cmd_syndesc *as; { if (as->parms[0].items) hostName = as->parms[0].items->data; else - hostName = (char *) 0; + hostName = NULL; if (as->parms[1].items) portName = as->parms[1].items->data; else - portName = (char *) 0; + portName = NULL; /* lookup host */ if (hostName) { @@ -139,7 +139,7 @@ struct cmd_syndesc *as; { } rx_Init(0); - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); tconn = rx_NewConnection(hostAddr, port, VOTE_SERVICE_ID, sc, 0); /* now do the main call */ @@ -333,7 +333,7 @@ main(argc, argv) nsa.sa_flags = SA_FULLDUMP; sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "probe ubik server"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "probe ubik server"); cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_REQUIRED, "server machine"); cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "IP port"); cmd_AddParm(ts, "-long", CMD_FLAG, CMD_OPTIONAL, "print all info"); diff --git a/src/ubik/utst_client.c b/src/ubik/utst_client.c index 88a4073..3a2b357 100644 --- a/src/ubik/utst_client.c +++ b/src/ubik/utst_client.c @@ -70,7 +70,7 @@ main(argc, argv) exit(1); } rx_Init(0); - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); for (i=0; iconn, &level, 0,0,0,0,0); @@ -175,7 +175,6 @@ int main (argc, argv) { struct rx_securityClass *securityObjects[3]; struct rx_service *service; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); int a = 0; rxkad_level level; diff --git a/src/update/utils.c b/src/update/utils.c index 3b05b51..f7103de 100644 --- a/src/update/utils.c +++ b/src/update/utils.c @@ -55,7 +55,7 @@ struct filestr **ah; { free(tf->name); free(tf); } - *ah = (struct filestr *) 0; + *ah = NULL; return 0; } diff --git a/src/usd/usd_file.c b/src/usd/usd_file.c index 4c05ddf..bc13ed1 100644 --- a/src/usd/usd_file.c +++ b/src/usd/usd_file.c @@ -29,6 +29,16 @@ RCSID("$Header$"); #if defined(AFS_DUX40_ENV) || defined(AFS_OBSD_ENV) || defined(AFS_NBSD_ENV) #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif +#include + #include #include "usd.h" diff --git a/src/uss/grammar.y b/src/uss/grammar.y index d6ee304..993f266 100644 --- a/src/uss/grammar.y +++ b/src/uss/grammar.y @@ -8,7 +8,18 @@ * directory or online at http://www.openafs.org/dl/license10.html */ +#include +#include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + extern int line; extern int uss_perr; %} diff --git a/src/uss/lex.c b/src/uss/lex.c index 038b438..1c26d3f 100644 --- a/src/uss/lex.c +++ b/src/uss/lex.c @@ -13,6 +13,15 @@ RCSID("$Header$"); + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "y.tab.h" #include "uss_common.h" int line=1; @@ -185,7 +194,7 @@ Replace(in, out) if (isQuotedString) { nullP = strchr(out, '"'); - if (nullP == (char *)0) + if (nullP == NULL) nullP = out_cp; } else diff --git a/src/uss/uss.c b/src/uss/uss.c index 4eb12ff..3e2351e 100644 --- a/src/uss/uss.c +++ b/src/uss/uss.c @@ -23,6 +23,15 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "uss_common.h" /*Common uss definitions, globals*/ #include "uss_procs.h" /*Main uss operations*/ #include "uss_kauth.h" /*AuthServer routines*/ @@ -43,8 +52,8 @@ RCSID("$Header$"); /* * ---------------------- Exported variables ---------------------- */ -char *uss_fs_InBuff = (char *)0; /*Cache Manager input buff*/ -char *uss_fs_OutBuff = (char *)0; /*Cache Manager output buff*/ +char *uss_fs_InBuff = NULL; /*Cache Manager input buff*/ +char *uss_fs_OutBuff = NULL; /*Cache Manager output buff*/ /* * Set up convenient tags for the command line parameter indicies. @@ -2010,7 +2019,7 @@ main(argc,argv) */ InitETTables(); uss_common_Init(); - cmd_SetBeforeProc(GetCommon, (char *)0); + cmd_SetBeforeProc(GetCommon, NULL); /* * Execute the parsed command. diff --git a/src/uss/uss_acl.c b/src/uss/uss_acl.c index 62b27f2..d5b1a83 100644 --- a/src/uss/uss_acl.c +++ b/src/uss/uss_acl.c @@ -28,6 +28,15 @@ RCSID("$Header$"); #include #include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #undef VIRTUE #undef VICE #include @@ -701,7 +710,7 @@ afs_int32 uss_acl_SetDiskQuota(a_path, a_q) status = (uss_VolumeStatus_t *)tmp_str; status->MinQuota = status->MaxQuota = -1; - name = motd = offmsg = (char *) 0; + name = motd = offmsg = NULL; status->MaxQuota = a_q; input = (char *)status + sizeof(*status); diff --git a/src/uss/uss_common.c b/src/uss/uss_common.c index f468d9d..e71bc0e 100644 --- a/src/uss/uss_common.c +++ b/src/uss/uss_common.c @@ -24,6 +24,15 @@ RCSID("$Header$"); #include /*MAXKTCREALMLEN & MAXKTCNAMELEN*/ +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + /* * ---------------------- Exported variables ---------------------- */ diff --git a/src/uss/uss_fs.c b/src/uss/uss_fs.c index d3d7af9..679ccce 100644 --- a/src/uss/uss_fs.c +++ b/src/uss/uss_fs.c @@ -29,6 +29,15 @@ RCSID("$Header$"); #include #endif #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include "uss_common.h" extern int errno; @@ -75,7 +84,7 @@ static int InAFS(a_path) static char rn[] = "uss_fs:InAFS"; register afs_int32 code; - blob.in = (char *)0; + blob.in = NULL; blob.in_size = 0; blob.out_size = USS_FS_MAX_SIZE; blob.out = uss_fs_OutBuff; @@ -232,7 +241,7 @@ afs_int32 uss_fs_GetACL(a_dirPath, a_aclBuff, a_aclBuffBytes) static char rn[] = "uss_fs_GetACL"; /*Routine name*/ register afs_int32 code; /*pioctl() result*/ - blob.in = (char *)0; + blob.in = NULL; blob.in_size = 0; blob.out = a_aclBuff; blob.out_size = a_aclBuffBytes; @@ -276,7 +285,7 @@ afs_int32 uss_fs_SetACL(a_dirPath, a_aclBuff, a_aclBuffBytes) blob.in = a_aclBuff; blob.in_size = a_aclBuffBytes; - blob.out = (char *)0; + blob.out = NULL; blob.out_size = 0; #ifdef USS_FS_DB @@ -318,7 +327,7 @@ afs_int32 uss_fs_GetVolStat(a_mountpoint, a_volStatBuff, a_volStatBuffBytes) static char rn[] = "uss_fs_GetVolStat"; /*Routine name*/ register afs_int32 code; /*pioctl() result*/ - blob.in = (char *)0; + blob.in = NULL; blob.in_size = 0; blob.out = a_volStatBuff; blob.out_size = a_volStatBuffBytes; @@ -399,9 +408,9 @@ afs_int32 uss_fs_CkBackups() static char rn[] = "uss_fs_CkBackups"; /*Routine name*/ register afs_int32 code; /*pioctl() result*/ - blob.in = (char *)0; + blob.in = NULL; blob.in_size = 0; - blob.out = (char *)0; + blob.out = NULL; blob.out_size = 0; #ifdef USS_FS_DB @@ -409,7 +418,7 @@ afs_int32 uss_fs_CkBackups() rn, blob.in, blob.in_size, blob.out, blob.out_size); #endif /* USS_FS_DB */ - code = pioctl((char *)0, /*No pathname needed here*/ + code = pioctl(NULL, /*No pathname needed here*/ VIOCCKBACK, /*CheckBackups*/ &blob, /*Params*/ 1); /*Symlink disposition*/ @@ -542,7 +551,7 @@ afs_int32 uss_fs_RmMountPoint(a_mountpoint) */ blob.in = componentP; blob.in_size = strlen(componentP) + 1; - blob.out = (char *)0; + blob.out = NULL; blob.out_size = 0; if (!uss_DryRun) { diff --git a/src/uss/uss_kauth.c b/src/uss/uss_kauth.c index 9eb76f4..05062a6 100644 --- a/src/uss/uss_kauth.c +++ b/src/uss/uss_kauth.c @@ -24,6 +24,15 @@ RCSID("$Header$"); #include "uss_common.h" /*Common defs & operations*/ #include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include /*MAXKTCREALMLEN*/ #include /* pack_long */ diff --git a/src/uss/uss_procs.c b/src/uss/uss_procs.c index c6e003c..71eb5ea 100644 --- a/src/uss/uss_procs.c +++ b/src/uss/uss_procs.c @@ -31,6 +31,15 @@ RCSID("$Header$"); #ifdef AFS_SUN5_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /*MAXKTCREALMLEN*/ extern int errno; diff --git a/src/uss/uss_vol.c b/src/uss/uss_vol.c index a43d5c0..a4a2e1d 100644 --- a/src/uss/uss_vol.c +++ b/src/uss/uss_vol.c @@ -28,6 +28,15 @@ RCSID("$Header$"); #include #include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -40,7 +49,6 @@ RCSID("$Header$"); extern int errno; extern struct rx_connection *UV_Bind(); -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); extern int line; extern int VL_GetEntryByID(); extern char *hostutil_GetNameByINet(); @@ -168,7 +176,7 @@ static afs_int32 InitThisModule(a_noAuthFlag, a_confDir, a_cellName) strcpy(sname.cell, info.name); sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), NULL); if (code) { fprintf(stderr, "%s: Couldn't get AFS tokens, running unauthenticated.\n", @@ -560,7 +568,7 @@ static int CheckDoubleMount(a_mp, a_oldmp) struct stat stbuf; pws = getpwuid(atoi(uss_Uid)); - if (pws != (struct passwd *)0) { + if (pws != NULL) { /* * User exists in the password file, so they've been fully * created and integrated. Return the ``ancient'' mountpoint. diff --git a/src/util/Makefile.in b/src/util/Makefile.in index 09a38f6..e1fb535 100644 --- a/src/util/Makefile.in +++ b/src/util/Makefile.in @@ -29,6 +29,7 @@ all: ukinstall kinstall \ ${TOP_INCDIR}/afs/netutils.h \ ${TOP_INCDIR}/afs/packages.h \ ${TOP_INCDIR}/afs/afsutil.h \ + ${TOP_INCDIR}/afs/afsutil_prototypes.h \ ${TOP_INCDIR}/afs/pthread_glock.h \ ${TOP_INCDIR}/afs/afs_atomlist.h \ ${TOP_INCDIR}/afs/afs_lhash.h \ @@ -57,67 +58,67 @@ util.a: ${objects} AFS_component_version_number.o $(AR) crv util.a ${objects} AFS_component_version_number.o $(RANLIB) util.a -assert.o: ${srcdir}/assert.c +assert.o: ${srcdir}/assert.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/assert.c -casestrcpy.o: ${srcdir}/casestrcpy.c +casestrcpy.o: ${srcdir}/casestrcpy.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/casestrcpy.c -hputil.o: ${srcdir}/hputil.c +hputil.o: ${srcdir}/hputil.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/hputil.c -flipbase64.o: ${srcdir}/flipbase64.c ${TOP_INCDIR}/afs/dirpath.h +flipbase64.o: ${srcdir}/flipbase64.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/flipbase64.c -volparse.o: ${srcdir}/volparse.c +volparse.o: ${srcdir}/volparse.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/volparse.c -snprintf.o: ${srcdir}/snprintf.c +snprintf.o: ${srcdir}/snprintf.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/snprintf.c -base64.o: ${srcdir}/base64.c +base64.o: ${srcdir}/base64.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/base64.c -hostparse.o: ${srcdir}/hostparse.c ${srcdir}/afsutil.h ${TOP_INCDIR}/afs/dirpath.h +hostparse.o: ${srcdir}/hostparse.c ${srcdir}/afsutil.h ${srcdir}/afsutil_prototypes.h ${TOP_INCDIR}/afs/dirpath.h ${CC} ${CFLAGS} -c ${srcdir}/hostparse.c -ktime.o: ${srcdir}/ktime.c ${TOP_INCDIR}/afs/dirpath.h +ktime.o: ${srcdir}/ktime.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/ktime.c -kreltime.o: ${srcdir}/kreltime.c ${TOP_INCDIR}/afs/dirpath.h +kreltime.o: ${srcdir}/kreltime.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/kreltime.c -get_krbrlm.o: ${srcdir}/get_krbrlm.c ${TOP_INCDIR}/afs/dirpath.h +get_krbrlm.o: ${srcdir}/get_krbrlm.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/get_krbrlm.c -uuid.o: ${srcdir}/uuid.c ${TOP_INCDIR}/afs/dirpath.h +uuid.o: ${srcdir}/uuid.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/uuid.c -sys.o: ${srcdir}/sys.c ${TOP_INCDIR}/afs/param.h AFS_component_version_number.c +sys.o: ${srcdir}/sys.c ${TOP_INCDIR}/afs/param.h AFS_component_version_number.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/sys.c sys: sys.o ${CC} ${LDFLAGS} -o sys sys.o -isathing.o: ${srcdir}/isathing.c +isathing.o: ${srcdir}/isathing.c ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/isathing.c -serverLog.o: ${srcdir}/serverLog.c ${TOP_INCDIR}/afs/dirpath.h +serverLog.o: ${srcdir}/serverLog.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/serverLog.c -dirpath.o: ${srcdir}/dirpath.c ${TOP_INCDIR}/afs/dirpath.h +dirpath.o: ${srcdir}/dirpath.c ${TOP_INCDIR}/afs/dirpath.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/dirpath.c -fileutil.o: ${srcdir}/fileutil.c ${srcdir}/fileutil.h +fileutil.o: ${srcdir}/fileutil.c ${srcdir}/fileutil.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/fileutil.c -netutils.o: ${srcdir}/netutils.c ${srcdir}/netutils.h +netutils.o: ${srcdir}/netutils.c ${srcdir}/netutils.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/netutils.c -afs_atomlist.o: ${srcdir}/afs_atomlist.c ${srcdir}/afs_atomlist.h +afs_atomlist.o: ${srcdir}/afs_atomlist.c ${srcdir}/afs_atomlist.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/afs_atomlist.c -afs_lhash.o: ${srcdir}/afs_lhash.c ${srcdir}/afs_lhash.h ${srcdir}/afs_atomlist.h +afs_lhash.o: ${srcdir}/afs_lhash.c ${srcdir}/afs_lhash.h ${srcdir}/afs_atomlist.h ${srcdir}/afsutil_prototypes.h ${CC} ${CFLAGS} -c ${srcdir}/afs_lhash.c # @@ -138,6 +139,7 @@ install: \ ${DESTDIR}${includedir}/afs/netutils.h \ ${DESTDIR}${includedir}/afs/packages.h \ ${DESTDIR}${includedir}/afs/afsutil.h \ + ${DESTDIR}${includedir}/afs/afsutil_prototypes.h \ ${DESTDIR}${includedir}/afs/pthread_glock.h \ ${DESTDIR}${includedir}/afs/afs_atomlist.h \ ${DESTDIR}${includedir}/afs/afs_lhash.h \ @@ -179,6 +181,9 @@ ${TOP_INCDIR}/afs/packages.h: ${srcdir}/packages.h ${TOP_INCDIR}/afs/afsutil.h: ${srcdir}/afsutil.h ${INSTALL} $? $@ +${TOP_INCDIR}/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h + ${INSTALL} $? $@ + ${TOP_INCDIR}/afs/pthread_glock.h: ${srcdir}/pthread_glock.h ${INSTALL} $? $@ @@ -232,6 +237,9 @@ ${DESTDIR}${includedir}/afs/packages.h: ${srcdir}/packages.h ${DESTDIR}${includedir}/afs/afsutil.h: ${srcdir}/afsutil.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h + ${INSTALL} $? $@ + ${DESTDIR}${includedir}/afs/pthread_glock.h: ${srcdir}/pthread_glock.h ${INSTALL} $? $@ @@ -289,6 +297,9 @@ ${DEST}/include/afs/packages.h: ${srcdir}/packages.h ${DEST}/include/afs/afsutil.h: ${srcdir}/afsutil.h ${INSTALL} $? $@ +${DEST}/include/afs/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h + ${INSTALL} $? $@ + ${DEST}/include/afs/pthread_glock.h: ${srcdir}/pthread_glock.h ${INSTALL} $? $@ @@ -352,6 +363,7 @@ ukinstall: \ ${UKDIR}/vice.h \ ${UKDIR}/errors.h \ ${UKDIR}/afsutil.h \ + ${UKDIR}/afsutil_prototypes.h \ ${UKDIR}/dirpath.h \ ${UKDIR}/dirpath.c \ ${UKDIR}/fileutil.h \ @@ -367,6 +379,9 @@ ${UKDIR}/errors.h: ${srcdir}/errors.h ${UKDIR}/afsutil.h: ${srcdir}/afsutil.h ${INSTALL} $? $@ +${UKDIR}/afsutil_prototypes.h: ${srcdir}/afsutil_prototypes.h + ${INSTALL} $? $@ + ${UKDIR}/dirpath.h: dirpath.h ${INSTALL} $? $@ @@ -437,6 +452,7 @@ dest: \ ${DEST}/include/afs/netutils.h \ ${DEST}/include/afs/packages.h \ ${DEST}/include/afs/afsutil.h \ + ${DEST}/include/afs/afsutil_prototypes.h \ ${DEST}/include/afs/pthread_glock.h \ ${DEST}/include/afs/afs_atomlist.h \ ${DEST}/include/afs/afs_lhash.h \ diff --git a/src/util/afs_lhash.c b/src/util/afs_lhash.c index 4bf4009..de2677a 100644 --- a/src/util/afs_lhash.c +++ b/src/util/afs_lhash.c @@ -275,7 +275,7 @@ afs_lhash_create( lh->ndata = 0; lh->ntable = 0; - lh->table = (struct bucket **)0; + lh->table = NULL; if (afs_lhash_accomodate(lh, lh->ltable-1) < 0) { lh->deallocate(lh, sizeof *lh); diff --git a/src/util/afsutil.h b/src/util/afsutil.h index 0d93eab..fdff525 100644 --- a/src/util/afsutil.h +++ b/src/util/afsutil.h @@ -125,4 +125,9 @@ int64_t flipbase64_to_int64(char *s); #endif #endif +#ifndef UKERNEL +#include "afs/ktime.h" +#endif +#include "afsutil_prototypes.h" + #endif /* _AFSUTIL_H_ */ diff --git a/src/util/afsutil_prototypes.h b/src/util/afsutil_prototypes.h new file mode 100644 index 0000000..4eb1a20 --- /dev/null +++ b/src/util/afsutil_prototypes.h @@ -0,0 +1,123 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _AFSUTIL_PROTOTYPES_H +#define _AFSUTIL_PROTOTYPES_H + +/* afs_atomlist.c */ + + +/* afs_lhash.c */ + + +/* assert.c */ + + +/* base32.c */ + + +/* base64.c */ + + +/* casestrcpy.c */ + + +/* dirpath.c */ + + +/* errmap_nt.c */ + + +/* fileutil.c */ + + +/* flipbase64.c */ + + +/* get_krbrlm.c */ + + +/* hostparse.c */ +extern struct hostent *hostutil_GetHostByName(register char *ahost); +extern char *hostutil_GetNameByINet(afs_uint32 addr); +extern afs_uint32 extractAddr(char *line, int maxSize); +extern char *afs_inet_ntoa(afs_uint32 addr); +extern char *afs_inet_ntoa_r(afs_uint32 addr, char *buf); +extern char *gettmpdir(void); + +/* hputil.c */ + + +/* isathing.c */ + + +/* kreltime.c */ +extern afs_int32 ktimeRelDate_ToInt32(struct ktime_date *kdptr); +extern int Int32To_ktimeRelDate(afs_int32 int32Date, struct ktime_date *kdptr); +extern int ktimeDate_FromInt32(afs_int32 timeSecs, struct ktime_date *ktimePtr); +extern afs_int32 ParseRelDate(char *dateStr, struct ktime_date *relDatePtr); +extern char *RelDatetoString(struct ktime_date *datePtr); +extern afs_int32 Add_RelDate_to_Time(struct ktime_date *relDatePtr, afs_int32 atime); + + +/* ktime.c */ + + +/* netutils.c */ +extern afs_uint32 extract_Addr(char *line, int maxSize); +extern int parseNetRestrictFile(afs_uint32 outAddrs[], afs_uint32 *mask, afs_uint32 *mtu, + afs_uint32 maxAddrs, afs_uint32 *nAddrs, char reason[], const char *fileName); +extern int ParseNetInfoFile(afs_uint32 *final, afs_uint32 *mask, afs_uint32 *mtu, + int max, char reason[], const char *fileName); +extern int filterAddrs(afs_uint32 addr1[], afs_uint32 addr2[], + afs_uint32 mask1[], afs_uint32 mask2[], + afs_uint32 mtu1[], afs_uint32 mtu2[], + int n1, int n2); +extern int parseNetFiles(afs_uint32 addrbuf[], afs_uint32 maskbuf[], afs_uint32 mtubuf[], + afs_uint32 max, char reason[], const char *niFileName, const char *nrFileName); + + +/* pthread_glock.c */ + + +/* readdir_nt.c */ + + +/* regex.c */ + + +/* secutil_nt.c */ + + +/* serverLog.c */ + + +/* snprintf.c */ + + +/* sys.c */ + + +/* uuid.c */ +extern afs_int32 afs_uuid_equal(afsUUID *u1, afsUUID *u2); +extern afs_int32 afs_uuid_is_nil(afsUUID *u1); +extern void afs_htonuuid(afsUUID *uuidp); +extern void afs_ntohuuid(afsUUID *uuidp); +extern afs_int32 afs_uuid_create (afsUUID *uuid); +extern u_short afs_uuid_hash (afsUUID *uuid); + + +/* volparse.c */ + + +/* winsock_nt.c */ + + +#endif /* _AFSUTIL_PROTOTYPES_H */ + diff --git a/src/util/assert.c b/src/util/assert.c index 6e0d5f2..6e6e4ed 100644 --- a/src/util/assert.c +++ b/src/util/assert.c @@ -14,6 +14,13 @@ #ifdef HAVE_SYS_TIME_H #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif RCSID("$Header$"); diff --git a/src/util/get_krbrlm.c b/src/util/get_krbrlm.c index 919a493..804488b 100644 --- a/src/util/get_krbrlm.c +++ b/src/util/get_krbrlm.c @@ -25,9 +25,7 @@ RCSID("$Header$"); #define KSUCCESS 0 #define KFAILURE -1 -afs_krb_get_lrealm(r,n) - char *r; - int n; +int afs_krb_get_lrealm(char *r, int n) { FILE *cnffile, *fopen(); diff --git a/src/util/hostparse.c b/src/util/hostparse.c index bbe17df..ce19669 100644 --- a/src/util/hostparse.c +++ b/src/util/hostparse.c @@ -46,8 +46,8 @@ RCSID("$Header$"); /* also parse a.b.c.d addresses */ -struct hostent *hostutil_GetHostByName(ahost) -register char *ahost; { +struct hostent *hostutil_GetHostByName(register char *ahost) +{ register int tc; static struct hostent thostent; static char *addrp[2]; @@ -80,11 +80,11 @@ register char *ahost; { memset(addr, 0, sizeof(addr)); while ((tc = *ahost++)) { if (tc == '.') { - if (dots >= 3) return (struct hostent *) 0; /* too many dots */ + if (dots >= 3) return NULL; /* too many dots */ addr[dots++] = tval; tval = 0; } - else if (tc > '9' || tc < '0') return (struct hostent *) 0; + else if (tc > '9' || tc < '0') return NULL; else { tval *= 10; tval += tc - '0'; @@ -94,7 +94,7 @@ register char *ahost; { #ifdef h_addr /* 4.3 system */ addrp[0] = addr; - addrp[1] = (char *) 0; + addrp[1] = NULL; thostent.h_addr_list = &addrp[0]; #else /* h_addr */ /* 4.2 and older systems */ @@ -105,7 +105,7 @@ register char *ahost; { else { #ifdef AFS_NT40_ENV if (afs_winsockInit()<0) - return (struct hostent *)0; + return NULL; #endif return gethostbyname(ahost); } @@ -114,15 +114,14 @@ register char *ahost; { /* Translate an internet address into a nice printable string. The * variable addr is in network byte order. */ -char *hostutil_GetNameByINet(addr) - afs_uint32 addr; +char *hostutil_GetNameByINet(afs_uint32 addr) { struct hostent *th; static char tbuffer[256]; #ifdef AFS_NT40_ENV if (afs_winsockInit()<0) - return (char *)0; + return NULL; #endif th = gethostbyaddr((void *)&addr, sizeof(addr), AF_INET); if (th) { @@ -142,10 +141,7 @@ char *hostutil_GetNameByINet(addr) ** w.x.y.z # machineName ** returns the network interface in network byte order */ -afs_uint32 -extractAddr(line, maxSize) -char* line; -int maxSize; +afs_uint32 extractAddr(char *line, int maxSize) { char byte1[32], byte2[32], byte3[32], byte4[32]; int i=0; @@ -236,7 +232,7 @@ int maxSize; ** On Solaris, if we pass a 4 byte integer directly into inet_ntoa(), it ** causes a memory fault. */ -char* afs_inet_ntoa(afs_uint32 addr) +char *afs_inet_ntoa(afs_uint32 addr) { struct in_addr temp; temp.s_addr = addr; @@ -244,7 +240,7 @@ char* afs_inet_ntoa(afs_uint32 addr) } /* same as above, but to a non-static buffer, must be freed by called */ -char* afs_inet_ntoa_r(afs_uint32 addr, char *buf) +char *afs_inet_ntoa_r(afs_uint32 addr, char *buf) { int temp; diff --git a/src/util/kreltime.c b/src/util/kreltime.c index 60ee5a3..f1b341a 100644 --- a/src/util/kreltime.c +++ b/src/util/kreltime.c @@ -58,9 +58,7 @@ static struct parseseqS * afs_int32 value of encoded date. */ -afs_int32 -ktimeRelDate_ToInt32(kdptr) - struct ktime_date *kdptr; +afs_int32 ktimeRelDate_ToInt32(struct ktime_date *kdptr) { afs_int32 retval; @@ -74,9 +72,7 @@ ktimeRelDate_ToInt32(kdptr) * structure */ -Int32To_ktimeRelDate(int32Date, kdptr) - afs_int32 int32Date; - struct ktime_date *kdptr; +int Int32To_ktimeRelDate(afs_int32 int32Date, struct ktime_date *kdptr) { memset(kdptr, 0, sizeof(*kdptr)); @@ -108,9 +104,7 @@ Int32To_ktimeRelDate(int32Date, kdptr) * ktimePtr - ptr to struct for the return value */ -ktimeDate_FromInt32(timeSecs, ktimePtr) - afs_int32 timeSecs; - struct ktime_date *ktimePtr; +int ktimeDate_FromInt32(afs_int32 timeSecs, struct ktime_date *ktimePtr) { struct tm *timePtr; @@ -145,10 +139,7 @@ ktimeDate_FromInt32(timeSecs, ktimePtr) * 0 - error in date specification */ -afs_int32 -ParseRelDate(dateStr, relDatePtr) - char *dateStr; - struct ktime_date *relDatePtr; +afs_int32 ParseRelDate(char *dateStr, struct ktime_date *relDatePtr) { struct parseseqS *psPtr; afs_int32 value, digit_limit; @@ -246,9 +237,7 @@ error: * ptr to static string */ -char * -RelDatetoString(datePtr) - struct ktime_date *datePtr; +char *RelDatetoString(struct ktime_date *datePtr) { static char dateString[64]; char tempstring[64], *sptr; @@ -289,10 +278,7 @@ RelDatetoString(datePtr) * returns specified time with relative time added. */ -afs_int32 -Add_RelDate_to_Time(relDatePtr, atime) - struct ktime_date *relDatePtr; - afs_int32 atime; +afs_int32 Add_RelDate_to_Time(struct ktime_date *relDatePtr, afs_int32 atime) { afs_int32 moreYears; static struct ktime_date absDate; diff --git a/src/util/ktime.c b/src/util/ktime.c index 663a383..8095a00 100644 --- a/src/util/ktime.c +++ b/src/util/ktime.c @@ -66,15 +66,14 @@ static LocalFreeTokens(alist) } #endif -static space(x) -int x; { +static int space(int x) +{ if (x == 0 || x == ' ' || x == '\t' || x== '\n') return 1; else return 0; } -static LocalParseLine(aline, alist) - char *aline; - struct token **alist; { +static int LocalParseLine(char *aline, struct token **alist) +{ char tbuffer[256]; register char *tptr = NULL; int inToken; @@ -83,8 +82,8 @@ static LocalParseLine(aline, alist) register int tc; inToken = 0; /* not copying token chars at start */ - first = (struct token *) 0; - last = (struct token *) 0; + first = NULL; + last = NULL; while (1) { tc = *aline++; if (tc == 0 || space(tc)) { /* terminating null gets us in here, too */ @@ -92,7 +91,7 @@ static LocalParseLine(aline, alist) inToken = 0; /* end of this token */ *tptr++ = 0; ttok = (struct token *) malloc(sizeof(struct token)); - ttok->next = (struct token *) 0; + ttok->next = NULL; ttok->key = (char *) malloc(strlen(tbuffer)+1); strcpy(ttok->key, tbuffer); if (last) { @@ -114,7 +113,7 @@ static LocalParseLine(aline, alist) } if (tc == 0) { /* last token flushed 'cause space(0) --> true */ - if (last) last->next = (struct token *) 0; + if (last) last->next = NULL; *alist = first; return 0; } @@ -155,8 +154,8 @@ static struct ptemp { * return value - ptr to time in text form. Ptr is to a static string. */ -char *ktime_DateOf(atime) -afs_int32 atime; { +char *ktime_DateOf(afs_int32 atime) +{ static char tbuffer[30]; register char *tp; tp=ctime((time_t *)&atime); @@ -169,8 +168,7 @@ afs_int32 atime; { return tbuffer; } -afs_int32 ktime_Str2int32(astr) -register char *astr; +afs_int32 ktime_Str2int32(register char *astr) { struct ktime tk; @@ -191,9 +189,8 @@ return ((tk.hour*60 + tk.min)*60 + tk.sec); * -1 - error in format */ -static ParseTime(ak, astr) -register char *astr; -register struct ktime *ak; { +static int ParseTime(register struct ktime *ak, register char *astr) +{ int field; afs_int32 temp; register char *tp; @@ -241,9 +238,8 @@ register struct ktime *ak; { */ /* -1 means error, 0 means now, otherwise returns time of next event */ -int ktime_ParsePeriodic(adate, ak) -register struct ktime *ak; -char *adate; { +int ktime_ParsePeriodic(char *adate, register struct ktime *ak) +{ struct token *tt; register afs_int32 code; struct ptemp *tp; @@ -271,7 +267,7 @@ char *adate; { } /* otherwise use keyword table */ for(tp = ptkeys;; tp++) { - if (tp->key == (char *) 0) { + if (tp->key == NULL) { return -1; } if (strcmp(tp->key, tt->key) == 0) break; @@ -309,9 +305,8 @@ char *adate; { * exit: * 0 - astring contains ktime string. */ -ktime_DisplayString(aparm, astring) -register char *astring; -struct ktime *aparm; { +int ktime_DisplayString(struct ktime *aparm, register char *astring) +{ char tempString[50]; if (aparm->mask & KTIME_NEVER) { @@ -356,9 +351,8 @@ struct ktime *aparm; { } /* get next time that matches ktime structure after time afrom */ -afs_int32 ktime_next(aktime, afrom) -afs_int32 afrom; -struct ktime *aktime; { +afs_int32 ktime_next(struct ktime *aktime, afs_int32 afrom) +{ /* try by guessing from now */ struct tm *tsp; time_t start; /* time to start looking */ @@ -401,9 +395,8 @@ struct ktime *aktime; { /* compare date in both formats, and return as in strcmp */ #ifdef undef -static KTimeCmp(aktime, atm) -register struct ktime *aktime; -register struct tm *atm; { +static int KTimeCmp(register struct ktime *aktime, register struct tm *atm) +{ register afs_int32 tmask; /* don't compare day of the week, since we can't tell the @@ -427,9 +420,8 @@ register struct tm *atm; { #endif /* compare date in both formats, and return as in strcmp */ -static KDateCmp(akdate, atm) -register struct ktime_date *akdate; -register struct tm *atm; { +static int KDateCmp(register struct ktime_date *akdate, register struct tm *atm) +{ if (akdate->year > atm->tm_year) return 1; if (akdate->year < atm->tm_year) return -1; if (akdate->month > atm->tm_mon) return 1; @@ -460,9 +452,8 @@ register struct tm *atm; { * 0 - aint32 contains converted date. */ -afs_int32 ktime_DateToInt32(adate, aint32) -afs_int32 *aint32; -char *adate; { +afs_int32 ktime_DateToInt32(char *adate, afs_int32 *aint32) +{ struct ktime_date tdate; register afs_int32 code; @@ -485,9 +476,8 @@ char *adate; { * -1 - parsing failure */ -static afs_int32 ktime_ParseDate(adate, akdate) -char *adate; -struct ktime_date *akdate; { +static afs_int32 ktime_ParseDate(char *adate, struct ktime_date *akdate) +{ int code; afs_int32 month, day, year, hour, min, sec; char never[7]; @@ -542,7 +532,8 @@ struct ktime_date *akdate; { } /* get useful error message to print about date input format */ -char *ktime_GetDateUsage() { +char *ktime_GetDateUsage(void) +{ return "date format is 'mm/dd/yy [hh:mm]', using a 24 hour clock"; } diff --git a/src/util/ktime.h b/src/util/ktime.h index 2b39274..c2b5ca2 100644 --- a/src/util/ktime.h +++ b/src/util/ktime.h @@ -9,7 +9,8 @@ #ifndef __INCL_KTIME_ #define __INCL_KTIME_ 1 -#undef min /* XXX */ + +#undef min /* redefined at end of file */ struct ktime_date { afs_int32 mask; /* mask of valid fields */ short year; @@ -56,5 +57,5 @@ struct ktime { afs_int32 ktime_InterpretDate(struct ktime_date *akdate); - +#define min(a,b) (((a) < (b)) ? (a) : (b)) #endif /* __INCL_KTIME_ */ diff --git a/src/util/netutils.c b/src/util/netutils.c index 201b8f0..c475095 100644 --- a/src/util/netutils.c +++ b/src/util/netutils.c @@ -44,6 +44,7 @@ RCSID("$Header$"); #endif #include "assert.h" +#include "afsutil.h" #include "dirpath.h" #define AFS_IPINVALID 0xffffffff /* invalid IP address */ @@ -57,10 +58,7 @@ RCSID("$Header$"); ** w.x.y.z # machineName * returns the network interface IP Address in NBO */ -afs_uint32 -extract_Addr(line, maxSize) -char* line; -int maxSize; +afs_uint32 extract_Addr(char *line, int maxSize) { char bytes[4][32]; int i=0,n=0; @@ -114,13 +112,17 @@ int maxSize; * All addresses should be in NBO (as returned by rx_getAllAddr() and * parsed by extract_Addr(). */ -int parseNetRestrictFile(outAddrs, mask, mtu, maxAddrs, nAddrs, reason, fileName) - afs_uint32 outAddrs[]; /* output address array */ - afs_uint32 *mask, *mtu; /* optional mask and mtu */ - afs_uint32 maxAddrs; /* max number of addresses */ - afs_uint32 *nAddrs; /* number of Addresses in output array */ - char reason[]; /* reason for failure */ - const char *fileName; /* filename to parse */ +/* + afs_uint32 outAddrs[]; * output address array * + afs_uint32 *mask, *mtu; * optional mask and mtu * + afs_uint32 maxAddrs; * max number of addresses * + afs_uint32 *nAddrs; * number of Addresses in output array * + char reason[]; * reason for failure * + const char *fileName; * filename to parse * +*/ + +int parseNetRestrictFile(afs_uint32 outAddrs[], afs_uint32 *mask, afs_uint32 *mtu, + afs_uint32 maxAddrs, afs_uint32 *nAddrs, char reason[], const char *fileName) { FILE* fp; char line[MAX_NETFILE_LINE]; @@ -213,12 +215,8 @@ int parseNetRestrictFile(outAddrs, mask, mtu, maxAddrs, nAddrs, reason, fileName * be valid. This function returns the number of valid * interface addresses. Pulled out from afsd.c */ -int -ParseNetInfoFile(final, mask, mtu, max, reason, fileName) -afs_uint32 *final, *mask, *mtu; -int max; /* max number of interfaces */ -char reason[]; -const char *fileName; +int ParseNetInfoFile(afs_uint32 *final, afs_uint32 *mask, afs_uint32 *mtu, + int max, char reason[], const char *fileName) { afs_uint32 existingAddr[MAXIPADDRS], existingMask[MAXIPADDRS], existingMtu[MAXIPADDRS]; @@ -330,10 +328,10 @@ const char *fileName; * and return them in the first buffer. Return number of common * entries. */ -int filterAddrs(addr1,addr2,mask1,mask2,mtu1,mtu2,n1,n2) -afs_uint32 addr1[],addr2[]; -afs_uint32 mask1[], mask2[]; -afs_uint32 mtu1[], mtu2[]; +int filterAddrs(afs_uint32 addr1[], afs_uint32 addr2[], + afs_uint32 mask1[], afs_uint32 mask2[], + afs_uint32 mtu1[], afs_uint32 mtu2[], + int n1, int n2) { afs_uint32 taddr[MAXIPADDRS]; afs_uint32 tmask[MAXIPADDRS]; @@ -385,14 +383,9 @@ afs_uint32 mtu1[], mtu2[]; * parse both netinfo and netrerstrict files and return the final * set of IP addresses to use */ -int parseNetFiles(addrbuf, maskbuf,mtubuf,max,reason, niFileName, nrFileName) -afs_uint32 addrbuf[]; -afs_uint32 maskbuf[]; -afs_uint32 mtubuf[]; -afs_uint32 max; /* Entries in addrbuf, maskbuf and mtubuf */ -char reason[]; -const char *niFileName; -const char *nrFileName; +/* max - Entries in addrbuf, maskbuf and mtubuf */ +int parseNetFiles(afs_uint32 addrbuf[], afs_uint32 maskbuf[], afs_uint32 mtubuf[], + afs_uint32 max, char reason[], const char *niFileName, const char *nrFileName) { afs_uint32 addrbuf1[MAXIPADDRS],maskbuf1[MAXIPADDRS], mtubuf1[MAXIPADDRS]; afs_uint32 addrbuf2[MAXIPADDRS],maskbuf2[MAXIPADDRS], mtubuf2[MAXIPADDRS]; diff --git a/src/util/netutils.h b/src/util/netutils.h index a7d938f..fe0047c 100644 --- a/src/util/netutils.h +++ b/src/util/netutils.h @@ -14,32 +14,6 @@ #ifndef TRANSARC_NETUTILS_H #define TRANSARC_NETUTILS_H -/* Network and IP address utility and file parsing functions */ - -extern int parseNetRestrictFile( - afs_uint32 outAddrs[], - afs_uint32 mask[], - afs_uint32 mtu[], - afs_uint32 maxAddrs, - afs_uint32 *nAddrs, - char reason[], - const char *fileName - ); - -extern int filterAddrs( - afs_uint32 addr1[],afs_uint32 addr2[], - afs_uint32 mask1[], afs_uint32 mask2[], - afs_uint32 mtu1[], afs_uint32 mtu2[] - ); - -extern int parseNetFiles( - afs_uint32 addrbuf[], - afs_uint32 maskbuf[], - afs_uint32 mtubuf[], - afs_uint32 max, - char reason[], - const char *niFilename, - const char *nrFilename - ); +#include "afsutil_prototypes.h" #endif /* TRANSARC_NETUTILS_H */ diff --git a/src/util/uuid.c b/src/util/uuid.c index 6013233..c1a4716 100644 --- a/src/util/uuid.c +++ b/src/util/uuid.c @@ -98,28 +98,34 @@ static u_short uuid_time_adjust, clock_seq; static afs_uint32 rand_m, rand_ia, rand_ib, rand_irand, uuid_init_done = 0; #define uuid_create_nil(uuid) memset(uuid, 0, sizeof(afsUUID)) -afs_int32 afs_uuid_equal(u1, u2) afsUUID *u1, *u2; { return(uuid_memcmp((void *)u1, (void *)u2, sizeof (afsUUID)) == 0); } -afs_int32 afs_uuid_is_nil(u1) afsUUID *u1; { + +afs_int32 afs_uuid_equal(afsUUID *u1, afsUUID *u2) +{ + return(uuid_memcmp((void *)u1, (void *)u2, sizeof (afsUUID)) == 0); +} + +afs_int32 afs_uuid_is_nil(afsUUID *u1) +{ if (!u1) return 1; return(uuid_memcmp((void *)u1, (void *)&afs_uuid_g_nil_uuid, sizeof (afsUUID)) == 0); } - -void afs_htonuuid(uuidp) -afsUUID *uuidp; { +void afs_htonuuid(afsUUID *uuidp) +{ uuidp->time_low = htonl(uuidp->time_low); uuidp->time_mid = htons(uuidp->time_mid); uuidp->time_hi_and_version = htons(uuidp->time_hi_and_version); } -void afs_ntohuuid(uuidp) -afsUUID *uuidp; { +void afs_ntohuuid(afsUUID *uuidp) +{ uuidp->time_low = ntohl(uuidp->time_low); uuidp->time_mid = ntohs(uuidp->time_mid); uuidp->time_hi_and_version = ntohs(uuidp->time_hi_and_version); } -static u_short true_random () { +static u_short true_random (void) +{ rand_m += 7; rand_ia += 1907; rand_ib += 73939; @@ -131,9 +137,8 @@ static u_short true_random () { } -static afs_int32 time_cmp (time1, time2) -uuid_time_p_t time1; -uuid_time_p_t time2; { +static afs_int32 time_cmp (uuid_time_p_t time1, uuid_time_p_t time2) +{ if (time1->hi < time2->hi) return (-1); if (time1->hi > time2->hi) return (1); if (time1->lo < time2->lo) return (-1); @@ -201,8 +206,8 @@ afsUUID_to_string(const afsUUID *uuid, char *str, size_t strsz) } #endif -afs_int32 afs_uuid_create (uuid) -afsUUID *uuid; { +afs_int32 afs_uuid_create (afsUUID *uuid) +{ uuid_address_t eaddr; afs_int32 got_no_time = 0, code; @@ -287,8 +292,8 @@ afsUUID *uuid; { return 0; } -u_short afs_uuid_hash (uuid) -afsUUID *uuid; { +u_short afs_uuid_hash (afsUUID *uuid) +{ short c0=0, c1=0, x, y; char *next_uuid = (char *) uuid; @@ -412,7 +417,7 @@ void uuid__get_os_time (uuid_time_t *os_time) { struct timeval tp; - if (gettimeofday (&tp, (struct timezone *) 0)) { + if (gettimeofday (&tp, NULL)) { perror ("uuid__get_time"); exit (-1); } diff --git a/src/venus/cacheout.c b/src/venus/cacheout.c index 5928121..7ddde1f 100644 --- a/src/venus/cacheout.c +++ b/src/venus/cacheout.c @@ -224,7 +224,7 @@ Command is executed in user's cell. static MyBeforeProc(as, arock) struct cmd_syndesc *as; char *arock; { - register char *tcell = (char *)0; + register char *tcell = NULL; char confdir[200]; struct afsconf_dir *tdir; struct afsconf_cell info; @@ -238,7 +238,7 @@ char *arock; { if (code) printf("Warning: could not initialize network communication.\n"); - junk=(struct rx_securityClass *)rxnull_NewClientSecurityObject(); + junk=rxnull_NewClientSecurityObject(); tdir=afsconf_Open(confdir); if(!tdir) printf("Warning: could not get cell configuration.\n"); @@ -282,7 +282,7 @@ char **argv; /* Look in /usr/vice/etc (client side database). */ - cmd_SetBeforeProc(MyBeforeProc, (char *) 0); + cmd_SetBeforeProc(MyBeforeProc, NULL); ts = cmd_CreateSyntax("initcmd"/*"invalidatecache"*/,InvalidateCache,0, "invalidate server ACL cache"); diff --git a/src/venus/cmdebug.c b/src/venus/cmdebug.c index 1db854b..c59b1ba 100644 --- a/src/venus/cmdebug.c +++ b/src/venus/cmdebug.c @@ -18,6 +18,13 @@ RCSID("$Header$"); #include #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #ifdef AFS_AIX32_ENV #include #endif @@ -27,7 +34,6 @@ RCSID("$Header$"); #include #include -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern struct hostent *hostutil_GetHostByName(); static PrintCacheConfig(aconn) @@ -280,7 +286,7 @@ char **argv; { #endif rx_Init(0); - ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "probe unik server"); + ts = cmd_CreateSyntax(NULL, CommandProc, 0, "probe unik server"); cmd_AddParm(ts, "-servers", CMD_SINGLE, CMD_REQUIRED, "server machine"); cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "IP port"); cmd_AddParm(ts, "-long", CMD_FLAG, CMD_OPTIONAL, "print all info"); diff --git a/src/venus/fs.c b/src/venus/fs.c index 05e5ed6..40e8749 100644 --- a/src/venus/fs.c +++ b/src/venus/fs.c @@ -27,6 +27,15 @@ RCSID("$Header$"); #ifdef AFS_AIX32_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #undef VIRTUE #undef VICE #include "afs/prs_fs.h" @@ -1121,7 +1130,7 @@ static SetVolCmd(as) blob.in = space; status = (VolumeStatus *)space; status->MinQuota = status->MaxQuota = -1; - offmsg = (char *) 0; + offmsg = NULL; if (as->parms[1].items) { code = util_GetInt32(as->parms[1].items->data, &status->MaxQuota); if (code) { @@ -1459,7 +1468,7 @@ defect #3069 if (as->parms[2].items) /* cell name specified */ cellName = as->parms[2].items->data; else - cellName = (char *) 0; + cellName = NULL; volName = as->parms[1].items->data; if (strlen(volName) >= 64) { @@ -1777,7 +1786,7 @@ static SetCacheSizeCmd(as) printf("'fs setcache' not allowed on memory cache based cache managers.\n"); } else { - Die(errno, (char *) 0); + Die(errno, NULL); } return 1; } @@ -1795,13 +1804,13 @@ static GetCacheParmsCmd(as) afs_int32 parms[MAXGCSIZE]; memset(parms, '\0', sizeof parms); /* avoid Purify UMR error */ - blob.in = (char *) 0; + blob.in = NULL; blob.in_size = 0; blob.out_size = sizeof(parms); blob.out = (char *) parms; code = pioctl(0, VIOCGETCACHEPARMS, &blob, 1); if (code) { - Die(errno, (char *) 0); + Die(errno, NULL); return 1; } printf("AFS using %d of the cache's available %d 1K byte blocks.\n", @@ -2058,13 +2067,13 @@ static WSCellCmd(as) struct ViceIoctl blob; blob.in_size = 0; - blob.in = (char *) 0; + blob.in = NULL; blob.out_size = MAXSIZE; blob.out = space; - code = pioctl((char *) 0, VIOC_GET_WS_CELL, &blob, 1); + code = pioctl(NULL, VIOC_GET_WS_CELL, &blob, 1); if (code) { - Die(errno, (char *) 0); + Die(errno, NULL); return 1; } @@ -2425,7 +2434,7 @@ static VLDBInit(noAuthFlag, info) strcpy(sname.cell, info->name); sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), NULL); if (code) { fprintf(stderr, "%s: Could not get afs tokens, running unauthenticated.\n", pn); scIndex = 0; @@ -2443,7 +2452,7 @@ static VLDBInit(noAuthFlag, info) else scIndex = 0; /* don't authenticate */ switch (scIndex) { case 0: - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); break; case 1: @@ -2862,7 +2871,7 @@ static afs_int32 SetCryptCmd(as) blob.out_size = 0; code = pioctl(0, VIOC_SETRXKCRYPT, &blob, 1); if (code) - Die(errno, (char *) 0); + Die(errno, NULL); return 0; } @@ -2874,14 +2883,14 @@ static afs_int32 GetCryptCmd(as) struct ViceIoctl blob; char *tp; - blob.in = (char *) 0; + blob.in = NULL; blob.in_size = 0; blob.out_size = sizeof(flag); blob.out = space; code = pioctl(0, VIOC_GETRXKCRYPT, &blob, 1); - if (code) Die(errno, (char *) 0); + if (code) Die(errno, NULL); else { tp = space; memcpy(&flag, tp, sizeof(afs_int32)); diff --git a/src/venus/fstrace.c b/src/venus/fstrace.c index 837c496..844942b 100644 --- a/src/venus/fstrace.c +++ b/src/venus/fstrace.c @@ -25,6 +25,15 @@ RCSID("$Header$"); #include #undef abs #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -619,7 +628,7 @@ printf("Magic was %x instead of %x -> %x\n", magic, CAT_MAGIC, CATD_ERR); return( CATD_ERR ); */ } -/* if ((catd->_mem = shmat((int)fileno(catd->_fd), (char *)0, SHM_MAP | SHM_RDONLY)) +/* if ((catd->_mem = shmat((int)fileno(catd->_fd), NULL, SHM_MAP | SHM_RDONLY)) == (char * )ERR ) { */ if (1) { /* disable the shmat, share memory segemnt */ @@ -2507,7 +2516,7 @@ icl_LogFreeUse(logp) osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); logp->firstUsed = logp->firstFree = 0; logp->logElements = 0; - logp->datap = (afs_int32 *)0; + logp->datap = NULL; } return 0; } @@ -2678,7 +2687,7 @@ static DoDump(as, arock) return 1; } waitTime = strtol(as->parms[3].items->data, - (char **)0, 0); + NULL, 0); } if (as->parms[2].items) diff --git a/src/venus/kdump.c b/src/venus/kdump.c index 2ee6961..4b60827 100644 --- a/src/venus/kdump.c +++ b/src/venus/kdump.c @@ -521,31 +521,6 @@ extern struct cmd_syndesc *cmd_CreateSyntax(); extern int errno; int opencore(); -/* Note: this should agree with the definition in afs_buffer.c */ -#if defined(AFS_OSF_ENV) -#define AFS_USEBUFFERS 1 -#endif - -struct buffer { -#ifdef AFS_SGI62_ENV - ino64_t fid[1]; -#else - afs_int32 fid[1]; -#endif - afs_int32 page; - afs_int32 accesstime; - struct buffer *hashNext; - char *data; - char lockers; - char b_dirty; - char hashIndex; -#if AFS_USEBUFFERS - struct buf *bufp; -#endif - afs_rwlock_t lock; /* the lock for this structure */ -}; - - #if defined(AFS_HPUX_ENV) && defined(__LP64__) #define afs_nlist nlist64 #define AFSNLIST(N, C) nlist64((N), (C)) @@ -901,7 +876,7 @@ char **argv; { sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *) 0, cmdproc, 0, "Read internal cache manager structs"); + ts = cmd_CreateSyntax(NULL, cmdproc, 0, "Read internal cache manager structs"); cmd_AddParm(ts, "-kobj", CMD_SINGLE, CMD_OPTIONAL, "kernel object (default /vmunix)"); cmd_AddParm(ts, "-kcore", CMD_SINGLE, CMD_OPTIONAL, "kernel core image (default /dev/kmem)"); cmd_AddParm(ts, "-cells", CMD_FLAG, CMD_OPTIONAL, "cell state"); @@ -1631,11 +1606,11 @@ int pnt; #ifdef AFS_SGI62_ENV if (pnt) printf("Buffer #%d:\tfid=%llu page=%d, accTime=%d,\n\tHash=%x, data=%x, lockers=%x, dirty=%d, hashI=%d\n", i, bp->fid[0], bp->page, bp->accesstime, - bp->hashNext, bp->data, bp->lockers, bp->b_dirty, bp->hashIndex); + bp->hashNext, bp->data, bp->lockers, bp->dirty, bp->hashIndex); #else if (pnt) printf("Buffer #%d:\tfid=%lu page=%d, accTime=%d,\n\tHash=%x, data=%x, lockers=%x, dirty=%d, hashI=%d\n", i, bp->fid[0], bp->page, bp->accesstime, - bp->hashNext, bp->data, bp->lockers, bp->b_dirty, bp->hashIndex); + bp->hashNext, bp->data, bp->lockers, bp->dirty, bp->hashIndex); #endif j++; } diff --git a/src/venus/livesys.c b/src/venus/livesys.c index f736bb1..cb40759 100644 --- a/src/venus/livesys.c +++ b/src/venus/livesys.c @@ -21,6 +21,13 @@ RCSID("$Header$"); #include #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include diff --git a/src/venus/test/getinitparams.c b/src/venus/test/getinitparams.c index b7fa51d..92920a6 100644 --- a/src/venus/test/getinitparams.c +++ b/src/venus/test/getinitparams.c @@ -113,7 +113,7 @@ char **av; sigaction(SIGSEGV, &nsa, NULL); #endif - ts = cmd_CreateSyntax((char *)0, GetInitParamsCmd, (char *)0, + ts = cmd_CreateSyntax(NULL, GetInitParamsCmd, NULL, "Get CM initialization parameters"); cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "filename in AFS"); diff --git a/src/venus/test/owntest.c b/src/venus/test/owntest.c index 8166593..fab6c9e 100644 --- a/src/venus/test/owntest.c +++ b/src/venus/test/owntest.c @@ -9,6 +9,9 @@ #include #include +#ifdef HAVE_STDLIB_H +#include +#endif RCSID("$Header$"); @@ -44,8 +47,8 @@ char **argv; { perror("chmod back to RW"); exit(errno); } - gettimeofday(&tv[0], (char *) 0); - gettimeofday(&tv[1], (char *) 0); + gettimeofday(&tv[0], NULL); + gettimeofday(&tv[1], NULL); tv[0].tv_sec -= 10000; tv[0].tv_usec = 0; tv[1].tv_sec -= 20000; diff --git a/src/venus/twiddle.c b/src/venus/twiddle.c index c8e9fd9..6e5b6c2 100644 --- a/src/venus/twiddle.c +++ b/src/venus/twiddle.c @@ -149,7 +149,7 @@ char **argv; { /* try to find volume location information */ - ts = cmd_CreateSyntax((char *)0, Twiddle, 0, "adjust rx parms"); + ts = cmd_CreateSyntax(NULL, Twiddle, 0, "adjust rx parms"); cmd_AddParm(ts, "-initReceiveWindow ", CMD_SINGLE, CMD_OPTIONAL, "16"); cmd_AddParm(ts, "-maxReceiveWindow ", CMD_SINGLE, CMD_OPTIONAL, "16"); cmd_AddParm(ts, "-initSendWindow ", CMD_SINGLE, CMD_OPTIONAL, "8"); diff --git a/src/venus/up.c b/src/venus/up.c index 8db512a..c5f3cb6 100644 --- a/src/venus/up.c +++ b/src/venus/up.c @@ -43,6 +43,15 @@ RCSID("$Header$"); #ifdef HAVE_NETINET_IN_H #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /* ************************************************************* */ diff --git a/src/vfsck/main.c b/src/vfsck/main.c index 2329b35..7c15dbb 100644 --- a/src/vfsck/main.c +++ b/src/vfsck/main.c @@ -404,7 +404,7 @@ main(argc, argv) argv++; } else #endif - checkfilesys(*argv++, (char *)0); + checkfilesys(*argv++, NULL); } #ifdef AFS_HPUX_ENV if (ge_danger) @@ -860,8 +860,8 @@ checkfilesys(filesys, parname) if (debug) printf("\n"); } - zlnhead = (struct zlncnt *)0; - duplist = (struct dups *)0; + zlnhead = NULL; + duplist = NULL; free(blockmap); free(statemap); @@ -982,8 +982,8 @@ n printf("(%d frags, %d blocks, %.1f%% fragmentation)\n", } } #endif - zlnhead = (struct zlncnt *)0; - duplist = (struct dups *)0; + zlnhead = NULL; + duplist = NULL; #if defined(AFS_SUN_ENV) && !defined(AFS_SUN3_ENV) /* WAS AFS_SUN5_ENV */ #ifdef notdef @@ -1150,7 +1150,7 @@ n printf("(%d frags, %d blocks, %.1f%% fragmentation)\n", #endif #else #ifdef AFS_DEC_ENV - if (mount(devname, pname, 0, GT_ULTRIX, (char *) 0)) { + if (mount(devname, pname, 0, GT_ULTRIX, NULL)) { #else if (mount(devname, pname, 0) < 0) { #endif @@ -1468,5 +1468,5 @@ rawname(bldev) return(rawdev); } } - return (char *)0; + return NULL; } diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 1b28e10..0677e80 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -45,6 +45,15 @@ RCSID("$Header$"); #include #include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #ifndef AFS_LINUX20_ENV #include #include @@ -155,8 +164,7 @@ extern struct afsconf_dir *confDir; extern afs_int32 dataVersionHigh; extern int SystemId; -extern struct AFSCallStatistics AFSCallStats; -struct AFSCallStatistics AFSCallStats; +static struct AFSCallStatistics AFSCallStats; #if FS_STATS_DETAILED struct fs_stats_FullPerfStats afs_FullPerfStats; extern int AnonymousID; @@ -551,9 +559,9 @@ common_FetchData (acall, Fid, Pos, Len, OutStatus, CallBack, Sync, type) * Get volume/vnode for the fetched file; caller's access rights to * it are also returned */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, READ_LOCK, &rights, &anyrights)) + &client, READ_LOCK, &rights, &anyrights))) goto Bad_FetchData; SetVolumeSync(Sync, volptr); @@ -575,8 +583,8 @@ common_FetchData (acall, Fid, Pos, Len, OutStatus, CallBack, Sync, type) #endif /* FS_STATS_DETAILED */ /* Check whether the caller has permission access to fetch the data */ - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_FETCHDATA, 0)) + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_FETCHDATA, 0))) goto Bad_FetchData; /* @@ -602,7 +610,7 @@ common_FetchData (acall, Fid, Pos, Len, OutStatus, CallBack, Sync, type) errorCode = FetchData_RXStyle(volptr, targetptr, acall, Pos, Len, type, &bytesToXfer, &bytesXferred); #else - if (errorCode = FetchData_RXStyle(volptr, targetptr, acall, Pos, Len, type)) + if ((errorCode = FetchData_RXStyle(volptr, targetptr, acall, Pos, Len, type))) goto Bad_FetchData; #endif /* FS_STATS_DETAILED */ @@ -762,7 +770,7 @@ afs_int32 SRXAFS_FetchACL (acall, Fid, AccessList, OutStatus, Sync) FS_LOCK AFSCallStats.FetchACL++, AFSCallStats.TotalCalls++; FS_UNLOCK - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_FetchACL; /* Get ptr to client data for user Id for logging */ @@ -779,21 +787,21 @@ afs_int32 SRXAFS_FetchACL (acall, Fid, AccessList, OutStatus, Sync) * Get volume/vnode for the fetched file; caller's access rights to it * are also returned */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, READ_LOCK, &rights, &anyrights)) + &client, READ_LOCK, &rights, &anyrights))) goto Bad_FetchACL; SetVolumeSync(Sync, volptr); /* Check whether we have permission to fetch the ACL */ - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_FETCHACL, 0)) + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_FETCHACL, 0))) goto Bad_FetchACL; /* Get the Access List from the dir's vnode */ - if (errorCode = RXFetch_AccessList(targetptr, parentwhentargetnotdir, - AccessList)) + if ((errorCode = RXFetch_AccessList(targetptr, parentwhentargetnotdir, + AccessList))) goto Bad_FetchACL; /* Get OutStatus back From the target Vnode */ @@ -866,9 +874,9 @@ SAFSS_FetchStatus (acall, Fid, OutStatus, CallBack, Sync) * Get volume/vnode for the fetched file; caller's rights to it are * also returned */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, READ_LOCK, &rights, &anyrights)) + &client, READ_LOCK, &rights, &anyrights))) goto Bad_FetchStatus; /* set volume synchronization information */ @@ -876,8 +884,8 @@ SAFSS_FetchStatus (acall, Fid, OutStatus, CallBack, Sync) /* Are we allowed to fetch Fid's status? */ if (targetptr->disk.type != vDirectory) { - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_FETCHSTATUS, 0)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_FETCHSTATUS, 0))) { if (rx_GetCallAbortCode(acall) == errorCode) rx_SetCallAbortCode(acall, 0); goto Bad_FetchStatus; @@ -960,7 +968,7 @@ afs_int32 SRXAFS_BulkStatus(acall, Fids, OutStats, CallBacks, Sync) malloc(nfiles * sizeof(struct AFSCallBack)); CallBacks->AFSCBs_len = nfiles; - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_BulkStatus; tfid = Fids->AFSCBFids_val; @@ -969,10 +977,10 @@ afs_int32 SRXAFS_BulkStatus(acall, Fids, OutStats, CallBacks, Sync) * Get volume/vnode for the fetched file; caller's rights to it * are also returned */ - if (errorCode = + if ((errorCode = GetVolumePackage(tcon, tfid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, &client, - READ_LOCK, &rights, &anyrights)) + READ_LOCK, &rights, &anyrights))) goto Bad_BulkStatus; /* set volume synchronization information, but only once per call */ if (i == nfiles) @@ -980,8 +988,8 @@ afs_int32 SRXAFS_BulkStatus(acall, Fids, OutStats, CallBacks, Sync) /* Are we allowed to fetch Fid's status? */ if (targetptr->disk.type != vDirectory) { - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_FETCHSTATUS, 0)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_FETCHSTATUS, 0))) { if (rx_GetCallAbortCode(acall) == errorCode) rx_SetCallAbortCode(acall, 0); goto Bad_BulkStatus; @@ -1097,7 +1105,7 @@ afs_int32 SRXAFS_InlineBulkStatus(acall, Fids, OutStats, CallBacks, Sync) malloc(nfiles * sizeof(struct AFSCallBack)); CallBacks->AFSCBs_len = nfiles; - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) { + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) { goto Bad_InlineBulkStatus; } @@ -1107,10 +1115,10 @@ afs_int32 SRXAFS_InlineBulkStatus(acall, Fids, OutStats, CallBacks, Sync) * Get volume/vnode for the fetched file; caller's rights to it * are also returned */ - if (errorCode = + if ((errorCode = GetVolumePackage(tcon, tfid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, &client, - READ_LOCK, &rights, &anyrights)) { + READ_LOCK, &rights, &anyrights))) { tstatus = &OutStats->AFSBulkStats_val[i]; tstatus->errorCode = errorCode; parentwhentargetnotdir = (Vnode *) 0; @@ -1125,8 +1133,8 @@ afs_int32 SRXAFS_InlineBulkStatus(acall, Fids, OutStats, CallBacks, Sync) /* Are we allowed to fetch Fid's status? */ if (targetptr->disk.type != vDirectory) { - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_FETCHSTATUS, 0)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_FETCHSTATUS, 0))) { tstatus = &OutStats->AFSBulkStats_val[i]; tstatus->errorCode = errorCode; PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr); @@ -1218,7 +1226,7 @@ afs_int32 SRXAFS_FetchStatus (acall, Fid, OutStatus, CallBack, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_FetchStatus; code = SAFSS_FetchStatus (acall, Fid, OutStatus, CallBack, Sync); @@ -1303,7 +1311,7 @@ afs_int32 SRXAFS_StoreData (acall, Fid, InStatus, Pos, Length, FileLength, OutSt AFSCallStats.StoreData++, AFSCallStats.TotalCalls++; FS_UNLOCK - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_StoreData; /* Get ptr to client data for user Id for logging */ @@ -1317,9 +1325,9 @@ afs_int32 SRXAFS_StoreData (acall, Fid, InStatus, Pos, Length, FileLength, OutSt * Get associated volume/vnode for the stored file; caller's rights * are also returned */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, MustNOTBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_StoreData; } @@ -1333,8 +1341,8 @@ afs_int32 SRXAFS_StoreData (acall, Fid, InStatus, Pos, Length, FileLength, OutSt } /* Check if we're allowed to store the data */ - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_STOREDATA, InStatus)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_STOREDATA, InStatus))) { goto Bad_StoreData; } @@ -1550,7 +1558,7 @@ afs_int32 SRXAFS_StoreACL (acall, Fid, AccessList, OutStatus, Sync) FS_UNLOCK TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_StoreACL; /* Get ptr to client data for user Id for logging */ @@ -1569,9 +1577,9 @@ afs_int32 SRXAFS_StoreACL (acall, Fid, AccessList, OutStatus, Sync) * Get associated volume/vnode for the target dir; caller's rights * are also returned. */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_StoreACL; } @@ -1579,13 +1587,13 @@ afs_int32 SRXAFS_StoreACL (acall, Fid, AccessList, OutStatus, Sync) SetVolumeSync(Sync, volptr); /* Check if we have permission to change the dir's ACL */ - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_STOREACL, &InStatus)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_STOREACL, &InStatus))) { goto Bad_StoreACL; } /* Build and store the new Access List for the dir */ - if (errorCode = RXStore_AccessList(targetptr, AccessList)) { + if ((errorCode = RXStore_AccessList(targetptr, AccessList))) { goto Bad_StoreACL; } @@ -1666,9 +1674,9 @@ SAFSS_StoreStatus (acall, Fid, InStatus, OutStatus, Sync) * Get volume/vnode for the target file; caller's rights to it are * also returned */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_StoreStatus; } @@ -1676,8 +1684,8 @@ SAFSS_StoreStatus (acall, Fid, InStatus, OutStatus, Sync) SetVolumeSync(Sync, volptr); /* Check if the caller has proper permissions to store status to Fid */ - if (errorCode = Check_PermissionRights(targetptr, client, rights, - CHK_STORESTATUS, InStatus)) { + if ((errorCode = Check_PermissionRights(targetptr, client, rights, + CHK_STORESTATUS, InStatus))) { goto Bad_StoreStatus; } /* @@ -1739,7 +1747,7 @@ afs_int32 SRXAFS_StoreStatus (acall, Fid, InStatus, OutStatus, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_StoreStatus; code = SAFSS_StoreStatus (acall, Fid, InStatus, OutStatus, Sync); @@ -1811,22 +1819,22 @@ SAFSS_RemoveFile (acall, DirFid, Name, OutDirStatus, Sync) * Get volume/vnode for the parent dir; caller's access rights are * also returned */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_RemoveFile; } /* set volume synchronization information */ SetVolumeSync(Sync, volptr); /* Does the caller has delete (& write) access to the parent directory? */ - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_DELETE)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_DELETE))) { goto Bad_RemoveFile; } /* Actually delete the desired file */ - if (errorCode = DeleteTarget(parentptr, volptr, &targetptr, &dir, - &fileFid, Name, MustNOTBeDIR)) { + if ((errorCode = DeleteTarget(parentptr, volptr, &targetptr, &dir, + &fileFid, Name, MustNOTBeDIR))) { goto Bad_RemoveFile; } @@ -1899,7 +1907,7 @@ afs_int32 SRXAFS_RemoveFile (acall, DirFid, Name, OutDirStatus, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_RemoveFile; code = SAFSS_RemoveFile (acall, DirFid, Name, OutDirStatus, Sync); @@ -1981,9 +1989,9 @@ SAFSS_CreateFile (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, * Get associated volume/vnode for the parent dir; caller long are * also returned */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_CreateFile; } @@ -1991,12 +1999,12 @@ SAFSS_CreateFile (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, SetVolumeSync(Sync, volptr); /* Can we write (and insert) onto the parent directory? */ - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT))) { goto Bad_CreateFile; } /* get a new vnode for the file to be created and set it up */ - if (errorCode = Alloc_NewVnode(parentptr, &dir, volptr, &targetptr, - Name, OutFid, vFile, nBlocks(0))) { + if ((errorCode = Alloc_NewVnode(parentptr, &dir, volptr, &targetptr, + Name, OutFid, vFile, nBlocks(0)))) { goto Bad_CreateFile; } @@ -2067,7 +2075,7 @@ afs_int32 SRXAFS_CreateFile (acall, DirFid, Name, InStatus, OutFid, OutFidStatus TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_CreateFile; code = SAFSS_CreateFile (acall, DirFid, Name, InStatus, OutFid, @@ -2188,25 +2196,25 @@ SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDirStatus, newrights = rights, newanyrights = anyrights; } else - if (errorCode = GetVolumePackage(tcon, NewDirFid, &volptr, + if ((errorCode = GetVolumePackage(tcon, NewDirFid, &volptr, &newvptr, MustBeDIR, &parent, &client, WRITE_LOCK, &newrights, - &newanyrights)) { + &newanyrights))) { DFlush(); goto Bad_Rename; } } else { - if (errorCode = GetVolumePackage(tcon, NewDirFid, &volptr, + if ((errorCode = GetVolumePackage(tcon, NewDirFid, &volptr, &newvptr, MustBeDIR, &parent, &client, WRITE_LOCK, &newrights, - &newanyrights)) { + &newanyrights))) { DFlush(); goto Bad_Rename; } - if (errorCode = GetVolumePackage(tcon, OldDirFid, &volptr, &oldvptr, + if ((errorCode = GetVolumePackage(tcon, OldDirFid, &volptr, &oldvptr, MustBeDIR, &parent, &client, WRITE_LOCK, - &rights, &anyrights)) { + &rights, &anyrights))) { DFlush(); goto Bad_Rename; } @@ -2215,10 +2223,10 @@ SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDirStatus, /* set volume synchronization information */ SetVolumeSync(Sync, volptr); - if (errorCode = CheckWriteMode(oldvptr, rights, PRSFS_DELETE)) { + if ((errorCode = CheckWriteMode(oldvptr, rights, PRSFS_DELETE))) { goto Bad_Rename; } - if (errorCode = CheckWriteMode(newvptr, newrights, PRSFS_INSERT)) { + if ((errorCode = CheckWriteMode(newvptr, newrights, PRSFS_INSERT))) { goto Bad_Rename; } @@ -2230,14 +2238,14 @@ SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDirStatus, if (oldvptr->disk.cloned) { ViceLog(25, ("Rename : calling CopyOnWrite on old dir\n")); - if ( errorCode = CopyOnWrite(oldvptr, volptr) ) + if ( ( errorCode = CopyOnWrite(oldvptr, volptr) ) ) goto Bad_Rename; } SetDirHandle(&olddir, oldvptr); if (newvptr->disk.cloned) { ViceLog(25, ("Rename : calling CopyOnWrite on new dir\n")); - if ( errorCode = CopyOnWrite(newvptr, volptr) ) + if ( ( errorCode = CopyOnWrite(newvptr, volptr) ) ) goto Bad_Rename; } @@ -2362,7 +2370,7 @@ SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDirStatus, if ((fileptr->disk.type == vDirectory ) && (fileptr->disk.cloned) ) { ViceLog(25, ("Rename : calling CopyOnWrite on target dir\n")); - if ( errorCode = CopyOnWrite(fileptr, volptr) ) + if ( ( errorCode = CopyOnWrite(fileptr, volptr) ) ) goto Bad_Rename; } @@ -2410,7 +2418,7 @@ SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDirStatus, * highly unlikely that it would work since it would involve issuing * another create. */ - if (errorCode = Create(&newdir,(char *) NewName, &fileFid)) + if ((errorCode = Create(&newdir,(char *) NewName, &fileFid))) goto Bad_Rename; /* Delete the old name */ @@ -2535,7 +2543,7 @@ afs_int32 SRXAFS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, OutOldDi TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_Rename; code = SAFSS_Rename (acall, OldDirFid, OldName, NewDirFid, NewName, @@ -2619,9 +2627,9 @@ SAFSS_Symlink (acall, DirFid, Name, LinkContents, InStatus, OutFid, OutFidStatus * Get the vnode and volume for the parent dir along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_SymLink; } @@ -2629,7 +2637,7 @@ SAFSS_Symlink (acall, DirFid, Name, LinkContents, InStatus, OutFid, OutFidStatus SetVolumeSync(Sync, volptr); /* Does the caller has insert (and write) access to the parent directory? */ - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT))) { goto Bad_SymLink; } @@ -2651,9 +2659,9 @@ SAFSS_Symlink (acall, DirFid, Name, LinkContents, InStatus, OutFid, OutFidStatus } /* get a new vnode for the symlink and set it up */ - if (errorCode = Alloc_NewVnode(parentptr, &dir, volptr, &targetptr, + if ((errorCode = Alloc_NewVnode(parentptr, &dir, volptr, &targetptr, Name, OutFid, vSymlink, - nBlocks(strlen((char *) LinkContents)))) { + nBlocks(strlen((char *) LinkContents))))) { goto Bad_SymLink; } @@ -2730,7 +2738,7 @@ afs_int32 SRXAFS_Symlink (acall, DirFid, Name, LinkContents, InStatus, OutFid, O TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_Symlink; code = SAFSS_Symlink (acall, DirFid, Name, LinkContents, InStatus, OutFid, @@ -2815,9 +2823,9 @@ SAFSS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, OutDirStatus, Sync) * Get the vnode and volume for the parent dir along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_Link; } @@ -2825,7 +2833,7 @@ SAFSS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, OutDirStatus, Sync) SetVolumeSync(Sync, volptr); /* Can the caller insert into the parent directory? */ - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT))) { goto Bad_Link; } @@ -2837,7 +2845,7 @@ SAFSS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, OutDirStatus, Sync) } /* get the file vnode */ - if (errorCode = CheckVnode(ExistingFid, &volptr, &targetptr, WRITE_LOCK)) { + if ((errorCode = CheckVnode(ExistingFid, &volptr, &targetptr, WRITE_LOCK))) { goto Bad_Link; } if (targetptr->disk.type != vFile) { @@ -2851,13 +2859,13 @@ SAFSS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, OutDirStatus, Sync) if (parentptr->disk.cloned) { ViceLog(25, ("Link : calling CopyOnWrite on target dir\n")); - if ( errorCode = CopyOnWrite(parentptr, volptr)) + if ( ( errorCode = CopyOnWrite(parentptr, volptr))) goto Bad_Link; /* disk full error */ } /* add the name to the directory */ SetDirHandle(&dir, parentptr); - if (errorCode = Create(&dir, (char *)Name, ExistingFid)) + if ((errorCode = Create(&dir, (char *)Name, ExistingFid))) goto Bad_Link; DFlush(); @@ -2931,7 +2939,7 @@ afs_int32 SRXAFS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, OutDirSta TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_Link; code = SAFSS_Link (acall, DirFid, Name, ExistingFid, OutFidStatus, @@ -3018,9 +3026,9 @@ SAFSS_MakeDir (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, * Get the vnode and volume for the parent dir along with the caller's * rights to it. */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_MakeDir; } @@ -3039,15 +3047,15 @@ SAFSS_MakeDir (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT)) || (errorCode = CheckWriteMode(parentptr, rights, PRSFS_WRITE))) { #else - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_INSERT))) { #endif /* DIRCREATE_NEED_WRITE */ goto Bad_MakeDir; } #define EMPTYDIRBLOCKS 2 /* get a new vnode and set it up */ - if (errorCode = Alloc_NewVnode(parentptr, &parentdir, volptr, &targetptr, - Name, OutFid, vDirectory, EMPTYDIRBLOCKS)) { + if ((errorCode = Alloc_NewVnode(parentptr, &parentdir, volptr, &targetptr, + Name, OutFid, vDirectory, EMPTYDIRBLOCKS))) { goto Bad_MakeDir; } @@ -3078,7 +3086,7 @@ SAFSS_MakeDir (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, /* set up return status */ GetStatus(targetptr, OutFidStatus, rights, anyrights, parentptr); - GetStatus(parentptr, OutDirStatus, rights, anyrights, (struct Vnode *)0); + GetStatus(parentptr, OutDirStatus, rights, anyrights, NULL); /* convert the write lock to a read lock before breaking callbacks */ VVnodeWriteToRead(&errorCode, parentptr); @@ -3130,7 +3138,7 @@ afs_int32 SRXAFS_MakeDir (acall, DirFid, Name, InStatus, OutFid, OutFidStatus, O FS_UNLOCK TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_MakeDir; code = SAFSS_MakeDir (acall, DirFid, Name, InStatus, OutFid, @@ -3205,9 +3213,9 @@ SAFSS_RemoveDir (acall, DirFid, Name, OutDirStatus, Sync) * Get the vnode and volume for the parent dir along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, + if ((errorCode = GetVolumePackage(tcon, DirFid, &volptr, &parentptr, MustBeDIR, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_RemoveDir; } debugvnode1 = *parentptr; @@ -3216,14 +3224,14 @@ SAFSS_RemoveDir (acall, DirFid, Name, OutDirStatus, Sync) SetVolumeSync(Sync, volptr); /* Does the caller has delete (&write) access to the parent dir? */ - if (errorCode = CheckWriteMode(parentptr, rights, PRSFS_DELETE)) { + if ((errorCode = CheckWriteMode(parentptr, rights, PRSFS_DELETE))) { goto Bad_RemoveDir; } debugvnode2 = *parentptr; /* Do the actual delete of the desired (empty) directory, Name */ - if (errorCode = DeleteTarget(parentptr, volptr, &targetptr, &dir, &fileFid, - Name, MustBeDIR)) { + if ((errorCode = DeleteTarget(parentptr, volptr, &targetptr, &dir, &fileFid, + Name, MustBeDIR))) { goto Bad_RemoveDir; } @@ -3237,7 +3245,7 @@ SAFSS_RemoveDir (acall, DirFid, Name, OutDirStatus, Sync) #endif /* FS_STATS_DETAILED */ /* Return to the caller the updated parent dir status */ - GetStatus(parentptr, OutDirStatus, rights, anyrights, (struct Vnode *)0); + GetStatus(parentptr, OutDirStatus, rights, anyrights, NULL); /* * Note: it is not necessary to break the callback on fileFid, since @@ -3289,7 +3297,7 @@ afs_int32 SRXAFS_RemoveDir (acall, DirFid, Name, OutDirStatus, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_RemoveDir; code = SAFSS_RemoveDir (acall, DirFid, Name, OutDirStatus, Sync); @@ -3362,9 +3370,9 @@ SAFSS_SetLock (acall, Fid, type, Sync) * Get the vnode and volume for the desired file along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_SetLock; } @@ -3423,7 +3431,7 @@ afs_int32 SRXAFS_SetLock (acall, Fid, type, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_SetLock; code = SAFSS_SetLock (acall, Fid, type, Sync); @@ -3488,9 +3496,9 @@ SAFSS_ExtendLock (acall, Fid, Sync) * Get the vnode and volume for the desired file along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_ExtendLock; } @@ -3547,7 +3555,7 @@ afs_int32 SRXAFS_ExtendLock (acall, Fid, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_ExtendLock; code = SAFSS_ExtendLock (acall, Fid, Sync); @@ -3613,9 +3621,9 @@ SAFSS_ReleaseLock (acall, Fid, Sync) * Get the vnode and volume for the desired file along with the caller's * rights to it */ - if (errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, Fid, &volptr, &targetptr, DONTCHECK, &parentwhentargetnotdir, - &client, WRITE_LOCK, &rights, &anyrights)) { + &client, WRITE_LOCK, &rights, &anyrights))) { goto Bad_ReleaseLock; } @@ -3623,7 +3631,7 @@ SAFSS_ReleaseLock (acall, Fid, Sync) SetVolumeSync(Sync, volptr); /* Handle the actual lock release */ - if (errorCode = HandleLocking(targetptr, rights, LockRelease)) + if ((errorCode = HandleLocking(targetptr, rights, LockRelease))) goto Bad_ReleaseLock; /* if no more locks left, a callback would be triggered here */ @@ -3681,7 +3689,7 @@ afs_int32 SRXAFS_ReleaseLock (acall, Fid, Sync) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_ReleaseLock; code = SAFSS_ReleaseLock (acall, Fid, Sync); @@ -3760,7 +3768,7 @@ afs_int32 SRXAFS_GetStatistics (acall, Statistics) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, NOTACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, NOTACTIVECALL, &tcon))) goto Bad_GetStatistics; code = GetStatistics (tcon, Statistics); @@ -4087,7 +4095,7 @@ afs_int32 SRXAFS_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srv * no data. */ a_dataP->AFS_CollData_len = 0; - a_dataP->AFS_CollData_val = (afs_int32 *)0; + a_dataP->AFS_CollData_val = NULL; #endif /* 0 */ switch(a_collectionNumber) { @@ -4111,7 +4119,7 @@ afs_int32 SRXAFS_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srv a_dataP->AFS_CollData_val = dataBuffP; #else a_dataP->AFS_CollData_len = 0; - a_dataP->AFS_CollData_val = (afs_int32 *)0; + a_dataP->AFS_CollData_val = NULL; #endif /* 0 */ break; @@ -4171,7 +4179,7 @@ afs_int32 SRXAFS_GetXStats(a_call, a_clientVersionNum, a_collectionNumber, a_srv * Illegal collection number. */ a_dataP->AFS_CollData_len = 0; - a_dataP->AFS_CollData_val = (afs_int32 *)0; + a_dataP->AFS_CollData_val = NULL; code = 1; } /*Switch on collection number*/ @@ -4230,7 +4238,7 @@ afs_int32 SRXAFS_GiveUpCallBacks (acall, FidArray, CallBackArray) FS_LOCK AFSCallStats.GiveUpCallBacks++, AFSCallStats.TotalCalls++; FS_UNLOCK - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_GiveUpCallBacks; if (FidArray->AFSCBFids_len < CallBackArray->AFSCBs_len) { @@ -4347,7 +4355,7 @@ afs_int32 SRXAFS_FlushCPS(acall, vids, addrs, spare1, spare2, spare3) #endif if ((client->ViceId != ANONYMOUSID) && client->CPS.prlist_val) { free(client->CPS.prlist_val); - client->CPS.prlist_val = (afs_int32 *)0; + client->CPS.prlist_val = NULL; } ReleaseWriteLock(&client->lock); } @@ -4395,7 +4403,7 @@ static afs_vtoi(aname) register int tc; temp = 0; - while(tc = *aname++) { + while((tc = *aname++)) { if (tc > '9' || tc < '0') return 0; /* invalid name */ temp *= 10; temp += tc - '0'; @@ -4480,7 +4488,7 @@ static TryLocalVLServer(avolid, avolinfo) register afs_int32 code; if (!vlConn) { - vlSec = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + vlSec = rxnull_NewClientSecurityObject(); vlConn = rx_NewConnection(htonl(0x7f000001), htons(7003), 52, vlSec, 0); rx_SetConnDeadTime(vlConn, 15); /* don't wait long */ } @@ -4528,7 +4536,7 @@ afs_int32 SRXAFS_GetVolumeInfo (acall, avolid, avolinfo) FS_UNLOCK TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_GetVolumeInfo; code = GetVolumeInfo (tcon, avolid, avolinfo); @@ -4596,7 +4604,7 @@ afs_int32 SRXAFS_GetVolumeStatus (acall, avolid, FetchVolStatus, Name, OfflineMs #endif /* FS_STATS_DETAILED */ ViceLog(1,("SAFS_GetVolumeStatus for volume %u\n", avolid)); - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_GetVolumeStatus; FS_LOCK @@ -4609,9 +4617,9 @@ afs_int32 SRXAFS_GetVolumeStatus (acall, avolid, FetchVolStatus, Name, OfflineMs } dummyFid.Volume = avolid, dummyFid.Vnode = (afs_int32)ROOTVNODE, dummyFid.Unique = 1; - if (errorCode = GetVolumePackage(tcon, &dummyFid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, &dummyFid, &volptr, &targetptr, MustBeDIR, &parentwhentargetnotdir, - &client, READ_LOCK, &rights, &anyrights)) + &client, READ_LOCK, &rights, &anyrights))) goto Bad_GetVolumeStatus; if ((VanillaUser(client)) && (!(rights & PRSFS_READ))) { @@ -4687,7 +4695,7 @@ afs_int32 SRXAFS_SetVolumeStatus (acall, avolid, StoreVolStatus, Name, OfflineMs #endif /* FS_STATS_DETAILED */ ViceLog(1,("SAFS_SetVolumeStatus for volume %u\n", avolid)); - if (errorCode = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((errorCode = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_SetVolumeStatus; FS_LOCK @@ -4700,9 +4708,9 @@ afs_int32 SRXAFS_SetVolumeStatus (acall, avolid, StoreVolStatus, Name, OfflineMs } dummyFid.Volume = avolid, dummyFid.Vnode = (afs_int32)ROOTVNODE, dummyFid.Unique = 1; - if (errorCode = GetVolumePackage(tcon, &dummyFid, &volptr, &targetptr, + if ((errorCode = GetVolumePackage(tcon, &dummyFid, &volptr, &targetptr, MustBeDIR, &parentwhentargetnotdir, - &client, READ_LOCK, &rights, &anyrights)) + &client, READ_LOCK, &rights, &anyrights))) goto Bad_SetVolumeStatus; if (VanillaUser(client)) { @@ -4856,7 +4864,7 @@ afs_int32 SRXAFS_CheckToken (acall, AfsId, Token) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, ACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, ACTIVECALL, &tcon))) goto Bad_CheckToken; code = FSERR_ECONNREFUSED; @@ -4934,7 +4942,7 @@ afs_int32 SRXAFS_GetTime (acall, Seconds, USeconds) TM_GetTimeOfDay(&opStartTime, 0); #endif /* FS_STATS_DETAILED */ - if (code = CallPreamble(acall, NOTACTIVECALL, &tcon)) + if ((code = CallPreamble(acall, NOTACTIVECALL, &tcon))) goto Bad_GetTime; code = GetTime (tcon, Seconds, USeconds); @@ -4994,7 +5002,7 @@ GetVolumePackage(tcon, Fid, volptr, targetptr, chkforDir, parent, client, lockty int aCLSize; /* size of the access list */ int errorCode = 0; /* return code to caller */ - if (errorCode = CheckVnode(Fid, volptr, targetptr, locktype)) + if ((errorCode = CheckVnode(Fid, volptr, targetptr, locktype))) return(errorCode); if (chkforDir) { if (chkforDir == MustNOTBeDIR && ((*targetptr)->disk.type == vDirectory)) @@ -5368,13 +5376,13 @@ StoreData_RXStyle(volptr, targetptr, Fid, client, Call, Pos, Length, volptr->partition->flags &= ~PART_DONTUPDATE; VSetPartitionDiskUsage(volptr->partition); volptr->partition->flags |= PART_DONTUPDATE; - if (errorCode = VDiskUsage(volptr, nBlocks(size))) { + if ((errorCode = VDiskUsage(volptr, nBlocks(size)))) { volptr->partition->flags &= ~PART_DONTUPDATE; return(errorCode); } ViceLog(25, ("StoreData : calling CopyOnWrite on target dir\n")); - if ( errorCode = CopyOnWrite(targetptr, volptr)) + if ((errorCode = CopyOnWrite(targetptr, volptr))) { ViceLog(25, ("StoreData : CopyOnWrite failed\n")); volptr->partition->flags &= ~PART_DONTUPDATE; @@ -5403,8 +5411,8 @@ StoreData_RXStyle(volptr, targetptr, Fid, client, Call, Pos, Length, /* adjust the disk block count by the difference in the files */ adjustSize = (int) (nBlocks(NewLength) - nBlocks(targetptr->disk.length)); - if(errorCode = AdjustDiskUsage(volptr, adjustSize, - adjustSize - SpareComp(volptr))) { + if((errorCode = AdjustDiskUsage(volptr, adjustSize, + adjustSize - SpareComp(volptr)))) { FDH_CLOSE(fdP); return(errorCode); } @@ -5815,7 +5823,7 @@ DeleteTarget(parentptr, volptr, targetptr, dir, fileFid, Name, ChkForDir) if (parentptr->disk.cloned) { ViceLog(25, ("DeleteTarget : CopyOnWrite called\n")); - if ( errorCode = CopyOnWrite(parentptr, volptr)) + if ((errorCode = CopyOnWrite(parentptr, volptr))) { ViceLog(20, ("DeleteTarget %s: CopyOnWrite failed %d\n",Name,errorCode)); return errorCode; @@ -6351,8 +6359,8 @@ Alloc_NewVnode(parentptr, dir, volptr, targetptr, Name, OutFid, FileType, Blocks Inode inode=0; Inode nearInode; /* hint for inode allocation in solaris */ - if (errorCode = AdjustDiskUsage(volptr, BlocksPreallocatedForVnode, - BlocksPreallocatedForVnode)) { + if ((errorCode = AdjustDiskUsage(volptr, BlocksPreallocatedForVnode, + BlocksPreallocatedForVnode))) { ViceLog(25, ("Insufficient space to allocate %d blocks\n", BlocksPreallocatedForVnode)); return(errorCode); @@ -6395,7 +6403,7 @@ Alloc_NewVnode(parentptr, dir, volptr, targetptr, Name, OutFid, FileType, Blocks if (parentptr->disk.cloned) { ViceLog(25, ("Alloc_NewVnode : CopyOnWrite called\n")); - if ( errorCode = CopyOnWrite(parentptr, volptr)) /* disk full */ + if ((errorCode = CopyOnWrite(parentptr, volptr))) /* disk full */ { ViceLog(25, ("Alloc_NewVnode : CopyOnWrite failed\n")); /* delete the vnode previously allocated */ @@ -6415,7 +6423,7 @@ Alloc_NewVnode(parentptr, dir, volptr, targetptr, Name, OutFid, FileType, Blocks /* add the name to the directory */ SetDirHandle(dir, parentptr); - if (errorCode = Create(dir,(char *)Name, OutFid)) { + if ((errorCode = Create(dir,(char *)Name, OutFid))) { (*targetptr)->delete = 1; VAdjustDiskUsage(&temp, volptr, - BlocksPreallocatedForVnode, 0); IH_REALLYCLOSE((*targetptr)->handle); @@ -7160,7 +7168,7 @@ FileNameOK(aname) /* watch for @sys on the right */ if (strcmp(aname+i-4, "@sys") == 0) return 0; } - while (tc = *aname++) { + while ((tc = *aname++)) { if (tc == '/') return 0; /* very bad character to encounter */ } return 1; /* file name is ok */ diff --git a/src/viced/callback.c b/src/viced/callback.c index e8472f9..ed4a9a5 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -94,6 +94,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include @@ -301,7 +308,7 @@ static struct CallBack *iGetCB(register int *nused) { register struct CallBack *ret; - if (ret = CBfree) { + if ((ret = CBfree)) { CBfree = (struct CallBack *)(((struct object *)ret)->next); (*nused)++; } @@ -325,7 +332,7 @@ static struct FileEntry *iGetFE(register int *nused) { register struct FileEntry *ret; - if (ret = FEfree) { + if ((ret = FEfree)) { FEfree = (struct FileEntry *)(((struct object *)ret)->next); (*nused)++; } @@ -620,7 +627,7 @@ AddCallBack1(host, fid, thead, type, locked) return retVal; } -int +static int AddCallBack1_r(host, fid, thead, type, locked) struct host *host; AFSFid *fid; @@ -680,7 +687,7 @@ AddCallBack1_r(host, fid, thead, type, locked) register afs_uint32 hash; fe = newfe; - newfe = (struct FileEntry *) 0; + newfe = NULL; fe->firstcb = 0; fe->volid = fid->Volume; fe->vnode = fid->Vnode; @@ -711,7 +718,7 @@ AddCallBack1_r(host, fid, thead, type, locked) } } else { cb = newcb; - newcb = (struct CallBack *) 0; + newcb = NULL; *(lastcb?&lastcb->cnext:&fe->firstcb) = cbtoi(cb); fe->ncbs++; cb->cnext = 0; @@ -1283,7 +1290,7 @@ BreakVolumeCallBacks(volume) H_LOCK fid.Volume = volume, fid.Vnode = fid.Unique = 0; for (hash=0; hashvolid == volume) { register struct CallBack *cbnext; for (cb = itocb(fe->firstcb); cb; cb = cbnext) { @@ -1410,7 +1417,7 @@ static int GetSomeSpace_r(hostp, locked) struct host *hostp; int locked; { - register struct host *hp, *hp1 = (struct host *)0; + register struct host *hp, *hp1 = NULL; int i=0; cbstuff.GotSomeSpaces++; @@ -1819,7 +1826,7 @@ struct AFSCBFids* afidp; /* initialise a security object only once */ if ( !sc ) - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); /* initialize alternate rx connections */ for ( i=0,j=0; i < host->interface->numberOfInterfaces; i++) @@ -1898,7 +1905,7 @@ struct host* host; /* initialise a security object only once */ if ( !sc ) - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); /* initialize alternate rx connections */ for ( i=0,j=0; i < host->interface->numberOfInterfaces; i++) diff --git a/src/viced/fsprobe.c b/src/viced/fsprobe.c index 33f7738..785c00b 100644 --- a/src/viced/fsprobe.c +++ b/src/viced/fsprobe.c @@ -20,6 +20,15 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + struct ubik_client *cstruct; @@ -52,16 +61,16 @@ afs_int32 serverAddr; rx_SetRxDeadTime(50); switch (scIndex) { case 0 : - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); break; #ifdef notdef /* security */ case 1 : - sc = (struct rx_securityClass *) rxvab_NewClientSecurityObject(&ttoken.sessionKey, ttoken.ticket, 0); + sc = rxvab_NewClientSecurityObject(&ttoken.sessionKey, ttoken.ticket, 0); break; case 2: - sc = (struct rx_securityClass *) rxkad_NewClientSecurityObject (rxkad_clear, + sc = rxkad_NewClientSecurityObject (rxkad_clear, &ttoken.sessionKey, ttoken.kvno, ttoken.ticketLen, ttoken.ticket); #endif /* notdef */ } diff --git a/src/viced/host.c b/src/viced/host.c index 2748f2b..1a67d8c 100644 --- a/src/viced/host.c +++ b/src/viced/host.c @@ -22,6 +22,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -472,7 +481,7 @@ h_gethostcps_r(host,now) host->hostFlags |= HPCS_INPROGRESS; /* mark as CPSCall in progress */ if (host->hcps.prlist_val) free(host->hcps.prlist_val); /* this is for hostaclRefresh */ - host->hcps.prlist_val = (afs_int32 *)0; + host->hcps.prlist_val = NULL; host->hcps.prlist_len = 0; slept? (host->cpsCall = FT_ApproxTime()): (host->cpsCall = now ); @@ -507,7 +516,7 @@ h_gethostcps_r(host,now) } if (host->hcps.prlist_val) free(host->hcps.prlist_val); - host->hcps.prlist_val = (afs_int32 *)0; + host->hcps.prlist_val = NULL; host->hcps.prlist_len = 0; /* Make sure it's zero */ } else host->hcpsfailed = 0; @@ -607,7 +616,7 @@ struct host *h_Alloc_r(r_con) makes a request that causes a break call back. It shouldn't. */ { if (!sc) - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); host->callback_rxcon = rx_NewConnection (host->host, host->port, 1, sc, 0); rx_SetConnDeadTime(host->callback_rxcon, 50); @@ -615,12 +624,14 @@ struct host *h_Alloc_r(r_con) } now = host->LastCall = host->cpsCall = host->ActiveCall = FT_ApproxTime(); host->hostFlags = 0; - host->hcps.prlist_val = (afs_int32 *)0; + host->hcps.prlist_val = NULL; host->hcps.prlist_len = 0; - host->hcps.prlist_val = (afs_int32 *)0; + host->hcps.prlist_val = NULL; host->interface = 0; - /*host->hcpsfailed = 0; /* save cycles */ - /* h_gethostcps(host); do this under host lock */ +#ifdef undef + host->hcpsfailed = 0; /* save cycles */ + h_gethostcps(host); /* do this under host lock */ +#endif host->FirstClient = 0; h_InsertList_r(host); /* update global host List */ #if FS_STATS_DETAILED @@ -638,9 +649,8 @@ struct host *h_Alloc_r(r_con) /* Lookup a host given an IP address and UDP port number. */ -struct host *h_Lookup(hostaddr, hport, heldp) - afs_uint32 hostaddr, hport; /* network byte order */ - int *heldp; +/* hostaddr and hport are in network order */ +struct host *h_Lookup(afs_uint32 hostaddr, afs_uint32 hport, int *heldp) { struct host *retVal; H_LOCK @@ -650,9 +660,8 @@ struct host *h_Lookup(hostaddr, hport, heldp) } /* Note: host should be released by caller if 0 == *heldp and non-null */ -struct host *h_Lookup_r(hostaddr, hport, heldp) - afs_uint32 hostaddr, hport; /* network byte order */ - int *heldp; +/* hostaddr and hport are in network order */ +struct host *h_Lookup_r(afs_uint32 hostaddr, afs_uint32 hport, int *heldp) { register afs_int32 now; register struct host *host=0; @@ -696,8 +705,7 @@ restart: } /*h_Lookup*/ /* Lookup a host given its UUID. */ -struct host *h_LookupUuid_r(uuidp) - afsUUID *uuidp; +struct host *h_LookupUuid_r(afsUUID *uuidp) { register struct host *host=0; register struct h_hashChain* chain; @@ -725,8 +733,7 @@ struct host *h_LookupUuid_r(uuidp) * NOTE: h_Hold_r is a macro defined in host.h. */ -int h_Hold(host) - register struct host *host; +int h_Hold(register struct host *host) { H_LOCK h_Hold_r(host); @@ -740,9 +747,7 @@ int h_Hold(host) * To be called, there must be no holds, and either host->deleted * or host->clientDeleted must be set. */ -h_TossStuff_r(host) - register struct host *host; - +int h_TossStuff_r(register struct host *host) { register struct client **cp, *client; int i; @@ -753,11 +758,11 @@ h_TossStuff_r(host) return; /* ASSUMPTION: r_FreeConnection() does not yield */ - for (cp = &host->FirstClient; client = *cp; ) { + for (cp = &host->FirstClient; (client = *cp); ) { if ((host->hostFlags & HOSTDELETED) || client->deleted) { if ((client->ViceId != ANONYMOUSID) && client->CPS.prlist_val) { free(client->CPS.prlist_val); - client->CPS.prlist_val = (afs_int32 *)0; + client->CPS.prlist_val = NULL; } if (client->tcon) { rx_SetSpecific(client->tcon, rxcon_client_key, (void *)0); @@ -779,7 +784,7 @@ h_TossStuff_r(host) int i; if (host->Console & 1) Console--; - if (rxconn = host->callback_rxcon) { + if ((rxconn = host->callback_rxcon)) { host->callback_rxcon = (struct rx_connection *)0; /* * If rx_DestroyConnection calls h_FreeConnection we will @@ -795,7 +800,7 @@ h_TossStuff_r(host) } if (host->hcps.prlist_val) free(host->hcps.prlist_val); - host->hcps.prlist_val = (afs_int32 *)0; + host->hcps.prlist_val = NULL; host->hcps.prlist_len = 0; DeleteAllCallBacks_r(host); host->hostFlags &= ~RESETDONE; /* just to be safe */ @@ -804,7 +809,7 @@ h_TossStuff_r(host) if ( !(host->interface) ) { for (hp = &hostHashTable[h_HashIndex(host->host)]; - th = *hp; hp = &th->next) + (th = *hp); hp = &th->next) { assert(th->hostPtr); if (th->hostPtr == host) @@ -821,7 +826,7 @@ h_TossStuff_r(host) /* delete all hash entries for the UUID */ uuidp = &host->interface->uuid; for (hp = &hostUuidHashTable[h_UuidHashIndex(uuidp)]; - th = *hp; hp = &th->next) { + (th = *hp); hp = &th->next) { assert(th->hostPtr); if (th->hostPtr == host) { @@ -836,7 +841,7 @@ h_TossStuff_r(host) { hostAddr = host->interface->addr[i]; for (hp = &hostHashTable[h_HashIndex(hostAddr)]; - th = *hp; hp = &th->next) + (th = *hp); hp = &th->next) { assert(th->hostPtr); if (th->hostPtr == host) @@ -857,9 +862,7 @@ h_TossStuff_r(host) /* Called by rx when a server connection disappears */ -h_FreeConnection(tcon) - struct rx_connection *tcon; - +int h_FreeConnection(struct rx_connection *tcon) { register struct client *client; @@ -1183,7 +1186,7 @@ static MapName_r(aname, acell, aval) lnames.namelist_len = 1; lnames.namelist_val = (prname *) aname; /* don't malloc in the common case */ lids.idlist_len = 0; - lids.idlist_val = (afs_int32 *) 0; + lids.idlist_val = NULL; cnamelen=strlen(acell); if (cnamelen) { @@ -1396,7 +1399,7 @@ ticket name length != 64 if (client->CPS.prlist_val && (client->ViceId != ANONYMOUSID)) { free(client->CPS.prlist_val); } - client->CPS.prlist_val = (afs_int32 *)0; + client->CPS.prlist_val = NULL; client->ViceId = viceid; client->expTime = expTime; @@ -1443,7 +1446,7 @@ ticket name length != 64 * required). So, before setting the RPC's rock, we should disconnect * the RPC from the other client structure's rock. */ - if (oldClient = (struct client *) rx_GetSpecific(tcon, rxcon_client_key)) { + if ((oldClient = (struct client *) rx_GetSpecific(tcon, rxcon_client_key))) { oldClient->tcon = (struct rx_connection *) 0; /* rx_SetSpecific will be done immediately below */ } @@ -2038,7 +2041,7 @@ h_CheckHosts() { */ checktime = now - 15*60; clientdeletetime = now - 120*60; /* 2 hours ago */ - h_Enumerate(CheckHost, (char *) 0); + h_Enumerate(CheckHost, NULL); } /*h_CheckHosts*/ @@ -2236,7 +2239,7 @@ struct host* host; int index; register struct h_hashChain **hp, *th; - for (hp = &hostHashTable[h_HashIndex(addr)]; th = *hp; ) + for (hp = &hostHashTable[h_HashIndex(addr)]; (th = *hp); ) { assert(th->hostPtr); if (th->hostPtr == host && th->addr == addr) diff --git a/src/viced/physio.c b/src/viced/physio.c index 642cda9..f0a4cb2 100644 --- a/src/viced/physio.c +++ b/src/viced/physio.c @@ -27,6 +27,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include diff --git a/src/viced/viced.c b/src/viced/viced.c index 69299df..4caf4df 100644 --- a/src/viced/viced.c +++ b/src/viced/viced.c @@ -38,6 +38,15 @@ RCSID("$Header$"); #include #include #include /* sysconf() */ + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #ifndef ITIMER_REAL #include #endif /* ITIMER_REAL */ @@ -93,7 +102,6 @@ static void ResetCheckDescriptors(void), ResetCheckSignal(void); static int CheckSignal(); static int FiveMinuteCheckLWP(), HostCheckLWP(); extern int GetKeysFromToken(); -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int RXAFS_ExecuteRequest(); extern int RXSTATS_ExecuteRequest(); @@ -214,7 +222,7 @@ void CheckDescriptors_Signal(x) {IOMGR_SoftSig(CheckDescriptors, 0);} int fs_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(confDir, call, (char *)0); + return afsconf_SuperUser(confDir, call, NULL); } static void ResetCheckSignal(void) @@ -473,10 +481,10 @@ main(argc, argv) rx_SetRxDeadTime(30); sc[0] = rxnull_NewServerSecurityObject(); sc[1] = 0; /* rxvab_NewServerSecurityObject(key1, 0) */ - sc[2] = rxkad_NewServerSecurityObject (rxkad_clear, (char *) 0, - get_key, (char *) 0); - sc[3] = rxkad_NewServerSecurityObject (rxkad_crypt, (char *) 0, - get_key, (char *) 0); + sc[2] = rxkad_NewServerSecurityObject (rxkad_clear, NULL, + get_key, NULL); + sc[3] = rxkad_NewServerSecurityObject (rxkad_crypt, NULL, + get_key, NULL); tservice = rx_NewService (/* port */ 0, /* service id */ 1, /*service name */ "AFS", /* security classes */ sc, /* numb sec classes */ 4, @@ -485,7 +493,7 @@ main(argc, argv) ViceLog(0, ("Failed to initialize RX, probably two servers running.\n")); exit(-1); } - rx_SetDestroyConnProc(tservice, (char (*)()) h_FreeConnection); + rx_SetDestroyConnProc(tservice, h_FreeConnection); rx_SetMinProcs(tservice, 3); rx_SetMaxProcs(tservice, lwps); rx_SetCheckReach(tservice, 1); @@ -1258,7 +1266,7 @@ static void NewParms(initializing) if (!(stat("/vice/file/parms",&sbuf))) { parms = (char *)malloc(sbuf.st_size); - if(parms <= (char *)0) return; + if(!parms) return; fd = open("parms", O_RDONLY, 0666); if(fd <= 0) { ViceLog(0, ("Open for parms failed with errno = %d\n", errno)); @@ -1268,12 +1276,13 @@ static void NewParms(initializing) i = read(fd, parms, sbuf.st_size); close(fd); if(i != sbuf.st_size) { - if (i < 0 ) + if (i < 0 ) { ViceLog(0, ("Read on parms failed with errno = %d\n", errno)); - else + } else { ViceLog(0, ("Read on parms failed; expected %d bytes but read %d\n", sbuf.st_size, i)); + } free(parms); return; } @@ -1293,10 +1302,11 @@ static void NewParms(initializing) i++; } } - if(ParseArgs(argc, argv) == 0) + if(ParseArgs(argc, argv) == 0) { ViceLog(0, ("Change parameters to:")); - else + } else { ViceLog(0, ("Invalid parameter in:")); + } for(i = 0; i < argc; i++) { ViceLog(0, (" %s", argv[i])); } @@ -1338,9 +1348,9 @@ InitPR() SystemId = SYSADMINID; SystemAnyUser = ANYUSERID; SystemAnyUserCPS.prlist_len = 0; - SystemAnyUserCPS.prlist_val = (afs_int32 *)0; + SystemAnyUserCPS.prlist_val = NULL; AnonCPS.prlist_len = 0; - AnonCPS.prlist_val = (afs_int32 *)0; + AnonCPS.prlist_val = NULL; while (1) { code = pr_GetCPS(SystemAnyUser, &SystemAnyUserCPS); if (code != 0) { @@ -1384,7 +1394,7 @@ char *confDir; ViceLog(0, ("Could not get security object for localAuth\n")); exit(1); } - code = afsconf_GetCellInfo(tdir,(char *)0, AFSCONF_VLDBSERVICE, &info); + code = afsconf_GetCellInfo(tdir,NULL, AFSCONF_VLDBSERVICE, &info); if (info.numServers > MAXSERVERS) { ViceLog(0, ("vl_Initialize: info.numServers=%d (> MAXSERVERS=%d)\n",info.numServers, MAXSERVERS)); exit(1); @@ -1537,7 +1547,8 @@ Do_VLRegisterRPC() { return 0; } -AddrsEqual(cnt, addr1, addr2) +#if 0 +static int AddrsEqual(cnt, addr1, addr2) int cnt; afs_int32 *addr1, *addr2; { @@ -1551,6 +1562,7 @@ AddrsEqual(cnt, addr1, addr2) } return 1; } +#endif InitVL() { int (*old)(); @@ -1576,7 +1588,7 @@ InitVL() { if (code) { /* Need to create the file */ ViceLog(0, ("Creating new SysID file\n")); - if (code = afs_uuid_create(&FS_HostUUID)) { + if ((code = afs_uuid_create(&FS_HostUUID))) { ViceLog(0, ("Failed to create new uuid: %d\n", code)); exit(1); } diff --git a/src/vlserver/cnvldb.c b/src/vlserver/cnvldb.c index 782f3ed..4f0a618 100644 --- a/src/vlserver/cnvldb.c +++ b/src/vlserver/cnvldb.c @@ -17,6 +17,15 @@ RCSID("$Header$"); #include #include #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "cnvldb.h" /* CHANGEME! */ #include #include diff --git a/src/vlserver/vlclient.c b/src/vlserver/vlclient.c index 3046244..32db45e 100644 --- a/src/vlserver/vlclient.c +++ b/src/vlserver/vlclient.c @@ -37,6 +37,15 @@ RCSID("$Header$"); #include #endif #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -128,7 +137,7 @@ struct Vlent *GetVolume(vol, entry) register int i; register struct Vlent *vl; - if (!vol) return (struct Vlent *)0; + if (!vol) return NULL; i = VHash(vol); for (vl=VLa[i]; vl; vl = vl->next) { if ((vl->rwid == vol && vol != entry->volumeId[0]) || @@ -148,7 +157,7 @@ struct Vlent *GetVolume(vol, entry) exit(1); } VL++; - return (struct Vlent *)0; + return NULL; } /* Almost identical's to pr_Initialize in vlserver/pruser.c */ @@ -189,7 +198,7 @@ char *confDir, *cellp; strncpy(sname.cell, cellp, sizeof(sname.cell)); sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname,&ttoken, sizeof(ttoken), NULL); if (code) { fprintf(stderr,"vl_Initialize: Could not get afs tokens, running unauthenticated.\n"); scIndex = 0; @@ -205,16 +214,16 @@ char *confDir, *cellp; } switch (scIndex) { case 0 : - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); break; case 1 : return -1; case 2: - sc = (struct rx_securityClass *) rxkad_NewClientSecurityObject (rxkad_clear, + sc = rxkad_NewClientSecurityObject (rxkad_clear, &ttoken.sessionKey, ttoken.kvno, ttoken.ticketLen, ttoken.ticket); } if (!server) { - code = afsconf_GetCellInfo(tdir,(char *)0, AFSCONF_VLDBSERVICE, &info); + code = afsconf_GetCellInfo(tdir,NULL, AFSCONF_VLDBSERVICE, &info); if (info.numServers > MAXSERVERS) { fprintf(stderr, "vl_Initialize: info.numServers=%d (> MAXSERVERS=%d)\n", @@ -908,7 +917,7 @@ static handleit(as) printf("changing %s", *argp); h1 = hostutil_GetHostByName(&(*argp)[0]); if (!h1) { - printf("cmdebug: can't resolve address for host %s"); + printf("cmdebug: can't resolve address for host %s", *argp); continue; } memcpy(&a1, (afs_int32 *)h1->h_addr, sizeof(afs_uint32)); diff --git a/src/vlserver/vldb_check.c b/src/vlserver/vldb_check.c index f87d019..39d2801 100644 --- a/src/vlserver/vldb_check.c +++ b/src/vlserver/vldb_check.c @@ -39,6 +39,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include "vlserver.h" #include "vldbint.h" #include @@ -703,7 +712,7 @@ CheckIpAddrs(header) if (memcmp(&e->ex_hostuuid, &nulluuid, sizeof(afsUUID)) == 0) { if (ipindex != -1) { - printf("Server Addrs index %d references null MH block %d, index %d\n", i, j); + printf("Server Addrs index %d references null MH block %d, index %d\n", ipindex, i, j); serveraddrs[ipindex] = 0; /* avoids printing 2nd error below */ } continue; @@ -924,7 +933,7 @@ main(argc, argv) setlinebuf(stdout); - ts=cmd_CreateSyntax((char *)0, WorkerBee, (char *) 0, "vldb check"); + ts=cmd_CreateSyntax(NULL, WorkerBee, NULL, "vldb check"); cmd_AddParm(ts, "-database", CMD_SINGLE, CMD_REQUIRED, "vldb_file"); cmd_AddParm(ts, "-uheader", CMD_FLAG, CMD_OPTIONAL, "Display UBIK header"); cmd_AddParm(ts, "-vheader", CMD_FLAG, CMD_OPTIONAL, "Display VLDB header"); diff --git a/src/vlserver/vlprocs.c b/src/vlserver/vlprocs.c index 8a21725..2c1f761 100644 --- a/src/vlserver/vlprocs.c +++ b/src/vlserver/vlprocs.c @@ -24,6 +24,13 @@ RCSID("$Header$"); #else #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include "vlserver.h" #include "afs/audit.h" @@ -81,7 +88,7 @@ char *rxinfo(rxcall) tconn = rx_ConnectionOf(rxcall); hostAddr.s_addr = rx_HostOf(rx_PeerOf(tconn)); - code = rxkad_GetServerInfo(rxcall->conn, (afs_int32 *) 0, &exp, tname, tinst, tcell, (afs_int32 *) 0); + code = rxkad_GetServerInfo(rxcall->conn, NULL, &exp, tname, tinst, tcell, NULL); if (!code) sprintf(rxinfo_str,"%s %s", inet_ntoa(hostAddr), tname); else @@ -156,7 +163,7 @@ afs_int32 SVL_CreateEntry(rxcall, newentry) struct nvlentry tentry; COUNT_REQ (VLCREATEENTRY); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) { + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) { errorcode = VL_PERM; goto end; } @@ -216,7 +223,7 @@ afs_int32 SVL_CreateEntry(rxcall, newentry) end: osi_auditU (rxcall, VLCreateEntryEvent, errorcode, - AUD_STR, (newentry ? newentry->name : (char *)0), AUD_END); + AUD_STR, (newentry ? newentry->name : NULL), AUD_END); return errorcode; } @@ -229,7 +236,7 @@ afs_int32 SVL_CreateEntryN(rxcall, newentry) struct nvlentry tentry; COUNT_REQ (VLCREATEENTRYN); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) { + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) { errorcode = VL_PERM; goto end; } @@ -289,7 +296,7 @@ afs_int32 SVL_CreateEntryN(rxcall, newentry) end: osi_auditU (rxcall, VLCreateEntryEvent, errorcode, - AUD_STR, (newentry ? newentry->name : (char *)0), AUD_END); + AUD_STR, (newentry ? newentry->name : NULL), AUD_END); return errorcode; } @@ -301,7 +308,7 @@ afs_int32 SVL_ChangeAddr(rxcall, ip1, ip2) afs_int32 errorcode; COUNT_REQ (VLCHANGEADDR); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) { + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) { errorcode = VL_PERM; goto end; } @@ -337,7 +344,7 @@ afs_int32 SVL_DeleteEntry(rxcall, volid, voltype) struct nvlentry tentry; COUNT_REQ (VLDELETEENTRY); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END(VL_PERM); if ((voltype != -1 ) && (InvalidVoltype(voltype))) @@ -529,7 +536,7 @@ afs_int32 *newvolumeid; struct ubik_trans *trans; COUNT_REQ (VLGETNEWVOLUMEID); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END( VL_PERM ); if (Maxvolidbump < 0 || Maxvolidbump > MAXBUMPCOUNT) @@ -578,7 +585,7 @@ afs_int32 releasetype; for(typeindex = 0; typeindex < MAXTYPES; typeindex++) hashVol[typeindex] = 0; hashnewname = 0; - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END ( VL_PERM ); if (errorcode = check_vldbentry(newentry)) @@ -678,7 +685,7 @@ afs_int32 releasetype; for(typeindex = 0; typeindex < MAXTYPES; typeindex++) hashVol[typeindex] = 0; hashnewname = 0; - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END ( VL_PERM ); if (errorcode = check_nvldbentry(newentry)) @@ -776,7 +783,7 @@ afs_int32 SVL_UpdateEntry (rxcall, volid, voltype, updateentry, releasetype) struct nvlentry tentry; COUNT_REQ (VLUPDATEENTRY); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END( VL_PERM ); if ((voltype != -1 ) && (InvalidVoltype(voltype))) END( VL_BADVOLTYPE ); @@ -823,7 +830,7 @@ afs_int32 SVL_UpdateEntryByName (rxcall, volname, updateentry, releasetype) struct nvlentry tentry; COUNT_REQ (VLUPDATEENTRYBYNAME); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END( VL_PERM ); if (releasetype && InvalidReleasetype(releasetype)) END( VL_BADRELLOCKTYPE ); @@ -868,7 +875,7 @@ afs_int32 voloper; struct nvlentry tentry; COUNT_REQ(VLSETLOCK); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END( VL_PERM ); if ((voltype != -1 ) && (InvalidVoltype(voltype))) END( VL_BADVOLTYPE ); @@ -934,7 +941,7 @@ afs_int32 releasetype; struct nvlentry tentry; COUNT_REQ(VLRELEASELOCK); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) END( VL_PERM ); if ((voltype != -1 ) && (InvalidVoltype(voltype))) END( VL_BADVOLTYPE ); @@ -1692,7 +1699,7 @@ vital_vlheader *vital_header; COUNT_REQ(VLGETSTATS); #ifdef notdef /* Allow users to get statistics freely */ - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) /* Must be in 'UserList' to use */ + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) /* Must be in 'UserList' to use */ return VL_PERM; #endif if (errorcode = Init_VLdbase(&trans, LOCKREAD, this_op)) @@ -1767,7 +1774,7 @@ afs_int32 SVL_RegisterAddrs(rxcall, uuidp, spare1, addrsp) int srvidx, mhidx; COUNT_REQ(VLREGADDR); - if (!afsconf_SuperUser(vldb_confdir, rxcall, (char *)0)) + if (!afsconf_SuperUser(vldb_confdir, rxcall, NULL)) return (VL_PERM); if (code = Init_VLdbase(&trans, LOCKWRITE, this_op)) return code; @@ -2178,7 +2185,7 @@ bulkaddrs *addrsp; return VL_BADMASK; } - if (exp == (struct extentaddr *)0) { + if (exp == NULL) { ubik_AbortTrans(trans); return VL_NOENT; } @@ -2833,7 +2840,7 @@ register afs_uint32 ipaddr1, ipaddr2; } } else if (HostAddress[i] == ipaddr1) { - exp = (struct extentaddr *)0; + exp = NULL; break; } } diff --git a/src/vlserver/vlserver.c b/src/vlserver/vlserver.c index 1a5d938..f2c02ec 100644 --- a/src/vlserver/vlserver.c +++ b/src/vlserver/vlserver.c @@ -33,6 +33,15 @@ RCSID("$Header$"); #include #endif #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -100,7 +109,7 @@ void initialize_dstats () int vldb_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(vldb_confdir, call, (char *)0); + return afsconf_SuperUser(vldb_confdir, call, NULL); } /* Main server module */ @@ -115,7 +124,6 @@ char **argv; afs_int32 myHost; struct rx_service *tservice; struct rx_securityClass *sc[3]; - extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int VL_ExecuteRequest(); extern int RXSTATS_ExecuteRequest(); struct afsconf_dir *tdir; @@ -235,7 +243,7 @@ char **argv; signal(SIGXCPU, CheckSignal_Signal); #endif /* get list of servers */ - code = afsconf_GetExtendedCellInfo(tdir,(char *)0, AFSCONF_VLDBSERVICE, + code = afsconf_GetExtendedCellInfo(tdir,NULL, AFSCONF_VLDBSERVICE, &info, &clones); if (code) { printf("vlserver: Couldn't get cell server list for 'afsvldb'.\n"); @@ -271,7 +279,7 @@ char **argv; sc[0] = rxnull_NewServerSecurityObject(); sc[1] = (struct rx_securityClass *) 0; - sc[2] = (struct rx_securityClass *) rxkad_NewServerSecurityObject(0, tdir, afsconf_GetKey, (char *) 0); + sc[2] = rxkad_NewServerSecurityObject(0, tdir, afsconf_GetKey, NULL); tservice = rx_NewService(0, USER_SERVICE_ID, "Vldb server", sc, 3, VL_ExecuteRequest); if (tservice == (struct rx_service *)0) { printf("vlserver: Could not create VLDB_SERVICE rx service\n"); diff --git a/src/vlserver/vlutils.c b/src/vlserver/vlutils.c index 42bdea7..88b4c02 100644 --- a/src/vlserver/vlutils.c +++ b/src/vlserver/vlutils.c @@ -18,6 +18,15 @@ RCSID("$Header$"); #else #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -416,7 +425,7 @@ afs_int32 FindExtentBlock(trans, uuidp, createit, hostslot, expp, basep) struct extentaddr *exp; register afs_int32 i, j, code, base, index, error=0; - *expp = (struct extentaddr *)0; + *expp = NULL; *basep = 0; /* Create the first extension block if it does not exist */ diff --git a/src/vol/clone.c b/src/vol/clone.c index 1294a1a..db5f35b 100644 --- a/src/vol/clone.c +++ b/src/vol/clone.c @@ -37,6 +37,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include diff --git a/src/vol/devname.c b/src/vol/devname.c index 90813e0..8669438 100644 --- a/src/vol/devname.c +++ b/src/vol/devname.c @@ -91,6 +91,16 @@ RCSID("$Header$"); #define ROOTINO EXT2_ROOT_INO /* Assuming we do this on ext2, of course. */ #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + /* ensure that we don't have a "/" instead of a "/dev/rxd0a" type of device. * returns pointer to static storage; copy it out quickly! */ @@ -118,14 +128,14 @@ dev_t adev; { #ifdef AFS_AIX_ENV if ((nmounts = getmount(&vmountp)) <= 0) { - return (char *)0; + return NULL; } for (; nmounts; nmounts--, vmountp = (struct vmount *)((int)vmountp + vmountp->vmt_length)) { char *part = vmt2dataptr(vmountp, VMT_STUB); #else #ifdef AFS_SUN5_ENV if (!(mntfile = fopen(MNTTAB, "r"))) { - return (char *)0; + return NULL; } while (!getmntent(mntfile, &mnt)) { char *part = mnt.mnt_mountp; @@ -134,19 +144,19 @@ dev_t adev; { #ifdef AFS_LINUX22_ENV if ((mfd = setmntent("/proc/mounts", "r")) == NULL) { if ((mfd = setmntent("/etc/mtab", "r")) == NULL) { - return (char *)0; + return NULL; } } #else if ((mfd = setmntent(MOUNTED/*MNTTAB*/, "r")) == NULL) { - return (char *)0; + return NULL; } #endif - while (mntent = getmntent(mfd)) { + while ((mntent = getmntent(mfd))) { char *part = mntent->mnt_dir; #else setfsent(); - while (fsent = getfsent()) { + while ((fsent = getfsent())) { char *part = fsent->fs_file; #endif #endif /* AFS_SGI_ENV */ @@ -206,14 +216,14 @@ dev_t adev; { *ptr = '\0'; strcpy(wpath, pbuf); } else - return (char *)0; + return NULL; } ptr = (char *)strrchr(pbuffer, '/'); if (ptr) { strcpy(pbuffer, ptr+1); return pbuffer; } else - return (char *)0; + return NULL; } } #ifndef AFS_AIX_ENV @@ -227,7 +237,7 @@ dev_t adev; { #endif #endif /* AFS_SGI_ENV */ #endif - return (char *)0; + return NULL; } @@ -259,6 +269,6 @@ char *afs_rawname(devfile) while((--i>=0) && (devfile[i] != '/')); } - return (char *)0; + return NULL; } diff --git a/src/vol/fs_conv_411.c b/src/vol/fs_conv_411.c index 1cf2ce5..14c0d49 100644 --- a/src/vol/fs_conv_411.c +++ b/src/vol/fs_conv_411.c @@ -927,7 +927,7 @@ char *vol_DevName(adev) } } closedir(dirp); - return (char *) 0; /* failed */ + return NULL; /* failed */ } char *unrawname(name) diff --git a/src/vol/fssync.c b/src/vol/fssync.c index 0a2fb38..2c82aab 100644 --- a/src/vol/fssync.c +++ b/src/vol/fssync.c @@ -60,6 +60,15 @@ RCSID("$Header$"); #endif /* AFS_PTHREAD_ENV */ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + #include #include #include "nfs.h" diff --git a/src/vol/ihandle.c b/src/vol/ihandle.c index ca5a548..78defc2 100644 --- a/src/vol/ihandle.c +++ b/src/vol/ihandle.c @@ -30,6 +30,13 @@ RCSID("$Header$"); #include #endif #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include diff --git a/src/vol/nuke.c b/src/vol/nuke.c index fd390b5..59aa959 100644 --- a/src/vol/nuke.c +++ b/src/vol/nuke.c @@ -196,7 +196,7 @@ afs_int32 avolid; { free(ti); } code = 0; /* we really don't care about it except for debugging */ - allInodes = (struct ilist *) 0; + allInodes = NULL; /* at this point, we should try to remove the volume header file itself. * the volume header file is the file named VNNNNN.vol in the UFS file @@ -218,7 +218,7 @@ afs_int32 avolid; { ni = ti->next; free(ti); } - allInodes = (struct ilist *) 0; + allInodes = NULL; } ReleaseWriteLock(&localLock); return code; diff --git a/src/vol/partition.c b/src/vol/partition.c index 4b2f6e1..dd8034f 100644 --- a/src/vol/partition.c +++ b/src/vol/partition.c @@ -100,6 +100,15 @@ RCSID("$Header$"); #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + #include #include #include "nfs.h" @@ -353,7 +362,7 @@ void VAttachPartitions2() { char pname[32]; dirp = opendir("/"); - while (de = readdir(dirp)) { + while ((de = readdir(dirp))) { strcpy(pname, "/"); strncat(pname, de->d_name, 20); pname[sizeof(pname)-1] = '\0'; @@ -727,7 +736,7 @@ int VAttachPartitions(void) exit(-1); } } - while (mntent = getmntent(mfd)) { + while ((mntent = getmntent(mfd))) { /* If we're going to always attach this partition, do it later. */ if (VIsAlwaysAttach(mntent->mnt_dir)) continue; diff --git a/src/vol/physio.c b/src/vol/physio.c index a17b449..109e088 100644 --- a/src/vol/physio.c +++ b/src/vol/physio.c @@ -27,6 +27,13 @@ RCSID("$Header$"); #else #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #ifdef AFS_SUN5_ENV #include #endif diff --git a/src/vol/purge.c b/src/vol/purge.c index 3300f14..1105367 100644 --- a/src/vol/purge.c +++ b/src/vol/purge.c @@ -27,6 +27,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include diff --git a/src/vol/vnode.c b/src/vol/vnode.c index bad05c4..3d1da2c 100644 --- a/src/vol/vnode.c +++ b/src/vol/vnode.c @@ -20,6 +20,13 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #ifdef AFS_PTHREAD_ENV #include #else /* AFS_PTHREAD_ENV */ diff --git a/src/vol/vol-info.c b/src/vol/vol-info.c index c21c345..641961e 100644 --- a/src/vol/vol-info.c +++ b/src/vol/vol-info.c @@ -596,7 +596,7 @@ char **argv; register struct cmd_syndesc *ts; afs_int32 code; - ts = cmd_CreateSyntax((char *)0, handleit, 0, "Dump volume's internal state"); + ts = cmd_CreateSyntax(NULL, handleit, 0, "Dump volume's internal state"); cmd_AddParm(ts, "-online", CMD_FLAG, CMD_OPTIONAL, "Get info from running fileserver"); cmd_AddParm(ts, "-vnode", CMD_FLAG, CMD_OPTIONAL, "Dump vnode info"); cmd_AddParm(ts, "-date", CMD_FLAG, CMD_OPTIONAL, "Also dump vnode's mod date"); diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index 9440a94..b03af6f 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -550,7 +550,7 @@ static handleit(as) dirp = opendir(tmpdir); if (!dirp) { printf("Can't open temporary placeholder dir %s; using current partition \n", tmpdir); - tmpdir = (char *)0; + tmpdir = NULL; } else closedir(dirp); } @@ -1114,13 +1114,13 @@ char *wpath, *pbuffer; *ptr = '\0'; strcpy(wpath, pbuf); } else - return (char *)0; + return NULL; ptr = (char *)strrchr(pbuffer, '/'); if (ptr) { strcpy(pbuffer, ptr+1); return pbuffer; } else - return (char *)0; + return NULL; } void SalvageFileSys1(struct DiskPartition *partP, VolumeId singleVolumeNumber) @@ -2872,7 +2872,7 @@ void JudgeEntry(struct DirSummary *dir, char *name, VnodeId vnodeNumber, if (ShowRootFiles && vnodeEssence->owner==0 && vnodeNumber != 1) Log("FOUND root file: %s/%s (%u.%u %05o) author %u (vnode %u dir %u)\n", dir->name?dir->name:"??", name, vnodeEssence->owner, vnodeEssence->group, vnodeEssence->modeBits, vnodeEssence->author, vnodeNumber, dir->vnodeNumber); - if (vnodeIdToClass(vnodeNumber) == vLarge && vnodeEssence->name == (char *)0) { + if (vnodeIdToClass(vnodeNumber) == vLarge && vnodeEssence->name == NULL) { char *n; if (n = (char*)malloc(strlen(name)+1)) strcpy(n, name); @@ -3436,7 +3436,7 @@ void MaybeZapVolume(register struct InodeSummary *isp, char *message, void AskOffline(VolumeId volumeId) { - if (FSYNC_askfs(volumeId, (char *)0, FSYNC_OFF, FSYNC_SALVAGE) == FSYNC_DENIED) { + if (FSYNC_askfs(volumeId, NULL, FSYNC_OFF, FSYNC_SALVAGE) == FSYNC_DENIED) { Log("AskOffline: file server denied offline request; a general salvage is required.\n"); Abort("Salvage aborted\n"); } diff --git a/src/vol/volume.c b/src/vol/volume.c index 8769d0c..8cb9666 100644 --- a/src/vol/volume.c +++ b/src/vol/volume.c @@ -1794,7 +1794,7 @@ register Volume *vp; hd->next = hd->prev = 0; /* if not in LRU chain, next test won't be true */ if (hd == volumeLRU) /* last header item, turn into empty list */ - volumeLRU = (struct volHeader *) 0; + volumeLRU = NULL; } return old; } diff --git a/src/volser/dumpstuff.c b/src/volser/dumpstuff.c index 1d97559..c95c4fe 100644 --- a/src/volser/dumpstuff.c +++ b/src/volser/dumpstuff.c @@ -25,6 +25,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include diff --git a/src/volser/lockprocs.c b/src/volser/lockprocs.c index b52f3e8..f9e8934 100644 --- a/src/volser/lockprocs.c +++ b/src/volser/lockprocs.c @@ -25,6 +25,13 @@ RCSID("$Header$"); #else #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include @@ -142,7 +149,7 @@ Lp_QInit(ahead) struct qHead *ahead; { ahead->count = 0; - ahead->next = (struct aqueue *)0; + ahead->next = NULL; } /*add in front of queue */ @@ -155,7 +162,7 @@ Lp_QAdd(ahead,elem) if(ahead->count == 0) { ahead->count += 1; ahead->next = elem; - elem->next = (struct aqueue *)0; + elem->next = NULL; } else { temp = ahead->next; @@ -173,7 +180,7 @@ Lp_QScan(ahead,id,success, elem) { struct aqueue *cptr; cptr = ahead->next; - while(cptr != (struct aqueue *)0) { + while(cptr != NULL) { if(cptr->ids[RWVOL] == id) { *success = 1; *elem = cptr; @@ -205,7 +212,7 @@ Lp_QEnumerate(ahead,success, elem) elem->copyDate[i] = temp->copyDate[i]; elem->isValid[i] = temp->isValid[i]; } - elem->next = (struct aqueue *)0; + elem->next = NULL; *success = 1; free(temp); } diff --git a/src/volser/physio.c b/src/volser/physio.c index 3d5d7ff..c778eab 100644 --- a/src/volser/physio.c +++ b/src/volser/physio.c @@ -20,6 +20,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #ifdef AFS_SUN5_ENV #include #endif diff --git a/src/volser/restorevol.c b/src/volser/restorevol.c index ef73e7c..b928144 100644 --- a/src/volser/restorevol.c +++ b/src/volser/restorevol.c @@ -64,6 +64,15 @@ RCSID("$Header$"); #include #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + + char rootdir[MAXPATHLEN]; char mntroot[MAXPATHLEN]; #define ADIR "AFSDir-" @@ -534,7 +543,7 @@ afs_int32 ReadVNode(count) } *page0; - buffer = (char *)0; + buffer = NULL; buffer = (char *)malloc(vn.dataSize); readdata(buffer, vn.dataSize); @@ -915,7 +924,7 @@ main(argc, argv) setlinebuf(stdout); - ts=cmd_CreateSyntax((char *)0, WorkerBee, (char *) 0, "vldb check"); + ts=cmd_CreateSyntax(NULL, WorkerBee, NULL, "vldb check"); cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "dump file"); cmd_AddParm(ts, "-dir", CMD_SINGLE, CMD_OPTIONAL, "restore dir"); cmd_AddParm(ts, "-extension", CMD_SINGLE, CMD_OPTIONAL, "name extension"); diff --git a/src/volser/volmain.c b/src/volser/volmain.c index 404b116..2359b17 100644 --- a/src/volser/volmain.c +++ b/src/volser/volmain.c @@ -23,6 +23,13 @@ RCSID("$Header$"); #include #include #endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif #include #include #include @@ -59,7 +66,7 @@ RCSID("$Header$"); extern int (*vol_PollProc)(); extern struct volser_trans *TransList(); extern int IOMGR_Poll(); -char *GlobalNameHack = (char *)0; +char *GlobalNameHack = NULL; int hackIsIn = 0; afs_int32 GlobalVolCloneId, GlobalVolParentId; int GlobalVolType; @@ -72,8 +79,6 @@ extern int (*VolWriteProc)(); extern int (*VolFlushProc)(); extern void AFSVolExecuteRequest(); extern void RXSTATS_ExecuteRequest(); -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); -extern struct rx_service *rx_NewService(); extern Log(); struct afsconf_dir *tdir; static afs_int32 runningCalls=0; @@ -90,12 +95,14 @@ int Testing = 0; /* for ListViceInodes */ } -static MyBeforeProc () { +static MyBeforeProc (struct rx_call *acall) +{ runningCalls++; return 0; } -static MyAfterProc () { +static MyAfterProc (struct rx_call *acall, afs_int32 code) +{ runningCalls--; return 0; } @@ -181,7 +188,7 @@ void * a5; int vol_rxstat_userok(call) struct rx_call *call; { - return afsconf_SuperUser(tdir, call, (char *)0); + return afsconf_SuperUser(tdir, call, NULL); } #include "AFS_component_version_number.c" @@ -359,14 +366,14 @@ usage: VS_EXIT(1); } afsconf_GetKey(tdir, 999, &tkey); - securityObjects[0] = (struct rx_securityClass *) rxnull_NewServerSecurityObject(); + securityObjects[0] = rxnull_NewServerSecurityObject(); securityObjects[1] = (struct rx_securityClass *) 0; /* don't bother with rxvab */ - securityObjects[2] = (struct rx_securityClass *) rxkad_NewServerSecurityObject(0, tdir, afsconf_GetKey, (char *) 0); + securityObjects[2] = rxkad_NewServerSecurityObject(0, tdir, afsconf_GetKey, NULL); if (securityObjects[0] == (struct rx_securityClass *) 0) Abort("rxnull_NewServerSecurityObject"); service = rx_NewService(0, VOLSERVICE_ID, "VOLSER", securityObjects, 3, AFSVolExecuteRequest); if (service == (struct rx_service *) 0) Abort("rx_NewService"); - rx_SetBeforeProc(service, (char (*)()) MyBeforeProc); - rx_SetAfterProc(service, (char (*)()) MyAfterProc); + rx_SetBeforeProc(service, MyBeforeProc); + rx_SetAfterProc(service, MyAfterProc); rx_SetIdleDeadTime(service, 0); /* never timeout */ if (lwps < 4) lwps = 4; diff --git a/src/volser/volprocs.c b/src/volser/volprocs.c index 8fb0fe2..15bf1a1 100644 --- a/src/volser/volprocs.c +++ b/src/volser/volprocs.c @@ -23,6 +23,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -55,9 +64,6 @@ RCSID("$Header$"); #include "volint.h" extern int DoLogging; extern struct volser_trans *FindTrans(), *NewTrans(),*TransList(); -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); -extern struct rx_service *rx_NewService(); -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); extern struct afsconf_dir *tdir; extern char *volutil_PartitionName(); @@ -164,11 +170,11 @@ int amode; { if (ConvertPartition(apartid, pbuf, sizeof(pbuf))) { *error = EINVAL; - return (struct Volume *) 0; + return NULL; } if (ConvertVolume(avolid, vbuf, sizeof(vbuf))) { *error = EINVAL; - return (struct Volume *) 0; + return NULL; } tv = VAttachVolumeByName(error, pbuf, vbuf, amode); return tv; @@ -554,7 +560,7 @@ char *newName; } } else { - purgevp = (struct Volume *) 0; + purgevp = NULL; } originalvp = tt->volume; if ((V_type(originalvp) == backupVolume) || (V_type(originalvp) == readonlyVolume)){ @@ -606,7 +612,7 @@ char *newName; if (purgevp) Log("1 Volser: Clone: Purging old read only volume %u\n", purgeId); CloneVolume(&error, originalvp, newvp, purgevp); - purgevp = (struct Volume *) 0; /* clone releases it, maybe even if error */ + purgevp = NULL; /* clone releases it, maybe even if error */ if (error) { Log("1 Volser: Clone: clone operation failed with code %d\n", error); LogError(error); @@ -638,7 +644,7 @@ char *newName; goto fail; } VDetachVolume(&error, newvp); /* allow file server to get it's hands on it */ - newvp = (struct Volume *) 0; + newvp = NULL; VUpdateVolume(&error, originalvp); if (error) { Log("1 Volser: Clone: original update %d\n", error); @@ -795,7 +801,7 @@ afs_int32 cloneId; goto fail; } VDetachVolume(&error, clonevp); /* allow file server to get it's hands on it */ - clonevp = (struct Volume *) 0; + clonevp = NULL; VUpdateVolume(&error, originalvp); if (error) { Log("1 Volser: Clone: original update %d\n", error); @@ -1318,7 +1324,7 @@ struct restoreCookie *cookie; strcpy(tt->lastProcName,"Restore"); tt->rxCallPtr = acid; code = RestoreVolume(acid, tt->volume, (aflags & 1),cookie); /* last is incrementalp */ - FSYNC_askfs(tt->volid, (char *) 0, FSYNC_RESTOREVOLUME, 0l);/*break call backs on the + FSYNC_askfs(tt->volid, NULL, FSYNC_RESTOREVOLUME, 0l);/*break call backs on the restored volume */ tt->rxCallPtr = (struct rx_call *)0; tcode = TRELE(tt); @@ -1387,7 +1393,7 @@ afs_int32 anewsite; } strcpy(tt->lastProcName,"SetForwarding"); tt->rxCallPtr = acid; - FSYNC_askfs(tt->volid, (char *) 0, FSYNC_MOVEVOLUME, anewsite); + FSYNC_askfs(tt->volid, NULL, FSYNC_MOVEVOLUME, anewsite); tt->rxCallPtr = (struct rx_call *)0; if(TRELE(tt)) return VOLSERTRELE_ERROR; @@ -1532,7 +1538,7 @@ char **aname; struct volser_trans *tt; register int len; - *aname = (char *)0; + *aname = NULL; tt = FindTrans(atrans); if (!tt) return ENOENT; if (tt->vflags & VTDeleted) { diff --git a/src/volser/voltrans.c b/src/volser/voltrans.c index 2258601..1efe2cb 100644 --- a/src/volser/voltrans.c +++ b/src/volser/voltrans.c @@ -24,6 +24,15 @@ RCSID("$Header$"); #else #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include "volser.h" @@ -93,7 +102,7 @@ register struct volser_trans *atrans; { if (tt == atrans) { if (tt->volume) VDetachVolume(&error, tt->volume); - tt->volume = (struct Volume *) 0; + tt->volume = NULL; *lt = tt->next; free(tt); return 0; diff --git a/src/volser/vos.c b/src/volser/vos.c index 8709da8..325fab8 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -28,6 +28,15 @@ RCSID("$Header$"); #include #endif #include + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -80,7 +89,6 @@ afs_int32 tserver; extern struct ubik_client *cstruct; const char *confdir; extern struct rx_connection *UV_Bind(); -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); extern int UV_SetSecurity(); extern int UV_SetVolumeInfo(); extern int vsu_SetCrypt(); @@ -372,7 +380,7 @@ int ReceiveFile(ufd, call, blksize) struct rx_call *call; long blksize; { - char *buffer = (char *) 0; + char *buffer = NULL; afs_int32 bytesread; afs_uint32 bytesleft, w; afs_int32 error = 0; @@ -3933,7 +3941,7 @@ register struct cmd_syndesc *as; struct hostent *he; afs_int32 saddr; he = hostutil_GetHostByName((char*)as->parms[1].items->data); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "Can't get host info for '%s'\n", as->parms[1].items->data); @@ -4046,7 +4054,7 @@ char *arock; { cstruct = (struct ubik_client *)0; sauth = 0; - tcell = (char *) 0; + tcell = NULL; if (as->parms[12].items) /* if -cell specified */ tcell = as->parms[12].items->data; if(as->parms[14].items) /* -serverauth specified */ @@ -4099,7 +4107,7 @@ char **argv; { confdir = AFSDIR_CLIENT_ETC_DIRPATH; - cmd_SetBeforeProc(MyBeforeProc, (char *) 0); + cmd_SetBeforeProc(MyBeforeProc, NULL); ts = cmd_CreateSyntax("create", CreateVolume, 0, "create a new volume"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); diff --git a/src/volser/vsprocs.c b/src/volser/vsprocs.c index 5ef020f..e469748 100644 --- a/src/volser/vsprocs.c +++ b/src/volser/vsprocs.c @@ -25,6 +25,15 @@ RCSID("$Header$"); #include #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -56,10 +65,6 @@ afs_int32 VolumeExists(), CheckVldbRWBK(), CheckVldb(); struct ubik_client *cstruct; int verbose = 0; -extern struct rx_securityClass *rxnull_NewClientSecurityObject(); -extern struct rx_connection *rx_NewConnection(); -extern void AFSVolExecuteRequest(); -extern struct rx_securityClass *rxnull_NewServerSecurityObject(); extern int VL_GetNewVolumeId(); extern int VL_SetLock(); extern int VL_ReleaseLock(); @@ -1125,7 +1130,7 @@ UV_MoveVolume(afromvol, afromserver, afrompart, atoserver, atopart) strncpy(tmpName, volName, VOLSER_OLDMAXVOLNAME); free(volName); - volName = (char *) 0; + volName = NULL; code = AFSVolSetFlags (toconn, totid, (VTDeleteOnSalvage | VTOutOfService)); ONERR(code, "Failed to set the flags on the destination volume %u\n", volid); @@ -3149,7 +3154,7 @@ UV_ListPartitions(aserver, ptrPartList, cntp) aconn = UV_Bind(aserver,AFSCONF_VOLUMEPORT); partEnts.partEntries_len = 0; - partEnts.partEntries_val = (afs_int32 *)0; + partEnts.partEntries_val = NULL; code = AFSVolXListPartitions(aconn, &partEnts); /* this is available only on new servers */ if (code == RXGEN_OPCODE) { diff --git a/src/volser/vsutils.c b/src/volser/vsutils.c index 3a5d1e3..10c387b 100644 --- a/src/volser/vsutils.c +++ b/src/volser/vsutils.c @@ -26,6 +26,15 @@ RCSID("$Header$"); #ifdef AFS_AIX_ENV #include #endif + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include #include #include @@ -461,7 +470,7 @@ afs_int32 vsu_ClientInit(noAuthFlag, confDir, cellName, sauth, uclientp, secproc strcpy(sname.cell, info.name); sname.instance[0] = 0; strcpy(sname.name, "afs"); - code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), (char *)0); + code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), NULL); if (code) { /* did not get ticket */ fprintf(STDERR, "vsu_ClientInit: Could not get afs tokens, running unauthenticated.\n"); scIndex = 0; @@ -477,10 +486,10 @@ afs_int32 vsu_ClientInit(noAuthFlag, confDir, cellName, sauth, uclientp, secproc switch (scIndex) { case 0 : - sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + sc = rxnull_NewClientSecurityObject(); break; case 2: - sc = (struct rx_securityClass *)rxkad_NewClientSecurityObject( + sc = rxkad_NewClientSecurityObject( vsu_rxkad_level, &ttoken.sessionKey, ttoken.kvno, ttoken.ticketLen, ttoken.ticket); break; diff --git a/src/xstat/xstat_cm.c b/src/xstat/xstat_cm.c index b139f4b..25cfca4 100644 --- a/src/xstat/xstat_cm.c +++ b/src/xstat/xstat_cm.c @@ -22,6 +22,14 @@ RCSID("$Header$"); #include "xstat_cm.h" /*Interface for this module*/ #include /*Lightweight process package*/ +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #define LWP_STACK_SIZE (16 * 1024) /* @@ -455,7 +463,7 @@ int xstat_cm_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, rn, a_numServers); arg_errfound = 1; } - if (a_collIDP == (afs_int32 *)0) { + if (a_collIDP == NULL) { fprintf(stderr, "[%s] Null collection ID array argument\n", rn); arg_errfound = 1; } @@ -523,7 +531,7 @@ int xstat_cm_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, * Create a null Rx client security object, to be used by the * probe LWP. */ - secobj = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + secobj = rxnull_NewClientSecurityObject(); if (secobj == (struct rx_securityClass *)0) { fprintf(stderr, "[%s] Can't create probe LWP client security object.\n", @@ -553,7 +561,7 @@ int xstat_cm_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, hostNameFound = hostutil_GetNameByINet(curr_conn->skt.sin_addr.s_addr); - if (hostNameFound == (char *)0) { + if (hostNameFound == NULL) { fprintf(stderr, "[%s] Can't map Internet address %lu to a string name\n", rn, curr_conn->skt.sin_addr.s_addr); diff --git a/src/xstat/xstat_cm_test.c b/src/xstat/xstat_cm_test.c index 33e8364..1e2a744 100644 --- a/src/xstat/xstat_cm_test.c +++ b/src/xstat/xstat_cm_test.c @@ -21,6 +21,13 @@ RCSID("$Header$"); #include "xstat_cm.h" /*Interface for xstat_cm module*/ #include /*Command line interpreter*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif /* * External routines that don't have explicit include file definitions. @@ -1277,7 +1284,7 @@ int RunTheTest(a_s) CMSktArray[currCM].sin_family = htons(AF_INET); /*Internet family*/ CMSktArray[currCM].sin_port = htons(7001); /*Cache Manager port*/ he = hostutil_GetHostByName(curr_item->data); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for '%s'\n", rn, curr_item->data); diff --git a/src/xstat/xstat_fs.c b/src/xstat/xstat_fs.c index 79fc915..3318551 100644 --- a/src/xstat/xstat_fs.c +++ b/src/xstat/xstat_fs.c @@ -22,6 +22,14 @@ RCSID("$Header$"); #include "xstat_fs.h" /*Interface for this module*/ #include /*Lightweight process package*/ +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #define LWP_STACK_SIZE (16 * 1024) /* @@ -495,7 +503,7 @@ int xstat_fs_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler rn, a_numServers); arg_errfound = 1; } - if (a_collIDP == (afs_int32 *)0) { + if (a_collIDP == NULL) { fprintf(stderr, "[%s] Null collection ID array argument\n", rn); arg_errfound = 1; } @@ -590,7 +598,7 @@ int xstat_fs_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler * Create a null Rx client security object, to be used by the * probe LWP. */ - secobj = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + secobj = rxnull_NewClientSecurityObject(); if (secobj == (struct rx_securityClass *)0) { fprintf(stderr, "[%s] Can't create probe LWP client security object.\n", @@ -619,7 +627,7 @@ int xstat_fs_Init(a_numServers, a_socketArray, a_ProbeFreqInSecs, a_ProbeHandler hostNameFound = hostutil_GetNameByINet(curr_conn->skt.sin_addr.s_addr); - if (hostNameFound == (char *)0) { + if (hostNameFound == NULL) { fprintf(stderr, "[%s] Can't map Internet address %lu to a string name\n", rn, curr_conn->skt.sin_addr.s_addr); diff --git a/src/xstat/xstat_fs_callback.c b/src/xstat/xstat_fs_callback.c index 45c352a..76722fd 100644 --- a/src/xstat/xstat_fs_callback.c +++ b/src/xstat/xstat_fs_callback.c @@ -29,6 +29,15 @@ RCSID("$Header$"); #include #include /*Standard I/O stuff*/ + +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + #include /*Callback interface defs*/ int afs_cb_inited = 0; diff --git a/src/xstat/xstat_fs_test.c b/src/xstat/xstat_fs_test.c index 8547854..6ee1271 100644 --- a/src/xstat/xstat_fs_test.c +++ b/src/xstat/xstat_fs_test.c @@ -21,6 +21,13 @@ RCSID("$Header$"); #include "xstat_fs.h" /*Interface for xstat_fs module*/ #include /*Command line interpreter*/ #include +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif /* * External routines that don't have explicit include file definitions. @@ -703,7 +710,7 @@ int RunTheTest(a_s) FSSktArray[currFS].sin_family = htons(AF_INET); /*Internet family*/ FSSktArray[currFS].sin_port = htons(7000); /*FileServer port*/ he = hostutil_GetHostByName(curr_item->data); - if (he == (struct hostent *)0) { + if (he == NULL) { fprintf(stderr, "[%s] Can't get host info for '%s'\n", rn, curr_item->data); -- 1.9.4