+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * Copyright © 2006 Pierre Habouzit
+ */
+
+/*
+ * Copyright notice from original mutt:
+ * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
+ */
+
+#ifndef MUTT_LIB_MIME_MIME_H
+#define MUTT_LIB_MIME_MIME_H
+
+/* Content-Type */
+enum {
+ TYPEOTHER,
+ TYPEAUDIO,
+ TYPEAPPLICATION,
+ TYPEIMAGE,
+ TYPEMESSAGE,
+ TYPEMODEL,
+ TYPEMULTIPART,
+ TYPETEXT,
+ TYPEVIDEO,
+ TYPEANY
+};
+
+/* Content-Transfer-Encoding */
+enum {
+ ENCOTHER,
+ ENC7BIT,
+ ENC8BIT,
+ ENCQUOTEDPRINTABLE,
+ ENCBASE64,
+ ENCBINARY,
+ ENCUUENCODED
+};
+
+/* Content-Disposition values */
+enum {
+ DISPINLINE,
+ DISPATTACH,
+ DISPFORMDATA
+};
+
+typedef struct parameter {
+ char *attribute;
+ char *value;
+ struct parameter *next;
+} PARAMETER;
+
+/* MIME encoding/decoding global vars */
+
+#define is_multipart(x) \
+ ((x)->type == TYPEMULTIPART \
+ || ((x)->type == TYPEMESSAGE && (!strcasecmp((x)->subtype, "rfc822") \
+ || !strcasecmp((x)->subtype, "news"))))
+
+extern const char *BodyTypes[];
+extern const char *BodyEncodings[];
+
+#define TYPE(X) ((X->type == TYPEOTHER) && (X->xtype != NULL) ? X->xtype : BodyTypes[(X->type)])
+#define ENCODING(X) BodyEncodings[(X)]
+
+/* other MIME-related global variables */
+#ifndef _SENDLIB_C
+extern char MimeSpecials[];
+#endif
+
+void rfc2231_decode_parameters (PARAMETER **);
+int rfc2231_encode_string (char **);
+
+#endif /* MUTT_LIB_MIME_MIME_H */