]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/fax/receive.c
Import sources from 2011-03-30 iso image
[plan9front.git] / sys / src / cmd / fax / receive.c
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 char *spool = "/mail/faxqueue";
10 static char *type = "default";
11 static char *receiverc = "/sys/lib/fax/receiverc";
12
13 static void
14 receivedone(Modem *m, int ok)
15 {
16         char *argv[10], *p, time[16], pages[16];
17         int argc;
18
19         faxrlog(m, ok);
20         if(ok != Eok)
21                 return;
22
23         argc = 0;
24         if(p = strrchr(receiverc, '/'))
25                 argv[argc++] = p+1;
26         else
27                 argv[argc++] = receiverc;
28         sprint(time, "%lud.%d", m->time, m->pid);
29         argv[argc++] = time;
30         argv[argc++] = "Y";
31         sprint(pages, "%d", m->pageno-1);
32         argv[argc++] = pages;
33         if(m->valid & Vftsi)
34                 argv[argc++] = m->ftsi;
35         argv[argc] = 0;
36         exec(receiverc, argv);
37         exits("can't exec");
38 }
39
40 static void
41 usage(void)
42 {
43         fprint(2, "%s: usage: %s [-v] [-s dir]\n", argv0, argv0);
44         exits("usage");
45 }
46
47 void
48 main(int argc, char *argv[])
49 {
50         Modem *m;
51
52         m = &modems[0];
53
54         ARGBEGIN{
55         case 'v':
56                 vflag = 1;
57                 break;
58
59         case 's':
60                 spool = ARGF();
61                 break;
62
63         default:
64                 usage();
65                 break;
66
67         }ARGEND
68
69         initmodem(m, 0, -1, type, 0);
70         receivedone(m, faxreceive(m, spool));
71
72         exits(0);
73 }