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