75aff407b4cf24fd300b2728038d5a0bf44a7590
[citadel.git] / citadel / imap_tools.h
1 /*
2  * $Id$
3  *
4  */
5
6 /*
7  * FDELIM defines which character we want to use as a folder delimiter
8  * in room names.  Originally we used a forward slash, but that caused
9  * rooms with names like "Sent/Received Pages" to get delimited, so we
10  * changed it to a backslash.  This is completely irrelevant to how Citadel
11  * speaks to IMAP clients -- the delimiter used in the IMAP protocol is
12  * a vertical bar, which is illegal in Citadel room names anyway.
13  */
14 #define FDELIM '\\'
15
16 void imap_strout(char *buf);
17 int imap_parameterize(char **args, char *buf);
18 void imap_mailboxname(char *buf, int bufsize, struct ctdlroom *qrbuf);
19 void imap_ial_out(struct internet_address_list *ialist);
20 int imap_roomname(char *buf, int bufsize, char *foldername);
21 int imap_is_message_set(char *);
22 int imap_mailbox_matches_pattern(char *pattern, char *mailboxname);
23 int imap_datecmp(char *datestr, time_t msgtime);
24
25 /*
26  * Flags that may be returned by imap_roomname()
27  * (the lower eight bits will be the floor number)
28  */
29 #define IR_MAILBOX      0x0100          /* Mailbox                       */
30 #define IR_EXISTS       0x0200          /* Room exists (not implemented) */
31 #define IR_BABOON       0x0000          /* Just had to put this here :)  */