#define MESSAGE_PARSER_H
#include "message-header-parser.h"
-#include "message-size.h"
+#include "message-part.h"
enum message_parser_flags {
/* Don't return message bodies in message_blocks. */
MESSAGE_PARSER_FLAG_INCLUDE_BOUNDARIES = 0x08
};
-/* Note that these flags are used directly by message-parser-serialize, so
- existing flags can't be changed without breaking backwards compatibility */
-enum message_part_flags {
- MESSAGE_PART_FLAG_MULTIPART = 0x01,
- MESSAGE_PART_FLAG_MULTIPART_DIGEST = 0x02,
- MESSAGE_PART_FLAG_MESSAGE_RFC822 = 0x04,
-
- /* content-type: text/... */
- MESSAGE_PART_FLAG_TEXT = 0x08,
-
- MESSAGE_PART_FLAG_UNUSED = 0x10,
-
- /* message part header or body contains NULs */
- MESSAGE_PART_FLAG_HAS_NULS = 0x20,
-
- /* Mime-Version header exists. */
- MESSAGE_PART_FLAG_IS_MIME = 0x40
-};
-
-struct message_part {
- struct message_part *parent;
- struct message_part *next;
- struct message_part *children;
-
- uoff_t physical_pos; /* absolute position from beginning of message */
- struct message_size header_size;
- struct message_size body_size;
-
- enum message_part_flags flags;
- void *context;
-};
-
struct message_parser_ctx;
struct message_block {
--- /dev/null
+#ifndef MESSAGE_PART_H
+#define MESSAGE_PART_H
+
+#include "message-size.h"
+
+/* Note that these flags are used directly by message-parser-serialize, so
+ existing flags can't be changed without breaking backwards compatibility */
+enum message_part_flags {
+ MESSAGE_PART_FLAG_MULTIPART = 0x01,
+ MESSAGE_PART_FLAG_MULTIPART_DIGEST = 0x02,
+ MESSAGE_PART_FLAG_MESSAGE_RFC822 = 0x04,
+
+ /* content-type: text/... */
+ MESSAGE_PART_FLAG_TEXT = 0x08,
+
+ MESSAGE_PART_FLAG_UNUSED = 0x10,
+
+ /* message part header or body contains NULs */
+ MESSAGE_PART_FLAG_HAS_NULS = 0x20,
+
+ /* Mime-Version header exists. */
+ MESSAGE_PART_FLAG_IS_MIME = 0x40
+};
+
+struct message_part {
+ struct message_part *parent;
+ struct message_part *next;
+ struct message_part *children;
+
+ uoff_t physical_pos; /* absolute position from beginning of message */
+ struct message_size header_size;
+ struct message_size body_size;
+
+ enum message_part_flags flags;
+ void *context;
+};
+
+#endif