From owner-p4-projects Tue Mar 19 21: 0:27 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8116937B405; Tue, 19 Mar 2002 20:58:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id F39E637B419 for ; Tue, 19 Mar 2002 20:58:24 -0800 (PST) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2K4wNx34404 for perforce@freebsd.org; Tue, 19 Mar 2002 20:58:23 -0800 (PST) (envelope-from peter@freebsd.org) Date: Tue, 19 Mar 2002 20:58:23 -0800 (PST) Message-Id: <200203200458.g2K4wNx34404@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm Subject: PERFORCE change 8016 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=8016 Change 8016 by peter@peter_daintree on 2002/03/19 20:57:59 IFC Affected files ... ... //depot/projects/ia64/lib/libc_r/uthread/pthread_private.h#4 integrate ... //depot/projects/ia64/lib/libc_r/uthread/uthread_create.c#3 integrate ... //depot/projects/ia64/lib/libc_r/uthread/uthread_exit.c#3 integrate ... //depot/projects/ia64/lib/libc_r/uthread/uthread_fork.c#2 integrate ... //depot/projects/ia64/lib/libc_r/uthread/uthread_init.c#3 integrate ... //depot/projects/ia64/lib/libc_r/uthread/uthread_spec.c#2 integrate ... //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/common/new.sgml#6 integrate ... //depot/projects/ia64/sbin/Makefile#5 integrate ... //depot/projects/ia64/sbin/badsect/badsect.c#3 integrate ... //depot/projects/ia64/sbin/clri/clri.c#2 integrate ... //depot/projects/ia64/sbin/ffsinfo/ffsinfo.8#2 integrate ... //depot/projects/ia64/sbin/growfs/debug.c#2 integrate ... //depot/projects/ia64/sbin/ipfstat/Makefile#4 integrate ... //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#4 integrate ... //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#2 integrate ... //depot/projects/ia64/sys/dev/acpica/acpivar.h#6 integrate ... //depot/projects/ia64/sys/dev/aic/aic.c#4 integrate ... //depot/projects/ia64/sys/dev/aic/aic_cbus.c#2 integrate ... //depot/projects/ia64/sys/dev/aic/aic_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/aic/aicvar.h#3 integrate ... //depot/projects/ia64/sys/dev/an/if_an.c#6 integrate ... //depot/projects/ia64/sys/dev/an/if_an_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/an/if_an_pci.c#2 integrate ... //depot/projects/ia64/sys/dev/an/if_anreg.h#3 integrate ... //depot/projects/ia64/sys/dev/asr/asr.c#4 integrate ... //depot/projects/ia64/sys/dev/awi/am79c930.c#2 integrate ... //depot/projects/ia64/sys/dev/awi/am79c930var.h#2 integrate ... //depot/projects/ia64/sys/dev/awi/awi.c#2 integrate ... //depot/projects/ia64/sys/dev/awi/awi_wep.c#2 integrate ... //depot/projects/ia64/sys/dev/awi/awi_wicfg.c#2 integrate ... //depot/projects/ia64/sys/dev/awi/awivar.h#2 integrate ... //depot/projects/ia64/sys/dev/bge/if_bge.c#5 integrate ... //depot/projects/ia64/sys/dev/bktr/bktr_os.c#3 integrate ... //depot/projects/ia64/sys/dev/cm/if_cm_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/cm/smc90cx6.c#2 integrate ... //depot/projects/ia64/sys/dev/cm/smc90cx6var.h#2 integrate ... //depot/projects/ia64/sys/dev/cnw/if_cnw.c#3 integrate ... //depot/projects/ia64/sys/dev/ct/bshw_machdep.c#2 integrate ... //depot/projects/ia64/sys/dev/ct/bshwvar.h#2 integrate ... //depot/projects/ia64/sys/dev/ct/ct.c#2 integrate ... //depot/projects/ia64/sys/dev/ct/ct_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/ct/ct_machdep.h#2 integrate ... //depot/projects/ia64/sys/dev/ct/ctvar.h#2 integrate ... //depot/projects/ia64/sys/dev/dgb/dgb.c#4 integrate ... //depot/projects/ia64/sys/dev/ed/if_ed.c#4 integrate ... //depot/projects/ia64/sys/dev/ed/if_ed_cbus.c#2 integrate ... //depot/projects/ia64/sys/dev/ed/if_ed_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/ed/if_ed_pci.c#2 integrate ... //depot/projects/ia64/sys/dev/ed/if_edvar.h#2 integrate ... //depot/projects/ia64/sys/dev/eisa/eisaconf.h#2 integrate ... //depot/projects/ia64/sys/dev/em/if_em.c#3 integrate ... //depot/projects/ia64/sys/dev/en/midway.c#2 integrate ... //depot/projects/ia64/sys/dev/en/midwayvar.h#2 integrate ... //depot/projects/ia64/sys/dev/ep/if_ep.c#3 integrate ... //depot/projects/ia64/sys/dev/ep/if_ep_eisa.c#2 integrate ... //depot/projects/ia64/sys/dev/ex/if_ex.c#2 integrate ... //depot/projects/ia64/sys/dev/ex/if_ex_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/ex/if_ex_pccard.c#2 integrate ... //depot/projects/ia64/sys/dev/gem/if_gem.c#2 integrate ... //depot/projects/ia64/sys/dev/gem/if_gem_pci.c#4 integrate ... //depot/projects/ia64/sys/dev/gem/if_gemvar.h#2 integrate ... //depot/projects/ia64/sys/dev/hea/eni.c#2 integrate ... //depot/projects/ia64/sys/dev/hea/eni_buffer.c#3 integrate ... //depot/projects/ia64/sys/dev/hea/eni_if.c#2 integrate ... //depot/projects/ia64/sys/dev/hea/eni_intr.c#2 integrate ... //depot/projects/ia64/sys/dev/hea/eni_receive.c#2 integrate ... //depot/projects/ia64/sys/dev/hea/eni_var.h#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_buffer.c#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_include.h#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_init.c#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_load.c#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_output.c#2 integrate ... //depot/projects/ia64/sys/dev/hfa/fore_receive.c#2 integrate ... //depot/projects/ia64/sys/dev/iir/iir.h#2 integrate ... //depot/projects/ia64/sys/dev/iir/iir_pci.c#2 integrate ... //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#4 integrate ... //depot/projects/ia64/sys/dev/ispfw/ispfw.c#2 integrate ... //depot/projects/ia64/sys/dev/lge/if_lge.c#2 integrate ... //depot/projects/ia64/sys/dev/lnc/if_lnc.c#3 integrate ... //depot/projects/ia64/sys/dev/lnc/if_lncvar.h#2 integrate ... //depot/projects/ia64/sys/dev/mii/acphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/amphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/brgphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/dcphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/exphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/lxtphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/mii.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/mii_physubr.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/miivar.h#2 integrate ... //depot/projects/ia64/sys/dev/mii/mlphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/nsgphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/nsphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/pnaphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/pnphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/qsphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/rlphy.c#3 integrate ... //depot/projects/ia64/sys/dev/mii/tdkphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/tlphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/ukphy.c#2 integrate ... //depot/projects/ia64/sys/dev/mii/xmphy.c#2 integrate ... //depot/projects/ia64/sys/dev/ncv/ncr53c500.c#4 integrate ... //depot/projects/ia64/sys/dev/ncv/ncr53c500_pccard.c#4 integrate ... //depot/projects/ia64/sys/dev/ncv/ncr53c500var.h#3 integrate ... //depot/projects/ia64/sys/dev/nge/if_nge.c#4 integrate ... //depot/projects/ia64/sys/dev/nsp/nsp.c#3 integrate ... //depot/projects/ia64/sys/dev/nsp/nsp_pccard.c#4 integrate ... //depot/projects/ia64/sys/dev/nsp/nspvar.h#3 integrate ... //depot/projects/ia64/sys/dev/pdq/if_fea.c#2 integrate ... //depot/projects/ia64/sys/dev/ppbus/ppb_msq.c#3 integrate ... //depot/projects/ia64/sys/dev/puc/puc.c#2 integrate ... //depot/projects/ia64/sys/dev/rp/rp.c#4 integrate ... //depot/projects/ia64/sys/dev/sio/sio.c#5 integrate ... //depot/projects/ia64/sys/dev/sio/sio_isa.c#5 integrate ... //depot/projects/ia64/sys/dev/sio/sio_pccard.c#4 integrate ... //depot/projects/ia64/sys/dev/sio/sio_pci.c#5 integrate ... //depot/projects/ia64/sys/dev/sio/sio_puc.c#2 integrate ... //depot/projects/ia64/sys/dev/sio/siovar.h#4 integrate ... //depot/projects/ia64/sys/dev/snc/dp83932.c#2 integrate ... //depot/projects/ia64/sys/dev/snc/dp83932subr.c#2 integrate ... //depot/projects/ia64/sys/dev/snc/dp83932subr.h#2 integrate ... //depot/projects/ia64/sys/dev/snc/dp83932var.h#2 integrate ... //depot/projects/ia64/sys/dev/snc/if_snc_cbus.c#2 integrate ... //depot/projects/ia64/sys/dev/snc/if_sncvar.h#2 integrate ... //depot/projects/ia64/sys/dev/snp/snp.c#6 integrate ... //depot/projects/ia64/sys/dev/stg/tmc18c30.c#4 integrate ... //depot/projects/ia64/sys/dev/stg/tmc18c30_isa.c#2 integrate ... //depot/projects/ia64/sys/dev/stg/tmc18c30_pccard.c#4 integrate ... //depot/projects/ia64/sys/dev/stg/tmc18c30var.h#3 integrate ... //depot/projects/ia64/sys/dev/streams/streams.c#3 integrate ... //depot/projects/ia64/sys/dev/sym/sym_hipd.c#5 integrate ... //depot/projects/ia64/sys/dev/txp/if_txp.c#4 integrate ... //depot/projects/ia64/sys/dev/usb/if_aue.c#4 integrate ... //depot/projects/ia64/sys/dev/usb/if_cue.c#2 integrate ... //depot/projects/ia64/sys/dev/usb/if_kue.c#2 integrate ... //depot/projects/ia64/sys/dev/usb/umass.c#5 integrate ... //depot/projects/ia64/sys/dev/usb/usb_ethersubr.c#2 integrate ... //depot/projects/ia64/sys/dev/usb/usb_ethersubr.h#2 integrate ... //depot/projects/ia64/sys/dev/usb/usbdivar.h#4 integrate ... //depot/projects/ia64/sys/dev/vx/if_vx.c#3 integrate ... //depot/projects/ia64/sys/dev/vx/if_vx_eisa.c#2 integrate ... //depot/projects/ia64/sys/dev/vx/if_vxreg.h#2 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_alloc.c#3 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_extern.h#2 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_inode.c#2 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_lookup.c#3 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_subr.c#3 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_vfsops.c#6 integrate ... //depot/projects/ia64/sys/gnu/ext2fs/ext2_vnops.c#3 integrate ... //depot/projects/ia64/sys/kern/kern_descrip.c#10 integrate ... //depot/projects/ia64/sys/kern/kern_event.c#4 integrate ... //depot/projects/ia64/sys/kern/kern_exit.c#6 integrate ... //depot/projects/ia64/sys/kern/kern_fork.c#4 integrate ... //depot/projects/ia64/sys/kern/kern_proc.c#5 integrate ... //depot/projects/ia64/sys/kern/sys_pipe.c#7 integrate ... //depot/projects/ia64/sys/kern/uipc_domain.c#4 integrate ... //depot/projects/ia64/sys/kern/uipc_socket.c#6 integrate ... //depot/projects/ia64/sys/kern/uipc_socket2.c#5 integrate ... //depot/projects/ia64/sys/kern/uipc_usrreq.c#8 integrate ... //depot/projects/ia64/sys/kern/vfs_aio.c#5 integrate ... //depot/projects/ia64/sys/kern/vfs_default.c#5 integrate ... //depot/projects/ia64/sys/kern/vfs_init.c#3 integrate ... //depot/projects/ia64/sys/kern/vfs_lookup.c#4 integrate ... //depot/projects/ia64/sys/kern/vfs_subr.c#6 integrate ... //depot/projects/ia64/sys/kern/vfs_syscalls.c#7 integrate ... //depot/projects/ia64/sys/libkern/bsearch.c#2 integrate ... //depot/projects/ia64/sys/libkern/mcount.c#2 integrate ... //depot/projects/ia64/sys/libkern/qsort.c#2 integrate ... //depot/projects/ia64/sys/libkern/quad.h#2 integrate ... //depot/projects/ia64/sys/net/zlib.c#3 integrate ... //depot/projects/ia64/sys/netatalk/at_extern.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_aal5.c#2 integrate ... //depot/projects/ia64/sys/netatm/atm_cm.c#2 integrate ... //depot/projects/ia64/sys/netatm/atm_cm.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_if.c#2 integrate ... //depot/projects/ia64/sys/netatm/atm_if.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_sigmgr.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_signal.c#2 integrate ... //depot/projects/ia64/sys/netatm/atm_stack.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_subr.c#3 integrate ... //depot/projects/ia64/sys/netatm/atm_sys.h#2 integrate ... //depot/projects/ia64/sys/netatm/atm_usrreq.c#2 integrate ... //depot/projects/ia64/sys/netatm/atm_var.h#3 integrate ... //depot/projects/ia64/sys/netinet6/nd6_nbr.c#2 integrate ... //depot/projects/ia64/sys/netipx/ipx.h#3 integrate ... //depot/projects/ia64/sys/netipx/ipx_if.h#2 integrate ... //depot/projects/ia64/sys/netipx/ipx_ip.h#2 integrate ... //depot/projects/ia64/sys/netipx/ipx_pcb.h#2 integrate ... //depot/projects/ia64/sys/netipx/ipx_var.h#2 integrate ... //depot/projects/ia64/sys/netipx/spx.h#2 integrate ... //depot/projects/ia64/sys/netipx/spx_debug.h#2 integrate ... //depot/projects/ia64/sys/netkey/key.c#5 integrate ... //depot/projects/ia64/sys/netkey/key.h#2 integrate ... //depot/projects/ia64/sys/netkey/key_debug.c#3 integrate ... //depot/projects/ia64/sys/netkey/key_debug.h#3 integrate ... //depot/projects/ia64/sys/netkey/keydb.c#2 integrate ... //depot/projects/ia64/sys/netkey/keydb.h#2 integrate ... //depot/projects/ia64/sys/netkey/keysock.c#4 integrate ... //depot/projects/ia64/sys/netkey/keysock.h#2 integrate ... //depot/projects/ia64/sys/netnatm/natm.c#4 integrate ... //depot/projects/ia64/sys/netnatm/natm.h#2 integrate ... //depot/projects/ia64/sys/netnatm/natm_pcb.c#2 integrate ... //depot/projects/ia64/sys/netnatm/natm_proto.c#3 integrate ... //depot/projects/ia64/sys/netns/ns.h#3 integrate ... //depot/projects/ia64/sys/netns/ns_if.h#2 integrate ... //depot/projects/ia64/sys/nfs/nfsnode.h#2 integrate ... //depot/projects/ia64/sys/pci/cy_pci.c#4 integrate ... //depot/projects/ia64/sys/pci/if_dc.c#7 integrate ... //depot/projects/ia64/sys/pci/if_en_pci.c#2 integrate ... //depot/projects/ia64/sys/pci/if_pcn.c#3 integrate ... //depot/projects/ia64/sys/pci/if_rl.c#5 integrate ... //depot/projects/ia64/sys/pci/if_sf.c#3 integrate ... //depot/projects/ia64/sys/pci/if_sis.c#6 integrate ... //depot/projects/ia64/sys/pci/if_sk.c#3 integrate ... //depot/projects/ia64/sys/pci/if_ste.c#3 integrate ... //depot/projects/ia64/sys/pci/if_ti.c#5 integrate ... //depot/projects/ia64/sys/pci/if_tl.c#3 integrate ... //depot/projects/ia64/sys/pci/if_tx.c#3 integrate ... //depot/projects/ia64/sys/pci/if_vr.c#3 integrate ... //depot/projects/ia64/sys/pci/if_wb.c#3 integrate ... //depot/projects/ia64/sys/pci/if_xl.c#5 integrate ... //depot/projects/ia64/sys/pci/intpm.c#3 integrate ... //depot/projects/ia64/sys/pci/meteor.c#3 integrate ... //depot/projects/ia64/sys/pci/simos.c#2 integrate ... //depot/projects/ia64/sys/sys/proc.h#8 integrate ... //depot/projects/ia64/sys/sys/socketvar.h#7 integrate ... //depot/projects/ia64/sys/sys/vnode.h#7 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_alloc.c#5 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_extern.h#4 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_inode.c#4 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_snapshot.c#7 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_softdep.c#6 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_subr.c#2 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_vfsops.c#7 integrate ... //depot/projects/ia64/sys/ufs/ffs/ffs_vnops.c#3 integrate ... //depot/projects/ia64/sys/ufs/ufs/acl.h#3 integrate ... //depot/projects/ia64/sys/ufs/ufs/quota.h#2 integrate ... //depot/projects/ia64/sys/ufs/ufs/ufs_extern.h#3 integrate ... //depot/projects/ia64/sys/ufs/ufs/ufs_quota.c#3 integrate ... //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#6 integrate ... //depot/projects/ia64/sys/ufs/ufs/ufsmount.h#2 integrate ... //depot/projects/ia64/sys/vm/default_pager.c#4 integrate ... //depot/projects/ia64/sys/vm/device_pager.c#4 integrate ... //depot/projects/ia64/sys/vm/phys_pager.c#2 integrate ... //depot/projects/ia64/sys/vm/swap_pager.c#6 integrate ... //depot/projects/ia64/sys/vm/swap_pager.h#4 integrate ... //depot/projects/ia64/sys/vm/vm_init.c#5 integrate ... //depot/projects/ia64/sys/vm/vm_map.c#7 integrate ... //depot/projects/ia64/sys/vm/vm_object.c#6 integrate ... //depot/projects/ia64/sys/vm/vm_pageout.c#8 integrate ... //depot/projects/ia64/sys/vm/vm_swap.c#5 integrate ... //depot/projects/ia64/usr.sbin/Makefile#6 integrate ... //depot/projects/ia64/usr.sbin/arp/arp.c#3 integrate Differences ... ==== //depot/projects/ia64/lib/libc_r/uthread/pthread_private.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * * Private thread definitions for the uthread kernel. * - * $FreeBSD: src/lib/libc_r/uthread/pthread_private.h,v 1.67 2002/02/17 17:21:27 deischen Exp $ + * $FreeBSD: src/lib/libc_r/uthread/pthread_private.h,v 1.68 2002/03/19 22:58:56 deischen Exp $ */ #ifndef _PTHREAD_PRIVATE_H @@ -481,13 +481,6 @@ } while (tv.tv_sec != _sched_tod.tv_sec) -struct pthread_key { - spinlock_t lock; - volatile int allocated; - volatile int count; - void (*destructor) (); -}; - struct pthread_rwlockattr { int pshared; }; @@ -631,6 +624,11 @@ siginfo_t siginfo; }; +struct pthread_specific_elem { + const void *data; + int seqno; +}; + /* * Thread structure. */ @@ -842,9 +840,9 @@ */ TAILQ_HEAD(, pthread_mutex) mutexq; - void *ret; - const void **specific_data; - int specific_data_count; + void *ret; + struct pthread_specific_elem *specific; + int specific_data_count; /* Cleanup handlers Link List */ struct pthread_cleanup *cleanup; ==== //depot/projects/ia64/lib/libc_r/uthread/uthread_create.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc_r/uthread/uthread_create.c,v 1.32 2002/02/09 19:58:41 deischen Exp $ + * $FreeBSD: src/lib/libc_r/uthread/uthread_create.c,v 1.33 2002/03/19 22:58:56 deischen Exp $ */ #include #include @@ -179,7 +179,7 @@ TAILQ_INIT(&new_thread->mutexq); /* Initialise hooks in the thread structure: */ - new_thread->specific_data = NULL; + new_thread->specific = NULL; new_thread->cleanup = NULL; new_thread->flags = 0; new_thread->poll_data.nfds = 0; ==== //depot/projects/ia64/lib/libc_r/uthread/uthread_exit.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc_r/uthread/uthread_exit.c,v 1.24 2001/11/17 14:28:39 deischen Exp $ + * $FreeBSD: src/lib/libc_r/uthread/uthread_exit.c,v 1.25 2002/03/19 22:58:56 deischen Exp $ */ #include #include @@ -158,7 +158,7 @@ curthread->attr.cleanup_attr(curthread->attr.arg_attr); } /* Check if there is thread specific data: */ - if (curthread->specific_data != NULL) { + if (curthread->specific != NULL) { /* Run the thread-specific data destructors: */ _thread_cleanupspecific(); } ==== //depot/projects/ia64/lib/libc_r/uthread/uthread_fork.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc_r/uthread/uthread_fork.c,v 1.26 2001/07/20 04:23:11 jasone Exp $ + * $FreeBSD: src/lib/libc_r/uthread/uthread_fork.c,v 1.27 2002/03/19 22:58:56 deischen Exp $ */ #include #include @@ -233,8 +233,8 @@ thread->attr.guardsize_attr); } - if (thread->specific_data != NULL) - free(thread->specific_data); + if (thread->specific != NULL) + free(thread->specific); if (thread->poll_data.fds != NULL) free(thread->poll_data.fds); ==== //depot/projects/ia64/lib/libc_r/uthread/uthread_init.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc_r/uthread/uthread_init.c,v 1.37 2002/02/09 19:58:41 deischen Exp $ + * $FreeBSD: src/lib/libc_r/uthread/uthread_init.c,v 1.38 2002/03/19 22:58:56 deischen Exp $ */ /* Allocate space for global thread variables here: */ @@ -340,7 +340,7 @@ _thread_initial->poll_data.fds = NULL; _thread_initial->sig_defer_count = 0; _thread_initial->yield_on_sig_undefer = 0; - _thread_initial->specific_data = NULL; + _thread_initial->specific = NULL; _thread_initial->cleanup = NULL; _thread_initial->flags = 0; _thread_initial->error = 0; ==== //depot/projects/ia64/lib/libc_r/uthread/uthread_spec.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc_r/uthread/uthread_spec.c,v 1.16 2001/04/10 04:19:20 deischen Exp $ + * $FreeBSD: src/lib/libc_r/uthread/uthread_spec.c,v 1.17 2002/03/19 22:58:56 deischen Exp $ */ #include #include @@ -38,6 +38,14 @@ #include #include "pthread_private.h" +struct pthread_key { + spinlock_t lock; + volatile int allocated; + volatile int count; + int seqno; + void (*destructor) (); +}; + /* Static variables: */ static struct pthread_key key_table[PTHREAD_KEYS_MAX]; @@ -57,6 +65,7 @@ if (key_table[(*key)].allocated == 0) { key_table[(*key)].allocated = 1; key_table[(*key)].destructor = destructor; + key_table[(*key)].seqno++; /* Unlock the key table entry: */ _SPINUNLOCK(&key_table[*key].lock); @@ -101,18 +110,20 @@ for (itr = 0; itr < PTHREAD_DESTRUCTOR_ITERATIONS; itr++) { for (key = 0; key < PTHREAD_KEYS_MAX; key++) { - if (curthread->specific_data_count) { + if (curthread->specific_data_count > 0) { /* Lock the key table entry: */ _SPINLOCK(&key_table[key].lock); destructor = NULL; - if (key_table[key].allocated) { - if (curthread->specific_data[key]) { - data = (void *) curthread->specific_data[key]; - curthread->specific_data[key] = NULL; - curthread->specific_data_count--; + if (key_table[key].allocated && + (curthread->specific[key].data != NULL)) { + if (curthread->specific[key].seqno == + key_table[key].seqno) { + data = (void *) curthread->specific[key].data; destructor = key_table[key].destructor; } + curthread->specific[key].data = NULL; + curthread->specific_data_count--; } /* Unlock the key table entry: */ @@ -125,22 +136,28 @@ if (destructor) destructor(data); } else { - free(curthread->specific_data); - curthread->specific_data = NULL; + free(curthread->specific); + curthread->specific = NULL; return; } } } - free(curthread->specific_data); - curthread->specific_data = NULL; + if (curthread->specific != NULL) { + free(curthread->specific); + curthread->specific = NULL; + } } -static inline const void ** +static inline struct pthread_specific_elem * pthread_key_allocate_data(void) { - const void **new_data; - if ((new_data = (const void **) malloc(sizeof(void *) * PTHREAD_KEYS_MAX)) != NULL) { - memset((void *) new_data, 0, sizeof(void *) * PTHREAD_KEYS_MAX); + struct pthread_specific_elem *new_data; + + new_data = (struct pthread_specific_elem *) + malloc(sizeof(struct pthread_specific_elem) * PTHREAD_KEYS_MAX); + if (new_data != NULL) { + memset((void *) new_data, 0, + sizeof(struct pthread_specific_elem) * PTHREAD_KEYS_MAX); } return (new_data); } @@ -154,18 +171,20 @@ /* Point to the running thread: */ pthread = _get_curthread(); - if ((pthread->specific_data) || - (pthread->specific_data = pthread_key_allocate_data())) { + if ((pthread->specific) || + (pthread->specific = pthread_key_allocate_data())) { if (key < PTHREAD_KEYS_MAX) { if (key_table[key].allocated) { - if (pthread->specific_data[key] == NULL) { + if (pthread->specific[key].data == NULL) { if (value != NULL) pthread->specific_data_count++; } else { if (value == NULL) pthread->specific_data_count--; } - pthread->specific_data[key] = value; + pthread->specific[key].data = value; + pthread->specific[key].seqno = + key_table[key].seqno; ret = 0; } else ret = EINVAL; @@ -186,11 +205,12 @@ pthread = _get_curthread(); /* Check if there is specific data: */ - if (pthread->specific_data != NULL && key < PTHREAD_KEYS_MAX) { + if (pthread->specific != NULL && key < PTHREAD_KEYS_MAX) { /* Check if this key has been used before: */ - if (key_table[key].allocated) { + if (key_table[key].allocated && + (pthread->specific[key].seqno == key_table[key].seqno)) { /* Return the value: */ - data = (void *) pthread->specific_data[key]; + data = (void *) pthread->specific[key].data; } else { /* * This key has not been used before, so return NULL ==== //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/common/new.sgml#6 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -11,7 +11,7 @@ FreeBSD プロジェクト - $FreeBSD: src/release/doc/ja_JP.eucJP/relnotes/common/new.sgml,v 1.53 2002/03/19 00:41:57 kuriyama Exp $ + $FreeBSD: src/release/doc/ja_JP.eucJP/relnotes/common/new.sgml,v 1.54 2002/03/20 02:01:26 kuriyama Exp $ 2000 @@ -1896,6 +1896,17 @@ FreeBSD-SA-02:13 参照). &merged; + zlib のプログラムエラーにより + メモリの解放が複数回行なわれていました. + &os; で使われている &man.malloc.3;/&man.free.3; ルーチンは + このエラーによって脆弱となることはありませんが, + 不正に圧縮されたデータの特殊ブロックを受け取ったアプリケーション + は間違って動作するか中断してしまうかも知れません. + この zlib のバグは修正されました. + 対策と解法はセキュリティ勧告 + FreeBSD-SA-02:18 + を参照してください. &merged; + ==== //depot/projects/ia64/sbin/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.98 2002/03/19 12:07:27 peter Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.99 2002/03/20 02:09:50 obrien Exp $ # XXX MISSING: icheck ncheck @@ -34,7 +34,6 @@ ipfstat \ ipfw \ ipmon \ - ipnat \ kldconfig \ kldload \ kldstat \ ==== //depot/projects/ia64/sbin/badsect/badsect.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ static const char sccsid[] = "@(#)badsect.c 8.1 (Berkeley) 6/5/93"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/badsect/badsect.c,v 1.10 2002/03/18 04:57:08 imp Exp $"; + "$FreeBSD: src/sbin/badsect/badsect.c,v 1.11 2002/03/20 04:33:16 imp Exp $"; #endif /* not lint */ /* @@ -103,7 +103,7 @@ daddr_t diskbn; daddr_t number; struct stat stbuf, devstat; - register struct dirent *dp; + struct dirent *dp; DIR *dirp; char name[2 * MAXPATHLEN]; char *name_dir_end; ==== //depot/projects/ia64/sbin/clri/clri.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ static char sccsid[] = "@(#)clri.c 8.2 (Berkeley) 9/23/93"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/clri/clri.c,v 1.4 1999/08/28 00:12:32 peter Exp $"; + "$FreeBSD: src/sbin/clri/clri.c,v 1.5 2002/03/20 04:33:25 imp Exp $"; #endif /* not lint */ #include @@ -72,9 +72,9 @@ int argc; char *argv[]; { - register struct fs *sbp; - register struct dinode *ip; - register int fd; + struct fs *sbp; + struct dinode *ip; + int fd; struct dinode ibuf[MAXBSIZE / sizeof (struct dinode)]; long generation, bsize; off_t offset; ==== //depot/projects/ia64/sbin/ffsinfo/ffsinfo.8#2 (text+ko) ==== @@ -35,7 +35,7 @@ .\" SUCH DAMAGE. .\" .\" $TSHeader: src/sbin/ffsinfo/ffsinfo.8,v 1.3 2000/12/12 19:30:55 tomsoft Exp $ -.\" $FreeBSD: src/sbin/ffsinfo/ffsinfo.8,v 1.7 2001/08/01 12:15:19 sheldonh Exp $ +.\" $FreeBSD: src/sbin/ffsinfo/ffsinfo.8,v 1.8 2002/03/20 02:35:14 rwatson Exp $ .\" .Dd September 8, 2000 .Dt FSINFO 8 @@ -114,6 +114,7 @@ This allows to change the output filename where the dump is written to. The current default is .Pa /var/tmp/ffsinfo . +If - is provided, output will be sent to stdout. .El .Sh EXAMPLES .Dl ffsinfo -l 1023 /dev/vinum/testvol ==== //depot/projects/ia64/sbin/growfs/debug.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/growfs/debug.c,v 1.4 2001/08/13 14:06:29 ru Exp $"; + "$FreeBSD: src/sbin/growfs/debug.c,v 1.5 2002/03/20 02:34:01 rwatson Exp $"; #endif /* not lint */ /* ********************************************************** INCLUDES ***** */ @@ -71,7 +71,10 @@ dbg_open(const char *fn) { - dbg_log=fopen(fn, "a"); + if (strcmp(fn, "-") == 0) + dbg_log=fopen("/dev/stdout", "a"); + else + dbg_log=fopen(fn, "a"); return; } ==== //depot/projects/ia64/sbin/ipfstat/Makefile#4 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/sbin/ipfstat/Makefile,v 1.16 2002/03/19 15:07:30 darrenr Exp $ +# $FreeBSD: src/sbin/ipfstat/Makefile,v 1.17 2002/03/19 22:51:53 alfred Exp $ .PATH: ${.CURDIR}/../../contrib/ipfilter ${.CURDIR}/../../contrib/ipfilter/man PROG= ipfstat MAN= ipfstat.8 -SRCS= fils.c parse.c opt.c kmem.c facpri.c common.c +SRCS= fils.c parse.c opt.c kmem.c facpri.c common.c printstate.c CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\" -DSTATETOP CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter/netinet CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter ==== //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.35 2002/03/07 04:43:50 jake Exp $ + * $FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.36 2002/03/20 02:27:55 jeff Exp $ */ #include @@ -535,6 +535,9 @@ if (bootverbose) printf("%s: releasing secondary CPUs\n", __func__); atomic_store_rel_int(&aps_ready, 1); + + while (smp_started == 0) + ; /* nothing */ } SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.3 2001/10/11 13:47:20 dfr Exp $ + * $FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.4 2002/03/19 23:05:33 peter Exp $ */ #include @@ -129,7 +129,35 @@ size -= sz; bufp += sz; } - *resid = size; + if (resid) + *resid = size; + return 0; +} + +static int +efifs_write(struct open_file *f, void *buf, size_t size, size_t *resid) +{ + EFI_FILE *file = f->f_fsdata; + EFI_STATUS status; + UINTN sz = size; + char *bufp; + + bufp = buf; + while (size > 0) { + sz = size; + if (sz > 8192) + sz = 8192; + status = file->Write(file, &sz, bufp); + twiddle(); + if (EFI_ERROR(status)) + return EIO; + if (sz == 0) + break; + size -= sz; + bufp += sz; + } + if (resid) + *resid = size; return 0; } @@ -246,7 +274,7 @@ efifs_open, efifs_close, efifs_read, - null_write, + efifs_write, efifs_seek, efifs_stat, efifs_readdir ==== //depot/projects/ia64/sys/dev/acpica/acpivar.h#6 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.30 2002/03/04 18:45:46 iwasaki Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.31 2002/03/20 02:02:34 alfred Exp $ */ #include "bus_if.h" @@ -297,7 +297,7 @@ #define ACPI_EVENT_PRI_DEFAULT 10000 #define ACPI_EVENT_PRI_LAST 20000 -typedef void (*acpi_event_handler_t) __P((void *, int)); +typedef void (*acpi_event_handler_t)(void *, int); EVENTHANDLER_DECLARE(acpi_sleep_event, acpi_event_handler_t); EVENTHANDLER_DECLARE(acpi_wakeup_event, acpi_event_handler_t); ==== //depot/projects/ia64/sys/dev/aic/aic.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aic/aic.c,v 1.16 2002/03/15 21:30:41 luoqi Exp $ + * $FreeBSD: src/sys/dev/aic/aic.c,v 1.17 2002/03/20 02:02:34 alfred Exp $ */ #include @@ -45,26 +45,26 @@ #include #include -static void aic_action __P((struct cam_sim *sim, union ccb *ccb)); -static void aic_execute_scb __P((void *arg, bus_dma_segment_t *dm_segs, - int nseg, int error)); -static void aic_start __P((struct aic_softc *aic)); -static void aic_select __P((struct aic_softc *aic)); -static void aic_selected __P((struct aic_softc *aic)); -static void aic_reselected __P((struct aic_softc *aic)); -static void aic_reconnect __P((struct aic_softc *aic, int tag)); -static void aic_cmd __P((struct aic_softc *aic)); -static void aic_msgin __P((struct aic_softc *aic)); -static void aic_handle_msgin __P((struct aic_softc *aic)); -static void aic_msgout __P((struct aic_softc *aic)); -static void aic_datain __P((struct aic_softc *aic)); -static void aic_dataout __P((struct aic_softc *aic)); -static void aic_done __P((struct aic_softc *aic, struct aic_scb *scb)); -static void aic_poll __P((struct cam_sim *sim)); -static void aic_timeout __P((void *arg)); -static void aic_scsi_reset __P((struct aic_softc *aic)); -static void aic_chip_reset __P((struct aic_softc *aic)); -static void aic_reset __P((struct aic_softc *aic, int initiate_reset)); +static void aic_action(struct cam_sim *sim, union ccb *ccb); +static void aic_execute_scb(void *arg, bus_dma_segment_t *dm_segs, + int nseg, int error); +static void aic_start(struct aic_softc *aic); +static void aic_select(struct aic_softc *aic); +static void aic_selected(struct aic_softc *aic); +static void aic_reselected(struct aic_softc *aic); +static void aic_reconnect(struct aic_softc *aic, int tag); +static void aic_cmd(struct aic_softc *aic); +static void aic_msgin(struct aic_softc *aic); +static void aic_handle_msgin(struct aic_softc *aic); +static void aic_msgout(struct aic_softc *aic); +static void aic_datain(struct aic_softc *aic); +static void aic_dataout(struct aic_softc *aic); +static void aic_done(struct aic_softc *aic, struct aic_scb *scb); +static void aic_poll(struct cam_sim *sim); +static void aic_timeout(void *arg); +static void aic_scsi_reset(struct aic_softc *aic); +static void aic_chip_reset(struct aic_softc *aic); +static void aic_reset(struct aic_softc *aic, int initiate_reset); devclass_t aic_devclass; ==== //depot/projects/ia64/sys/dev/aic/aic_cbus.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aic/aic_cbus.c,v 1.7 2001/06/26 11:35:46 nyan Exp $ + * $FreeBSD: src/sys/dev/aic/aic_cbus.c,v 1.8 2002/03/20 02:02:34 alfred Exp $ */ #include @@ -48,10 +48,10 @@ void *sc_ih; }; -static int aic_isa_alloc_resources __P((device_t)); -static void aic_isa_release_resources __P((device_t)); -static int aic_isa_probe __P((device_t)); -static int aic_isa_attach __P((device_t)); +static int aic_isa_alloc_resources(device_t); +static void aic_isa_release_resources(device_t); +static int aic_isa_probe(device_t); +static int aic_isa_attach(device_t); #ifdef PC98 static u_int aic_isa_ports[] = { 0x1840 }; ==== //depot/projects/ia64/sys/dev/aic/aic_isa.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aic/aic_isa.c,v 1.8 2001/06/06 22:32:29 imp Exp $ + * $FreeBSD: src/sys/dev/aic/aic_isa.c,v 1.9 2002/03/20 02:02:34 alfred Exp $ */ #include @@ -48,10 +48,10 @@ void *sc_ih; }; -static int aic_isa_alloc_resources __P((device_t)); -static void aic_isa_release_resources __P((device_t)); -static int aic_isa_probe __P((device_t)); -static int aic_isa_attach __P((device_t)); +static int aic_isa_alloc_resources(device_t); +static void aic_isa_release_resources(device_t); +static int aic_isa_probe(device_t); +static int aic_isa_attach(device_t); static u_int aic_isa_ports[] = { 0x340, 0x140 }; #define AIC_ISA_NUMPORTS (sizeof(aic_isa_ports) / sizeof(aic_isa_ports[0])) ==== //depot/projects/ia64/sys/dev/aic/aicvar.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aic/aicvar.h,v 1.7 2002/03/15 21:30:41 luoqi Exp $ + * $FreeBSD: src/sys/dev/aic/aicvar.h,v 1.8 2002/03/20 02:02:34 alfred Exp $ */ struct aic_transinfo { @@ -153,7 +153,7 @@ bus_space_write_multi_4((aic)->tag, (aic)->bsh, (port), \ (u_int32_t *)(addr), (count)) -extern int aic_probe __P((struct aic_softc *)); -extern int aic_attach __P((struct aic_softc *)); -extern int aic_detach __P((struct aic_softc *)); -extern void aic_intr __P((void *)); +extern int aic_probe(struct aic_softc *); +extern int aic_attach(struct aic_softc *); +extern int aic_detach(struct aic_softc *); +extern void aic_intr(void *); ==== //depot/projects/ia64/sys/dev/an/if_an.c#6 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/an/if_an.c,v 1.32 2002/03/14 20:56:41 ambrisko Exp $ + * $FreeBSD: src/sys/dev/an/if_an.c,v 1.33 2002/03/20 02:02:34 alfred Exp $ */ /* @@ -132,58 +132,56 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/an/if_an.c,v 1.32 2002/03/14 20:56:41 ambrisko Exp $"; + "$FreeBSD: src/sys/dev/an/if_an.c,v 1.33 2002/03/20 02:02:34 alfred Exp $"; #endif /* These are global because we need them in sys/pci/if_an_p.c. */ -static void an_reset __P((struct an_softc *)); -static int an_ioctl __P((struct ifnet *, u_long, caddr_t)); -static void an_init __P((void *)); -static int an_init_tx_ring __P((struct an_softc *)); -static void an_start __P((struct ifnet *)); -static void an_watchdog __P((struct ifnet *)); -static void an_rxeof __P((struct an_softc *)); -static void an_txeof __P((struct an_softc *, int)); +static void an_reset (struct an_softc *); +static int an_ioctl (struct ifnet *, u_long, caddr_t); +static void an_init (void *); +static int an_init_tx_ring (struct an_softc *); +static void an_start (struct ifnet *); +static void an_watchdog (struct ifnet *); +static void an_rxeof (struct an_softc *); +static void an_txeof (struct an_softc *, int); -static void an_promisc __P((struct an_softc *, int)); -static int an_cmd __P((struct an_softc *, int, int)); -static int an_read_record __P((struct an_softc *, struct an_ltv_gen *)); -static int an_write_record __P((struct an_softc *, struct an_ltv_gen *)); -static int an_read_data __P((struct an_softc *, int, - int, caddr_t, int)); -static int an_write_data __P((struct an_softc *, int, - int, caddr_t, int)); -static int an_seek __P((struct an_softc *, int, int, int)); -static int an_alloc_nicmem __P((struct an_softc *, int, int *)); -static void an_stats_update __P((void *)); -static void an_setdef __P((struct an_softc *, struct an_req *)); +static void an_promisc (struct an_softc *, int); +static int an_cmd (struct an_softc *, int, int); +static int an_read_record (struct an_softc *, struct an_ltv_gen *); +static int an_write_record (struct an_softc *, struct an_ltv_gen *); +static int an_read_data (struct an_softc *, int, int, caddr_t, int); +static int an_write_data (struct an_softc *, int, int, caddr_t, int); +static int an_seek (struct an_softc *, int, int, int); +static int an_alloc_nicmem (struct an_softc *, int, int *); +static void an_stats_update (void *); >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message