Blame


1 9f1fdc12 2005-10-29 devnull typedef struct Event Event;
2 9f1fdc12 2005-10-29 devnull typedef struct Exec Exec;
3 9f1fdc12 2005-10-29 devnull typedef struct Message Message;
4 9f1fdc12 2005-10-29 devnull typedef struct Window Window;
5 9f1fdc12 2005-10-29 devnull
6 9f1fdc12 2005-10-29 devnull enum
7 9f1fdc12 2005-10-29 devnull {
8 9f1fdc12 2005-10-29 devnull STACK = 8192,
9 9f1fdc12 2005-10-29 devnull EVENTSIZE = 256,
10 cbeb0b26 2006-04-01 devnull NEVENT = 5
11 9f1fdc12 2005-10-29 devnull };
12 9f1fdc12 2005-10-29 devnull
13 9f1fdc12 2005-10-29 devnull struct Event
14 9f1fdc12 2005-10-29 devnull {
15 9f1fdc12 2005-10-29 devnull int c1;
16 9f1fdc12 2005-10-29 devnull int c2;
17 9f1fdc12 2005-10-29 devnull int q0;
18 9f1fdc12 2005-10-29 devnull int q1;
19 9f1fdc12 2005-10-29 devnull int flag;
20 9f1fdc12 2005-10-29 devnull int nb;
21 9f1fdc12 2005-10-29 devnull int nr;
22 9f1fdc12 2005-10-29 devnull char b[EVENTSIZE*UTFmax+1];
23 9f1fdc12 2005-10-29 devnull Rune r[EVENTSIZE+1];
24 9f1fdc12 2005-10-29 devnull };
25 9f1fdc12 2005-10-29 devnull
26 9f1fdc12 2005-10-29 devnull struct Window
27 9f1fdc12 2005-10-29 devnull {
28 880ab2f1 2006-02-15 devnull /* coordinate wineventproc and window thread */
29 880ab2f1 2006-02-15 devnull QLock lk;
30 880ab2f1 2006-02-15 devnull int ref;
31 880ab2f1 2006-02-15 devnull
32 9f1fdc12 2005-10-29 devnull /* file descriptors */
33 9f1fdc12 2005-10-29 devnull CFid* ctl;
34 9f1fdc12 2005-10-29 devnull CFid* event;
35 9f1fdc12 2005-10-29 devnull CFid* addr;
36 9f1fdc12 2005-10-29 devnull CFid* data;
37 9f1fdc12 2005-10-29 devnull CFid* body;
38 9f1fdc12 2005-10-29 devnull
39 9f1fdc12 2005-10-29 devnull /* event input */
40 9f1fdc12 2005-10-29 devnull char buf[512];
41 9f1fdc12 2005-10-29 devnull char *bufp;
42 9f1fdc12 2005-10-29 devnull int nbuf;
43 9f1fdc12 2005-10-29 devnull Event e[NEVENT];
44 9f1fdc12 2005-10-29 devnull
45 9f1fdc12 2005-10-29 devnull int id;
46 9f1fdc12 2005-10-29 devnull int open;
47 9f1fdc12 2005-10-29 devnull Channel *cevent;
48 9f1fdc12 2005-10-29 devnull };
49 9f1fdc12 2005-10-29 devnull
50 9f1fdc12 2005-10-29 devnull struct Message
51 9f1fdc12 2005-10-29 devnull {
52 9f1fdc12 2005-10-29 devnull Window *w;
53 3f8c36d6 2006-02-09 devnull CFid* ctlfd;
54 9f1fdc12 2005-10-29 devnull char *name;
55 9f1fdc12 2005-10-29 devnull char *replyname;
56 9f1fdc12 2005-10-29 devnull uchar opened;
57 9f1fdc12 2005-10-29 devnull uchar dirty;
58 9f1fdc12 2005-10-29 devnull uchar isreply;
59 9f1fdc12 2005-10-29 devnull uchar deleted;
60 9f1fdc12 2005-10-29 devnull uchar writebackdel;
61 9f1fdc12 2005-10-29 devnull uchar tagposted;
62 9f1fdc12 2005-10-29 devnull uchar recursed;
63 9f1fdc12 2005-10-29 devnull uchar level;
64 1190a7aa 2006-03-03 devnull uint replywinid;
65 9f1fdc12 2005-10-29 devnull
66 9f1fdc12 2005-10-29 devnull /* header info */
67 9f1fdc12 2005-10-29 devnull char *from;
68 53af1186 2006-05-06 devnull char *fromcolon;
69 9f1fdc12 2005-10-29 devnull char *to;
70 9f1fdc12 2005-10-29 devnull char *cc;
71 9f1fdc12 2005-10-29 devnull char *replyto;
72 3b5862ee 2006-02-14 devnull char *sender;
73 9f1fdc12 2005-10-29 devnull char *date;
74 9f1fdc12 2005-10-29 devnull char *subject;
75 9f1fdc12 2005-10-29 devnull char *type;
76 9f1fdc12 2005-10-29 devnull char *disposition;
77 9f1fdc12 2005-10-29 devnull char *filename;
78 9f1fdc12 2005-10-29 devnull char *digest;
79 9f1fdc12 2005-10-29 devnull
80 9f1fdc12 2005-10-29 devnull Message *next; /* next in this mailbox */
81 9f1fdc12 2005-10-29 devnull Message *prev; /* prev in this mailbox */
82 9f1fdc12 2005-10-29 devnull Message *head; /* first subpart */
83 9f1fdc12 2005-10-29 devnull Message *tail; /* last subpart */
84 9f1fdc12 2005-10-29 devnull };
85 9f1fdc12 2005-10-29 devnull
86 9f1fdc12 2005-10-29 devnull enum
87 9f1fdc12 2005-10-29 devnull {
88 9f1fdc12 2005-10-29 devnull NARGS = 100,
89 9f1fdc12 2005-10-29 devnull NARGCHAR = 8*1024,
90 9f1fdc12 2005-10-29 devnull EXECSTACK = STACK+(NARGS+1)*sizeof(char*)+NARGCHAR
91 9f1fdc12 2005-10-29 devnull };
92 9f1fdc12 2005-10-29 devnull
93 9f1fdc12 2005-10-29 devnull struct Exec
94 9f1fdc12 2005-10-29 devnull {
95 9f1fdc12 2005-10-29 devnull char *prog;
96 9f1fdc12 2005-10-29 devnull char **argv;
97 9f1fdc12 2005-10-29 devnull int p[2]; /* p[1] is write to program; p[0] set to prog fd 0*/
98 9f1fdc12 2005-10-29 devnull int q[2]; /* q[0] is read from program; q[1] set to prog fd 1 */
99 9f1fdc12 2005-10-29 devnull Channel *sync;
100 9f1fdc12 2005-10-29 devnull };
101 9f1fdc12 2005-10-29 devnull
102 9f1fdc12 2005-10-29 devnull extern Window* newwindow(void);
103 3f8c36d6 2006-02-09 devnull extern CFid* winopenfile(Window*, char*);
104 9f1fdc12 2005-10-29 devnull extern void winopenbody(Window*, int);
105 9f1fdc12 2005-10-29 devnull extern void winclosebody(Window*);
106 9f1fdc12 2005-10-29 devnull extern void wintagwrite(Window*, char*, int);
107 9f1fdc12 2005-10-29 devnull extern void winname(Window*, char*);
108 9f1fdc12 2005-10-29 devnull extern void winwriteevent(Window*, Event*);
109 9f1fdc12 2005-10-29 devnull extern void winread(Window*, uint, uint, char*);
110 9f1fdc12 2005-10-29 devnull extern int windel(Window*, int);
111 9f1fdc12 2005-10-29 devnull extern void wingetevent(Window*, Event*);
112 9f1fdc12 2005-10-29 devnull extern void wineventproc(void*);
113 9f1fdc12 2005-10-29 devnull extern void winwritebody(Window*, char*, int);
114 9f1fdc12 2005-10-29 devnull extern void winclean(Window*);
115 9f1fdc12 2005-10-29 devnull extern int winselect(Window*, char*, int);
116 9f1fdc12 2005-10-29 devnull extern char* winselection(Window*);
117 9f1fdc12 2005-10-29 devnull extern int winsetaddr(Window*, char*, int);
118 9f1fdc12 2005-10-29 devnull extern char* winreadbody(Window*, int*);
119 9f1fdc12 2005-10-29 devnull extern void windormant(Window*);
120 9f1fdc12 2005-10-29 devnull extern void winsetdump(Window*, char*, char*);
121 880ab2f1 2006-02-15 devnull extern void winincref(Window*);
122 880ab2f1 2006-02-15 devnull extern void windecref(Window*);
123 9f1fdc12 2005-10-29 devnull
124 9f1fdc12 2005-10-29 devnull extern void readmbox(Message*, char*, char*);
125 9f1fdc12 2005-10-29 devnull extern void rewritembox(Window*, Message*);
126 9f1fdc12 2005-10-29 devnull
127 9f1fdc12 2005-10-29 devnull extern void mkreply(Message*, char*, char*, Plumbattr*, char*);
128 9f1fdc12 2005-10-29 devnull extern void delreply(Message*);
129 9f1fdc12 2005-10-29 devnull
130 9f1fdc12 2005-10-29 devnull extern int mesgadd(Message*, char*, Dir*, char*);
131 9f1fdc12 2005-10-29 devnull extern void mesgmenu(Window*, Message*);
132 9f1fdc12 2005-10-29 devnull extern void mesgmenunew(Window*, Message*);
133 9f1fdc12 2005-10-29 devnull extern int mesgopen(Message*, char*, char*, Message*, int, char*);
134 9f1fdc12 2005-10-29 devnull extern void mesgctl(void*);
135 9f1fdc12 2005-10-29 devnull extern void mesgsend(Message*);
136 9f1fdc12 2005-10-29 devnull extern void mesgdel(Message*, Message*);
137 9f1fdc12 2005-10-29 devnull extern void mesgmenudel(Window*, Message*, Message*);
138 9f1fdc12 2005-10-29 devnull extern void mesgmenumark(Window*, char*, char*);
139 9f1fdc12 2005-10-29 devnull extern void mesgmenumarkdel(Window*, Message*, Message*, int);
140 9f1fdc12 2005-10-29 devnull extern Message* mesglookup(Message*, char*, char*);
141 9f1fdc12 2005-10-29 devnull extern Message* mesglookupfile(Message*, char*, char*);
142 9f1fdc12 2005-10-29 devnull extern void mesgfreeparts(Message*);
143 0d42cc9d 2006-02-28 devnull extern int mesgcommand(Message*, char*);
144 9f1fdc12 2005-10-29 devnull
145 9f1fdc12 2005-10-29 devnull extern char* readfile(char*, char*, int*);
146 9f1fdc12 2005-10-29 devnull extern char* readbody(char*, char*, int*);
147 9f1fdc12 2005-10-29 devnull extern void ctlprint(CFid*, char*, ...);
148 9f1fdc12 2005-10-29 devnull extern void* emalloc(uint);
149 9f1fdc12 2005-10-29 devnull extern void* erealloc(void*, uint);
150 9f1fdc12 2005-10-29 devnull extern char* estrdup(char*);
151 9f1fdc12 2005-10-29 devnull extern char* estrstrdup(char*, char*);
152 9f1fdc12 2005-10-29 devnull extern char* egrow(char*, char*, char*);
153 9f1fdc12 2005-10-29 devnull extern char* eappend(char*, char*, char*);
154 9f1fdc12 2005-10-29 devnull extern void error(char*, ...);
155 9f1fdc12 2005-10-29 devnull extern int tokenizec(char*, char**, int, char*);
156 9f1fdc12 2005-10-29 devnull extern void execproc(void*);
157 9f1fdc12 2005-10-29 devnull extern int fsprint(CFid*, char*, ...);
158 9f1fdc12 2005-10-29 devnull
159 9f1fdc12 2005-10-29 devnull #pragma varargck argpos error 1
160 9f1fdc12 2005-10-29 devnull #pragma varargck argpos ctlprint 2
161 9f1fdc12 2005-10-29 devnull
162 9f1fdc12 2005-10-29 devnull extern Window *wbox;
163 9f1fdc12 2005-10-29 devnull extern Message mbox;
164 9f1fdc12 2005-10-29 devnull extern Message replies;
165 9f1fdc12 2005-10-29 devnull extern char *fsname;
166 00d75e0e 2006-02-11 devnull extern CFid *plumbsendfd;
167 00d75e0e 2006-02-11 devnull extern CFid *plumbseemailfd;
168 9f1fdc12 2005-10-29 devnull extern char *home;
169 9f1fdc12 2005-10-29 devnull extern char *outgoing;
170 9f1fdc12 2005-10-29 devnull extern char *mailboxdir;
171 3b5862ee 2006-02-14 devnull extern char *mboxname;
172 9f1fdc12 2005-10-29 devnull extern char *user;
173 44fc56d8 2006-05-21 devnull extern char *srvname;
174 9f1fdc12 2005-10-29 devnull extern char deleted[];
175 9f1fdc12 2005-10-29 devnull extern int wctlfd;
176 9f1fdc12 2005-10-29 devnull extern int shortmenu;
177 3f8c36d6 2006-02-09 devnull
178 3f8c36d6 2006-02-09 devnull extern CFsys *mailfs;
179 3f8c36d6 2006-02-09 devnull extern CFsys *acmefs;
180 3f8c36d6 2006-02-09 devnull