send.c 923 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <bio.h>
  4. #include "modem.h"
  5. static Modem modems[1];
  6. static void
  7. usage(void)
  8. {
  9. fprint(2, "%s: usage: %s [-v] number pages\n", argv0, argv0);
  10. exits("usage");
  11. }
  12. void
  13. main(int argc, char *argv[])
  14. {
  15. int fd, cfd, r;
  16. Modem *m;
  17. char *addr;
  18. m = &modems[0];
  19. ARGBEGIN{
  20. case 'v':
  21. vflag = 1;
  22. break;
  23. default:
  24. usage();
  25. break;
  26. }ARGEND
  27. if(argc <= 1)
  28. usage();
  29. verbose("send: %s %s...", argv[0], argv[1]);
  30. addr = netmkaddr(*argv, "telco", "fax!9600");
  31. fd = dial(addr, 0, 0, &cfd);
  32. if(fd < 0){
  33. fprint(2, "faxsend: can't dial %s: %r\n", addr);
  34. exits("Retry, can't dial");
  35. }
  36. initmodem(m, fd, cfd, 0, 0);
  37. argc--; argv++;
  38. r = faxsend(m, argc, argv);
  39. if(r != Eok){
  40. fprint(2, "faxsend: %s\n", m->error);
  41. syslog(0, "fax", "failed %s %s: %s", argv[0], argv[1], m->error);
  42. exits(m->error);
  43. }
  44. syslog(0, "fax", "success %s %s", argv[0], argv[1]);
  45. exits(0);
  46. }