11 char ftsi[128]; /* remote ID */
12 long fdcs[8]; /* frame information */
13 long fpts[8]; /* page reception response */
14 long fet; /* post page message */
15 long fhng; /* call termination status */
16 int pageno; /* current page number */
17 char pageid[128]; /* current page file */
18 int pagefd; /* current page fd */
19 int valid; /* valid page responses */
20 long time; /* timestamp */
23 char ibuf[1024]; /* modem input buffering */
27 Biobuf *bp; /* file input buffering */
31 long vr; /* resolution */
32 long ln; /* page size (length) */
33 long df; /* huffman encoding */
36 enum { /* ResultCodes */
47 enum { /* ErrorCodes */
48 Eok = 0, /* no error */
49 Eattn, /* can't get modem's attention */
50 Enoresponse, /* no response from modem */
51 Enoanswer, /* no answer from other side */
52 Enofax, /* other side isn't a fax machine */
53 Eincompatible, /* transmission incompatible with receiver */
54 Esys, /* system call error */
55 Eproto, /* fax protocol botch */
58 enum { /* things that are valid */
59 Vfdcs = 0x0001, /* page responses */
70 extern int initfaxmodem(Modem*);
71 extern int fcon(Modem*);
72 extern int ftsi(Modem*);
73 extern int fdcs(Modem*);
74 extern int fcfr(Modem*);
75 extern int fpts(Modem*);
76 extern int fet(Modem*);
77 extern int fhng(Modem*);
80 extern int faxreceive(Modem*, char*);
83 extern int faxsend(Modem*, int, char*[]);
86 extern int setflow(Modem*, int);
87 extern int setspeed(Modem*, int);
88 extern int rawmchar(Modem*, char*);
89 extern int getmchar(Modem*, char*, long);
90 extern int putmchar(Modem*, char*);
91 extern int command(Modem*, char*);
92 extern int response(Modem*, int);
93 extern void initmodem(Modem*, int, int, char*, char*);
94 extern void xonoff(Modem*, int);
97 extern void setpageid(char*, char*, long, int, int);
98 extern int createfaxfile(Modem*, char*);
99 extern int openfaxfile(Modem*, char*);
102 extern void verbose(char*, ...);
103 extern void error(char*, ...);
104 extern int seterror(Modem*, int);
105 extern void faxrlog(Modem*, int);
106 extern void faxxlog(Modem*, int);