From f9846213d1877bac1931d6b8a17dfc51bb44bdd4 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 30 Jul 2011 07:23:26 +0200 Subject: nusb: change usbevent format, put nusbrc in bootfs --- sys/src/9/boot/bootrc | 5 +---- sys/src/9/boot/nusbrc | 18 ++++++++++++++++++ sys/src/9/port/bootfs.proto | 5 ++++- sys/src/cmd/nusb/usbd/usbd.c | 10 ++++++---- 4 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 sys/src/9/boot/nusbrc diff --git a/sys/src/9/boot/bootrc b/sys/src/9/boot/bootrc index 026c91c36..9d102c566 100644 --- a/sys/src/9/boot/bootrc +++ b/sys/src/9/boot/bootrc @@ -152,10 +152,7 @@ if(test -e '#b' && test -x /bin/aux/kbdfs){ aux/kbdfs -s cons $a } -if(test -e '#u' && test -x /bin/usb/usbd){ - bind -a '#u' /dev - usb/usbd -} +nusbrc # bind in an ip interface for(i in I l^(0 1 2 3)) diff --git a/sys/src/9/boot/nusbrc b/sys/src/9/boot/nusbrc new file mode 100644 index 000000000..0b6978677 --- /dev/null +++ b/sys/src/9/boot/nusbrc @@ -0,0 +1,18 @@ +#!/bin/rc + +if(! bind -a '#u' /dev) + exit +if(! nusb/usbd) + exit + +fn dev { + switch($4){ + case *03 + nusb/kb $1 + case *08 + nusb/disk $1 + } +} +rc usb; - return smprint("in id %d vid 0x%.4x did 0x%.4x csp 0x%.8lx\n", - d->id, u->vid, u->did, u->csp); + return smprint("dev %d %.4x %.4x %.8lx\n", d->id, u->vid, u->did, u->csp); } static void @@ -333,8 +332,10 @@ main(int argc, char **argv) { int fd, i, nd; Dir *d; - - argc--; argv++; + + ARGBEGIN { + } ARGEND; + initevent(); rfork(RFNOTEG); switch(rfork(RFPROC|RFMEM)){ @@ -358,4 +359,5 @@ main(int argc, char **argv) rendezvous(work, strdup(argv[i])); rendezvous(work, nil); postsharesrv(&usbdsrv, nil, "usb", "usbd", "b"); + exits(nil); } -- cgit v1.2.3