00001
00002 #ifndef __JBXL_MIME_TOOL_H_
00003 #define __JBXL_MIME_TOOL_H_
00004
00013 #include "xtools.h"
00014
00015 #define MIME_CONTENT_LINE "Content-"
00016 #define MIME_CONTENTTYPE_LINE "Content-Type"
00017 #define MIME_CONTENTDSPO_LINE "Content-Disposition"
00018 #define MIME_NAMEEQ_LINE "name="
00019 #define MIME_FILENAMEEQ_LINE "filename="
00020 #define MIME_FILENAMESTAR_LINE "filename*"
00021 #define MIME_BOUNDARY_LINE "boundary="
00022 #define MIME_ISO2022JP_LINE "ISO-2022-JP"
00023 #define MIME_BASE64 "=?ISO-2022-JP?B?"
00024 #define MIME_QUTDPRNTBL ""
00025 #define MIME_RFC2231 "iso-2022-jp'ja'"
00026 #define MIME_CHARSET_ISO2022JP "Content-Type: text/plain; charset=iso-2022-jp"
00027
00028 #define MIME_ERR_ENCODE -1
00029 #define MIME_UNKNOWN_ENCODE 0
00030 #define MIME_BASE64_ENCODE 1
00031 #define MIME_QUTDPRNTBL_ENCODE 2
00032 #define MIME_URL_ENCODE 3
00033
00034
00036
00037 char* get_mime_boundary(tList* list);
00038 tList* get_mime_filename(FILE* fp, char* bndry);
00039 tList* get_mime_filenameffn(char* fn, char* bndry);
00040
00041 char* decode_mime_string (char* str);
00042 char* decode_mime_rfc2047(char* str);
00043 char* decode_mime_rfc2231(char* str);
00044
00045 char* encode_mime_string(char* str, int kind);
00046 int get_mime_enckind(char* str);
00047
00048
00049 #endif
00050
00051
00052