Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 82 lines (70 sloc) 2.68 kb
14c2920 Imported Upstream version 1.5.18
Antonio Radici authored
1 /*
2 * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 */
18
19 #ifndef _MAILBOX_H
20 #define _MAILBOX_H
21
22 /* flags for mutt_open_mailbox() */
23 #define M_NOSORT (1<<0) /* do not sort the mailbox after opening it */
24 #define M_APPEND (1<<1) /* open mailbox for appending messages */
25 #define M_READONLY (1<<2) /* open in read-only mode */
26 #define M_QUIET (1<<3) /* do not print any messages */
27 #define M_NEWFOLDER (1<<4) /* create a new folder - same as M_APPEND, but uses
28 * safe_fopen() for mbox-style folders.
29 */
30
31 /* mx_open_new_message() */
32 #define M_ADD_FROM 1 /* add a From_ line */
33
34 /* return values from mx_check_mailbox() */
35 enum
36 {
37 M_NEW_MAIL = 1, /* new mail received in mailbox */
38 M_LOCKED, /* couldn't lock the mailbox */
39 M_REOPENED, /* mailbox was reopened */
40 M_FLAGS /* nondestructive flags change (IMAP) */
41 };
42
43 typedef struct
44 {
45 FILE *fp; /* pointer to the message data */
46 char *path; /* path to temp file */
47 short magic; /* type of mailbox this message belongs to */
48 short write; /* nonzero if message is open for writing */
49 struct {
50 unsigned read : 1;
51 unsigned flagged : 1;
52 unsigned replied : 1;
53 } flags;
54 time_t received; /* the time at which this message was received */
55 } MESSAGE;
56
57 CONTEXT *mx_open_mailbox (const char *, int, CONTEXT *);
58
59 MESSAGE *mx_open_message (CONTEXT *, int);
60 MESSAGE *mx_open_new_message (CONTEXT *, HEADER *, int);
61
62 void mx_fastclose_mailbox (CONTEXT *);
63
64 int mx_close_mailbox (CONTEXT *, int *);
65 int mx_sync_mailbox (CONTEXT *, int *);
66 int mx_commit_message (MESSAGE *, CONTEXT *);
67 int mx_close_message (MESSAGE **);
68 int mx_get_magic (const char *);
69 int mx_set_magic (const char *);
70 int mx_check_mailbox (CONTEXT *, int *, int);
71 #ifdef USE_IMAP
72 int mx_is_imap (const char *);
73 #endif
74 #ifdef USE_POP
75 int mx_is_pop (const char *);
76 #endif
77
78 int mx_access (const char*, int);
79 int mx_check_empty (const char *);
80
81 #endif
Something went wrong with that request. Please try again.