aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/faces/faces.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/faces/faces.h')
-rw-r--r--src/cmd/faces/faces.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/cmd/faces/faces.h b/src/cmd/faces/faces.h
new file mode 100644
index 00000000..7974a8b3
--- /dev/null
+++ b/src/cmd/faces/faces.h
@@ -0,0 +1,68 @@
+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;
+ ulong 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;
+ ulong mtime;
+ ulong rdtime;
+ int ref;
+ char *file;
+ Facefile *next;
+};
+
+extern char date[];
+extern char *maildir;
+extern char **maildirs;
+extern int nmaildirs;
+extern CFsys *upasfs;
+
+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*);
+ulong dirlen(char*);
+ulong fsdirlen(CFsys*, char*);
+
+void *emalloc(ulong);
+void *erealloc(void*, ulong);
+char *estrdup(char*);
+char *findfile(Face*, char*, char*);
+void addmaildir(char*);