Use p_new instead of xmalloc()
[apps/madmutt.git] / buffy.h
diff --git a/buffy.h b/buffy.h
index 1506247..0662b94 100644 (file)
--- a/buffy.h
+++ b/buffy.h
@@ -1,49 +1,47 @@
-/* 
+/*
+ * 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
 
 /*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;
+  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;
+DO_ARRAY_TYPE(BUFFY, buffy);
 
-WHERE BUFFY *Incoming INITVAL (0);
+/* folders with incomming mail (via mailboxes command) */
+WHERE buffy_array 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);
-#endif
+#endif /* !_BUFFY_H */