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