From owner-p4-projects@FreeBSD.ORG Tue Jun 23 13:46:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E245E106567A; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0F531065678 for ; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8CD688FC14 for ; Tue, 23 Jun 2009 13:46:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5NDkFOb007523 for ; Tue, 23 Jun 2009 13:46:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5NDkEDc007520 for perforce@freebsd.org; Tue, 23 Jun 2009 13:46:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 23 Jun 2009 13:46:14 GMT Message-Id: <200906231346.n5NDkEDc007520@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 164962 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jun 2009 13:46:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164962 Change 164962 by hselasky@hselasky_laptop001 on 2009/06/23 13:45:57 IFC @ 164958 Affected files ... .. //depot/projects/usb/src/lib/libusb/Makefile#4 integrate .. //depot/projects/usb/src/lib/libusb/libusb.3#16 integrate .. //depot/projects/usb/src/lib/libusb/libusb10.c#4 branch .. //depot/projects/usb/src/lib/libusb/libusb10.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb10_desc.c#3 branch .. //depot/projects/usb/src/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20.3#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.c#4 delete .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.h#4 delete .. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#6 integrate .. //depot/projects/usb/src/sys/amd64/include/pmap.h#10 integrate .. //depot/projects/usb/src/sys/arm/arm/elf_trampoline.c#11 integrate .. //depot/projects/usb/src/sys/arm/arm/pmap.c#16 integrate .. //depot/projects/usb/src/sys/arm/conf/AVILA.hints#6 integrate .. //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/usb/src/sys/arm/include/pmap.h#10 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_ata.c#6 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/avila_machdep.c#14 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/usb/src/sys/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425.c#11 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425reg.h#7 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/usb/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/usb/src/sys/cam/cam_periph.c#10 integrate .. //depot/projects/usb/src/sys/cam/cam_periph.h#4 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#4 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/sys/vnode.h#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#5 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#5 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#11 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#17 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_misc.c#22 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_uid16.c#6 integrate .. //depot/projects/usb/src/sys/compat/ndis/kern_ndis.c#14 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_ndis.c#17 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#16 integrate .. //depot/projects/usb/src/sys/conf/NOTES#41 integrate .. //depot/projects/usb/src/sys/conf/files#69 integrate .. //depot/projects/usb/src/sys/conf/files.powerpc#26 integrate .. //depot/projects/usb/src/sys/conf/options#34 integrate .. //depot/projects/usb/src/sys/dev/acpica/Osd/OsdSynch.c#5 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#46 integrate .. //depot/projects/usb/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#8 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_adapter.h#11 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#20 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_multiq.c#9 delete .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_osdep.h#10 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_sge.c#16 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/cxgb_support.c#4 delete .. //depot/projects/usb/src/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/uipc_mvec.c#7 integrate .. //depot/projects/usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_bufs.c#7 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_context.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_dma.c#12 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.h#8 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_irq.c#9 integrate .. //depot/projects/usb/src/sys/dev/firewire/fwdev.c#7 integrate .. //depot/projects/usb/src/sys/dev/fxp/if_fxp.c#13 integrate .. //depot/projects/usb/src/sys/dev/fxp/if_fxpvar.h#4 integrate .. //depot/projects/usb/src/sys/dev/ic/ns16550.h#3 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#28 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_pccard.c#7 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#21 integrate .. //depot/projects/usb/src/sys/dev/pci/pci.c#24 integrate .. //depot/projects/usb/src/sys/dev/puc/pucdata.c#13 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#49 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci_atmelarm.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#35 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci_atmelarm.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#30 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_mbus.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg_atmelarm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_atmelarm.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ums.c#18 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/ufm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uark.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubsa.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uchcom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ucycom.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ufoma.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ugensa.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uipaq.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umct.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umoscom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uplcom.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uslcom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvisor.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvscom.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/urio.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb.h#43 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#44 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#20 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#15 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#27 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_defs.h#5 delete .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#30 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.h#15 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#41 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#28 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#38 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#22 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#26 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_ioctl.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.h#8 delete .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_msctest.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.h#6 delete .. //depot/projects/usb/src/sys/dev/usb/usb_process.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_process.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#7 delete .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#156 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#64 integrate .. //depot/projects/usb/src/sys/dev/usb/usbhid.h#11 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_upgt.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#19 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_vnops.c#23 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#7 integrate .. //depot/projects/usb/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/usb/src/sys/fs/nullfs/null_vnops.c#15 integrate .. //depot/projects/usb/src/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/usb/src/sys/fs/portalfs/portal_vnops.c#8 integrate .. //depot/projects/usb/src/sys/fs/unionfs/union_vnops.c#14 integrate .. //depot/projects/usb/src/sys/i386/ibcs2/ibcs2_misc.c#9 integrate .. //depot/projects/usb/src/sys/i386/include/pmap.h#11 integrate .. //depot/projects/usb/src/sys/ia64/ia64/vm_machdep.c#4 integrate .. //depot/projects/usb/src/sys/kern/init_sysent.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_alq.c#10 integrate .. //depot/projects/usb/src/sys/kern/kern_exec.c#17 integrate .. //depot/projects/usb/src/sys/kern/kern_mbuf.c#12 integrate .. //depot/projects/usb/src/sys/kern/kern_proc.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_prot.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_sig.c#14 integrate .. //depot/projects/usb/src/sys/kern/makesyscalls.sh#9 integrate .. //depot/projects/usb/src/sys/kern/syscalls.c#13 integrate .. //depot/projects/usb/src/sys/kern/syscalls.master#13 integrate .. //depot/projects/usb/src/sys/kern/sysv_msg.c#9 integrate .. //depot/projects/usb/src/sys/kern/tty.c#26 integrate .. //depot/projects/usb/src/sys/kern/uipc_mbuf.c#13 integrate .. //depot/projects/usb/src/sys/kern/uipc_sockbuf.c#12 integrate .. //depot/projects/usb/src/sys/kern/uipc_socket.c#22 integrate .. //depot/projects/usb/src/sys/kern/uipc_usrreq.c#18 integrate .. //depot/projects/usb/src/sys/kern/vfs_cache.c#25 integrate .. //depot/projects/usb/src/sys/kern/vfs_default.c#14 integrate .. //depot/projects/usb/src/sys/kern/vfs_export.c#10 integrate .. //depot/projects/usb/src/sys/kern/vfs_vnops.c#20 integrate .. //depot/projects/usb/src/sys/kern/vnode_if.src#16 integrate .. //depot/projects/usb/src/sys/libkern/iconv.c#3 integrate .. //depot/projects/usb/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/usb/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/usb/src/sys/modules/cxgb/cxgb/Makefile#7 integrate .. //depot/projects/usb/src/sys/modules/netgraph/Makefile#8 integrate .. //depot/projects/usb/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/usb/src/sys/net/bpf.c#21 integrate .. //depot/projects/usb/src/sys/net/bridgestp.c#14 integrate .. //depot/projects/usb/src/sys/net/fddi.h#2 integrate .. //depot/projects/usb/src/sys/net/firewire.h#2 integrate .. //depot/projects/usb/src/sys/net/flowtable.c#4 integrate .. //depot/projects/usb/src/sys/net/flowtable.h#4 integrate .. //depot/projects/usb/src/sys/net/if.c#30 integrate .. //depot/projects/usb/src/sys/net/if_arc.h#3 integrate .. //depot/projects/usb/src/sys/net/if_arcsubr.c#8 integrate .. //depot/projects/usb/src/sys/net/if_fddisubr.c#11 integrate .. //depot/projects/usb/src/sys/net/if_fwsubr.c#14 integrate .. //depot/projects/usb/src/sys/net/if_iso88025subr.c#12 integrate .. //depot/projects/usb/src/sys/net/if_var.h#21 integrate .. //depot/projects/usb/src/sys/net/iso88025.h#3 integrate .. //depot/projects/usb/src/sys/net/route.c#19 integrate .. //depot/projects/usb/src/sys/net/route.h#11 integrate .. //depot/projects/usb/src/sys/net/rtsock.c#26 integrate .. //depot/projects/usb/src/sys/net/vnet.h#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#11 integrate .. //depot/projects/usb/src/sys/netatalk/COPYRIGHT#4 integrate .. //depot/projects/usb/src/sys/netatalk/aarp.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/at_control.c#5 integrate .. //depot/projects/usb/src/sys/netatalk/at_var.h#3 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_input.c#6 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_output.c#5 integrate .. //depot/projects/usb/src/sys/netatalk/ddp_pcb.c#5 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#34 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#29 integrate .. //depot/projects/usb/src/sys/netgraph/ng_ether.c#11 integrate .. //depot/projects/usb/src/sys/netinet/in.c#27 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.c#26 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#25 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.c#14 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.h#7 integrate .. //depot/projects/usb/src/sys/netinet/ip_output.c#22 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/usb/src/sys/netinet/raw_ip.c#24 integrate .. //depot/projects/usb/src/sys/netinet/tcp_usrreq.c#20 integrate .. //depot/projects/usb/src/sys/netinet/vinet.h#11 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#25 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#23 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.h#7 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_nbr.c#15 integrate .. //depot/projects/usb/src/sys/netinet6/raw_ip6.c#21 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#19 integrate .. //depot/projects/usb/src/sys/netipx/README#2 integrate .. //depot/projects/usb/src/sys/netipx/ipx.c#6 integrate .. //depot/projects/usb/src/sys/netipx/ipx_if.h#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/usb/src/sys/netipx/ipx_outputfl.c#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_pcb.c#5 integrate .. //depot/projects/usb/src/sys/netipx/ipx_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netipx/ipx_var.h#4 integrate .. //depot/projects/usb/src/sys/netipx/spx.h#4 integrate .. //depot/projects/usb/src/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/usb/src/sys/netipx/spx_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netipx/spx_var.h#4 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsock.c#12 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsubs.c#16 integrate .. //depot/projects/usb/src/sys/powerpc/conf/GENERIC#21 integrate .. //depot/projects/usb/src/sys/powerpc/conf/MPC85XX#8 integrate .. //depot/projects/usb/src/sys/powerpc/conf/NOTES#14 integrate .. //depot/projects/usb/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/usb/src/sys/powerpc/include/spr.h#12 integrate .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/usb/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/usb/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/usb/src/sys/rpc/svc_auth.c#4 integrate .. //depot/projects/usb/src/sys/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/usb/src/sys/security/mac_biba/mac_biba.c#14 integrate .. //depot/projects/usb/src/sys/security/mac_lomac/mac_lomac.c#14 integrate .. //depot/projects/usb/src/sys/sys/cpuset.h#4 integrate .. //depot/projects/usb/src/sys/sys/fcntl.h#5 integrate .. //depot/projects/usb/src/sys/sys/iconv.h#2 integrate .. //depot/projects/usb/src/sys/sys/ktr.h#4 integrate .. //depot/projects/usb/src/sys/sys/lock.h#10 integrate .. //depot/projects/usb/src/sys/sys/lock_profile.h#7 integrate .. //depot/projects/usb/src/sys/sys/mbuf.h#15 integrate .. //depot/projects/usb/src/sys/sys/mutex.h#11 integrate .. //depot/projects/usb/src/sys/sys/param.h#37 integrate .. //depot/projects/usb/src/sys/sys/priv.h#18 integrate .. //depot/projects/usb/src/sys/sys/sched.h#7 integrate .. //depot/projects/usb/src/sys/sys/socketvar.h#11 integrate .. //depot/projects/usb/src/sys/sys/sx.h#11 integrate .. //depot/projects/usb/src/sys/sys/syscall.h#13 integrate .. //depot/projects/usb/src/sys/sys/syscall.mk#13 integrate .. //depot/projects/usb/src/sys/sys/syslimits.h#3 integrate .. //depot/projects/usb/src/sys/sys/sysproto.h#13 integrate .. //depot/projects/usb/src/sys/sys/ucred.h#7 integrate .. //depot/projects/usb/src/sys/sys/user.h#10 integrate .. //depot/projects/usb/src/sys/sys/vimage.h#16 integrate .. //depot/projects/usb/src/sys/sys/vnode.h#22 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#18 integrate .. //depot/projects/usb/src/sys/vm/device_pager.c#7 integrate .. //depot/projects/usb/src/sys/vm/vm_contig.c#12 integrate .. //depot/projects/usb/src/sys/vm/vm_extern.h#6 integrate .. //depot/projects/usb/src/sys/vm/vm_page.c#16 integrate .. //depot/projects/usb/src/sys/vm/vm_phys.c#4 integrate Differences ... ==== //depot/projects/usb/src/lib/libusb/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/lib/libusb/Makefile,v 1.5 2009/03/10 15:49:43 thompsa Exp $ +# $FreeBSD: src/lib/libusb/Makefile,v 1.6 2009/06/23 01:00:26 thompsa Exp $ # # Makefile for the FreeBSD specific LibUSB 2.0 # @@ -10,19 +10,23 @@ SRCS= libusb20.c SRCS+= libusb20_desc.c SRCS+= libusb20_ugen20.c -SRCS+= libusb20_compat01.c -SRCS+= libusb20_compat10.c INCS+= libusb20.h INCS+= libusb20_desc.h -MAN= libusb.3 +MAN= libusb.3 libusb20.3 MKLINT= no NOGCCERROR= -MLINKS+= libusb.3 usb.3 \ - libusb.3 libusb20.3 +MLINKS+= libusb.3 usb.3 # libusb 0.1 compat INCS+= usb.h +SRCS+= libusb20_compat01.c + +# libusb 1.0 compat +INCS+= libusb.h +SRCS+= libusb10.c +SRCS+= libusb10_desc.c +SRCS+= libusb10_io.c .include ==== //depot/projects/usb/src/lib/libusb/libusb.3#16 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2008 Hans Petter Selasky +.\" Copyright (c) 2009 Sylvestre Gallon .\" .\" All rights reserved. .\" @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.6 2009/06/12 16:07:06 thompsa Exp $ +.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.7 2009/06/23 01:00:26 thompsa Exp $ .\" -.Dd May 28, 2009 +.Dd June 22, 2009 .Dt LIBUSB 3 .Os .Sh NAME @@ -41,882 +41,424 @@ USB access library (libusb -lusb) . . +.Sh SYNOPSIS +. . -.Sh SYNOPSIS -.In libusb20.h -.Ft int -.Fn libusb20_tr_close "struct libusb20_transfer *xfer" -.Ft int -.Fn libusb20_tr_open "struct libusb20_transfer *xfer" "uint32_t max_buf_size" "uint32_t max_frame_count" "uint8_t ep_no" -.Ft struct libusb20_transfer* -.Fn libusb20_tr_get_pointer "struct libusb20_device *pdev" "uint16_t tr_index" -.Ft uint16_t -.Fn libusb20_tr_get_time_complete "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_actual_frames "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_actual_length "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_frames "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_packet_length "struct libusb20_transfer *xfer" -.Ft uint32_t -.Fn libusb20_tr_get_max_total_length "struct libusb20_transfer *xfer" -.Ft uint8_t -.Fn libusb20_tr_get_status "struct libusb20_transfer *xfer" -.Ft uint8_t -.Fn libusb20_tr_pending "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_callback_wrapper "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_clear_stall_sync "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_drain "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_set_buffer "struct libusb20_transfer *xfer" "void *buffer" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_callback "struct libusb20_transfer *xfer" "libusb20_tr_callback_t *cb" -.Ft void -.Fn libusb20_tr_set_flags "struct libusb20_transfer *xfer" "uint8_t flags" -.Ft uint32_t -.Fn libusb20_tr_get_length "struct libusb20_transfer *xfer" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_length "struct libusb20_transfer *xfer" "uint32_t length" "uint16_t fr_index" -.Ft void -.Fn libusb20_tr_set_priv_sc0 "struct libusb20_transfer *xfer" "void *sc0" -.Ft void -.Fn libusb20_tr_set_priv_sc1 "struct libusb20_transfer *xfer" "void *sc1" -.Ft void -.Fn libusb20_tr_set_timeout "struct libusb20_transfer *xfer" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_set_total_frames "struct libusb20_transfer *xfer" "uint32_t nframes" -.Ft void -.Fn libusb20_tr_setup_bulk "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_control "struct libusb20_transfer *xfer" "void *psetup" "void *pbuf" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_intr "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" -.Ft void -.Fn libusb20_tr_setup_isoc "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint61_t fr_index" -.Ft void -.Fn libusb20_tr_start "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_stop "struct libusb20_transfer *xfer" -.Ft void -.Fn libusb20_tr_submit "struct libusb20_transfer *xfer" -.Ft void * -.Fn libusb20_tr_get_priv_sc0 "struct libusb20_transfer *xfer" -.Ft void * -.Fn libusb20_tr_get_priv_sc1 "struct libusb20_transfer *xfer" -.Ft const char * -.Fn libusb20_dev_get_backend_name "struct libusb20_device *" -.Ft int -.Fn libusb20_dev_get_info "struct libusb20_device *pdev" "struct usb_device_info *pinfo" -.Ft int -.Fn libusb20_dev_get_iface_desc "struct libusb20_device *pdev" "uint8_t iface_index" "char *buf" "uint8_t len" -.Ft const char * -.Fn libusb20_dev_get_desc "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_close "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_detach_kernel_driver "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int -.Fn libusb20_dev_set_config_index "struct libusb20_device *pdev" "uint8_t configIndex" -.Ft int -.Fn libusb20_dev_get_debug "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_get_fd "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_kernel_driver_active "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int -.Fn libusb20_dev_open "struct libusb20_device *pdev" "uint16_t transfer_max" -.Ft int -.Fn libusb20_dev_process "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_request_sync "struct libusb20_device *pdev" "struct LIBUSB20_CONTROL_SETUP_DECODED *setup" "void *data" "uint16_t *pactlen" "uint32_t timeout" "uint8_t flags" -.Ft int -.Fn libusb20_dev_req_string_sync "struct libusb20_device *pdev" "uint8_t index" "uint16_t langid" "void *ptr" "uint16_t len" -.Ft int -.Fn libusb20_dev_req_string_simple_sync "struct libusb20_device *pdev" "uint8_t index" "void *ptr" "uint16_t len" -.Ft int -.Fn libusb20_dev_reset "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_set_power_mode "struct libusb20_device *pdev" "uint8_t power_mode" -.Ft uint8_t -.Fn libusb20_dev_get_power_mode "struct libusb20_device *pdev" -.Ft int -.Fn libusb20_dev_set_alt_index "struct libusb20_device *pdev" "uint8_t iface_index" "uint8_t alt_index" -.Ft struct LIBUSB20_DEVICE_DESC_DECODED * -.Fn libusb20_dev_get_device_desc "struct libusb20_device *pdev" -.Ft struct libusb20_config * -.Fn libusb20_dev_alloc_config "struct libusb20_device *pdev" "uint8_t config_index" -.Ft struct libusb20_device * -.Fn libusb20_dev_alloc "void" -.Ft uint8_t -.Fn libusb20_dev_get_address "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_bus_number "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_mode "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_speed "struct libusb20_device *pdev" -.Ft uint8_t -.Fn libusb20_dev_get_config_index "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_dev_free "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_dev_set_debug "struct libusb20_device *pdev" "int debug" -.Ft void -.Fn libusb20_dev_wait_process "struct libusb20_device *pdev" "int timeout" -.Ft int -.Fn libusb20_be_get_template "struct libusb20_backend *pbe" "int *ptemp" -.Ft int -.Fn libusb20_be_set_template "struct libusb20_backend *pbe" "int temp" -.Ft int -.Fn libusb20_be_get_dev_quirk "struct libusb20_backend *pber", "uint16_t index" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_get_quirk_name "struct libusb20_backend *pbe" "uint16_t index" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_add_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" -.Ft int -.Fn libusb20_be_remove_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_default "void" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_freebsd "void" -.Ft struct libusb20_backend * -.Fn libusb20_be_alloc_linux "void" -.Ft struct libusb20_device * -.Fn libusb20_be_device_foreach "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_dequeue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_enqueue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" -.Ft void -.Fn libusb20_be_free "struct libusb20_backend *pbe" -.Ft uint8_t -.Fn libusb20_me_get_1 "const struct libusb20_me_struct *me" "uint16_t off" -.Ft uint16_t -.Fn libusb20_me_get_2 "const struct libusb20_me_struct *me" "uint16_t off" -.Ft uint16_t -.Fn libusb20_me_encode "void *pdata" "uint16_t len" "const void *pdecoded" -.Ft uint16_t -.Fn libusb20_me_decode "const void *pdata" "uint16_t len" "void *pdecoded" -.Ft "const uint8_t *" -.Fn libusb20_desc_foreach "const struct libusb20_me_struct *me" "const uint8_t *pdesc" +.In libusb.h . . .Sh DESCRIPTION -. The .Nm -library implements functions to be able to easily access and control -USB through the USB file system interface. +library contains interfaces for directly managing a usb device. +The current implementation supports v1.0 of the libusb API. . . -.Sh USB TRANSFER OPERATIONS +.Sh LIBRARY INITIALISATION / DEINITIALISATION . .Pp . -.Fn libusb20_tr_close -will release all kernel resources associated with an USB -.Fa xfer . -. -This function returns zero upon success. -. -Non-zero return values indicate a LIBUSB20_ERROR value. -. +.Ft int +.Fn libusb_init libusb_context **ctx +This function initialises libusb. Must be called at the beginning +of the program. This function returns 0 on success or LIBUSB_ERROR on +failure. +. .Pp . -.Fn libusb20_tr_open -will allocate kernel buffer resources according to -.Fa max_buf_size -and -.Fa max_frame_count -associated with an USB -.Fa pxfer -and bind the transfer to the specified -.Fa ep_no . -.Fa max_buf_size -is the minimum buffer size which the data transport layer has to support. -If -.Fa max_buf_size -is zero, the -.Nm -library will use wMaxPacketSize to compute the buffer size. -This can be useful for isochronous transfers. -The actual buffer size can be greater than -.Fa max_buf_size -and is returned by -.Fn libusb20_tr_get_max_total_length . +.Ft void +.Fn libusb_exit "libusb_context *ctx" +Deinitialise libusb. Must be called at the end of the application. . -This function returns zero upon success. -. -Non-zero return values indicate a LIBUSB20_ERROR value. -. .Pp . -.Fn libusb20_tr_get_pointer -will return a pointer to the allocated USB transfer according to the -.Fa pdev -and -.Fa tr_index -arguments. -. -This function returns NULL in case of failure. +.Ft void +.Fn libusb_set_debug "libusb_context *ctx" "int level" +Set debug to the +.Fa level +level. . .Pp . -.Fn libusb20_tr_get_time_complete -will return the completion time of an USB transfer in -millisecond units. This function is most useful for isochronous USB -transfers when doing echo cancelling. +.Ft ssize_t +.Fn libusb_get_device_list "libusb_context *ctx" "libusb_device ***list" +Fill into +.Fa list +the list of usb device available. All the device created by this +function must be unref and free when you are done with them. This +function returns the number of devices in list or a LIBUSB_ERROR code. . .Pp . -.Fn libusb20_tr_get_actual_frames -will return the actual number of USB frames after an USB -transfer completed. A value of zero means that no data was transferred. +.Ft void +.Fn libusb_free_device_list "libusb_device **list" "int unref_devices" +Free the list of devices discovered by libusb_get_device_list. If +.Fa unref_device +is set to 1 all devices are unref one time. . .Pp . -.Fn libusb20_tr_get_actual_length -will return the sum of the actual length for all -transferred USB frames for the given USB transfer. +.Ft uint8_t +.Fn libusb_get_bus_number "libusb_device *dev" +Returns the number of the bus contained by the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_max_frames -will return the maximum number of USB frames that were -allocated when an USB transfer was setup for the given USB transfer. +.Ft uint8_t +.Fn libusb_get_device_address "libusb_device *dev" +Return the device_address contained by the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_max_packet_length -will return the maximum packet length in bytes -associated with the given USB transfer. -. -The packet length can be used round up buffer sizes so that short USB -packets are avoided for proxy buffers. -. +.Ft int +.Fn libusb_get_max_packet_size "libusb_device *dev" "unsigned char endpoint" +Return the wMaxPacketSize value on success, LIBUSB_ERROR_NOT_FOUND if the +endpoint does not exist and LIBUSB_ERROR_OTHERS on other failure. . .Pp . -.Fn libusb20_tr_get_max_total_length -function will return the maximum value for the length sum of all -USB frames associated with an USB transfer. +.Ft libusb_device * +.Fn libusb_ref_device "libusb_device *dev" +Increment the reference counter of the device +.Fa dev. . .Pp . -.Fn libusb20_tr_get_status -will return the status of an USB transfer. -. -Status values are defined by a set of LIBUSB20_TRANSFER_XXX enums. +.Ft void +.Fn libusb_unref_device "libusb_device *dev" +Decrement the reference counter of the device +.Fa dev. . .Pp . -.Fn libusb20_tr_pending -will return non-zero if the given USB transfer is -pending for completion. -. -Else this function returns zero. +.Ft int +.Fn libusb_open "libusb_device *dev" "libusb_device_handle **devh" +Open a device and obtain a device_handle. Return 0 on success, +LIBUSB_ERROR_NO_MEM on memory allocation problem, LIBUSB_ERROR_ACCESS +on permission problem, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and a LIBUSB_ERROR code on error. . .Pp . -.Fn libusb20_tr_callback_wrapper -This is an internal function used to wrap asynchronous USB callbacks. +.Ft libusb_device_handle * +.Fn libusb_open_device_with_vid_pid "libusb_context *ctx" "uint16_t vid" "uint16_t pid" +Conveniance function to open a device with is +.Fa vid +and +.Fa pid. +Return NULL on error. . .Pp . -.Fn libusb20_tr_clear_stall_sync -This is an internal function used to synchronously clear the stall on -the given USB transfer. -. -Please see the USB specification for more information on stall -clearing. -. -If the given USB transfer is pending when this function is called, the -USB transfer will complete with an error after that this function has -been called. +.Ft void +.Fn libusb_close "libusb_device_handle *devh" +Close a device handle. . .Pp . -.Fn libusb20_tr_drain -will stop the given USB transfer and will not return -until the USB transfer has been stopped in hardware. +.Ft libusb_device * +.Fn libusb_get_device(libusb_device_handle *devh) +Get the device contained by devh. Return NULL on error. . .Pp . -.Fn libusb20_tr_set_buffer -is used to set the -.Fa buffer -pointer for the given USB transfer and -.Fa fr_index . -. -Typically the frame index is zero. +.Ft int +.Fn libusb_get_configuration "libusb_device_handle *devh" "int *config" +Return the bConfiguration value of the current configuration. return 0 +on success, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected +and a LIBUSB_ERROR code on error. . -. .Pp . -.Fn libusb20_tr_set_callback -is used to set the USB callback for asynchronous USB -transfers. -. -The callback type is defined by libusb20_tr_callback_t. +.Ft int +.Fn libusb_set_configuration "libusb_device_handle *devh" "int config" +Set the active configuration +.Fa config +for the device contained by +.Fa devh. +This function return 0 on success, LIBUSB_ERROR_NOT_FOUND if the requested +configuration does not exist, LIBUSB_ERROR_BUSY if the interfaces are currently +claimed, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_flags -is used to set various USB flags for the given USB transfer. -.Bl -tag -.It LIBUSB20_TRANSFER_SINGLE_SHORT_NOT_OK -Report a short frame as error. -.It LIBUSB20_TRANSFER_MULTI_SHORT_NOT_OK -Multiple short frames are not allowed. -.It LIBUSB20_TRANSFER_FORCE_SHORT -All transmitted frames are short terminated. -.It LIBUSB20_TRANSFER_DO_CLEAR_STALL -Will do a clear-stall before starting the transfer. -.El +.Ft int +.Fn libusb_claim_interface "libusb_device_handle *devh" "int interface_number" +Claim an interface in a given libusb_handle +.Fa devh. +This is a non-blocking function. It return 0 success, LIBUSB_ERROR_NOT_FOUND +if the requested interface does not exist, LIBUSB_ERROR_BUSY if a program or +driver has claimed the interface, LIBUSB_ERROR_NO_DEVICE if the device has +been disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_get_length -returns the length of the given USB frame by index. -After an USB transfer is complete the USB frame length will get updated to the actual transferred length. +.Ft int +.Fn libusb_release_interface "libusb_device_handle *devh" "int interface_number" +This function release an interface. All the claimed interface must be released +before closing a device. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if the +interafce was not claimed, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and LIBUSB_ERROR on failure. . .Pp . -.Fn libusb20_tr_set_length -sets the length of the given USB frame by index. +.Ft int +.Fn libusb_set_interface_alt_setting "libusb_device_handle *dev" "int interface_number" "int alternate_setting" +Activate an alternate setting for an interface. Returns 0 on success, +LIBUSB_ERROR_NOT_FOUND if the interface was not claimed or the requested +setting does not exist, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_priv_sc0 -sets private driver pointer number zero. +.Ft int +.Fn libusb_clear_halt "libusb_device_handle *devh" "unsigned char endpoint" +Clear an halt/stall for a endpoint. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND +if the endpoint does not exist, LIBUSB_ERROR_NO_DEVICE if the device has been +disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_priv_sc1 -sets private driver pointer number one. +.Ft int +.Fn libusb_reset_device "libusb_device_handle *devh" +Perform an USB port reset for an usb device. Returns 0 on success, +LIBUSB_ERROR_NOT_FOUND if re-enumeration is required or if the device has +been disconnected and a LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_set_timeout -sets the timeout for the given USB transfer. -. -A timeout value of zero means no timeout. +.Ft int +.Fn libusb_kernel_driver_active "libusb_device_handle *devh" "int interface" +Determine if a driver is active on a interface. Returns 0 if no kernel driver +is active, returns 1 if a kernel driver is active, returns LIBUSB_ERROR_NO_DEVICE +if the device has been disconnected and return a LIBUSB_ERROR code on failure. . -The timeout is given in milliseconds. -. .Pp . -.Fn libusb20_tr_set_total_frames -sets the total number of frames that should be executed when the USB transfer is submitted. -. -The total number of USB frames must be less than the maximum number of USB frames associated with the given USB transfer. +.Ft int +.Fn libusb_detach_kernel_driver "libusb_device_handle *devh" "int interface" +Detach a kernel driver from an interface. This is needed to claim an interface +required by a kernel driver. Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if +no kernel driver was active, LIBUSB_ERROR_INVALID_PARAM if the interface does not +exist, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_setup_bulk -is a helper function for setting up a single frame USB BULK transfer. +.Ft int +.Fn libusb_attach_kernel_driver "libusb_device_handle *devh" "int interface" +Re-attach an interface kernel driver previously detached. Returns 0 on success, +LIBUSB_ERROR_INVALID_PARAM if the interface does not exist, LIBUSB_ERROR_NO_DEVICE +if the device has been disconnect, LIBUSB_ERROR_BUSY if the driver cannot be +attached because the interface is claimed by a program or driver and a +LIBUSB_ERROR code on failure. . .Pp . -.Fn libusb20_tr_setup_control -is a helper function for setting up a single or dual -frame USB CONTROL transfer depending on the control transfer length. +.Sh USB DESCRIPTORS . .Pp . -.Fn libusb20_tr_setup_intr -is a helper function for setting up a single frame USB INTERRUPT transfer. +.Ft int +.Fn libusb_get_device_descriptor "libusb_device *dev" "libusb_device_descriptor *desc" +Get the USB device descriptor for the device +.Fa dev. +This is a non-blocking function. Returns 0 on success and a LIBUSB_ERROR code on +failure. . .Pp -. -.Fn libusb20_tr_setup_isoc -is a helper function for setting up a multi frame USB ISOCHRONOUS transfer. +.Ft int +.Fn libsub_get_active_config_descriptor "libusb_device *dev" "libusb_device_descriptor **config" +Get the USB configuration descriptor for the active configuration. Returns 0 on +success, returns LIBUSB_ERROR_NOT_FOUND if the device is in unconfigured state +and return another LIBUSB_ERROR code on error. . .Pp -. -.Fn libusb20_tr_start -will get the USB transfer started, if not already -started. +.Ft int +.Fn libusb_get_config_descriptor "libusb_device *dev" "uint8_t config_index" "libusb_config_descriptor **config" +Get USB configuration descriptor based on its index +.Fa idx. +Returns 0 on success, LIBUSB_ERROR_NOT_FOUND if the configuration does not exist +and returns another LIBUSB_ERROR code on error. . -This function will not get the transfer queued in hardware. -. -This function is non-blocking. -. .Pp -. -.Fn libusb20_tr_stop -will get the USB transfer stopped, if not already stopped. -. -This function is non-blocking, which means that the actual stop can -happen after the return of this function. +.Ft int +.Fn libusb_get_config_descriptor_by_value "libusb_device *dev" "uint8 bConfigurationValue" "libusb_config_descriptor **config" +Get a USB configuration descriptor with a specific bConfigurationValue. This is +a non-blocking function which does not send request through the device. Returns 0 +on success, LIBUSB_ERROR_NOT_FOUND if the configuration does not exist and another +LIBUSB_ERROR code on failure. . .Pp -. -.Fn libusb20_tr_submit -will get the USB transfer queued in hardware. +.Ft void +.Fn libusb_free_config_descriptor "libusb_config_descriptor *config`" +Free a configuration descriptor. . -. .Pp -. -.Fn libusb20_tr_get_priv_sc0 -returns private driver pointer number zero associated -with an USB transfer. -. +.Ft int +.Fn libusb_get_string_descriptor_ascii "libusb_device_handle *devh" "uint8_t desc_idx" "unsigned char *data" "int length" +Retrieve a string descriptor in C style ascii. Returns a number of byte on success +and a LIBUSB_ERROR code on failure. . .Pp . >>> TRUNCATED FOR MAIL (1000 lines) <<<