• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1commit a04cbb0095a78aeed3f65aaf06c46069d0ac184a
2Author: Daniel Drake <dan@reactivated.net>
3Date:   Tue May 4 19:01:59 2010 -0300
4
5    v1.0.8 release
6
7commit 53b47299531974fa8901b74a163f3c8ebae4eec9
8Author: Daniel Drake <dan@reactivated.net>
9Date:   Thu Apr 22 18:12:51 2010 -0300
10
11    Linux: don't set SHORT_NOT_OK on bulk out URBs (#20
12
13    Setting this flag is illegal, and the behaviour we're looking for
14    is already in place for host-to-device transfers without this flag.
15
16commit 1519828b7ee1fce46d4c51fc097d52e01b8e0bb4
17Author: Daniel Drake <dan@reactivated.net>
18Date:   Tue Apr 20 20:14:09 2010 -0300
19
20    Linux: Handle failure to read active configuration during enumeration
21
22commit 45168627cc15aee3875192f34286110dbbd27095
23Author: Nathan Hjelm <hjelmn@me.com>
24Date:   Tue Apr 20 19:43:06 2010 -0300
25
26    Darwin: don't reuse cached descriptors during enumeration
27
28    Descriptor reuse was causing scans to return invalid information when
29    the device at a location has changed.
30
31commit 3af329db6dcbfb96d24867c757f9e125e5b7b0e5
32Author: Daniel Drake <dan@reactivated.net>
33Date:   Mon Apr 19 19:36:55 2010 -0300
34
35    v1.0.7 release
36
37commit ceb8cacd6d2a4189de0db2ee46d45217511c69be
38Author: Daniel Drake <dan@reactivated.net>
39Date:   Mon Apr 19 19:31:12 2010 -0300
40
41    Document that fd set contents are an internal implementation detail (#36)
42
43commit 9bea500b5747bdeba7c8251d45608558e71a1db5
44Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
45Date:   Mon Apr 19 19:22:46 2010 -0300
46
47    Linux: correct config descriptor endianness fix
48
49    The seek_to_next_config codepath deals with both sysfs and usbfs;
50    make sure we only convert values in the usbfs path.
51
52commit 02df59a309e813c50b8230de99e69fb4e1814279
53Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
54Date:   Mon Apr 5 17:11:32 2010 +0200
55
56    Linux: Fix endianness handling of usbfs config descriptors (#27)
57
58    driver/usb/core/devio.c function usbdev_read translate the follwing files
59    to CPU endianess:
60
61    le16_to_cpus(&temp_desc.bcdUSB);
62    le16_to_cpus(&temp_desc.idVendor);
63    le16_to_cpus(&temp_desc.idProduct);
64    le16_to_cpus(&temp_desc.bcdDevice);
65
66    All other data is passed without any change.
67
68    libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1
69    for config descriptors. According to the kernel code, they must be
70    processed with host_endian=0, as they are not translated by the kernel.
71
72    Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
73
74commit ec303b01a5d4e51c000a283853af65059fa62285
75Author: Nathan Hjelm <hjelmn@mac.com>
76Date:   Tue Mar 23 16:22:08 2010 -0600
77
78    Darwin: fix enumeration of devices with non-consecutive addresses (#23)
79
80commit cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5
81Author: Bastien Nocera <hadess@hadess.net>
82Date:   Mon Mar 8 10:50:51 2010 +0000
83
84    Add more interface classes
85
86    As used in bluez.
87
88commit 1ce4aa67d849f5cad8a21072dc1c7b42158ce817
89Author: Nathan Hjelm <hjelmn@mac.com>
90Date:   Thu Mar 18 11:32:32 2010 -0600
91
92    Darwin: Cleanup async callback code, catch request timeouts
93
94commit 68af9f8d731f700267335941a8214d34ab518cc8
95Author: Nathan Hjelm <hjelmn@mac.com>
96Date:   Thu Mar 18 11:31:46 2010 -0600
97
98    Darwin: fix endianness of control setup packet
99
100    IOUSBLib expects the control request to be in host byte order.
101    Swap the request into host byte order.
102
103commit cfce4d127184f4e4f334976151a0f80594bb5e22
104Author: Nathan Hjelm <hjelmn@mac.com>
105Date:   Mon Feb 15 14:10:08 2010 -0600
106
107    Darwin: fix memory leak in process_device
108
109    Credit to Mike Colagrosso for finding this bug.
110
111commit 161893cfbefefe315f657677705abe090fc526f2
112Author: Nathan Hjelm <hjelmn@mac.com>
113Date:   Mon Feb 15 14:09:19 2010 -0600
114
115    Darwin: use logging functions
116
117    Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
118
119commit 2a72f38548208044dc3aa62681419d006c35732d
120Author: Nathan Hjelm <hjelmn@mac.com>
121Date:   Mon Feb 15 14:07:44 2010 -0600
122
123    Darwin: support multiple calls to libusb_init
124
125    Credit to Orin Eman for finding this bug.
126
127commit a4186794d87124503db2f5f51f51ce90bb95daa7
128Author: Daniel Drake <dan@reactivated.net>
129Date:   Sun Nov 22 17:20:53 2009 +0000
130
131    v1.0.6 release
132
133commit 8392ff22136fccaf1e15d186157609b8dd127bc5
134Author: Ludovic Rousseau <rousseau@debian.org>
135Date:   Sun Oct 25 10:06:41 2009 +0100
136
137    lsusb example: make print_devs() static
138
139    lsusb.c:26: warning: no previous prototype for ‘print_devs’
140
141commit 9cc6bfaa15239bb6db1c1570b9beb6df2f848951
142Author: Ludovic Rousseau <rousseau@debian.org>
143Date:   Sun Oct 25 10:05:10 2009 +0100
144
145    Darwin: fix warning in darwin_error_str()
146
147    os/darwin_usb.c:63: warning: return discards qualifiers from pointer
148    target type
149
150commit 4c706d2fb6b2c43b10d72ac5dff51cac4d939f1a
151Author: Nathan Hjelm <hjelmn@mac.com>
152Date:   Sat Nov 21 17:06:43 2009 +0000
153
154    Darwin: allow devices to be opened multiple times
155
156    Allows libusb applications to access multiple interfaces of the same
157    device in the same application.
158
159    Also fixes a set alt interface bug.
160
161commit 0232fc559cdacb9561f982dd6d28feb4435b3e4e
162Author: Daniel Drake <dan@reactivated.net>
163Date:   Sat Nov 21 17:01:32 2009 +0000
164
165    Increase libusb_handle_events() timeout to 60 seconds
166
167    The internal timing seems to be working, this will be a better test of
168    it before we make this timeout unlimited.
169
170commit 0bd7ef5d8697973a026c36c15d6276177b4ec4ea
171Author: Daniel Drake <dan@reactivated.net>
172Date:   Sat Nov 21 16:57:25 2009 +0000
173
174    Refine timerfd header check (#18)
175
176    Require glibc-2.9 for the working timerfd support.
177
178commit 90d8fcab9018b8e6887a7e0592d1e5f692117234
179Author: Daniel Drake <dsd@gentoo.org>
180Date:   Sun Nov 15 12:17:13 2009 +0000
181
182    v1.0.5 release
183
184commit 11d591058e3f105b0e90c23bbf58b18de691e690
185Author: Daniel Drake <dsd@gentoo.org>
186Date:   Sat Nov 7 10:43:59 2009 +0000
187
188    Update documentation about early completion caveats
189
190commit f796c9528a71aa55326b6f0c9c7c5ec073d2bf92
191Author: Ludovic Rousseau <rousseau@debian.org>
192Date:   Sun Oct 25 09:59:51 2009 +0100
193
194    Add libusb_get_max_iso_packet_size() to libusb.h
195
196    core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
197
198commit 4783008b7e711de9cb31631e60dda995f44068de
199Author: Daniel Drake <dsd@gentoo.org>
200Date:   Wed Oct 28 20:33:49 2009 +0545
201
202    Use timerfd for timeout handling
203
204    Use a new file descriptor from the timerfd system calls to handle
205    timeouts. On supported systems, this means that there is less hassle
206    figuring out when the poll() timeout should be, since
207    libusb_get_next_timeout() will always return 0 and the timeout events will
208    be triggered as regular activity on the file descriptor set.
209
210    Add API function libusb_pollfds_handle_timeouts() to detect whether
211    you're on a platform with the timing headache, and flesh out the
212    surrounding documentation.
213
214commit 9b120c2b3735566533c179aa8ca758fe45899a38
215Author: Daniel Drake <dsd@gentoo.org>
216Date:   Sat Nov 7 10:03:07 2009 +0000
217
218    Use AM_SILENT_RULES for building
219
220commit ef6ea6c3ae38e4524f10e16e8cb88177d39c4826
221Author: Daniel Drake <dsd@gentoo.org>
222Date:   Fri Nov 6 21:54:08 2009 +0000
223
224    v1.0.4 release
225
226commit 217f57617e0cff0d1bd6d726b243f04c6b179773
227Author: David Moore <dcm@acm.org>
228Date:   Fri Nov 6 21:37:25 2009 +0000
229
230    Linux: Add support for the new URB_BULK_CONTINUATION flag
231
232    Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
233
234    This flag, which is expected to be available in usbfs starting with
235    kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
236    of a short packet.  This capability allows libusb to preserve data
237    integrity of large bulk transfers that are split into multiple URBs.
238    Without this support, these URBs must be canceled in userspace upon
239    receipt of a short packet, a race condition against future transfers
240    which might partially fill these canceled URBs.
241
242    This patch automatically detects whether a supported kernel is present
243    and enables the use of the flag when possible.
244
245    [dsd: tweaks to supported kernel detection, and some inline
246     documentation of this mechanism]
247
248commit 69830057547396f893f0d7b3125a05d016313b10
249Author: Daniel Drake <dsd@gentoo.org>
250Date:   Wed Oct 28 15:13:22 2009 +0545
251
252    Transfer locking
253
254    At least on Linux, there were some possible races that could occur if
255    a transfer is cancelled from one thread while another thread is handling
256    an event for that transfer, or for if a transfer completes while it is
257    still being submitted from another thread, etc.
258
259    On the global level, transfers could be submitted and cancelled at the
260    same time.
261
262    Fix those issues with transfer-level locks.
263
264commit 98f1b30d24359cb3185051b8df9ebb663cc10369
265Author: Daniel Drake <dsd@gentoo.org>
266Date:   Mon Sep 14 08:01:24 2009 +0100
267
268    Clarify that timeout 0 means unlimited timeout
269
270commit 858684f0dd25921e09565034a88709dbf6f6c61b
271Author: Daniel Drake <dsd@gentoo.org>
272Date:   Fri Sep 11 22:09:12 2009 +0100
273
274    Linux: more flexibility with monotonic clock
275
276    Some users have reported that CLOCK_MONOTONIC does not work on their
277    systems - I suspect it is available on x86 but perhaps not some
278    of the more uncommon architectures. We should fall back on
279    CLOCK_REALTIME in these cases.
280
281    Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
282    that if it is available.
283
284    We now test different clock IDs during initialization to find the
285    best one that works.
286
287commit fe0d8dce1ed704915d501e7da700440c78144211
288Author: Nathan Hjelm <hjelmn@mac.com>
289Date:   Fri Sep 11 18:00:29 2009 +0100
290
291    Darwin: handle overflows
292
293commit f46716f42040986203fa6e873bfdabe1be2900ec
294Author: Daniel Drake <dsd@gentoo.org>
295Date:   Thu Aug 27 21:14:54 2009 +0545
296
297    v1.0.3 release
298
299commit 5b489b8b2a5aba7b8b804e5af6d2628735548238
300Author: Toby Peterson <toby@macports.org>
301Date:   Sun Aug 23 10:04:59 2009 +0545
302
303    Darwin: 64-bit type fixes
304
305commit ad8ae04d0b52009af0b1180e005f7554d2bbb26c
306Author: Nathan Hjelm <hjelmn@mac.com>
307Date:   Sun Aug 23 10:02:55 2009 +0545
308
309    Darwin: fix crash when reading descriptors after close
310
311    Fix a crash which occurs if the user does the following sequence on a
312    device: open, close, get_configuration_descriptor.
313
314commit 45ae2aecf5512dcff059b2a416534e81c6a00c88
315Author: Daniel Drake <dsd@gentoo.org>
316Date:   Sat Aug 1 13:55:15 2009 +0545
317
318    move bug info to bug tracker
319
320    Protection needed: http://www.libusb.org/ticket/4
321    Losing data: fixed in previous commit
322
323commit 126129e174062c2a27423817a459e5113f777789
324Author: Daniel Drake <dsd@gentoo.org>
325Date:   Thu Jul 9 22:09:04 2009 +0100
326
327    Linux: try harder not to lose any data
328
329    We would previously lose any data that was present on a cancelled URB.
330    Work harder to make sure this doesn't happen.
331
332commit 0334ee642b47dfe1ca9db64b22e7702ea14b3f09
333Author: Daniel Drake <dsd@gentoo.org>
334Date:   Sun Jun 28 19:49:10 2009 +0100
335
336    Add libusb_get_max_iso_packet_size()
337
338    As pointed out by Dennis Muhlestein, libusb_get_max_packet_size()
339    doesn't really do what the documentation might suggest because it
340    does not consider the number of transaction opportunities per
341    microframe.
342
343    Add a new function to do what is useful for isochronous I/O.
344
345commit 615f18e64e96ae4ecc8e43d0de00933059a5209a
346Author: Daniel Drake <dsd@gentoo.org>
347Date:   Sat Jun 20 22:33:21 2009 +0100
348
349    Linux: fix sending of zero length bulk packets
350
351    Note that there are is a kernel bug preventing this from working
352    properly at the moment, even after this fix.
353
354commit 86f79fbf61c2018bdf009c7ebf92b38f3a16fd0c
355Author: Nathan Hjelm <hjelmn@mac.com>
356Date:   Fri Jun 19 22:18:44 2009 +0100
357
358    Darwin: Don't cancel transfers on timeout
359
360    ...because the OS does this for us.
361
362commit d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f
363Author: Daniel Drake <dsd@gentoo.org>
364Date:   Sun Jun 14 19:23:21 2009 +0100
365
366    Don't terminate enums with commas
367
368    g++ -pedantic doesn't like this
369    Reported by Eberhard Mattes
370
371commit 8be256082eb9bd8e243d89529f742926bb29a21b
372Author: Daniel Drake <dsd@gentoo.org>
373Date:   Sat Jun 13 17:19:07 2009 +0100
374
375    v1.0.2 release
376
377commit 060e006e663fd59c281be29b71eb197e02b210e8
378Author: Daniel Drake <dsd@gentoo.org>
379Date:   Wed Jun 10 21:42:05 2009 +0100
380
381    Linux: fix config descriptor parsing on big-endian systems
382
383    Multi-byte fields in the configuration descriptors that come back from
384    usbfs are always in bus endian format.
385
386    Thanks to Joe Jezak for help investigating and fixing this.
387
388commit c4a905022f684da9a4a853eb9232a81a53df2652
389Author: Nathan Hjelm <hjelmn@mac.com>
390Date:   Sun Jun 7 22:29:35 2009 +0100
391
392    Darwin: improve handling of disconnected devices
393
394commit 6b69f54451762ef590b9c938ab000c07cf9099a3
395Author: Nathan Hjelm <hjelmn@mac.com>
396Date:   Sun Jun 7 22:26:37 2009 +0100
397
398    Darwin: fix parsing of config descriptors
399
400    This was a confusion between configuration numbers and zero-based
401    configuration indexes.
402
403commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
404Author: Daniel Drake <dsd@gentoo.org>
405Date:   Sun Jun 7 22:19:53 2009 +0100
406
407    Eliminate -Wsign-compare compiler warnings
408
409    This was due to an API inconsistency which can be safely worked around.
410    Hopefully we'll remember to fix the API next time we come to break
411    things.
412
413commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
414Author: David Moore <dcm@acm.org>
415Date:   Wed May 27 23:15:54 2009 -0700
416
417    Make synchronous transfer APIs robust against signal interruption
418
419    libusb_control_transfer and libusb_bulk_transfer are designed to be
420    synchronous such that control is not returned until the transfer
421    definitively succeeds or fails.  That assumption is violated if a signal
422    interrupts these functions because there is no way for the application
423    to continue waiting for the transfer without resubmitting it.  This
424    patch changes these synchronous APIs so they do not abort in the case of
425    a signal interruption.
426
427    Signed-off-by: David Moore <dcm@acm.org>
428
429commit b501795985a23109f176d296e7b544b4c6354528
430Author: Alex Vatchenko <alex@fabulatech.com>
431Date:   Thu May 28 15:58:50 2009 -0400
432
433    pre-gcc-3.4 compatibility
434
435    The -fvisibility and -Wno-pointer-sign options are not available on
436    old GCC versions.
437
438commit 00bb2805e994887f0a754a825c3ce03d22393386
439Author: Daniel Drake <dsd@gentoo.org>
440Date:   Tue May 26 15:53:26 2009 -0400
441
442    Fix memory leak in config descriptor parsing
443
444    Pointed out by Martin Koegler.
445
446commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
447Author: Daniel Drake <dsd@gentoo.org>
448Date:   Tue May 12 19:20:51 2009 -0400
449
450    Update AUTHORS
451
452commit aa24c04e4043e39674b59ff0d302b2365cd0078f
453Author: Daniel Drake <dsd@gentoo.org>
454Date:   Tue May 12 19:03:37 2009 -0400
455
456    v1.0.1 release
457
458commit 44767677447fae4267131f99c591b14117486cac
459Author: Daniel Drake <dsd@gentoo.org>
460Date:   Tue May 12 19:01:44 2009 -0400
461
462    Add BUGS file
463
464    Probably missed a couple of outstanding issues
465
466commit e0365a6f22e0e7f330ac931df031cf6f17f453d1
467Author: Nathan Hjelm <hjelmn@mac.com>
468Date:   Sun Mar 22 21:13:29 2009 -0400
469
470    Darwin: get_config_descriptor bugfixes
471
472commit 5fd0e8478240fece646a58a3c6114001a73be99f
473Author: Daniel Drake <dsd@gentoo.org>
474Date:   Wed Feb 25 12:33:33 2009 -0300
475
476    Fix compilation of Darwin backend
477
478    My fault. Reported by ihryamzik@gmail.com
479
480commit b49f6bf5c910d0fd694ecf165d7927673707bff9
481Author: Nathan Hjelm <hjelmn@mac.com>
482Date:   Mon Feb 16 21:39:29 2009 -0300
483
484    Darwin backend
485
486commit d859158581e9a3250f36cdeeb8ea67cda04053bd
487Author: Nathan Hjelm <hjelmn@mac.com>
488Date:   Mon Feb 16 21:30:49 2009 -0300
489
490    Make endianness macros endian-independent
491
492    Implementation suggested by David Moore. Needed for proper universal
493    code support on Darwin.
494
495commit 9196f58bdc8b9e967261df39865215faa5d39cfa
496Author: Nathan Hjelm <hjelmn@mac.com>
497Date:   Mon Feb 16 21:25:18 2009 -0300
498
499    Abstract clock reading into OS layer
500
501    This will differ on Linux and Darwin, at least.
502
503    [dsd: minor style tweaks]
504
505commit e91207860cac09b3afaafc4c14221b78d585c59a
506Author: Daniel Drake <dsd@gentoo.org>
507Date:   Mon Feb 16 21:20:28 2009 -0300
508
509    Fix endianness in device descriptors
510
511    Pointed out by Nathan Hjelm.
512
513commit ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17
514Author: Nathan Hjelm <hjelmn@mac.com>
515Date:   Mon Feb 16 21:13:52 2009 -0300
516
517    Only link with librt on Linux
518
519    [dsd: tweak configure.ac change]
520
521commit 894539931e4b4bd85708fe98b956049243cd6fb0
522Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
523Date:   Mon Jan 26 00:31:48 2009 +0100
524
525    API docs: describe libusb_transfer_cb_fn type
526
527    Add some text describing the libusb_transfer_cb_fn function type
528    with the semantics I have gathered from reading other parts of
529    the API docs, referring to the proper section for more details.
530
531    [dsd: tweaked the description slightly]
532
533commit abe34a2656f8f9f21e53603796c536585e6233ef
534Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
535Date:   Sun Jan 25 18:21:59 2009 +0100
536
537    Make empty array in struct compatible with C99
538
539    If the compiler is known to be running in C99 mode,
540    use "flexible array members" ("foo[]").
541
542    If the compiler is running in any other mode, continue
543    using the non-standard but widely common "foo[0]" syntax.
544
545commit 620075c7400764d9bb539b5c02065c45c2e8251e
546Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
547Date:   Sun Jan 25 18:20:45 2009 +0100
548
549    Avoid signedness errors in API docs example code
550
551commit c754ae294cfe96ec4738d6641137c9e6c56330c7
552Author: Daniel Drake <dsd@gentoo.org>
553Date:   Sat Jan 17 00:25:40 2009 +0000
554
555    Decrement poll() result when internal pipe has been handled
556
557    When we receive data on the internal control pipe, we need to correctly
558    decrement the number of ready file descriptors before passing on the
559    remaining work to the OS implementation.
560
561commit b9ca960f2ba271d2b1a58e22b7c70464d69f6c8a
562Author: David Moore <dcm@acm.org>
563Date:   Sun Jan 11 21:46:17 2009 -0800
564
565    Prevent transfer from being submitted twice or improperly canceled
566
567    This ensures that tpriv->urbs and tpriv->iso_urbs are always set to NULL
568    whenever a transfer is not submitted.  In this way, submit_*_transfer()
569    and cancel_*_transfer() can error check to ensure that the transfer is
570    in the correct state to be either submitted or canceled, preventing
571    potential memory leaks or double frees.
572
573    Signed-off-by: David Moore <dcm@acm.org>
574
575commit d2a8ec2da8abcd8f4648ed118da16191011982dd
576Author: David Moore <dcm@acm.org>
577Date:   Wed Jan 7 22:31:09 2009 -0800
578
579    Linux: Fix race condition in cancel_bulk_transfer()
580
581    This fixes a race condition in cancel_bulk_transfer().  In the old
582    version, awaiting_reap and awaiting_discard are incremented in
583    cancel_bulk_transfer() and decremented in handle_bulk_completion().
584    However, since these events may take place in two different threads,
585    these variables may reach zero before all URBs have been canceled,
586    triggered spurious callbacks and duplicate frees.
587
588    This changes the logic to use a single variable "num_retired" to replace
589    both awaiting_reap and awaiting_discard.  num_retired is incremented
590    only in handle_bulk_completion() and thus there is no race.  The handler
591    will know that all URBs have been canceled when num_retired becomes
592    equal to num_urbs.
593
594    This change also simplifies a great deal of the logic in both functions
595    and is a net reduction in the amount of code.
596
597    Note that some variables such as "reap_action" probably need to still be
598    protected by a mutex, and this patch does not address that issue.
599
600    Signed-off-by: David Moore <dcm@acm.org>
601
602commit 34b9eebe35d8167d43cffb6ad6175f6b2251b572
603Author: Daniel Drake <dsd@gentoo.org>
604Date:   Sat Dec 13 20:06:49 2008 +0000
605
606    v1.0.0 release
607
608    It's here!
609
610commit b1d636dde418dc8fe6a8f037dea0d800e57c6b94
611Author: Mikhail Gusarov <dottedmag@dottedmag.ent>
612Date:   Wed Dec 10 15:24:05 2008 +0600
613
614    EOL-whitespace fixes
615
616    Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
617
618commit 4a9ac382ba5149ae5b3d0962d6a840b5e0dc13aa
619Author: Daniel Drake <dsd@gentoo.org>
620Date:   Tue Dec 9 21:43:37 2008 +0000
621
622    Linux: fix reading of active configuration
623
624    Shannon Chuang pointed out that we only read 1 byte into an
625    uninitialized integer, and then return the whole thing.
626
627commit 81a7310d92461ba7b1d98aeff7c4c007fab07120
628Author: Daniel Drake <dsd@gentoo.org>
629Date:   Tue Dec 9 21:39:11 2008 +0000
630
631    Fix double free in descriptor parsing error path
632
633    Pointed out by Shannon Chuang.
634
635commit 9b4b53453db56ba9c1d707a645bbe6c7a02a3c81
636Author: Daniel Drake <dsd@gentoo.org>
637Date:   Fri Nov 21 13:28:32 2008 +0000
638
639    Improvements to multi-threaded I/O system
640
641    Documentation brushed up, and I realised that another function is
642    needed for tight event handling loops -- they must be able to check
643    if an open/close operation is trying to interrupt it.
644
645commit 0e5b0fcb77a90b8bd95ad23669da472af31ef069
646Author: Daniel Drake <dsd@gentoo.org>
647Date:   Fri Nov 21 11:00:47 2008 +0000
648
649    SourceForge website upload system changed
650
651commit a133875e6e2f52eff53ac03f505d59cbdd33e178
652Author: Daniel Drake <dsd@gentoo.org>
653Date:   Fri Nov 21 10:54:57 2008 +0000
654
655    v0.9.4 release
656
657commit c32aa662769b676ff3247778664fccc71fc427ec
658Author: Daniel Drake <dsd@gentoo.org>
659Date:   Thu Nov 20 15:31:10 2008 +0000
660
661    Pause event handling while opening and closing devices
662
663    Ludovic Rousseau found that crashes often occur if you close a device
664    while another thread is doing event handling.
665
666    Fix this by adding an internal control pipe, which the close routines
667    use to interrupt the event handler and obtain the event handling lock,
668    ensuring that no other thread is handling events while the device is
669    closed. After the close completes, it signals all the event handlers
670    to start up again using the usual mechanism.
671
672    Also modified libusb_open() to do a similar thing, so that event
673    handlers are interrupted in order to realise that a new poll fd has
674    appeared.
675
676commit 1d7cf3d0fa8698eae25097cbda1870be90ff6f5e
677Author: Bastien Nocera <hadess@hadess.net>
678Date:   Thu Oct 30 14:35:23 2008 +0000
679
680    Add libusb_attach_kernel_driver()
681
682    Add support for re-attaching a driver to a device under Linux.
683
684    [dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
685
686commit 914a4e70657c86b5094770aa2d898c978b1cdf41
687Author: Daniel Drake <dsd@gentoo.org>
688Date:   Sun Nov 2 21:45:54 2008 +0000
689
690    Linux: handle low-level transfer errors
691
692    Handle more URB error status codes, thanks to Lou and Alan Stern.
693
694commit d25b566b3b8febafdda4211de724b4727dd4b7e0
695Author: Aurelien Jarno <aurelien@aurel32.net>
696Date:   Thu Sep 4 13:50:49 2008 +0200
697
698    Support for out-of-tree building
699
700    Contrary to libusb 0.1, libusb 1.0 does not support out-of-tree building
701    for the documentation part. This patch fixes that by using a
702    doxygen.cfg.in file, which contains @top_srcdir@ to refer to the
703    location of the libusb source code.
704
705commit 8674c67ef78e1cf89db1fa584a4304f7c5ddcc5f
706Author: Daniel Drake <dsd@gentoo.org>
707Date:   Sun Nov 2 15:00:39 2008 +0000
708
709    Document the logging style
710
711    Suggested by Lou.
712
713commit 94936cbcfe3f02eb65c8b91e29896604316259d8
714Author: Daniel Drake <dsd@gentoo.org>
715Date:   Wed Aug 27 22:44:24 2008 -0500
716
717    Async I/O documentation touchups
718
719commit 2f8f1b1a900f5b9828e5e2ff93c2b26a44fd9de2
720Author: Daniel Drake <dsd@gentoo.org>
721Date:   Wed Aug 27 21:23:10 2008 -0500
722
723    Doc: fix typo in events lock section
724
725commit 046e681e4ac6b697e40458ee0f5baf3cd8763bb0
726Author: Daniel Drake <dsd@gentoo.org>
727Date:   Sat Aug 23 01:00:21 2008 -0500
728
729    v0.9.3 release
730
731commit fec6eaa4eecdf7e0b8299157a5dabef94417f193
732Author: Daniel Drake <dsd@gentoo.org>
733Date:   Sat Aug 23 00:57:44 2008 -0500
734
735    Reset internal transfer flags on submit
736
737    This fixes a problem pointed out by Lou, where resubmitting a transfer
738    that previously timed out never timed out again, as if the timeout had
739    been set to 0.
740
741commit 81627bd38900ec9701ab69c141aa51a9abea1f60
742Author: Daniel Drake <dsd@gentoo.org>
743Date:   Sun Aug 10 17:09:48 2008 -0500
744
745    Add libusb_get_configuration prototype
746
747    Pointed out by Lou
748
749commit 1631eaefcc7cdf7047c6b9225618a9aa1b3d87d1
750Author: Daniel Drake <dsd@gentoo.org>
751Date:   Sat Jul 19 17:51:28 2008 -0500
752
753    v0.9.2 release
754
755commit 0d9c40d7f3eee15ada624b5caab2cfb912144fdc
756Author: Daniel Drake <dsd@gentoo.org>
757Date:   Wed Jul 16 09:22:12 2008 -0500
758
759    Linux: fix sysfs directory handling
760
761    The length of the directory name varies, e.g. when you have nested hubs.
762    Use dynamic allocation to be able to deal with any length of name.
763
764commit 66c9847ad54b126ccafd4877292454ab57d0c115
765Author: David Engraf <dogge2k@gmx.de>
766Date:   Wed Jul 16 09:16:38 2008 -0500
767
768    Linux: correct usage of MAX_PATH
769
770    Thanks to clarification from Artem Egorkine, MAX_PATH already includes
771    space for the trailing NULL.
772
773commit 6494f07a6d1b73ce786ae581c4ff691e39e61d19
774Author: Daniel Drake <dsd@gentoo.org>
775Date:   Tue Jul 8 21:15:54 2008 -0500
776
777    Linux: fix bulk/iso transfer double-cancellation
778
779    Reset counters to 0 so that it's possible to cancel a transfer twice
780    without breaking things. Not sure that I want to support this properly,
781    but this makes it work at least.
782
783commit 9140f5b414e37a3714cde9c6d6c87c963338a83a
784Author: Daniel Drake <dsd@gentoo.org>
785Date:   Sat Jun 28 21:28:44 2008 -0500
786
787    v0.9.1 release
788
789commit 83a029062c1d2bfb584d7a6ee94915583d37464c
790Author: Daniel Drake <dsd@gentoo.org>
791Date:   Sat Jun 28 21:24:49 2008 -0500
792
793    Add missing GET_CONTEXT()
794
795commit fbad9a5426f0369394c88987355a8fb06a741ca1
796Author: Daniel Drake <dsd@gentoo.org>
797Date:   Sat Jun 28 21:18:41 2008 -0500
798
799    Linux: Compatibility with new sysfs descriptors file
800
801    As of 2.6.26, the descriptors file now includes all descriptors, not
802    just the active one.
803
804commit 819e65f880ca43526036e56c65c415042c91f58f
805Author: Daniel Drake <dsd@gentoo.org>
806Date:   Thu Jun 26 22:47:05 2008 -0500
807
808    Allow user data pointer to be passed through pollfd notification API
809
810commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90
811Author: Daniel Drake <dsd@gentoo.org>
812Date:   Tue Jun 24 23:01:51 2008 -0500
813
814    Introduce contexts to the API
815
816    Suggested by David Zeuthen. This allows multiple libraries in the same
817    process to independently use libusb without interfering.
818
819commit 9818151c60a85aea6af24cb0996a92c3726c9864
820Author: Daniel Drake <dsd@gentoo.org>
821Date:   Tue Jun 24 21:31:13 2008 -0500
822
823    Revert "Temporary workaround for event handling serialization issue"
824
825    This reverts commit 2d3a1111caff40ebb87983c861ff548cdc9e5946.
826    This was based on the assumption that dying threads would automatically
827    release mutexes, which is not the case.
828
829commit d5f82893fab3f1c13b1af4ba17aac72479bad7d5
830Author: Daniel Drake <dsd@gentoo.org>
831Date:   Fri Jun 20 23:04:53 2008 -0500
832
833    Overflow handling
834
835commit 546dee211eefbdd280fd1fc9dee84a9b52105078
836Author: Artem Egorkine <arteme@gmail.com>
837Date:   Tue Jun 17 18:27:38 2008 -0500
838
839    a fix for SIGSEGV in handle_bulk_completion()
840
841    We cannot dereference tpriv after calling
842    usbi_handle_transfer_cancellation() because that function may invoke
843    the user-supplied callback which may free the transfer.
844
845commit 947ba8056456a5215724fb502e3e09d50016f699
846Author: Daniel Drake <dsd@gentoo.org>
847Date:   Mon Jun 16 22:50:50 2008 -0500
848
849    Refine configuration selection again
850
851    At Alan Stern's suggestion, just offer the bare "set configuration" and
852    "get configuration" functionality, and let applications worry about the
853    specific race conditions and unusual situations.
854
855commit e7a7a49d0331ee0e14145f6e7ec39763b36314ac
856Author: Daniel Drake <dsd@gentoo.org>
857Date:   Sun Jun 15 15:29:38 2008 -0500
858
859    docs update
860
861    Add a THANKS file, make copyright notices easily accessible, update TODO
862
863commit 217534e4b396081e038ee5f94c813d1668963673
864Author: Daniel Drake <dsd@gentoo.org>
865Date:   Sun Jun 15 15:23:29 2008 -0500
866
867    round up poll timeout
868
869    Pointed out by Richard Röjfors, otherwise we end up busy-looping with
870    a poll() timeout of 0.
871
872commit 5ad79b324bc5e11a75a585398a1e81c26f05e758
873Author: Felipe Balbi <me@felipebalbi.com>
874Date:   Sun Jun 8 12:34:48 2008 +0300
875
876    fix doc about libusb_open()
877
878    libusb_open() returns int instead of libusb_device_handle.
879
880    Signed-off-by: Felipe Balbi <me@felipebalbi.com>
881    [dsd: small correction]
882
883commit 2d3a1111caff40ebb87983c861ff548cdc9e5946
884Author: Daniel Drake <dsd@gentoo.org>
885Date:   Thu May 29 17:26:26 2008 +0100
886
887    Temporary workaround for event handling serialization issue
888
889    Ludovic Rousseau pointed out that libusb_unlock_events() is not called
890    when a thread gets terminated with a signal, meaning that event waiters
891    will not be woken up in this case.
892
893    Add a temporary hack to libusb_event_handler_active() so that at least
894    the other threads will realise on the next iteration of their event
895    handling loop.
896
897    The real fix will likely involve reworking most of this.
898
899commit 514bb8790cfe8b93ccfff82bc17081b1030acce0
900Author: Daniel Drake <dsd@gentoo.org>
901Date:   Thu May 29 12:35:01 2008 +0100
902
903    Refine libusb_set_configuration() semantics
904
905    Applications will generally want to set a configuration before claiming
906    interfaces. The problem is that the interface may already be set, and
907    someone else may have claimed an interface (meaning that all calls to
908    set_configuration will fail, even if it's for the same configuration).
909
910    There are now 2 options:
911    1. Use the new libusb_get_configuration() to determine active
912       configuration before calling libusb_set_configuration()
913    2. Or just call libusb_set_configuration() as usual, which will do
914       nothing if that configuration is already active.
915
916commit d1292f8e7300051239a7ed2769d221dc7a6f9fca
917Author: Daniel Drake <dsd@gentoo.org>
918Date:   Sun May 25 23:42:42 2008 +0100
919
920    v0.9.0 release
921
922    First libusb-1.0 beta release
923
924commit 4cd249388e4ed2ca03f1263984ab67df5030bb65
925Author: Daniel Drake <dsd@gentoo.org>
926Date:   Sun May 25 22:59:09 2008 +0100
927
928    Take lock before raising event waiters condition
929
930    This avoids a race between the user checking for active event handler
931    and then blocking on the condition variable
932
933commit 7c525480ab3c4db9205bfe30bb0d2bef9096c444
934Author: Daniel Drake <dsd@gentoo.org>
935Date:   Fri May 23 15:57:07 2008 +0100
936
937    Implement serialization of event handlers
938
939    Now offers a mechanism to wait for events while another thread is
940    doing the event handling. Complicates things for MT async apps, but
941    then again it's a bit of a tricky combination to start with.
942
943commit ff0660a415ecfd0879600eaad1c5899b6d93a30a
944Author: Daniel Drake <dsd@gentoo.org>
945Date:   Sat May 24 21:28:31 2008 +0100
946
947    allow LIBUSB_DEBUG env var to control message verbosity at runtime
948
949    Based on ideas from Ludovic Rousseau
950
951commit 4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1
952Author: Daniel Drake <dsd@gentoo.org>
953Date:   Fri May 23 15:58:11 2008 +0100
954
955    don't print messages by default
956
957    Add libusb_set_debug() API to set message verbosity.
958
959    Ludovic Rousseau pointed out that applications may close stdout/stderr
960    descriptors, which might then be reused.
961
962commit bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c
963Author: Daniel Drake <dsd@gentoo.org>
964Date:   Mon May 19 15:43:27 2008 +0100
965
966    Fix memory leak in libusb_control_transfer
967
968    Pointed out by David Engraf: we weren't freeing the transfer buffer
969
970commit a345bacb6f07ebb2122402041a9e8092d4a20a4d
971Author: David Engraf <david.engraf@netcom.eu>
972Date:   Mon May 19 15:16:32 2008 +0100
973
974    Linux: fix handling of ioctl failure
975
976    The return value of some ioctl commands in linux_usbfs.c are not
977    handeled correct. The ioctl function returns != 0 and errno is set with
978    the error code.
979
980commit e44396a458ecea9e5edd9a7577e617571c76860d
981Author: David Engraf <david.engraf@netcom.eu>
982Date:   Mon May 19 15:13:38 2008 +0100
983
984    critical memory leak in handle_events
985
986    This patch closes a critical memory leak in handle_events. The fds
987    variable is malloced but never freed. When I'm calling
988    handle_events with a timeout of 0, my system runs out of memory after a
989    few seconds.
990
991commit eb25630f52bc9848b444e439632c899977d887b0
992Author: Daniel Drake <dsd@gentoo.org>
993Date:   Fri May 16 23:50:20 2008 +0100
994
995    More informative libusb_open() return code
996
997    Hopefully one of the last API tweaks...
998
999commit 2b2e9c40b195261b09ac52ebdb93eef25c79de90
1000Author: Daniel Drake <dsd@gentoo.org>
1001Date:   Fri May 16 22:37:56 2008 +0100
1002
1003    Fix endianness with descriptor handling
1004
1005    Alan Stern pointed out that usbfs gives host-endian data, but sysfs gives
1006    bus-endian.
1007
1008commit 1298c51f516a7bf04ca9add1b7db14417cdc66f3
1009Author: Daniel Drake <dsd@gentoo.org>
1010Date:   Mon May 12 18:46:37 2008 +0100
1011
1012    Backend documentation for porting efforts
1013
1014    Hopefully comprehensive enough for people to get started.
1015
1016commit ade26afc42c34ceb1c45afcadd2ea5e8240eaca4
1017Author: Daniel Drake <dsd@gentoo.org>
1018Date:   Mon May 12 15:43:30 2008 +0100
1019
1020    Linux: fix caching of guessed configuration
1021
1022    Reported and tested by Xiaofan Chen
1023
1024commit e25d590a9198995b4f0b6afeb41ecae318715e7e
1025Author: Rob Walker <rob@tenfoot.org.uk>
1026Date:   Sun May 11 21:14:18 2008 +0100
1027
1028    Linux: fix bulk transfer early completion
1029
1030    We were forgetting about the remaining urbs when a non-final urb
1031    completed early.
1032
1033    [dsd: some touchups and a warning message for a corner case that we don't handle]
1034
1035commit fec7c84163e25b8f811632828334d75da82bcb16
1036Author: Daniel Drake <dsd@gentoo.org>
1037Date:   Sun May 11 20:31:58 2008 +0100
1038
1039    Handle hot-unplugging
1040
1041    This involved moving from select() to poll() because there is no way to
1042    distinguish usbfs's POLLERR condition with select().
1043
1044commit aeb905fa5d78cdbba80a680aa7a2bb7338f27f65
1045Author: Daniel Drake <dsd@gentoo.org>
1046Date:   Sun May 11 16:04:35 2008 +0100
1047
1048    Documentation work
1049
1050commit ba5d9a45c06311204f51faef41d1ee215bb5b823
1051Author: Daniel Drake <dsd@gentoo.org>
1052Date:   Sun May 11 15:36:24 2008 +0100
1053
1054    Endianness of control setup packets
1055
1056    Document behaviour where host-endian and bus-endian (little) should be
1057    used respectively.
1058
1059    Also remove packed attribute from libusb_control_setup as all fields
1060    are naturally aligned.
1061
1062commit 7bedc3b2683f35ee1dd39a2ebe0ec05be0019f38
1063Author: Daniel Drake <dsd@gentoo.org>
1064Date:   Sun May 11 15:11:59 2008 +0100
1065
1066    Document that releasing interface causes SET_INTERFACE control request
1067
1068commit f2ede9876cd4f5cfa7751b975670fa449187fe3d
1069Author: Daniel Drake <dsd@gentoo.org>
1070Date:   Sat May 10 21:45:42 2008 +0100
1071
1072    Support unconfigured devices
1073
1074commit 8ebb4ccdfaf5f095a1c38787d909d280ea64405c
1075Author: Daniel Drake <dsd@gentoo.org>
1076Date:   Sat May 10 20:56:44 2008 +0100
1077
1078    Linux: fix caching of active configuration for non-sysfs
1079
1080commit c3844f7aeb2176636ce6e6ef697659fdb0b30048
1081Author: Daniel Drake <dsd@gentoo.org>
1082Date:   Sat May 10 14:42:43 2008 +0100
1083
1084    Fetch configurations by index (not value)
1085
1086    Otherwise there is no way to know which values to look for.
1087
1088commit d77052c0d630e33737c38d601fd633155f6b2229
1089Author: Daniel Drake <dsd@gentoo.org>
1090Date:   Sat May 10 00:12:53 2008 +0100
1091
1092    Linux: comprehensive sysfs vs usbfs access
1093
1094    Be more flexible when certain parts of sysfs are not available.
1095
1096commit 74bc842bac1a32a26323da6c3e8af2f66e1b5cfa
1097Author: Daniel Drake <dsd@gentoo.org>
1098Date:   Fri May 9 19:38:13 2008 +0100
1099
1100    Linux: no need to store usbfs node path
1101
1102    This can be computed from bus number and device address
1103
1104commit fe4adcc99e30115204ab832ad3e0170c9aca7629
1105Author: Daniel Drake <dsd@gentoo.org>
1106Date:   Fri May 9 14:34:31 2008 +0100
1107
1108    Rework configuration handling
1109
1110    libusb no longer caches descriptors in libusb_device but backends are
1111    intended to be able to provide copies from memory. In the common linux
1112    case we can use sysfs.
1113
1114commit 5741bfe01a2481b8c3830c80edc3637bf62a7e16
1115Author: Daniel Drake <dsd@gentoo.org>
1116Date:   Fri May 9 14:36:14 2008 +0100
1117
1118    libusb_get_device_list() can return negative error code
1119
1120commit 45413101b78298e9332b22a34bc6bc159000ad8a
1121Author: Daniel Drake <dsd@gentoo.org>
1122Date:   Thu May 8 23:09:21 2008 +0100
1123
1124    Linux: fix clear_halt implementation
1125
1126    The ioctl expects an integer.
1127    Bug found with the assistance of Soumen Mondal
1128
1129commit 10d4e427cc171dfd6ad7f43a33ce3cfebcd7aa04
1130Author: Daniel Drake <dsd@gentoo.org>
1131Date:   Thu May 8 23:04:52 2008 +0100
1132
1133    Documentation work
1134
1135    Partially based on some libusb-devel discussions
1136
1137commit ded0a249322571a075e3ed3528021864247dfa55
1138Author: Daniel Drake <dsd@gentoo.org>
1139Date:   Mon May 5 22:57:48 2008 +0100
1140
1141    Linux: enumerate devices and descriptors from sysfs
1142
1143    Suggested by Alan Stern. This avoids waking up any suspended USB devices.
1144    sysfs is not available on all systems, so the usbfs mechanism is still
1145    in place as a fallback.
1146
1147commit 885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5
1148Author: Daniel Drake <dsd@gentoo.org>
1149Date:   Mon May 5 21:34:31 2008 +0100
1150
1151    documentation touchups
1152
1153commit 59c205d542b43d79fe28622dbe8f03a3a3300b6f
1154Author: Daniel Drake <dsd@gentoo.org>
1155Date:   Mon May 5 21:17:03 2008 +0100
1156
1157    more error code sanitization
1158
1159commit 88055d4b5913102a90ff666f75fd922c74860dc5
1160Author: Daniel Drake <dsd@gentoo.org>
1161Date:   Mon May 5 20:57:43 2008 +0100
1162
1163    Isochronous transfer helper functions
1164
1165commit a95c943ed301dcd20e92b0b3b255568899a4c42e
1166Author: Daniel Drake <dsd@gentoo.org>
1167Date:   Mon May 5 17:54:33 2008 +0100
1168
1169    free open devices on exit
1170
1171commit b27fff633843824744df7d334cb89ece329cafa6
1172Author: Daniel Drake <dsd@gentoo.org>
1173Date:   Mon May 5 17:47:49 2008 +0100
1174
1175    move descriptor parsing into main library
1176
1177    OS modules now provide functionality for fetching device/config
1178    descriptors
1179
1180commit a304eca71f22c6df7d70a901483b30f1b8e93378
1181Author: Daniel Drake <dsd@gentoo.org>
1182Date:   Mon May 5 16:22:33 2008 +0100
1183
1184    Detect endpoint halts and unsupported control requests
1185
1186commit 7da521954ba661d3f537440c31a84b66e974d56b
1187Author: Daniel Drake <dsd@gentoo.org>
1188Date:   Mon May 5 01:00:31 2008 +0100
1189
1190    Linux: fix logical URB allocation
1191
1192    We were allocating the wrong number of URBs for transfers of size
1193    multiples of 16k.
1194
1195commit 470b1bc42bf53373ce678fc76bab9160a54d6881
1196Author: Daniel Drake <dsd@gentoo.org>
1197Date:   Sun May 4 16:51:23 2008 +0100
1198
1199    add functionality for querying and detaching kernel driver
1200
1201commit 17ecfb0ecc833596c43755c80d461cddb9b3b0d7
1202Author: Daniel Drake <dsd@gentoo.org>
1203Date:   Sun May 4 16:20:46 2008 +0100
1204
1205    Descriptor reading functionality
1206
1207commit bdce367d1bd8691465844b2411c85215498f517d
1208Author: Daniel Drake <dsd@gentoo.org>
1209Date:   Sun May 4 14:22:16 2008 +0100
1210
1211    sanitized error returns from synchronous I/O functions
1212
1213commit bfe74e9cd9c17a40fff042ea0647326f51cfecae
1214Author: Daniel Drake <dsd@gentoo.org>
1215Date:   Sun May 4 14:10:19 2008 +0100
1216
1217    implement libusb_reset_device()
1218
1219commit c01f744ce07bbeccbe353e956479f0cc5a811a6f
1220Author: Daniel Drake <dsd@gentoo.org>
1221Date:   Sun May 4 13:46:41 2008 +0100
1222
1223    Add functionality to clear endpoint halt conditions
1224
1225commit 5878daa85e3364bb3885190425d4f9deaa2d8c36
1226Author: Daniel Drake <dsd@gentoo.org>
1227Date:   Sun May 4 00:51:59 2008 +0100
1228
1229    Fix libusb_get_device_list return value
1230
1231    It was documented to return the list length, but was returning 0.
1232
1233commit a74106a9b48b88bae0e099be34a18d653a8f1238
1234Author: Daniel Drake <dsd@gentoo.org>
1235Date:   Sat May 3 16:50:58 2008 +0100
1236
1237    Well-defined error codes for some operations
1238
1239    Also renamed set_interface_altsetting to set_interface_alt_setting for
1240    better consistency
1241
1242commit 0f463fe671455670efcf4a93e526b2a9082b0afe
1243Author: Daniel Drake <dsd@gentoo.org>
1244Date:   Sat May 3 16:24:11 2008 +0100
1245
1246    Add libusb_set_configuration()
1247
1248commit e65608994f795f97e4d6adac20329ca08709db2d
1249Author: Daniel Drake <dsd@gentoo.org>
1250Date:   Sat May 3 15:40:23 2008 +0100
1251
1252    rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
1253    improves consistency
1254
1255commit 5384bbf300779e7936eac9ebd33ee38f5b533f8e
1256Author: Daniel Drake <dsd@gentoo.org>
1257Date:   Sat May 3 14:34:54 2008 +0100
1258
1259    Linux: better EACCES handling
1260
1261commit 1936eeeba3f933a078df1005cc7c1533a8ec2bac
1262Author: Daniel Drake <dsd@gentoo.org>
1263Date:   Sat May 3 14:26:56 2008 +0100
1264
1265    Rename reference counting API
1266
1267    This improves consistency with the naming style of other functions
1268
1269commit e2f822b4f17342f614ab2455179a80975fca6cb0
1270Author: Daniel Drake <dsd@gentoo.org>
1271Date:   Sat May 3 14:24:40 2008 +0100
1272
1273    Linux: use read-only access to enumerate devices and descriptors
1274
1275    Write access is not needed until later.
1276    Also fix handling of open() error code.
1277
1278commit 81204eed3d0a7744b89b68bd90d567b68d191a91
1279Author: Daniel Drake <dsd@gentoo.org>
1280Date:   Fri May 2 17:45:23 2008 +0100
1281
1282    document pollfd notifiers
1283
1284commit e20f8281fb7da32587f81b5eea5818af1eab0fe0
1285Author: Daniel Drake <dsd@gentoo.org>
1286Date:   Fri May 2 17:33:52 2008 +0100
1287
1288    Allow multiple interfaces to be claimed
1289
1290commit 66685ff25d81a1f1a2a3dbda882d407638d00672
1291Author: Daniel Drake <dsd@gentoo.org>
1292Date:   Fri May 2 16:55:36 2008 +0100
1293
1294    Documentation improvements
1295
1296commit 55bce39cbe0c9746a428b66751d1afe551d86381
1297Author: Daniel Drake <dsd@gentoo.org>
1298Date:   Fri May 2 12:55:34 2008 +0100
1299
1300    detect short descriptor reads
1301
1302commit f3f17846dcced6b2dc40f899ed6a2aba151c264b
1303Author: Daniel Drake <dsd@gentoo.org>
1304Date:   Fri May 2 12:32:46 2008 +0100
1305
1306    remove "references" and "referenced by" listings in documentation
1307
1308commit fbb017dd9a26ce449578482b95157b3c850fa446
1309Author: Daniel Drake <dsd@gentoo.org>
1310Date:   Fri May 2 12:32:08 2008 +0100
1311
1312    Use typedef ptr types in parameters and return types
1313
1314    This is passed through to the docs
1315
1316commit 3675e978fb7a1042f8601931255658bcd14a2298
1317Author: Daniel Drake <dsd@gentoo.org>
1318Date:   Fri May 2 12:28:31 2008 +0100
1319
1320    Expose bus number and device address
1321
1322commit 2012898ffc492317cb428d97077bf5ee0e98e1da
1323Author: Daniel Drake <dsd@gentoo.org>
1324Date:   Tue Apr 29 15:26:46 2008 +0100
1325
1326    standardised error codes
1327
1328commit 0269c75ae3de7acb2dc555e45928750e35fdb320
1329Author: Daniel Drake <dsd@gentoo.org>
1330Date:   Tue Apr 29 13:34:26 2008 +0100
1331
1332    Fix descriptor handling memory leaks
1333
1334commit d3ab4e3bd4068cba41c1e12c4b175018dc3cb343
1335Author: Daniel Drake <dsd@gentoo.org>
1336Date:   Sun Apr 27 23:50:01 2008 +0100
1337
1338    Rename endpoint_type to transfer_type
1339
1340    Matches the USB specs more closely
1341
1342commit 379e90e0fdcef6f4db1849fa0a7fd524407cf564
1343Author: Daniel Drake <dsd@gentoo.org>
1344Date:   Sun Apr 27 23:41:24 2008 +0100
1345
1346    Remove a FIXME comment
1347
1348    it can't.
1349
1350commit 2ddf81420557d016bbcbf28dda0d8d1c64d16264
1351Author: Daniel Drake <dsd@gentoo.org>
1352Date:   Sun Apr 27 23:30:34 2008 +0100
1353
1354    Fix unlocked flying_transfers list access
1355
1356commit 7ac0a405b4c57db42e88cbcba5f135697f03b646
1357Author: Daniel Drake <dsd@gentoo.org>
1358Date:   Sun Apr 27 23:27:04 2008 +0100
1359
1360    Remove libusb_cancel_transfer_sync
1361
1362    This wasn't a particularly nice API. Cancellation should be handled by
1363    the completion handler.
1364
1365commit a5006fd7b9dae6f1db7969c8744086ba3a7c027b
1366Author: Daniel Drake <dsd@gentoo.org>
1367Date:   Sun Apr 27 19:56:02 2008 +0100
1368
1369    remove extra timeout check
1370
1371    If select() didn't timeout then don't check for more timeouts
1372
1373commit 3bdafaa359d9c65e1af360b5338e1f25528a8066
1374Author: Daniel Drake <dsd@gentoo.org>
1375Date:   Sun Apr 27 19:53:51 2008 +0100
1376
1377    Documentation touchups
1378
1379    Detail that interrupt polling interval is fixed to endpoint bInterval,
1380    and that data may be transferred even on a timeout condition.
1381
1382commit e12618c79d520955b1abf80a277e881d91907162
1383Author: Daniel Drake <dsd@gentoo.org>
1384Date:   Sat Apr 19 16:17:53 2008 +0100
1385
1386    add threaded example program
1387
1388commit 1fcdb0678b759569db7cd530457dbc0a5f86fb1d
1389Author: Daniel Drake <dsd@gentoo.org>
1390Date:   Fri Apr 18 23:58:54 2008 +0100
1391
1392    libusb_device mutex protection
1393
1394commit 0efd2efa65d5513e5754d717d522b2c5c45332e2
1395Author: Daniel Drake <dsd@gentoo.org>
1396Date:   Fri Apr 18 23:42:40 2008 +0100
1397
1398    mutex protection for device and handle lists
1399
1400commit d2ff2b14a15e5099ff0214502944de30f141a39c
1401Author: Daniel Drake <dsd@gentoo.org>
1402Date:   Fri Apr 18 20:00:31 2008 +0100
1403
1404    lock flying_transfers during transfer removal
1405
1406commit 2569980762cb66804da31e54bef243702da8dfe9
1407Author: Daniel Drake <dsd@gentoo.org>
1408Date:   Fri Apr 18 19:59:56 2008 +0100
1409
1410    pollfds mutex protection
1411
1412commit f5a33e08ec0da51ccb5e95a5adec50c5211a9bf5
1413Author: Daniel Drake <dsd@gentoo.org>
1414Date:   Thu Apr 17 18:24:54 2008 +0100
1415
1416    flying_transfers mutex protection
1417
1418    This marks the beginnings of thread safety
1419
1420commit 85e1994123545125ce0653415d122f9790f8d041
1421Author: Daniel Drake <dsd@gentoo.org>
1422Date:   Thu Apr 17 17:44:28 2008 +0100
1423
1424    Linux: fix control transfer cancellation
1425
1426commit cf9b831f7bfd97ba88721c1d934aeda522f3692c
1427Author: Daniel Drake <dsd@gentoo.org>
1428Date:   Mon Apr 14 20:03:27 2008 +0100
1429
1430    set correct endpoint type for isochronous transfers
1431
1432    Pointed out by Felix Domke
1433
1434commit ad6e2b712c5b54af44424e58a2776686314e26b7
1435Author: Daniel Drake <dsd@gentoo.org>
1436Date:   Fri Apr 11 21:40:07 2008 +0100
1437
1438    Linux: fire multiple URBs at once for split transfers
1439
1440    This results in a significant performance increase for bulk transfers
1441    larger than 16kb, and fixes a bug where data would be spliced and mixed
1442    between two simultaneously submitted transfers to the same endpoint.
1443
1444    It also allows isochronous transfers larger than 16kb to be submitted.
1445
1446    This commit also improves cancellation - the library now understands
1447    what is going on.
1448
1449commit d9b2ce2894ed43d34de6850f2dac50ccabf1db55
1450Author: Daniel Drake <dsd@gentoo.org>
1451Date:   Tue Apr 1 23:28:32 2008 +0100
1452
1453    Constify some return data
1454
1455    Make it clear that apps should not mess with these structures
1456
1457commit 8d809854e2b19c2b7c27ab05e5d76b34e2a5cead
1458Author: Daniel Drake <dsd@gentoo.org>
1459Date:   Sun Mar 30 22:19:00 2008 +0100
1460
1461    Rename libusb_poll() to libusb_handle_events()
1462
1463commit 211f80c9f2a4a58cd2bbf5b7751f45089c8961e7
1464Author: Daniel Drake <dsd@gentoo.org>
1465Date:   Tue Mar 25 16:24:30 2008 +0000
1466
1467    Isochronous endpoint I/O
1468
1469    Due to variable-sized structures, this involved changing allocation
1470    mechanism. All transfers must now be allocated and freed through
1471    libusb.
1472
1473    A synchronous function is missing, and I could do with writing a few
1474    more helper functions to simplify things.
1475
1476commit b1ade6fca668d8aa156d5b5bf3a933f116144dc2
1477Author: Daniel Drake <dsd@gentoo.org>
1478Date:   Sun Mar 23 21:17:32 2008 +0000
1479
1480    distcheck fix for docs
1481
1482commit 62077b7fa5b222e1bb9dea3467585aed69d596e2
1483Author: Daniel Drake <dsd@gentoo.org>
1484Date:   Sun Mar 23 21:13:14 2008 +0000
1485
1486    Support for changing altsetting
1487
1488    Will probably be suject to later consideration w.r.t. claiming of endpoints
1489
1490commit 0499e9f418607b5786ac0c3e97bc46737a609ca3
1491Author: Daniel Drake <dsd@gentoo.org>
1492Date:   Thu Mar 20 21:10:01 2008 +0000
1493
1494    it's called bmRequestType
1495
1496commit 88884ae4bbe721dac117d5190303cb67852fa5d3
1497Author: Daniel Drake <dsd@gentoo.org>
1498Date:   Thu Mar 20 21:07:00 2008 +0000
1499
1500    Save transfer flags before invoking callback
1501
1502    The callback may free the transfer, in which case we can't read the flags
1503    after it has returned.
1504
1505commit ead09cde6895df0034a685516987ce253575e9a7
1506Author: Daniel Drake <dsd@gentoo.org>
1507Date:   Sat Mar 15 16:35:12 2008 +0000
1508
1509    API documentation
1510
1511    Hopefully mostly complete. Some constants were renamed and move into
1512    enums.
1513
1514commit 285724cc14ea5f993e2c4c92fe0aaf6c335bc139
1515Author: Vasily Khoruzhick <anarsoul@gmail.com>
1516Date:   Sat Mar 15 13:50:53 2008 +0200
1517
1518    Fix get_device_list for realloc case
1519
1520    get_device_list can modify pointer passed to it with realloc, but this
1521    case wasn't handled and caused crash on my machine. Fixed
1522
1523    Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
1524
1525commit c0c9432d38b22784070dce3a7874c62c31786a27
1526Author: Daniel Drake <dsd@gentoo.org>
1527Date:   Thu Mar 13 12:36:56 2008 +0000
1528
1529    Beginnings of cross-platform abstraction
1530
1531    This also includes a libusb_get_pollfds API change
1532
1533commit de4c5341d168697baa4c0901c406deb47e78aae7
1534Author: Daniel Drake <dsd@gentoo.org>
1535Date:   Mon Mar 10 18:38:15 2008 +0000
1536
1537    Add transfer flags
1538
1539commit aae05f688dc26a013166ab9436fd25018b49d76a
1540Author: Daniel Drake <dsd@gentoo.org>
1541Date:   Mon Mar 10 11:32:15 2008 +0000
1542
1543    Simplify libusb_fill_control_transfer()
1544
1545    Transfer length can be inferred from the setup packet.
1546
1547commit 7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb
1548Author: Daniel Drake <dsd@gentoo.org>
1549Date:   Mon Mar 10 11:29:24 2008 +0000
1550
1551    get_device fixup
1552
1553    Rename API away from "devh" and fix implementation to match header
1554
1555commit 9e89d1aa82cbe7e21672ee3e2e545238fffc5318
1556Author: Daniel Drake <dsd@gentoo.org>
1557Date:   Sun Mar 9 16:27:06 2008 +0000
1558
1559    Rename descriptor-getting functions
1560
1561    Based on feedback from Tim Roberts
1562
1563commit 283ae96c3ccbcee1c3950fce18ae47093ae8200e
1564Author: Daniel Drake <dsd@gentoo.org>
1565Date:   Sun Mar 9 16:15:02 2008 +0000
1566
1567    Simplify cancellation API
1568
1569    No need to provide the device here.
1570
1571commit ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad
1572Author: Daniel Drake <dsd@gentoo.org>
1573Date:   Sun Mar 9 16:12:08 2008 +0000
1574
1575    Rename libusb_dev_handle to libusb_device_handle
1576
1577commit 1ac0a7d88f282b6f293c456fac8edb143cbaca3d
1578Author: Daniel Drake <dsd@gentoo.org>
1579Date:   Sun Mar 9 01:01:57 2008 +0000
1580
1581    Move synchronous I/O implementation to its own file
1582
1583commit 66348c90ea4570bf999ac301089e006d0cce1926
1584Author: Daniel Drake <dsd@gentoo.org>
1585Date:   Sun Mar 9 00:58:09 2008 +0000
1586
1587    Separate transfer allocation and submission
1588
1589    Leads to some hefty API changes. Now we're much more similar to the
1590    Linux kernel model.
1591
1592    Problems with dealing with asynchronous control transfers are passed
1593    on to the user, basically you must allocate a buffer, start with the
1594    setup, and put the data after. This won't make much sense until
1595    documented (soon...)
1596
1597commit d21ebe47ce578c93cd8969be1c933d503e32e5d4
1598Author: Daniel Drake <dsd@gentoo.org>
1599Date:   Sat Mar 8 12:48:35 2008 +0000
1600
1601    Rework URB API naming
1602
1603    Now refer to everything as "transfers" as consistent with the USB spec
1604    libusb_transfer is now a kind of transfer handle. To reduce confusion
1605    with libusb_bulk_transfer and libusb_control_transfer, those have been
1606    renamed to libusb_{control,bulk}_transfer_request.
1607
1608commit fd6fb3cc093ad47271353a0e468d16547f991382
1609Author: Daniel Drake <dsd@gentoo.org>
1610Date:   Sat Mar 8 11:53:33 2008 +0000
1611
1612    Add fallback on /proc/bus/usb
1613
1614    /dev/bus/usb is a relatively new thing probably not present on every
1615    system
1616
1617commit f3fdf447916289cd92b7190377681894e8ab611a
1618Author: Daniel Drake <dsd@gentoo.org>
1619Date:   Sat Mar 8 00:10:16 2008 +0000
1620
1621    Persistent libusb_device storage
1622
1623    Devices are now assigned a session ID (currently busnum:devaddr) which
1624    is used to distinguish unique devices.
1625
1626    Now multiple callers of libusb_get_device_list will get the same
1627    libusb_device structure instances.
1628
1629commit 23f8fb8bafeeda93ce234cb40eb7219d2e36c19c
1630Author: Daniel Drake <dsd@gentoo.org>
1631Date:   Thu Mar 6 23:43:57 2008 +0000
1632
1633    Add convenience function to find and open a device by USB VID+PID
1634
1635    Lots of libusb apps I write are simple test apps not intended to be real
1636    apps. Having a function available to quickly locate my device will be
1637    handy in such situations.
1638
1639commit 9cfdb494fccac53a4277da7c8b6d15f1a72a4959
1640Author: Daniel Drake <dsd@gentoo.org>
1641Date:   Thu Mar 6 23:25:20 2008 +0000
1642
1643    Rework device discovery API
1644
1645    libusb_find_devices and libusb_get_devices are no more
1646
1647    libusb_get_device_list obtains a list of libusb_device structures for all
1648    known devices in the system.
1649
1650    Each libusb_device now has a reference count, defaulting to 1 on
1651    instantiation. The reference count of 1 refers to the fact that it is
1652    present in the list in this scenario.
1653
1654    Opening a device adds a pointer to the libusb_device structure in the
1655    handle, so that also adds a reference. Closing the device removes that
1656    reference.
1657
1658    The function to free the device list can optionally unref all the devices
1659    inside.
1660
1661    In future we will make the libusb_device instances all "global" so that if
1662    the app calls get_device_list twice it actually gets the same libusb_device
1663    structure references back. This way we can start to track disconnects, and
1664    we can investigate adding a unique "session ID" to each libusb_device, an
1665    identifier guaranteed to be unique to that device until reboot.
1666
1667commit 77cea822788e024c848c7f554915f771a2dc1e0f
1668Author: Daniel Drake <dsd@gentoo.org>
1669Date:   Thu Mar 6 17:05:04 2008 +0000
1670
1671    Remove ctrl debug code
1672
1673    This was unintentionally committed
1674
1675commit b873521a6f575628d535f89278bb67888004d0ca
1676Author: Daniel Drake <dsd@gentoo.org>
1677Date:   Tue Feb 26 22:11:34 2008 +0000
1678
1679    Notifications for changes to the fd set
1680
1681    Applications can now be notified when they should start and stop polling
1682    new file descriptors.
1683
1684commit ca66e16a370c828d08a5bc3f9f203db145c81a4c
1685Author: Daniel Drake <dsd@gentoo.org>
1686Date:   Fri Feb 1 12:20:20 2008 +0000
1687
1688    Fix header installation path
1689
1690commit e583100a4086c411093eef5c450880b965df6b1b
1691Author: Daniel Drake <dsd@gentoo.org>
1692Date:   Wed Jan 30 13:24:54 2008 +0000
1693
1694    TODO update
1695
1696commit 637a8d7ff8a11a23588925d9d3003a609bda8075
1697Author: Daniel Drake <dsd@gentoo.org>
1698Date:   Wed Jan 30 13:19:10 2008 +0000
1699
1700    Remove timers and signalfd
1701
1702    Instead of timers, add a mechanism for informing the parent app when the
1703    next timeout is due to happen, so that it can call us at that time.
1704
1705    As we no longer use signals, signalfd has also been removed.
1706
1707commit 8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac
1708Author: Daniel Drake <dsd@gentoo.org>
1709Date:   Sat Jan 26 18:16:56 2008 +0000
1710
1711    Poll usbfs descriptors directly
1712
1713    We don't need to use signalfd for this functionality because we can poll
1714    the file descriptors for write events.
1715
1716commit e3ce855acec33d37dd833bca5dad5e8c3773003a
1717Author: Daniel Drake <dsd@gentoo.org>
1718Date:   Sat Jan 26 17:26:40 2008 +0000
1719
1720    Fix dpfp example compilation
1721
1722commit 1d41a5cda2fefe826877ee4445199af30aa188b7
1723Author: Daniel Drake <dsd@gentoo.org>
1724Date:   Sat Jan 26 17:22:53 2008 +0000
1725
1726    C++ header safety
1727
1728    Pointed out by JF
1729
1730commit 37b7f9a112eb1441d352467f661205b8872d0553
1731Author: Daniel Drake <dsd@gentoo.org>
1732Date:   Sat Jan 26 14:03:43 2008 +0000
1733
1734    Only use -fgnu89-inline when supported
1735
1736    J F pointed out that this option only works on gcc 4.3 and newer.
1737
1738commit e3a09ca0b9cb6f46d54a0130f678c6097240a2bd
1739Author: Daniel Drake <dsd@gentoo.org>
1740Date:   Sat Jan 5 21:59:40 2008 +0000
1741
1742    Remove more fpusb remnants
1743
1744commit dcd5e0075fa84601d997d29bb60bc8370b97a375
1745Author: Daniel Drake <dsd@gentoo.org>
1746Date:   Fri Jan 4 01:19:07 2008 +0000
1747
1748    TODO update
1749
1750    Start listing the things I want to discuss/reconsider before 1.0 API
1751    is final.
1752
1753commit de53d972ed9c1f21f86ffd585560520e986f212c
1754Author: Daniel Drake <dsd@gentoo.org>
1755Date:   Fri Jan 4 01:17:06 2008 +0000
1756
1757    Rename some _devh_ functions
1758
1759    Decided against naming functions in this style based on advice from
1760    Tim Roberts. Still not really sure about devh naming in general.
1761
1762commit 132d84bf8ae34bd0892b3d8207a53d87cc0a9cba
1763Author: Daniel Drake <dsd@gentoo.org>
1764Date:   Fri Jan 4 01:13:25 2008 +0000
1765
1766    Use "transfer" instead of "msg"
1767
1768    Based on a discussion with Tim Roberts.
1769
1770commit ea6af58a8643137eb01eeb7d2f65404e390feb1b
1771Author: Daniel Drake <dsd@gentoo.org>
1772Date:   Fri Jan 4 00:57:00 2008 +0000
1773
1774    Plural of bus is busses
1775
1776    SF #1633043
1777
1778commit dbb3fd871e3972b4e670f3161e7cd2f58f357600
1779Author: Daniel Drake <dsd@gentoo.org>
1780Date:   Fri Jan 4 00:54:57 2008 +0000
1781
1782    API renaming: remove fpi and usb_ stuff
1783
1784    fpi changed to usbi.
1785
1786    We should not expose structures with prefix "usb_" in the public
1787    namespace as it is quite likely there will be some conflict somewhere.
1788    Instead, using "libusb_" should be safer.
1789
1790commit e9364d72151ae1de9cce4175f330fe1529f02511
1791Author: Daniel Drake <dsd@gentoo.org>
1792Date:   Fri Jan 4 00:40:49 2008 +0000
1793
1794    Rename to libusb-1.0
1795
1796    I've taken over the libusb project, and what was previously known as fpusb
1797    will eventually be released as libusb-1.0.
1798
1799commit f4ed0b6a3e0a20555fdfc9e9b8be7e8a2c8ae192
1800Author: Daniel Drake <dsd@gentoo.org>
1801Date:   Sun Dec 30 22:09:50 2007 +0000
1802
1803    Compiler flags update
1804
1805    Also fix some warnings
1806
1807commit d3d671efe27491baf1d2ceadbfeeb4e7428d6f9a
1808Author: Daniel Drake <dsd@gentoo.org>
1809Date:   Sun Dec 30 22:05:17 2007 +0000
1810
1811    Fix signalfd structure size on x86
1812
1813    ptr is a 64-bit value
1814
1815commit dfac6756faad76071a92945e3e3a16b8a841a7ea
1816Author: Daniel Drake <dsd@gentoo.org>
1817Date:   Wed Dec 12 23:32:54 2007 +0000
1818
1819    Don't pass ctrl_msg/bulk_msg structures through async paths
1820
1821    These are easiest to construct on the stack, but in the async case it is
1822    likely that the submitting function returns (hence stack is destroyed)
1823    before URB completion.
1824
1825commit a8d2881eb7c273892acf2ff6e1f3f552631d1d11
1826Author: Daniel Drake <dsd@gentoo.org>
1827Date:   Mon Dec 3 23:29:22 2007 +0000
1828
1829    Add functionality to access device descriptors
1830
1831commit b5a7a411087b37a6bf56b4688a9e3290daaed153
1832Author: Daniel Drake <dsd@gentoo.org>
1833Date:   Mon Dec 3 22:27:21 2007 +0000
1834
1835    Rename fpusb_device_handle functions to devh
1836
1837    Prevents confusion with functions that work on fpusb_dev structures.
1838
1839commit eacf4505a473df0f521d1b69d5b45448f0709e2d
1840Author: Daniel Drake <dsd@gentoo.org>
1841Date:   Sun Dec 2 23:16:57 2007 +0000
1842
1843    Add API to access poll fd
1844
1845    Almost forgot... :)
1846
1847commit 852bba4754ec57679c823f33e8feba6e4a564cbe
1848Author: Daniel Drake <dsd@gentoo.org>
1849Date:   Wed Nov 28 13:48:45 2007 +0000
1850
1851    Initial commit
1852
1853    Basic library structure which supports enumerating detected USB devices
1854