Use account ID instead of name in passwordstorerc.
[claws.git] / src / procheader.h
1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2014 Hiroyuki Yamamoto and the Claws Mail team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  * 
18  */
19
20 #ifndef __PROCHEADER_H__
21 #define __PROCHEADER_H__
22
23 #include <glib.h>
24 #include <stdio.h>
25 #include <time.h>
26
27 #include "proctypes.h"
28
29 #define AVATAR_HEADER_UPDATE_HOOKLIST "avatar_header_update"
30
31 struct _HeaderEntry
32 {
33         gchar    *name;
34         gchar    *body;
35         gboolean  unfold;
36 };
37
38 struct _Header
39 {
40         gchar *name;
41         gchar *body;
42 };
43
44 gint procheader_get_one_field           (gchar          *buf,
45                                          size_t          len,
46                                          FILE           *fp,
47                                          HeaderEntry     hentry[]);
48 gint procheader_get_one_field_asis      (gchar          *buf,
49                                          size_t          len,
50                                          FILE           *fp);
51 gchar *procheader_get_unfolded_line     (gchar          *buf,
52                                          size_t          len,
53                                          FILE           *fp);
54
55 GPtrArray *procheader_get_header_array_asis     (FILE           *fp);
56 void procheader_header_array_destroy            (GPtrArray      *harray);
57 void procheader_header_free                     (Header         *header);
58
59 void procheader_get_header_fields       (FILE           *fp,
60                                          HeaderEntry     hentry[]);
61 MsgInfo *procheader_parse_file          (const gchar    *file,
62                                          MsgFlags        flags,
63                                          gboolean        full,
64                                          gboolean        decrypted);
65 MsgInfo *procheader_parse_str           (const gchar    *str,
66                                          MsgFlags        flags,
67                                          gboolean        full,
68                                          gboolean        decrypted);
69 MsgInfo *procheader_parse_stream        (FILE           *fp,
70                                          MsgFlags        flags,
71                                          gboolean        full,
72                                          gboolean        decrypted);
73
74 gchar *procheader_get_fromname          (const gchar    *str);
75
76 gboolean procheader_date_parse_to_tm    (const gchar    *str,
77                                          struct tm      *t,
78                                          char           *zone);
79
80 time_t procheader_date_parse            (gchar          *dest,
81                                          const gchar    *src,
82                                          gint            len);
83 void procheader_date_get_localtime      (gchar          *dest,
84                                          gint            len,
85                                          const time_t    timer);
86 Header * procheader_parse_header        (gchar * buf);
87
88 gboolean procheader_headername_equal    (char * hdr1, char * hdr2);
89 void procheader_header_free             (Header * header);
90
91 gint procheader_get_header_from_msginfo (MsgInfo        *msginfo,
92                                          gchar          *buf,
93                                          gint           len,
94                                          gchar          *header);
95
96 HeaderEntry *procheader_entries_from_str(const gchar    *str);
97 void procheader_entries_free            (HeaderEntry    *entries);
98 gboolean procheader_header_is_internal  (const gchar    *hdr_name);
99 #endif /* __PROCHEADER_H__ */