xref: /plan9/sys/src/cmd/usb/print/main.c (revision bfb6eab9346d861b5f68a2b1af55a1768a8fe25b)
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