plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

faces.h (1167B)


      1 enum	/* face strings */
      2 {
      3 	Suser,
      4 	Sdomain,
      5 	Sshow,
      6 	Sdigest,
      7 	Nstring
      8 };
      9 
     10 enum
     11 {
     12 	Facesize = 48
     13 };
     14 
     15 typedef struct Face		Face;
     16 typedef struct Facefile	Facefile;
     17 
     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 };
     29 
     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 };
     43 
     44 extern char	date[];
     45 extern char	*maildir;
     46 extern char	**maildirs;
     47 extern int	nmaildirs;
     48 extern CFsys	*mailfs;
     49 
     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*);
     63 
     64 void	*emalloc(ulong);
     65 void	*erealloc(void*, ulong);
     66 char	*estrdup(char*);
     67 char	*findfile(Face*, char*, char*);
     68 void	addmaildir(char*);