xref: /plan9-contrib/sys/src/cmd/faces/faces.h (revision a3b78ba5bb0d5cc068598a566c1c400adb4b4783)
17dd7cddfSDavid du Colombier enum	/* face strings */
27dd7cddfSDavid du Colombier {
37dd7cddfSDavid du Colombier 	Suser,
47dd7cddfSDavid du Colombier 	Sdomain,
57dd7cddfSDavid du Colombier 	Sshow,
67dd7cddfSDavid du Colombier 	Sdigest,
77dd7cddfSDavid du Colombier 	Nstring
87dd7cddfSDavid du Colombier };
97dd7cddfSDavid du Colombier 
107dd7cddfSDavid du Colombier enum
117dd7cddfSDavid du Colombier {
127dd7cddfSDavid du Colombier 	Facesize = 48,
137dd7cddfSDavid du Colombier };
147dd7cddfSDavid du Colombier 
157dd7cddfSDavid du Colombier typedef struct Face		Face;
167dd7cddfSDavid du Colombier typedef struct Facefile	Facefile;
177dd7cddfSDavid du Colombier 
187dd7cddfSDavid du Colombier struct Face
197dd7cddfSDavid du Colombier {
207dd7cddfSDavid du Colombier 	Image	*bit;		/* unless there's an error, this is file->image */
217dd7cddfSDavid du Colombier 	Image	*mask;	/* unless there's an error, this is file->mask */
227dd7cddfSDavid du Colombier 	char		*str[Nstring];
23d9306527SDavid du Colombier 	int		recent;
24d9306527SDavid du Colombier 	ulong	time;
25d9306527SDavid du Colombier 	Tm		tm;
267dd7cddfSDavid du Colombier 	int		unknown;
277dd7cddfSDavid du Colombier 	Facefile	*file;
287dd7cddfSDavid du Colombier };
297dd7cddfSDavid du Colombier 
307dd7cddfSDavid du Colombier /*
317dd7cddfSDavid du Colombier  * Loading the files is slow enough on a dial-up line to be worth this trouble
327dd7cddfSDavid du Colombier  */
337dd7cddfSDavid du Colombier struct Facefile
347dd7cddfSDavid du Colombier {
357dd7cddfSDavid du Colombier 	Image	*image;
367dd7cddfSDavid du Colombier 	Image	*mask;
377dd7cddfSDavid du Colombier 	ulong	mtime;
387dd7cddfSDavid du Colombier 	ulong	rdtime;
397dd7cddfSDavid du Colombier 	int		ref;
407dd7cddfSDavid du Colombier 	char		*file;
417dd7cddfSDavid du Colombier 	Facefile	*next;
427dd7cddfSDavid du Colombier };
437dd7cddfSDavid du Colombier 
44*a3b78ba5SDavid du Colombier extern char	date[];
45*a3b78ba5SDavid du Colombier extern char	*maildir;
46*a3b78ba5SDavid du Colombier extern char	**maildirs;
47*a3b78ba5SDavid du Colombier extern int	nmaildirs;
487dd7cddfSDavid du Colombier 
497dd7cddfSDavid du Colombier Face*	nextface(void);
507dd7cddfSDavid du Colombier void	findbit(Face*);
517dd7cddfSDavid du Colombier void	freeface(Face*);
527dd7cddfSDavid du Colombier void	initplumb(void);
537dd7cddfSDavid du Colombier void	killall(char*);
547dd7cddfSDavid du Colombier void	showmail(Face*);
557dd7cddfSDavid du Colombier void	delete(char*, char*);
567dd7cddfSDavid du Colombier void	freefacefile(Facefile*);
577dd7cddfSDavid du Colombier Face*	dirface(char*, char*);
587dd7cddfSDavid du Colombier void	resized(void);
59d9306527SDavid du Colombier int	alreadyseen(char*);
609a747e4fSDavid du Colombier ulong	dirlen(char*);
617dd7cddfSDavid du Colombier 
627dd7cddfSDavid du Colombier void	*emalloc(ulong);
637dd7cddfSDavid du Colombier void	*erealloc(void*, ulong);
647dd7cddfSDavid du Colombier char	*estrdup(char*);
657dd7cddfSDavid du Colombier char	*findfile(Face*, char*, char*);
665fab9909SDavid du Colombier void	addmaildir(char*);
67