Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#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);
}