1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include <u.h>
- #include <libc.h>
- #include <bio.h>
- #include "modem.h"
- int vflag;
- void
- verbose(char *fmt, ...)
- {
- va_list arg;
- char buf[512];
- if(vflag){
- va_start(arg, fmt);
- vseprint(buf, buf+sizeof(buf), fmt, arg);
- va_end(arg);
- syslog(0, "fax", buf);
- }
- }
- void
- error(char *fmt, ...)
- {
- va_list arg;
- char buf[512];
- int n;
- n = sprint(buf, "%s: ", argv0);
- va_start(arg, fmt);
- vseprint(buf+n, buf+sizeof(buf)-n, fmt, arg);
- va_end(arg);
- fprint(2, buf);
- if(vflag)
- print(buf+n);
- exits("error");
- }
- static char *errors[] = {
- [Eok] "no error",
- [Eattn] "can't get modem's attention",
- [Enoanswer] "Retry, no answer or busy",
- [Enoresponse] "Retry, no response from modem",
- [Eincompatible] "Retry, incompatible",
- [Esys] "Retry, system call error",
- [Eproto] "Retry, fax protocol botch",
- };
- int
- seterror(Modem *m, int error)
- {
- if(error == Esys)
- sprint(m->error, "%s: %r", errors[Esys]);
- else
- strcpy(m->error, errors[error]);
- verbose("seterror: %s", m->error);
- return error;
- }
- void
- faxrlog(Modem *m, int ok)
- {
- char buf[1024];
- int n;
- n = sprint(buf, "receive %lud %c %d", m->time, ok == Eok ? 'Y': 'N', m->pageno-1);
- if(ok == Eok && (m->valid & Vftsi))
- sprint(buf+n, " %s", m->ftsi);
- syslog(0, "fax", buf);
- }
|