Blob


1 enum /* face strings */
2 {
3 Suser,
4 Sdomain,
5 Sshow,
6 Sdigest,
7 Nstring
8 };
10 enum
11 {
12 Facesize = 48
13 };
15 typedef struct Face Face;
16 typedef struct Facefile Facefile;
18 struct Face
19 {
20 Image *bit; /* unless there's an error, this is file->image */
21 Image *mask; /* unless there's an error, this is file->mask */
22 char *str[Nstring];
23 int recent;
24 ulong time;
25 Tm tm;
26 int unknown;
27 Facefile *file;
28 };
30 /*
31 * Loading the files is slow enough on a dial-up line to be worth this trouble
32 */
33 struct Facefile
34 {
35 Image *image;
36 Image *mask;
37 ulong mtime;
38 ulong rdtime;
39 int ref;
40 char *file;
41 Facefile *next;
42 };
44 extern char date[];
45 extern char *maildir;
46 extern char **maildirs;
47 extern int nmaildirs;
48 extern CFsys *mailfs;
50 Face* nextface(void);
51 void findbit(Face*);
52 void freeface(Face*);
53 void initplumb(void);
54 void killall(char*);
55 void showmail(Face*);
56 void delete(char*, char*);
57 void freefacefile(Facefile*);
58 Face* dirface(char*, char*);
59 void resized(void);
60 int alreadyseen(char*);
61 ulong dirlen(char*);
62 ulong fsdirlen(CFsys*, char*);
64 void *emalloc(ulong);
65 void *erealloc(void*, ulong);
66 char *estrdup(char*);
67 char *findfile(Face*, char*, char*);
68 void addmaildir(char*);