main.c 685 B

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