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 /* coordinate wineventproc and window thread */
32 /* file descriptors */
80 Message *next; /* next in this mailbox */
81 Message *prev; /* prev in this mailbox */
82 Message *head; /* first subpart */
83 Message *tail; /* last subpart */
90 EXECSTACK = STACK+(NARGS+1)*sizeof(char*)+NARGCHAR
97 int p[2]; /* p[1] is write to program; p[0] set to prog fd 0*/
98 int q[2]; /* q[0] is read from program; q[1] set to prog fd 1 */
102 extern Window* newwindow(void);
103 extern CFid* winopenfile(Window*, char*);
104 extern void winopenbody(Window*, int);
105 extern void winclosebody(Window*);
106 extern void wintagwrite(Window*, char*, int);
107 extern void winname(Window*, char*);
108 extern void winwriteevent(Window*, Event*);
109 extern void winread(Window*, uint, uint, char*);
110 extern int windel(Window*, int);
111 extern void wingetevent(Window*, Event*);
112 extern void wineventproc(void*);
113 extern void winwritebody(Window*, char*, int);
114 extern void winclean(Window*);
115 extern int winselect(Window*, char*, int);
116 extern char* winselection(Window*);
117 extern int winsetaddr(Window*, char*, int);
118 extern char* winreadbody(Window*, int*);
119 extern void windormant(Window*);
120 extern void winsetdump(Window*, char*, char*);
121 extern void winincref(Window*);
122 extern void windecref(Window*);
124 extern void readmbox(Message*, char*, char*);
125 extern void rewritembox(Window*, Message*);
127 extern void mkreply(Message*, char*, char*, Plumbattr*, char*);
128 extern void delreply(Message*);
130 extern int mesgadd(Message*, char*, Dir*, char*);
131 extern void mesgmenu(Window*, Message*);
132 extern void mesgmenunew(Window*, Message*);
133 extern int mesgopen(Message*, char*, char*, Message*, int, char*);
134 extern void mesgctl(void*);
135 extern void mesgsend(Message*);
136 extern void mesgdel(Message*, Message*);
137 extern void mesgmenudel(Window*, Message*, Message*);
138 extern void mesgmenumark(Window*, char*, char*);
139 extern void mesgmenumarkdel(Window*, Message*, Message*, int);
140 extern Message* mesglookup(Message*, char*, char*);
141 extern Message* mesglookupfile(Message*, char*, char*);
142 extern void mesgfreeparts(Message*);
143 extern int mesgcommand(Message*, char*);
145 extern char* readfile(char*, char*, int*);
146 extern char* readbody(char*, char*, int*);
147 extern void ctlprint(CFid*, char*, ...);
148 extern void* emalloc(uint);
149 extern void* erealloc(void*, uint);
150 extern char* estrdup(char*);
151 extern char* estrstrdup(char*, char*);
152 extern char* egrow(char*, char*, char*);
153 extern char* eappend(char*, char*, char*);
154 extern void error(char*, ...);
155 extern int tokenizec(char*, char**, int, char*);
156 extern void execproc(void*);
157 extern int fsprint(CFid*, char*, ...);
159 #pragma varargck argpos error 1
160 #pragma varargck argpos ctlprint 2
164 extern Message replies;
166 extern CFid *plumbsendfd;
167 extern CFid *plumbseemailfd;
169 extern char *outgoing;
170 extern char *mailboxdir;
171 extern char *mboxname;
173 extern char *srvname;
174 extern char deleted[];
176 extern int shortmenu;
178 extern CFsys *mailfs;
179 extern CFsys *acmefs;