/* * reader.h - declarations for a mail/news reader toolkit for wily. */ /* * We support two kinds of window - a list (mailboxes, newsgroups, subject lines) * and an article display. There can be more than one instance of each. */ typedef enum _rdWinType { rdList, rdArticle } rdWinType; /* * This makes the messages clearer */ enum { IsTag = 0, IsBody = 1 }; typedef struct _rdWin rdWin; typedef struct _rdItem rdItem; typedef struct _Msgq Msgq; extern int rdMultiList; extern int rdMultiArt; struct _rdItem { ulong p0, p1; /* address of this item in the window. */ struct _rdItem *next; /* next item in the list */ }; struct _rdWin { rdWinType wintype; int user; /* user info */ void *userp; /* ditto */ Id id; struct _rdWin *next; /* list storage */ char *title; /* what we think the title of this window is */ ulong taglen; /* length of tag, in characters */ ulong bodylen; /* length of body, in characters */ Msg *m; /* message from wily */ char *body; /* UTF text of an article window */ rdItem *items; /* The items in a list */ }; extern rdWin *windows; extern Mqueue *wilyq;