1 /* 2 * usb/print - usb printer 3 */ 4 #include <u.h> 5 #include <libc.h> 6 #include <thread.h> 7 #include "usb.h" 8 9 enum 10 { 11 Arglen = 80, 12 }; 13 14 static void 15 usage(void) 16 { 17 fprint(2, "usage: %s [-d] [dev...]\n", argv0); 18 threadexitsall("usage"); 19 } 20 21 static int csps[] = { 0x020107, 0 }; 22 23 extern int printmain(Dev*, int, char**); 24 25 void 26 threadmain(int argc, char **argv) 27 { 28 char args[Arglen]; 29 char *ae; 30 31 quotefmtinstall(); 32 ae = args+sizeof(args); 33 seprint(args, ae, "print"); 34 ARGBEGIN{ 35 case 'd': 36 usbdebug++; 37 break; 38 default: 39 usage(); 40 }ARGEND 41 42 rfork(RFNOTEG); 43 threadsetgrp(threadid()); 44 fmtinstall('U', Ufmt); 45 startdevs(args, argv, argc, matchdevcsp, csps, printmain); 46 threadexits(nil); 47 } 48