summaryrefslogtreecommitdiff
path: root/include/mailutils/attribute.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/mailutils/attribute.h')
-rw-r--r--include/mailutils/attribute.h45
1 files changed, 39 insertions, 6 deletions
diff --git a/include/mailutils/attribute.h b/include/mailutils/attribute.h
index e0f4e94e4..ab9eb24c6 100644
--- a/include/mailutils/attribute.h
+++ b/include/mailutils/attribute.h
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2024 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -24,14 +24,39 @@
extern "C" {
#endif
+/*
+ * Message attributes:
+ */
+
+/* The message has been replied to: */
#define MU_ATTRIBUTE_ANSWERED 0x01
+
+/* The message is explicitly flagged for some purpose: */
#define MU_ATTRIBUTE_FLAGGED 0x02
+
+/* The message is deleted. It will remain in this state until it
+ is expunged (and, consequently, physically removed from the
+ mailbox, or the attribute is removed. */
#define MU_ATTRIBUTE_DELETED 0x04
+
+/* This is a draft message */
#define MU_ATTRIBUTE_DRAFT 0x08
+
+/* The user has seen the message. Notice, that it does not mean that
+ they have read it, all it implies is that the user is aware about
+ existence of this message in the mailbox (e.g. it was displayed in
+ some kind of mailbox listing, as the mail "h" command). */
#define MU_ATTRIBUTE_SEEN 0x10
+
+/* The user has read the message at least partially. */
#define MU_ATTRIBUTE_READ 0x20
+
+/* The message was modified, but not yet saved to the mailbox. */
#define MU_ATTRIBUTE_MODIFIED 0x40
+/* The message has been forwarded to someone else */
+#define MU_ATTRIBUTE_FORWARDED 0x80
+
/* A message is recent if the current session is the first session
to have been notified about it. Practically, a message is considered
"recent" if it does not have MU_ATTRIBUTE_SEEN set. For consistency
@@ -46,7 +71,7 @@ extern "C" {
extern int mu_attribute_create (mu_attribute_t *, void *);
extern void mu_attribute_destroy (mu_attribute_t *, void *);
-extern void * mu_attribute_get_owner (mu_attribute_t);
+extern void *mu_attribute_get_owner (mu_attribute_t);
extern int mu_attribute_is_modified (mu_attribute_t);
extern int mu_attribute_clear_modified (mu_attribute_t);
extern int mu_attribute_set_modified (mu_attribute_t attr);
@@ -59,6 +84,7 @@ extern int mu_attribute_is_deleted (mu_attribute_t);
extern int mu_attribute_is_draft (mu_attribute_t);
extern int mu_attribute_is_recent (mu_attribute_t);
extern int mu_attribute_is_read (mu_attribute_t);
+extern int mu_attribute_is_forwarded (mu_attribute_t);
extern int mu_attribute_set_userflag (mu_attribute_t, int);
extern int mu_attribute_set_seen (mu_attribute_t);
@@ -68,6 +94,7 @@ extern int mu_attribute_set_deleted (mu_attribute_t);
extern int mu_attribute_set_draft (mu_attribute_t);
extern int mu_attribute_set_recent (mu_attribute_t);
extern int mu_attribute_set_read (mu_attribute_t);
+extern int mu_attribute_set_forwarded (mu_attribute_t);
extern int mu_attribute_unset_userflag (mu_attribute_t, int);
extern int mu_attribute_unset_seen (mu_attribute_t);
@@ -77,6 +104,7 @@ extern int mu_attribute_unset_deleted (mu_attribute_t);
extern int mu_attribute_unset_draft (mu_attribute_t);
extern int mu_attribute_unset_recent (mu_attribute_t);
extern int mu_attribute_unset_read (mu_attribute_t);
+extern int mu_attribute_unset_forwarded (mu_attribute_t);
extern int mu_attribute_get_flags (mu_attribute_t, int *);
extern int mu_attribute_set_flags (mu_attribute_t, int);
@@ -96,11 +124,16 @@ extern int mu_attribute_is_equal (mu_attribute_t, mu_attribute_t att2);
extern int mu_attribute_copy (mu_attribute_t, mu_attribute_t);
/* Maximum size of buffer for mu_attribute_to_string call, including nul */
-#define MU_STATUS_BUF_SIZE sizeof("AFDdOR")
-
-extern int mu_attribute_to_string (mu_attribute_t, char *, size_t, size_t *);
-extern int mu_string_to_flags (const char *, int *);
+#define MU_STATUS_BUF_SIZE sizeof("AFDdOPR")
+extern int mu_attribute_to_string (mu_attribute_t, char *, size_t, size_t *);
+extern int mu_attribute_flags_to_string (int flags, char *buffer, size_t len, size_t *pn);
+extern int mu_attribute_string_to_flags (const char *, int *);
+static int mu_string_to_flags (const char *, int *) MU_DEPRECATED;
+static inline int mu_string_to_flags (const char *b, int *f)
+{
+ return mu_attribute_string_to_flags (b, f);
+}
#ifdef __cplusplus
}
#endif

Return to:

Send suggestions and report system problems to the System administrator.