xref: /plan9/sys/src/cmd/fax/send.c (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1219b2ee8SDavid du Colombier #include <u.h>
2219b2ee8SDavid du Colombier #include <libc.h>
3219b2ee8SDavid du Colombier #include <bio.h>
4219b2ee8SDavid du Colombier 
5219b2ee8SDavid du Colombier #include "modem.h"
6219b2ee8SDavid du Colombier 
7219b2ee8SDavid du Colombier static Modem modems[1];
8219b2ee8SDavid du Colombier 
9219b2ee8SDavid du Colombier static void
usage(void)10219b2ee8SDavid du Colombier usage(void)
11219b2ee8SDavid du Colombier {
12219b2ee8SDavid du Colombier 	fprint(2, "%s: usage: %s [-v] number pages\n", argv0, argv0);
13219b2ee8SDavid du Colombier 	exits("usage");
14219b2ee8SDavid du Colombier }
15219b2ee8SDavid du Colombier 
16219b2ee8SDavid du Colombier void
main(int argc,char * argv[])17219b2ee8SDavid du Colombier main(int argc, char *argv[])
18219b2ee8SDavid du Colombier {
19219b2ee8SDavid du Colombier 	int fd, cfd, r;
20219b2ee8SDavid du Colombier 	Modem *m;
21219b2ee8SDavid du Colombier 	char *addr;
22219b2ee8SDavid du Colombier 
23219b2ee8SDavid du Colombier 	m = &modems[0];
24219b2ee8SDavid du Colombier 
25219b2ee8SDavid du Colombier 	ARGBEGIN{
26219b2ee8SDavid du Colombier 	case 'v':
27219b2ee8SDavid du Colombier 		vflag = 1;
28219b2ee8SDavid du Colombier 		break;
29219b2ee8SDavid du Colombier 	default:
30219b2ee8SDavid du Colombier 		usage();
31219b2ee8SDavid du Colombier 		break;
32219b2ee8SDavid du Colombier 
33219b2ee8SDavid du Colombier 	}ARGEND
34219b2ee8SDavid du Colombier 
35219b2ee8SDavid du Colombier 	if(argc <= 1)
36219b2ee8SDavid du Colombier 		usage();
37219b2ee8SDavid du Colombier 	verbose("send: %s %s...", argv[0], argv[1]);
38219b2ee8SDavid du Colombier 
39*7dd7cddfSDavid du Colombier 	addr = netmkaddr(*argv, "telco", "fax!9600");
40219b2ee8SDavid du Colombier 	fd = dial(addr, 0, 0, &cfd);
41219b2ee8SDavid du Colombier 	if(fd < 0){
42219b2ee8SDavid du Colombier 		fprint(2, "faxsend: can't dial %s: %r\n", addr);
43219b2ee8SDavid du Colombier 		exits("Retry, can't dial");
44219b2ee8SDavid du Colombier 	}
45219b2ee8SDavid du Colombier 	initmodem(m, fd, cfd, 0, 0);
46219b2ee8SDavid du Colombier 	argc--; argv++;
47219b2ee8SDavid du Colombier 	r = faxsend(m, argc, argv);
48219b2ee8SDavid du Colombier 	if(r != Eok){
49219b2ee8SDavid du Colombier 		fprint(2, "faxsend: %s\n", m->error);
50219b2ee8SDavid du Colombier 		syslog(0, "fax", "failed %s %s: %s", argv[0], argv[1], m->error);
51219b2ee8SDavid du Colombier 		exits(m->error);
52219b2ee8SDavid du Colombier 	}
53219b2ee8SDavid du Colombier 	syslog(0, "fax", "success %s %s", argv[0], argv[1]);
54219b2ee8SDavid du Colombier 	exits(0);
55219b2ee8SDavid du Colombier }
56