-/*
+/*
+ * Copyright notice from original mutt:
* Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
+#ifndef _BUFFY_H
+#define _BUFFY_H
+
+#include "lib/list.h"
/*parameter to mutt_parse_mailboxes*/
#define M_MAILBOXES 1
-#define M_UNMAILBOXES 2
+#define M_UNMAILBOXES 2
-typedef struct buffy_t
-{
+typedef struct buffy_t {
char *path;
#ifdef BUFFY_SIZE
long size;
-#endif /* BUFFY_SIZE */
- struct buffy_t *next;
- struct buffy_t *prev;
- short new; /* mailbox has new mail */
- short has_new; /* set it new if new and not read */
- int msgcount; /* total number of messages */
- int msg_unread; /* number of unread messages */
- short notified; /* user has been notified */
- short magic; /* mailbox type */
- short newly_created; /* mbox or mmdf just popped into existence */
-}
-BUFFY;
+#endif /* BUFFY_SIZE */
+ short new; /* mailbox has new mail */
+ short has_new; /* set it new if new and not read */
+ int msgcount; /* total number of messages */
+ int msg_unread; /* number of unread messages */
+ int msg_flagged; /* number of flagged messages */
+ short notified; /* user has been notified */
+ short magic; /* mailbox type */
+ short newly_created; /* mbox or mmdf just popped into existence */
+} BUFFY;
-WHERE BUFFY *Incoming INITVAL (0);
+/* folders with incomming mail (via mailboxes command) */
+WHERE list2_t* Incoming;
WHERE short BuffyTimeout INITVAL (3);
+extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */
-extern time_t BuffyDoneTime; /* last time we knew for sure how much mail there was */
+/* looks up a path in Incoming list (returns index) */
+int buffy_lookup (const char*);
+/* handles mailboxes commands */
+int buffy_parse_mailboxes (BUFFER*, BUFFER*, unsigned long, BUFFER*);
+/* from given path, gets next mailbox in Incoming with new mail */
+void buffy_next (char*, size_t);
+/* checks mailboxes for new mail (returns number) */
+int buffy_check (int);
+/* lists mailboxes with new mail */
+int buffy_list (void);
+/* wrapper around buffy_list() */
+int buffy_notify (void);
#ifdef BUFFY_SIZE
-BUFFY *mutt_find_mailbox (const char *path);
-void mutt_update_mailbox (BUFFY * b);
+BUFFY *buffy_find_mailbox (const char *path);
+void buffy_update_mailbox (BUFFY * b);
#endif
+
+#endif /* !_BUFFY_H */