linux/drivers/staging/usbip
Ilija Hadzic 328f7f8a0a staging: usbip: userspace: eliminate glib dependency
USBIP daemon relies on functions available in glib2 library
to spawn handler code for incoming connection. This makes the
whole program dependent on glib2 library, which is a GNOME library
that on systems that don't have GNOME results in pulling more
dependency, only to be able to run a relatively trivial
socket-based program.

While this may not seem to be a problem on full-blown desktops
that already have the necessary libraries, it is a big issue
on small embedded systems (think USB hub with an Ethernet port)
that only have bare essentials in their file systems.

This patch eliminates glib2 dependency by reworking the
code to use lower level system calls to dispatch connection
handler. Instead of using glib2-style event loop and dispatching
mechanism, just do a ppoll(2) system call in our own loop and call
accept(2) followed by fork(2) on the socket that has incoming
connection. Stevens' books taught us that more than twenty
years ago. No need for anything smarter in a simple server, such
as usbipd.

Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-07 12:38:54 -08:00
..
userspace staging: usbip: userspace: eliminate glib dependency 2013-01-07 12:38:54 -08:00
Kconfig Staging: remove CONFIG_EXPERIMENTAL dependancies 2012-09-17 23:02:36 -07:00
Makefile
README
stub_dev.c staging: usbip: put usb_device and kill event handler thread in error cleanups. 2012-11-13 13:08:48 -08:00
stub_main.c staging: usbip: fix to prevent potentially using uninitialized spinlock 2012-02-08 14:14:15 -08:00
stub_rx.c staging: usbip: cleanup of comments 2012-10-22 13:36:29 -07:00
stub_tx.c staging: usbip: cleanup of comments 2012-10-22 13:36:29 -07:00
stub.h staging: usbip: removed unused structure field 2012-02-09 09:42:22 -08:00
usbip_common.c staging: usbip: Don't leak struct file. 2012-10-22 13:38:04 -07:00
usbip_common.h staging: usbip: replaced pointer arithmetic, and strongly type function return. 2012-10-22 13:36:28 -07:00
usbip_event.c staging: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/staging users. 2011-10-31 19:32:08 -04:00
usbip_protocol.txt staging: Fix typo in multiple files 2012-04-10 10:31:01 -07:00
vhci_hcd.c staging: usbip: remove use of __devexit_p 2012-11-21 15:04:59 -08:00
vhci_rx.c staging: usbip: cleanup of comments 2012-10-22 13:36:29 -07:00
vhci_sysfs.c staging: usbip: Don't leak struct file. 2012-10-22 13:38:04 -07:00
vhci_tx.c staging: usbip: replaced pointer arithmetic, and strongly type function return. 2012-10-22 13:36:28 -07:00
vhci.h staging: usbip: make rh_port_disconnect static 2012-10-22 13:36:28 -07:00

TODO:
	- more discussion about the protocol
	- testing
	- review of the userspace interface
	- document the protocol

Please send patches for this code to Greg Kroah-Hartman <greg@kroah.com>