1 typedef struct Event Event;
2 typedef struct Exec Exec;
3 typedef struct Message Message;
4 typedef struct Window Window;
22 char b[EVENTSIZE*UTFmax+1];
28 /* file descriptors */
73 Message *next; /* next in this mailbox */
74 Message *prev; /* prev in this mailbox */
75 Message *head; /* first subpart */
76 Message *tail; /* last subpart */
83 EXECSTACK = STACK+(NARGS+1)*sizeof(char*)+NARGCHAR
90 int p[2]; /* p[1] is write to program; p[0] set to prog fd 0*/
91 int q[2]; /* q[0] is read from program; q[1] set to prog fd 1 */
95 extern Window* newwindow(void);
96 extern CFid* winopenfile(Window*, char*);
97 extern void winopenbody(Window*, int);
98 extern void winclosebody(Window*);
99 extern void wintagwrite(Window*, char*, int);
100 extern void winname(Window*, char*);
101 extern void winwriteevent(Window*, Event*);
102 extern void winread(Window*, uint, uint, char*);
103 extern int windel(Window*, int);
104 extern void wingetevent(Window*, Event*);
105 extern void wineventproc(void*);
106 extern void winwritebody(Window*, char*, int);
107 extern void winclean(Window*);
108 extern int winselect(Window*, char*, int);
109 extern char* winselection(Window*);
110 extern int winsetaddr(Window*, char*, int);
111 extern char* winreadbody(Window*, int*);
112 extern void windormant(Window*);
113 extern void winsetdump(Window*, char*, char*);
115 extern void readmbox(Message*, char*, char*);
116 extern void rewritembox(Window*, Message*);
118 extern void mkreply(Message*, char*, char*, Plumbattr*, char*);
119 extern void delreply(Message*);
121 extern int mesgadd(Message*, char*, Dir*, char*);
122 extern void mesgmenu(Window*, Message*);
123 extern void mesgmenunew(Window*, Message*);
124 extern int mesgopen(Message*, char*, char*, Message*, int, char*);
125 extern void mesgctl(void*);
126 extern void mesgsend(Message*);
127 extern void mesgdel(Message*, Message*);
128 extern void mesgmenudel(Window*, Message*, Message*);
129 extern void mesgmenumark(Window*, char*, char*);
130 extern void mesgmenumarkdel(Window*, Message*, Message*, int);
131 extern Message* mesglookup(Message*, char*, char*);
132 extern Message* mesglookupfile(Message*, char*, char*);
133 extern void mesgfreeparts(Message*);
135 extern char* readfile(char*, char*, int*);
136 extern char* readbody(char*, char*, int*);
137 extern void ctlprint(CFid*, char*, ...);
138 extern void* emalloc(uint);
139 extern void* erealloc(void*, uint);
140 extern char* estrdup(char*);
141 extern char* estrstrdup(char*, char*);
142 extern char* egrow(char*, char*, char*);
143 extern char* eappend(char*, char*, char*);
144 extern void error(char*, ...);
145 extern int tokenizec(char*, char**, int, char*);
146 extern void execproc(void*);
147 extern int fsprint(CFid*, char*, ...);
149 #pragma varargck argpos error 1
150 #pragma varargck argpos ctlprint 2
154 extern Message replies;
156 extern CFid *plumbsendfd;
157 extern CFid *plumbseemailfd;
159 extern char *outgoing;
160 extern char *mailboxdir;
162 extern char deleted[];
164 extern int shortmenu;
166 extern CFsys *mailfs;
167 extern CFsys *acmefs;