9 #include "mailmbox_types.h"
12 mailmbox_append_message_list(struct mailmbox_folder * folder,
16 mailmbox_append_message(struct mailmbox_folder * folder,
17 char * data, size_t len);
19 int mailmbox_fetch_msg(struct mailmbox_folder * folder,
20 guint num, char ** result,
23 int mailmbox_fetch_msg_headers(struct mailmbox_folder * folder,
24 guint num, char ** result,
27 void mailmbox_fetch_result_free(char * msg);
29 int mailmbox_copy_msg_list(struct mailmbox_folder * dest_folder,
30 struct mailmbox_folder * src_folder,
33 int mailmbox_copy_msg(struct mailmbox_folder * dest_folder,
34 struct mailmbox_folder * src_folder,
37 int mailmbox_expunge(struct mailmbox_folder * folder);
39 int mailmbox_delete_msg(struct mailmbox_folder * folder, guint uid);
41 int mailmbox_init(char * filename,
44 guint default_written_uid,
45 struct mailmbox_folder ** result_folder);
47 void mailmbox_done(struct mailmbox_folder * folder);
49 /* low-level access primitives */
51 int mailmbox_write_lock(struct mailmbox_folder * folder);
53 int mailmbox_write_unlock(struct mailmbox_folder * folder);
55 int mailmbox_read_lock(struct mailmbox_folder * folder);
57 int mailmbox_read_unlock(struct mailmbox_folder * folder);
62 int mailmbox_map(struct mailmbox_folder * folder);
64 void mailmbox_unmap(struct mailmbox_folder * folder);
66 void mailmbox_sync(struct mailmbox_folder * folder);
69 /* open & close file */
71 int mailmbox_open(struct mailmbox_folder * folder);
73 void mailmbox_close(struct mailmbox_folder * folder);
79 int mailmbox_validate_cache(struct mailmbox_folder * folder);
82 int mailmbox_validate_write_lock(struct mailmbox_folder * folder);
84 int mailmbox_validate_read_lock(struct mailmbox_folder * folder);
89 int mailmbox_fetch_msg_no_lock(struct mailmbox_folder * folder,
90 guint num, char ** result,
93 int mailmbox_fetch_msg_headers_no_lock(struct mailmbox_folder * folder,
94 guint num, char ** result,
100 mailmbox_append_message_list_no_lock(struct mailmbox_folder * folder,
101 carray * append_tab);
103 int mailmbox_expunge_no_lock(struct mailmbox_folder * folder);