#define MSG_IS_IGNORE_THREAD(msg) (((msg).perm_flags & MSG_IGNORE_THREAD) != 0)
#define MSG_IS_RETRCPT_PENDING(msg) (((msg).perm_flags & MSG_RETRCPT_PENDING) != 0)
-/* code from bits/byteswap.h (C) 1997, 1998 Free Software Foundation, Inc. */
-#ifdef BIG_ENDIAN_HOST
-#define me2ne_32(x) (x)
-#else
-#define me2ne_32(x) \
- ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
-#endif
-
-#define WRITE_CACHE_DATA_INT(n, fp) { \
- int i = n; i = me2ne_32(i); \
- fwrite(&i, sizeof(n), 1, fp); \
-}
+#define WRITE_CACHE_DATA_INT(n, fp) \
+ fwrite(&n, sizeof(n), 1, fp)
#define WRITE_CACHE_DATA(data, fp) \
{ \
guint decryption_failed : 1;
};
+#define MSGINFO_UPDATE_HOOKLIST "msginfo_update"
+
+typedef struct _MsgInfoUpdate MsgInfoUpdate;
+
+struct _MsgInfoUpdate {
+ MsgInfo *msginfo;
+};
+
GHashTable *procmsg_msg_hash_table_create (GSList *mlist);
void procmsg_msg_hash_table_append (GHashTable *msg_table,
GSList *mlist);
void procmsg_msginfo_unset_flags (MsgInfo *msginfo,
MsgPermFlags perm_flags,
MsgTmpFlags tmp_flags);
-
+gint procmsg_remove_special_headers (const gchar *in,
+ const gchar *out);
+
+gboolean procmsg_msg_has_flagged_parent (MsgInfo *info,
+ MsgPermFlags perm_flags);
+gboolean procmsg_msg_has_marked_parent (MsgInfo *info);
+GSList *procmsg_find_children (MsgInfo *info);
+void procmsg_update_unread_children (MsgInfo *info,
+ gboolean newly_marked);
+void procmsg_msginfo_set_to_folder (MsgInfo *msginfo,
+ FolderItem *to_folder);
#endif /* __PROCMSG_H__ */