xref: /plan9/sys/src/cmd/fax/send.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
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
usage(void)10 usage(void)
11 {
12 	fprint(2, "%s: usage: %s [-v] number pages\n", argv0, argv0);
13 	exits("usage");
14 }
15 
16 void
main(int argc,char * argv[])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!9600");
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 	r = faxsend(m, argc, argv);
48 	if(r != Eok){
49 		fprint(2, "faxsend: %s\n", m->error);
50 		syslog(0, "fax", "failed %s %s: %s", argv[0], argv[1], m->error);
51 		exits(m->error);
52 	}
53 	syslog(0, "fax", "success %s %s", argv[0], argv[1]);
54 	exits(0);
55 }
56