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 */
62 char *fromcolon; /* from header file; all rest are from info file */
74 Message *next; /* next in this mailbox */
75 Message *prev; /* prev in this mailbox */
76 Message *head; /* first subpart */
77 Message *tail; /* last subpart */
84 EXECSTACK = STACK+(NARGS+1)*sizeof(char*)+NARGCHAR
91 int p[2]; /* p[1] is write to program; p[0] set to prog fd 0*/
92 int q[2]; /* q[0] is read from program; q[1] set to prog fd 1 */
96 extern Window* newwindow(void);
97 extern int winopenfile(Window*, char*);
98 extern void winopenbody(Window*, int);
99 extern void winclosebody(Window*);
100 extern void wintagwrite(Window*, char*, int);
101 extern void winname(Window*, char*);
102 extern void winwriteevent(Window*, Event*);
103 extern void winread(Window*, uint, uint, char*);
104 extern int windel(Window*, int);
105 extern void wingetevent(Window*, Event*);
106 extern void wineventproc(void*);
107 extern void winwritebody(Window*, char*, int);
108 extern void winclean(Window*);
109 extern int winselect(Window*, char*, int);
110 extern char* winselection(Window*);
111 extern int winsetaddr(Window*, char*, int);
112 extern char* winreadbody(Window*, int*);
113 extern void windormant(Window*);
114 extern void winsetdump(Window*, char*, char*);
116 extern void readmbox(Message*, char*, char*);
117 extern void rewritembox(Window*, Message*);
119 extern void mkreply(Message*, char*, char*, Plumbattr*, char*);
120 extern void delreply(Message*);
121 extern int write2(int, int, char*, int, int);
123 extern int mesgadd(Message*, char*, Dir*, char*);
124 extern void mesgmenu(Window*, Message*);
125 extern void mesgmenunew(Window*, Message*);
126 extern int mesgopen(Message*, char*, char*, Message*, int, char*);
127 extern void mesgctl(void*);
128 extern void mesgsend(Message*);
129 extern void mesgdel(Message*, Message*);
130 extern void mesgmenudel(Window*, Message*, Message*);
131 extern void mesgmenumark(Window*, char*, char*);
132 extern void mesgmenumarkdel(Window*, Message*, Message*, int);
133 extern Message* mesglookup(Message*, char*, char*);
134 extern Message* mesglookupfile(Message*, char*, char*);
135 extern void mesgfreeparts(Message*);
137 extern char* readfile(char*, char*, int*);
138 extern char* readbody(char*, char*, int*);
139 extern void ctlprint(int, char*, ...);
140 extern void* emalloc(uint);
141 extern void* erealloc(void*, uint);
142 extern char* estrdup(char*);
143 extern char* estrstrdup(char*, char*);
144 extern char* egrow(char*, char*, char*);
145 extern char* eappend(char*, char*, char*);
146 extern void error(char*, ...);
147 extern int tokenizec(char*, char**, int, char*);
148 extern void execproc(void*);
150 #pragma varargck argpos error 1
151 #pragma varargck argpos ctlprint 2
155 extern Message replies;
157 extern int plumbsendfd;
158 extern int plumbseemailfd;
160 extern char *outgoing;
161 extern char *mailboxdir;
163 extern char deleted[];
165 extern int shortmenu;