mime.h - rohrpost - A commandline mail client to change the world as we see it.
 (HTM) git clone git://r-36.net/rohrpost
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       mime.h (1219B)
       ---
            1 /*
            2  * Copy me if you can.
            3  * by 20h
            4  */
            5 
            6 #ifndef __MIME_H__
            7 #define __MIME_H__
            8 
            9 #include <time.h>
           10 
           11 #include "llist.h"
           12 
           13 typedef struct mime_t mime_t;
           14 struct mime_t {
           15         llist_t *hdrs;
           16         llist_t *parts;
           17 
           18         char *body;
           19         int bodylen;
           20 
           21         char *rawhdrs;
           22         int rawhdrslen;
           23 
           24         char *partid;
           25         char *ct;
           26         char *cte;
           27         char *charset;
           28 
           29         char *boundary;
           30 
           31         int state;
           32 };
           33 
           34 mime_t *mime_new(void);
           35 void mime_free(mime_t *mime);
           36 
           37 struct tm *mime_parsedate(char *str);
           38 char *mime_iconv(char *str, char *from, char *to);
           39 char *mime_decodeheaderext(char *value);
           40 int mime_isextws(char *str, int len);
           41 char *mime_decodeheader(char *value);
           42 char *mime_guessheader(char *value);
           43 char *mime_decodeparam(char *value);
           44 char *mime_encodestring(char *value);
           45 char *mime_encodeheader(char *header, char *value);
           46 int mime_paramsort(llistelem_t *elem1, llistelem_t *elem2);
           47 llist_t *mime_sanitizeparams(llist_t *phdr);
           48 
           49 llist_t *mime_parseheader(char *field);
           50 mime_t *mime_parsebuf(char *str, int len);
           51 
           52 void mime_print(mime_t *mime);
           53 
           54 char *mime_decodepartencoding(mime_t *mime, int *len);
           55 char *mime_decodepart(mime_t *mime, int *len);
           56 char *mime_filename(mime_t *mime);
           57 char *mime_mkfilename(char *id, mime_t *mime);
           58 char *mime_mkboundary(void);
           59 
           60 #endif
           61