ref: 4696de84b4553d33d2bc1649a55d303c1788a41b
dir: /sys/src/cmd/fax/receive.c/
#include <u.h>
#include <libc.h>
#include <bio.h>
#include "modem.h"
static Modem modems[1];
static char *spool = "/mail/faxqueue";
static char *type = "default";
static char *receiverc = "/sys/lib/fax/receiverc";
static void
receivedone(Modem *m, int ok)
{
	char *argv[10], *p, time[16], pages[16];
	int argc;
	faxrlog(m, ok);
	if(ok != Eok)
		return;
	argc = 0;
	if(p = strrchr(receiverc, '/'))
		argv[argc++] = p+1;
	else
		argv[argc++] = receiverc;
	sprint(time, "%lud.%d", m->time, m->pid);
	argv[argc++] = time;
	argv[argc++] = "Y";
	sprint(pages, "%d", m->pageno-1);
	argv[argc++] = pages;
	if(m->valid & Vftsi)
		argv[argc++] = m->ftsi;
	argv[argc] = 0;
	exec(receiverc, argv);
	exits("can't exec");
}
static void
usage(void)
{
	fprint(2, "%s: usage: %s [-v] [-s dir]\n", argv0, argv0);
	exits("usage");
}
void
main(int argc, char *argv[])
{
	Modem *m;
	m = &modems[0];
	ARGBEGIN{
	case 'v':
		vflag = 1;
		break;
	case 's':
		spool = ARGF();
		break;
	default:
		usage();
		break;
	}ARGEND
	initmodem(m, 0, -1, type, 0);
	receivedone(m, faxreceive(m, spool));
	exits(0);
}