PERFORCE change 170471 for review
Alexander Motin
mav at FreeBSD.org
Wed Nov 11 10:48:43 UTC 2009
http://p4web.freebsd.org/chv.cgi?CH=170471
Change 170471 by mav at mav_mavbook on 2009/11/11 10:48:39
IFC
Affected files ...
.. //depot/projects/scottl-camlock/src/UPDATING#21 integrate
.. //depot/projects/scottl-camlock/src/contrib/ee/ee.c#4 integrate
.. //depot/projects/scottl-camlock/src/crypto/openssh/ssh_namespace.h#5 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/fmtmsg.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/net/gai_strerror.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/nls/C.msg#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/nls/Makefile.inc#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/nls/ja_JP.UTF-8.msg#1 branch
.. //depot/projects/scottl-camlock/src/lib/libc/nls/ja_JP.eucJP.msg#1 branch
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb.h#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb10.c#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb10_desc.c#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb10_io.c#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20_desc.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20_ugen20.c#5 integrate
.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#9 integrate
.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#29 integrate
.. //depot/projects/scottl-camlock/src/sbin/reboot/reboot.c#3 integrate
.. //depot/projects/scottl-camlock/src/secure/lib/libssh/Makefile#5 integrate
.. //depot/projects/scottl-camlock/src/share/man/man5/rc.conf.5#10 integrate
.. //depot/projects/scottl-camlock/src/share/zoneinfo/antarctica#4 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/initcpu.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/trap.c#23 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/vm_machdep.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/isa/isa_dma.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/trap.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/arm/vm_machdep.c#19 integrate
.. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/NOTES#41 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/files#53 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_an.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_anreg.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/arcmsr/arcmsr.c#16 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/arcmsr/arcmsr.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#22 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#27 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/fdc/fdc.c#18 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ieee488/ibfoo.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#18 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#24 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/syscons/scterm-teken.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/syscons/syscons.c#22 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/syscons/syscons.h#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_ixp4xx.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_mbus.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_pci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/atp.c#1 branch
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/uhid.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ukbd.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ums.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_core.h#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.h#13 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/initcpu.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/trap.c#20 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/vm_machdep.c#16 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/isa/isa_dma.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/trap.c#15 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/vm_machdep.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_sig.c#27 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vfs_lookup.c#21 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/include/pcb.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/mips/machdep.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/mips/pmap.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/mips/trap.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/mips/vm_machdep.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/usb/Makefile#12 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/usb/atp/Makefile#1 branch
.. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ioctl.h#16 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ip_ipsec.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ip_ipsec.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ip_output.c#26 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_dummynet.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet6/nd6.c#26 integrate
.. //depot/projects/scottl-camlock/src/sys/pc98/cbus/scterm-sck.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/mmu_oea64.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/trap.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/vm_machdep.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/booke/trap.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/booke/vm_machdep.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/rpc/clnt_vc.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/include/pcb.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/trap.c#15 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/vm_machdep.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/trap.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/vm_machdep.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/proc.h#28 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/signalvar.h#13 integrate
.. //depot/projects/scottl-camlock/src/sys/teken/teken.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/teken/teken.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/teken/teken_subr.h#5 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/lib/libutil/test-flopen.c#4 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/gzip/unbzip2.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/Makefile#4 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/acpi.c#2 delete
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/acpidump.h#2 delete
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/biosmptable.c#2 delete
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/dist.c#5 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/install.c#5 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/menus.c#7 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/sysinstall.8#4 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/vidcontrol/vidcontrol.1#2 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/vidcontrol/vidcontrol.c#2 integrate
Differences ...
==== //depot/projects/scottl-camlock/src/UPDATING#21 (text+ko) ====
@@ -22,6 +22,11 @@
machines to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
+20091109:
+ The layout of the structure ieee80211req_scan_result has changed.
+ Applications that require wireless scan results (e.g. ifconfig(8))
+ from net80211 need to be recompiled.
+
20091025:
The iwn(4) driver has been updated to support the 5000 and 5150 series.
There's one kernel module for each firmware. Adding "device iwnfw"
@@ -1052,4 +1057,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.644 2009/11/03 21:06:19 thompsa Exp $
+$FreeBSD: src/UPDATING,v 1.645 2009/11/09 16:05:32 rpaulo Exp $
==== //depot/projects/scottl-camlock/src/contrib/ee/ee.c#4 (text+ko) ====
@@ -55,7 +55,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/contrib/ee/ee.c,v 1.7 2009/09/04 07:42:13 ache Exp $");
+__FBSDID("$FreeBSD: src/contrib/ee/ee.c,v 1.8 2009/11/10 00:48:24 delphij Exp $");
char *ee_copyright_message =
"Copyright (c) 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2009 Hugh Mahon ";
@@ -1989,7 +1989,7 @@
int number;
int i;
char *ptr;
- char *direction = NULL;
+ char *direction = "d";
struct text *t_line;
ptr = cmd_str;
==== //depot/projects/scottl-camlock/src/crypto/openssh/ssh_namespace.h#5 (text) ====
@@ -9,7 +9,7 @@
*
* nm libssh.a | awk '/[0-9a-z] [A-Z] / && $3 !~ /^ssh_/ { print "#define", $3, "ssh_" $3 }'
*
- * $FreeBSD: src/crypto/openssh/ssh_namespace.h,v 1.8 2009/10/05 18:55:13 des Exp $
+ * $FreeBSD: src/crypto/openssh/ssh_namespace.h,v 1.9 2009/11/10 09:45:43 des Exp $
*/
#define a2port ssh_a2port
@@ -223,6 +223,8 @@
#define get_u32 ssh_get_u32
#define get_u64 ssh_get_u64
#define getrrsetbyname ssh_getrrsetbyname
+#define glob ssh_glob
+#define globfree ssh_globfree
#define host_hash ssh_host_hash
#define hostfile_read_key ssh_hostfile_read_key
#define hpdelim ssh_hpdelim
==== //depot/projects/scottl-camlock/src/lib/libc/gen/fmtmsg.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/fmtmsg.c,v 1.5 2003/05/01 19:03:13 nectar Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/fmtmsg.c,v 1.6 2009/11/08 14:02:54 brueffer Exp $");
#include <fmtmsg.h>
#include <stdio.h>
@@ -128,7 +128,7 @@
size += strlen(sevname);
if (text != MM_NULLTXT)
size += strlen(text);
- if (text != MM_NULLACT)
+ if (act != MM_NULLACT)
size += strlen(act);
if (tag != MM_NULLTAG)
size += strlen(tag);
==== //depot/projects/scottl-camlock/src/lib/libc/net/gai_strerror.c#2 (text+ko) ====
@@ -28,9 +28,19 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/gai_strerror.c,v 1.2 2006/05/21 11:22:31 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/gai_strerror.c,v 1.3 2009/11/09 12:46:59 ume Exp $");
+#include "namespace.h"
#include <netdb.h>
+#if defined(NLS)
+#include <nl_types.h>
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include "reentrant.h"
+#endif
+#include "un-namespace.h"
/* Entries EAI_ADDRFAMILY (1) and EAI_NODATA (7) are obsoleted, but left */
/* for backward compatibility with userland code prior to 2553bis-02 */
@@ -52,9 +62,57 @@
"Argument buffer overflow" /* EAI_OVERFLOW */
};
+#if defined(NLS)
+static char gai_buf[NL_TEXTMAX];
+static once_t gai_init_once = ONCE_INITIALIZER;
+static thread_key_t gai_key;
+static int gai_keycreated = 0;
+
+static void
+gai_keycreate(void)
+{
+ gai_keycreated = (thr_keycreate(&gai_key, free) == 0);
+}
+#endif
+
const char *
gai_strerror(int ecode)
{
+#if defined(NLS)
+ nl_catd catd;
+ char *buf;
+
+ if (thr_main() != 0)
+ buf = gai_buf;
+ else {
+ if (thr_once(&gai_init_once, gai_keycreate) != 0 ||
+ !gai_keycreated)
+ goto thr_err;
+ if ((buf = thr_getspecific(gai_key)) == NULL) {
+ if ((buf = malloc(sizeof(gai_buf))) == NULL)
+ goto thr_err;
+ if (thr_setspecific(gai_key, buf) != 0) {
+ free(buf);
+ goto thr_err;
+ }
+ }
+ }
+
+ catd = catopen("libc", NL_CAT_LOCALE);
+ if (ecode > 0 && ecode < EAI_MAX)
+ strlcpy(buf, catgets(catd, 3, ecode, ai_errlist[ecode]),
+ sizeof(gai_buf));
+ else if (ecode == 0)
+ strlcpy(buf, catgets(catd, 3, NL_MSGMAX - 1, "Success"),
+ sizeof(gai_buf));
+ else
+ strlcpy(buf, catgets(catd, 3, NL_MSGMAX, "Unknown error"),
+ sizeof(gai_buf));
+ catclose(catd);
+ return buf;
+
+thr_err:
+#endif
if (ecode >= 0 && ecode < EAI_MAX)
return ai_errlist[ecode];
return "Unknown error";
==== //depot/projects/scottl-camlock/src/lib/libc/nls/C.msg#3 (text+ko) ====
@@ -1,4 +1,4 @@
-$ $FreeBSD: src/lib/libc/nls/C.msg,v 1.2 2009/10/13 17:57:06 rwatson Exp $
+$ $FreeBSD: src/lib/libc/nls/C.msg,v 1.3 2009/11/09 12:46:59 ume Exp $
$
$ Message catalog for C locale (template)
$
@@ -257,3 +257,39 @@
30 User defined signal 1
$ SIGUSR2
31 User defined signal 2
+$
+$ gai_strerror() support catalog
+$
+$set 3
+$ 1 (obsolete)
+1 Address family for hostname not supported
+$ EAI_AGAIN
+2 Temporary failure in name resolution
+$ EAI_BADFLAGS
+3 Invalid value for ai_flags
+$ EAI_FAIL
+4 Non-recoverable failure in name resolution
+$ EAI_FAMILY
+5 ai_family not supported
+$ EAI_MEMORY
+6 Memory allocation failure
+$ 7 (obsolete)
+7 No address associated with hostname
+$ EAI_NONAME
+8 hostname nor servname provided, or not known
+$ EAI_SERVICE
+9 servname not supported for ai_socktype
+$ EAI_SOCKTYPE
+10 ai_socktype not supported
+$ EAI_SYSTEM
+11 System error returned in errno
+$ EAI_BADHINTS
+12 Invalid value for hints
+$ EAI_PROTOCOL
+13 Resolved protocol is unknown
+$ EAI_OVERFLOW
+14 Argument buffer overflow
+$ 0
+32766 Success
+$ NL_MSGMAX
+32767 Unknown error
==== //depot/projects/scottl-camlock/src/lib/libc/nls/Makefile.inc#4 (text+ko) ====
@@ -1,5 +1,5 @@
# from $NetBSD: Makefile.inc,v 1.7 1995/02/27 13:06:20 cgd Exp $
-# $FreeBSD: src/lib/libc/nls/Makefile.inc,v 1.18 2009/09/27 13:16:38 gabor Exp $
+# $FreeBSD: src/lib/libc/nls/Makefile.inc,v 1.20 2009/11/09 12:33:47 ume Exp $
.PATH: ${.CURDIR}/nls
@@ -23,6 +23,8 @@
NLS+= gl_ES.ISO8859-1
NLS+= hu_HU.ISO8859-2
NLS+= it_IT.ISO8859-15
+NLS+= ja_JP.UTF-8
+NLS+= ja_JP.eucJP
NLS+= ko_KR.UTF-8
NLS+= ko_KR.eucKR
NLS+= mn_MN.UTF-8
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb.h#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb.h,v 1.9 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb.h,v 1.10 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
@@ -271,9 +271,11 @@
uint16_t wLength;
} libusb_control_setup;
+#define LIBUSB_CONTROL_SETUP_SIZE 8 /* bytes */
+
typedef struct libusb_iso_packet_descriptor {
- unsigned int length;
- unsigned int actual_length;
+ uint32_t length;
+ uint32_t actual_length;
enum libusb_transfer_status status;
} libusb_iso_packet_descriptor __aligned(sizeof(void *));
@@ -282,9 +284,9 @@
typedef struct libusb_transfer {
libusb_device_handle *dev_handle;
uint8_t flags;
- unsigned int endpoint;
+ uint32_t endpoint;
uint8_t type;
- unsigned int timeout;
+ uint32_t timeout;
enum libusb_transfer_status status;
int length;
int actual_length;
@@ -320,7 +322,7 @@
int libusb_set_configuration(libusb_device_handle * devh, int configuration);
int libusb_claim_interface(libusb_device_handle * devh, int interface_number);
int libusb_release_interface(libusb_device_handle * devh, int interface_number);
-int libusb_reset_device(libusb_device_handle * dev);
+int libusb_reset_device(libusb_device_handle * devh);
int libusb_kernel_driver_active(libusb_device_handle * devh, int interface);
int libusb_detach_kernel_driver(libusb_device_handle * devh, int interface);
int libusb_attach_kernel_driver(libusb_device_handle * devh, int interface);
@@ -333,7 +335,8 @@
int libusb_get_config_descriptor(libusb_device * dev, uint8_t config_index, struct libusb_config_descriptor **config);
int libusb_get_config_descriptor_by_value(libusb_device * dev, uint8_t bConfigurationValue, struct libusb_config_descriptor **config);
void libusb_free_config_descriptor(struct libusb_config_descriptor *config);
-int libusb_get_string_descriptor_ascii(libusb_device_handle * dev, uint8_t desc_index, uint8_t *data, int length);
+int libusb_get_string_descriptor_ascii(libusb_device_handle * devh, uint8_t desc_index, uint8_t *data, int length);
+int libusb_get_descriptor(libusb_device_handle * devh, uint8_t desc_type, uint8_t desc_index, uint8_t *data, int length);
/* Asynchronous device I/O */
@@ -341,7 +344,16 @@
void libusb_free_transfer(struct libusb_transfer *transfer);
int libusb_submit_transfer(struct libusb_transfer *transfer);
int libusb_cancel_transfer(struct libusb_transfer *transfer);
-uint8_t *libusb_get_iso_packet_buffer_simple(struct libusb_transfer *transfer, unsigned int packet);
+uint8_t *libusb_get_iso_packet_buffer(struct libusb_transfer *transfer, uint32_t index);
+uint8_t *libusb_get_iso_packet_buffer_simple(struct libusb_transfer *transfer, uint32_t index);
+void libusb_set_iso_packet_lengths(struct libusb_transfer *transfer, uint32_t length);
+uint8_t *libusb_control_transfer_get_data(struct libusb_transfer *transfer);
+struct libusb_control_setup *libusb_control_transfer_get_setup(struct libusb_transfer *transfer);
+void libusb_fill_control_setup(uint8_t *buf, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength);
+void libusb_fill_control_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t *buf, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
+void libusb_fill_bulk_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
+void libusb_fill_interrupt_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
+void libusb_fill_iso_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, int npacket, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
/* Polling and timing */
@@ -362,9 +374,14 @@
/* Synchronous device I/O */
-int libusb_control_transfer(libusb_device_handle * devh, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint8_t *data, uint16_t wLength, unsigned int timeout);
-int libusb_bulk_transfer(libusb_device_handle *devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, unsigned int timeout);
-int libusb_interrupt_transfer(libusb_device_handle *devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, unsigned int timeout);
+int libusb_control_transfer(libusb_device_handle * devh, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint8_t *data, uint16_t wLength, uint32_t timeout);
+int libusb_bulk_transfer(libusb_device_handle * devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, uint32_t timeout);
+int libusb_interrupt_transfer(libusb_device_handle * devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, uint32_t timeout);
+
+/* Byte-order */
+
+uint16_t libusb_cpu_to_le16(uint16_t x);
+uint16_t libusb_le16_to_cpu(uint16_t x);
#if 0
{ /* indent fix */
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb10.c#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
* Copyright (c) 2009 Hans Petter Selasky. All rights reserved.
@@ -35,6 +35,7 @@
#include <sys/ioctl.h>
#include <sys/filio.h>
#include <sys/queue.h>
+#include <sys/endian.h>
#include "libusb20.h"
#include "libusb20_desc.h"
@@ -185,8 +186,6 @@
/* create libusb v1.0 compliant devices */
i = 0;
while ((pdev = libusb20_be_device_foreach(usb_backend, NULL))) {
- /* get device into libUSB v1.0 list */
- libusb20_be_dequeue_device(usb_backend, pdev);
dev = malloc(sizeof(*dev));
if (dev == NULL) {
@@ -199,6 +198,10 @@
libusb20_be_free(usb_backend);
return (LIBUSB_ERROR_NO_MEM);
}
+
+ /* get device into libUSB v1.0 list */
+ libusb20_be_dequeue_device(usb_backend, pdev);
+
memset(dev, 0, sizeof(*dev));
/* init transfer queues */
@@ -416,6 +419,8 @@
libusb10_remove_pollfd(ctx, &dev->dev_poll);
libusb20_dev_close(pdev);
+
+ /* unref will free the "pdev" when the refcount reaches zero */
libusb_unref_device(dev);
/* make sure our event loop detects the closed device */
@@ -1195,7 +1200,7 @@
struct libusb20_transfer *pxfer1;
struct libusb_super_transfer *sxfer;
struct libusb_device *dev;
- unsigned int endpoint;
+ uint32_t endpoint;
int err;
if (uxfer == NULL)
@@ -1252,7 +1257,7 @@
struct libusb20_transfer *pxfer1;
struct libusb_super_transfer *sxfer;
struct libusb_device *dev;
- unsigned int endpoint;
+ uint32_t endpoint;
if (uxfer == NULL)
return (LIBUSB_ERROR_INVALID_PARAM);
@@ -1312,3 +1317,16 @@
{
/* TODO */
}
+
+uint16_t
+libusb_cpu_to_le16(uint16_t x)
+{
+ return (htole16(x));
+}
+
+uint16_t
+libusb_le16_to_cpu(uint16_t x)
+{
+ return (le16toh(x));
+}
+
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb10_desc.c#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10_desc.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10_desc.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
@@ -35,6 +35,8 @@
#include "libusb.h"
#include "libusb10.h"
+#define N_ALIGN(n) (-((-(n)) & (-8UL)))
+
/* USB descriptors */
int
@@ -114,17 +116,17 @@
nalt = nif = pconf->num_interface;
nep = 0;
- nextra = pconf->extra.len;
+ nextra = N_ALIGN(pconf->extra.len);
for (i = 0; i < nif; i++) {
pinf = pconf->interface + i;
- nextra += pinf->extra.len;
+ nextra += N_ALIGN(pinf->extra.len);
nep += pinf->num_endpoints;
k = pinf->num_endpoints;
pend = pinf->endpoints;
while (k--) {
- nextra += pend->extra.len;
+ nextra += N_ALIGN(pend->extra.len);
pend++;
}
@@ -132,12 +134,12 @@
nalt += pinf->num_altsetting;
pinf = pinf->altsetting;
while (j--) {
- nextra += pinf->extra.len;
+ nextra += N_ALIGN(pinf->extra.len);
nep += pinf->num_endpoints;
k = pinf->num_endpoints;
pend = pinf->endpoints;
while (k--) {
- nextra += pend->extra.len;
+ nextra += N_ALIGN(pend->extra.len);
pend++;
}
pinf++;
@@ -150,17 +152,18 @@
(nalt * sizeof(libusb_interface_descriptor)) +
(nep * sizeof(libusb_endpoint_descriptor));
+ nextra = N_ALIGN(nextra);
+
pconfd = malloc(nextra);
if (pconfd == NULL) {
free(pconf);
return (LIBUSB_ERROR_NO_MEM);
}
- /* make sure memory is clean */
+ /* make sure memory is initialised */
memset(pconfd, 0, nextra);
- pconfd->interface = (libusb_interface *) (pconfd +
- sizeof(libusb_config_descriptor));
+ pconfd->interface = (libusb_interface *) (pconfd + 1);
ifd = (libusb_interface_descriptor *) (pconfd->interface + nif);
endd = (libusb_endpoint_descriptor *) (ifd + nalt);
@@ -181,7 +184,7 @@
pconfd->extra_length = pconf->extra.len;
pconfd->extra = pextra;
memcpy(pextra, pconf->extra.ptr, pconfd->extra_length);
- pextra += pconfd->extra_length;
+ pextra += N_ALIGN(pconfd->extra_length);
}
/* setup all interface and endpoint pointers */
@@ -221,7 +224,7 @@
ifd->extra_length = pinf->extra.len;
ifd->extra = pextra;
memcpy(pextra, pinf->extra.ptr, pinf->extra.len);
- pextra += pinf->extra.len;
+ pextra += N_ALIGN(pinf->extra.len);
}
for (k = 0; k < pinf->num_endpoints; k++) {
pend = &pinf->endpoints[k];
@@ -238,7 +241,7 @@
endd->extra_length = pend->extra.len;
endd->extra = pextra;
memcpy(pextra, pend->extra.ptr, pend->extra.len);
- pextra += pend->extra.len;
+ pextra += N_ALIGN(pend->extra.len);
}
}
}
@@ -304,3 +307,12 @@
return (LIBUSB_ERROR_OTHER);
}
+
+int
+libusb_get_descriptor(libusb_device_handle * devh, uint8_t desc_type,
+ uint8_t desc_index, uint8_t *data, int length)
+{
+ return (libusb_control_transfer(devh, LIBUSB_ENDPOINT_IN,
+ LIBUSB_REQUEST_GET_DESCRIPTOR, (desc_type << 8) | desc_index, 0, data,
+ length, 1000));
+}
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb10_io.c#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10_io.c,v 1.3 2009/07/30 00:11:41 alfred Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10_io.c,v 1.4 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
@@ -32,6 +32,7 @@
#include <time.h>
#include <errno.h>
#include <sys/queue.h>
+#include <sys/endian.h>
#include "libusb20.h"
#include "libusb20_desc.h"
@@ -148,19 +149,19 @@
goto do_done;
}
for (i = 0; i != nfds; i++) {
- if (fds[i].revents == 0)
- continue;
if (ppdev[i] != NULL) {
dev = libusb_get_device(ppdev[i]);
- err = libusb20_dev_process(ppdev[i]);
+ if (fds[i].revents == 0)
+ err = 0; /* nothing to do */
+ else
+ err = libusb20_dev_process(ppdev[i]);
+
if (err) {
/* cancel all transfers - device is gone */
libusb10_cancel_all_transfer(dev);
- /*
- * make sure we don't go into an infinite
- * loop
- */
+
+ /* remove USB device from polling loop */
libusb10_remove_pollfd(dev->ctx, &dev->dev_poll);
}
CTX_UNLOCK(ctx);
@@ -573,3 +574,160 @@
DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_interrupt_transfer leave");
return (ret);
}
+
+uint8_t *
+libusb_get_iso_packet_buffer(struct libusb_transfer *transfer, uint32_t index)
+{
+ uint8_t *ptr;
+ uint32_t n;
+
+ if (transfer->num_iso_packets < 0)
+ return (NULL);
+
+ if (index >= (uint32_t)transfer->num_iso_packets)
+ return (NULL);
+
+ ptr = transfer->buffer;
+ if (ptr == NULL)
+ return (NULL);
+
+ for (n = 0; n != index; n++) {
+ ptr += transfer->iso_packet_desc[n].length;
+ }
+ return (ptr);
+}
+
+uint8_t *
+libusb_get_iso_packet_buffer_simple(struct libusb_transfer *transfer, uint32_t index)
+{
+ uint8_t *ptr;
+
+ if (transfer->num_iso_packets < 0)
+ return (NULL);
+
+ if (index >= (uint32_t)transfer->num_iso_packets)
+ return (NULL);
+
+ ptr = transfer->buffer;
+ if (ptr == NULL)
+ return (NULL);
+
+ ptr += transfer->iso_packet_desc[0].length * index;
+
+ return (ptr);
+}
+
+void
+libusb_set_iso_packet_lengths(struct libusb_transfer *transfer, uint32_t length)
+{
+ int n;
+
+ if (transfer->num_iso_packets < 0)
+ return;
+
+ for (n = 0; n != transfer->num_iso_packets; n++)
+ transfer->iso_packet_desc[n].length = length;
+}
+
+uint8_t *
+libusb_control_transfer_get_data(struct libusb_transfer *transfer)
+{
+ if (transfer->buffer == NULL)
+ return (NULL);
+
+ return (transfer->buffer + LIBUSB_CONTROL_SETUP_SIZE);
+}
+
+struct libusb_control_setup *
+libusb_control_transfer_get_setup(struct libusb_transfer *transfer)
+{
+ return ((struct libusb_control_setup *)transfer->buffer);
+}
+
+void
+libusb_fill_control_setup(uint8_t *buf, uint8_t bmRequestType,
+ uint8_t bRequest, uint16_t wValue,
+ uint16_t wIndex, uint16_t wLength)
+{
+ struct libusb_control_setup *req = (struct libusb_control_setup *)buf;
+
+ /* The alignment is OK for all fields below. */
+ req->bmRequestType = bmRequestType;
+ req->bRequest = bRequest;
+ req->wValue = htole16(wValue);
+ req->wIndex = htole16(wIndex);
+ req->wLength = htole16(wLength);
+}
+
+void
+libusb_fill_control_transfer(struct libusb_transfer *transfer,
+ libusb_device_handle *devh, uint8_t *buf,
+ libusb_transfer_cb_fn callback, void *user_data,
+ uint32_t timeout)
+{
+ struct libusb_control_setup *setup = (struct libusb_control_setup *)buf;
+
+ transfer->dev_handle = devh;
+ transfer->endpoint = 0;
+ transfer->type = LIBUSB_TRANSFER_TYPE_CONTROL;
+ transfer->timeout = timeout;
+ transfer->buffer = buf;
+ if (setup != NULL)
+ transfer->length = LIBUSB_CONTROL_SETUP_SIZE
+ + le16toh(setup->wLength);
+ else
+ transfer->length = 0;
+ transfer->user_data = user_data;
+ transfer->callback = callback;
+
+}
+
+void
+libusb_fill_bulk_transfer(struct libusb_transfer *transfer,
+ libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,
+ int length, libusb_transfer_cb_fn callback, void *user_data,
+ uint32_t timeout)
+{
+ transfer->dev_handle = devh;
+ transfer->endpoint = endpoint;
+ transfer->type = LIBUSB_TRANSFER_TYPE_BULK;
+ transfer->timeout = timeout;
+ transfer->buffer = buf;
+ transfer->length = length;
+ transfer->user_data = user_data;
+ transfer->callback = callback;
+}
+
+void
+libusb_fill_interrupt_transfer(struct libusb_transfer *transfer,
+ libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,
+ int length, libusb_transfer_cb_fn callback, void *user_data,
+ uint32_t timeout)
+{
+ transfer->dev_handle = devh;
+ transfer->endpoint = endpoint;
+ transfer->type = LIBUSB_TRANSFER_TYPE_INTERRUPT;
+ transfer->timeout = timeout;
+ transfer->buffer = buf;
+ transfer->length = length;
+ transfer->user_data = user_data;
+ transfer->callback = callback;
+}
+
+void
+libusb_fill_iso_transfer(struct libusb_transfer *transfer,
+ libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,
+ int length, int npacket, libusb_transfer_cb_fn callback,
+ void *user_data, uint32_t timeout)
+{
+ transfer->dev_handle = devh;
+ transfer->endpoint = endpoint;
+ transfer->type = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS;
+ transfer->timeout = timeout;
+ transfer->buffer = buf;
+ transfer->length = length;
+ transfer->num_iso_packets = npacket;
+ transfer->user_data = user_data;
+ transfer->callback = callback;
+}
+
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb20.c#3 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.4 2009/06/12 16:07:06 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.5 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
@@ -630,6 +630,9 @@
struct LIBUSB20_CONTROL_SETUP_DECODED req;
int error;
+ /* make sure memory is initialised */
+ memset(ptr, 0, len);
+
if (len < 4) {
/* invalid length */
return (LIBUSB20_ERROR_INVALID_PARAM);
@@ -1093,7 +1096,8 @@
if (pbe->methods->exit_backend) {
pbe->methods->exit_backend(pbe);
}
- return;
+ /* free backend */
+ free(pbe);
}
void
@@ -1101,7 +1105,6 @@
{
pdev->beMethods = pbe->methods; /* copy backend methods */
TAILQ_INSERT_TAIL(&(pbe->usb_devs), pdev, dev_entry);
- return;
}
void
@@ -1109,5 +1112,4 @@
struct libusb20_device *pdev)
{
TAILQ_REMOVE(&(pbe->usb_devs), pdev, dev_entry);
- return;
}
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb20_desc.c#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_desc.c,v 1.1 2009/03/09 17:09:46 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_desc.c,v 1.2 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
@@ -118,6 +118,9 @@
if (lub_config == NULL) {
return (NULL); /* out of memory */
}
+ /* make sure memory is initialised */
+ memset(lub_config, 0, size);
+
lub_interface = (void *)(lub_config + 1);
lub_alt_interface = (void *)(lub_interface + niface_no_alt);
lub_endpoint = (void *)(lub_interface + niface);
==== //depot/projects/scottl-camlock/src/lib/libusb/libusb20_ugen20.c#5 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.5 2009/10/22 21:01:41 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.6 2009/11/08 20:03:52 thompsa Exp $ */
/*-
* Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
*
@@ -449,6 +449,8 @@
uint16_t len;
int error;
+ /* make sure memory is initialised */
+ memset(&cdesc, 0, sizeof(cdesc));
memset(&gen_desc, 0, sizeof(gen_desc));
gen_desc.ugd_data = &cdesc;
@@ -468,6 +470,10 @@
if (!ptr) {
return (LIBUSB20_ERROR_NO_MEM);
}
+
+ /* make sure memory is initialised */
+ memset(ptr, 0, len);
+
gen_desc.ugd_data = ptr;
gen_desc.ugd_maxlen = len;
==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#9 (text+ko) ====
@@ -25,9 +25,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.46 2009/09/04 18:21:40 mav Exp $
+.\" $FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.47 2009/11/09 11:39:51 mav Exp $
.\"
-.Dd September 4, 2009
+.Dd November 9, 2009
.Dt CAMCONTROL 8
.Os
.Sh NAME
@@ -165,6 +165,20 @@
.Op Fl w
.Op Fl y
.Nm
+.Ic idle
+.Op device id
+.Op generic args
+.Op Fl t Ar time
+.Nm
+.Ic standby
+.Op device id
+.Op generic args
+.Op Fl t Ar time
+.Nm
+.Ic sleep
+.Op device id
+.Op generic args
+.Nm
.Ic help
.Sh DESCRIPTION
The
@@ -821,6 +835,15 @@
will not be asked about the timeout if a timeout is specified on the
command line.
.El
+.It Ic idle
+Put ATA device into IDLE state. Optional parameter specifies automatic
+idle timer value in seconds.
+.It Ic standby
+Put ATA device into STANDBY state. Optional parameter specifies automatic
+standby timer value in seconds.
+.It Ic sleep
+Put ATA device into SLEEP state. Note that the only way get device out of
+this state may be reset.
.It Ic help
Print out verbose usage information.
.El
==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#29 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.67 2009/11/04 15:24:32 mav Exp $");
+__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.69 2009/11/09 19:47:46 mav Exp $");
#include <sys/ioctl.h>
#include <sys/stdint.h>
@@ -74,7 +74,10 @@
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list