123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * This file is part of the UCB release of Plan 9. It is subject to the license
- * terms in the LICENSE file found in the top-level directory of this
- * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
- * part of the UCB release of Plan 9, including this file, may be copied,
- * modified, propagated, or distributed except according to the terms contained
- * in the LICENSE file.
- */
- enum /* face strings */
- {
- Suser,
- Sdomain,
- Sshow,
- Sdigest,
- Nstring
- };
- enum
- {
- Facesize = 48,
- };
- typedef struct Face Face;
- typedef struct Facefile Facefile;
- struct Face
- {
- Image *bit; /* unless there's an error, this is file->image */
- Image *mask; /* unless there's an error, this is file->mask */
- char *str[Nstring];
- int recent;
- uint32_t time;
- Tm tm;
- int unknown;
- Facefile *file;
- };
- /*
- * Loading the files is slow enough on a dial-up line to be worth this trouble
- */
- struct Facefile
- {
- Image *image;
- Image *mask;
- uint32_t mtime;
- uint32_t rdtime;
- int ref;
- char *file;
- Facefile *next;
- };
- extern char date[];
- extern char *maildir;
- extern char **maildirs;
- extern int nmaildirs;
- Face* nextface(void);
- void findbit(Face*);
- void freeface(Face*);
- void initplumb(void);
- void killall(char*);
- void showmail(Face*);
- void delete(char*, char*);
- void freefacefile(Facefile*);
- Face* dirface(char*, char*);
- void resized(void);
- int alreadyseen(char*);
- uint32_t dirlen(char*);
- void *emalloc(uint32_t);
- void *erealloc(void*, uint32_t);
- char *estrdup(char*);
- char *findfile(Face*, char*, char*);
- void addmaildir(char*);
|