Skip to content

Commit

Permalink
USB doc patch 2
Browse files Browse the repository at this point in the history
A little more detail on how and when to poll() /proc/bus/usb/devices.

Signed-off-by: Sam Bishop <sam@bishop.dhs.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Sam Bishop authored and Greg Kroah-Hartman committed Sep 27, 2006
1 parent 3413232 commit 06afff0
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions Documentation/DocBook/usb.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -453,14 +453,25 @@
file in your Linux kernel sources.
</para>

<para>Otherwise the main use for this file from programs
is to poll() it to get notifications of usb devices
as they're plugged or unplugged.
To see what changed, you'd need to read the file and
compare "before" and "after" contents, scan the filesystem,
or see its hotplug event.
<para>This file, in combination with the poll() system call, can
also be used to detect when devices are added or removed:
<programlisting>int fd;
struct pollfd pfd;

fd = open("/proc/bus/usb/devices", O_RDONLY);
pfd = { fd, POLLIN, 0 };
for (;;) {
/* The first time through, this call will return immediately. */
poll(&amp;pfd, 1, -1);

/* To see what's changed, compare the file's previous and current
contents or scan the filesystem. (Scanning is more precise.) */
}</programlisting>
Note that this behavior is intended to be used for informational
and debug purposes. It would be more appropriate to use programs
such as udev or HAL to initialize a device or start a user-mode
helper program, for instance.
</para>

</sect1>

<sect1>
Expand Down

0 comments on commit 06afff0

Please sign in to comment.