Rocco Rutte:
[apps/madmutt.git] / buffy.h
1 /*
2  * Copyright notice from original mutt:
3  * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
4  *
5  * This file is part of mutt-ng, see http://www.muttng.org/.
6  * It's licensed under the GNU General Public License,
7  * please see the file GPL in the top level source directory.
8  */
9 #ifndef _BUFFY_H
10 #define _BUFFY_H
11
12 #include "lib/list.h"
13
14 /*parameter to mutt_parse_mailboxes*/
15 #define M_MAILBOXES   1
16 #define M_UNMAILBOXES 2
17
18 typedef struct buffy_t {
19   char *path;
20 #ifdef BUFFY_SIZE
21   long size;
22 #endif                          /* BUFFY_SIZE */
23   short new;                    /* mailbox has new mail */
24   short has_new;                /* set it new if new and not read */
25   int msgcount;                 /* total number of messages */
26   int msg_unread;               /* number of unread messages */
27   int msg_flagged;              /* number of flagged messages */
28   short notified;               /* user has been notified */
29   short magic;                  /* mailbox type */
30   short newly_created;          /* mbox or mmdf just popped into existence */
31 } BUFFY;
32
33 /* folders with incomming mail (via mailboxes command) */
34 WHERE list2_t* Incoming;
35 WHERE short BuffyTimeout INITVAL (3);
36 extern time_t BuffyDoneTime;    /* last time we knew for sure how much mail there was */
37
38 /* looks up a path in Incoming list (returns index) */
39 int buffy_lookup (const char*);
40 /* handles mailboxes commands */
41 int buffy_parse_mailboxes (BUFFER*, BUFFER*, unsigned long, BUFFER*);
42 /* from given path, gets next mailbox in Incoming with new mail */
43 void buffy_next (char*, size_t);
44 /* checks mailboxes for new mail (returns number) */
45 int buffy_check (int);
46 /* lists mailboxes with new mail */
47 int buffy_list (void);
48 /* wrapper around buffy_list() */
49 int buffy_notify (void);
50
51 #ifdef BUFFY_SIZE
52 BUFFY *buffy_find_mailbox (const char *path);
53 void buffy_update_mailbox (BUFFY * b);
54 #endif
55
56 #endif /* !_BUFFY_H */