2013-02-27 [mones] 3.9.0cvs104
[claws.git] / src / procheader.h
blobadbc82a669243233d7963ac253e91c77fb9b6e7b
1 /*
2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3 * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
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.
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.
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/>.
20 #ifndef __PROCHEADER_H__
21 #define __PROCHEADER_H__
23 #include <glib.h>
24 #include <stdio.h>
25 #include <time.h>
27 #include "proctypes.h"
29 struct _HeaderEntry
31 gchar *name;
32 gchar *body;
33 gboolean unfold;
36 struct _Header
38 gchar *name;
39 gchar *body;
42 gint procheader_get_one_field (gchar *buf,
43 size_t len,
44 FILE *fp,
45 HeaderEntry hentry[]);
46 gint procheader_get_one_field_asis (gchar *buf,
47 size_t len,
48 FILE *fp);
49 gchar *procheader_get_unfolded_line (gchar *buf,
50 size_t len,
51 FILE *fp);
53 GPtrArray *procheader_get_header_array_asis (FILE *fp);
54 void procheader_header_array_destroy (GPtrArray *harray);
55 void procheader_header_free (Header *header);
57 void procheader_get_header_fields (FILE *fp,
58 HeaderEntry hentry[]);
59 MsgInfo *procheader_parse_file (const gchar *file,
60 MsgFlags flags,
61 gboolean full,
62 gboolean decrypted);
63 MsgInfo *procheader_parse_str (const gchar *str,
64 MsgFlags flags,
65 gboolean full,
66 gboolean decrypted);
67 MsgInfo *procheader_parse_stream (FILE *fp,
68 MsgFlags flags,
69 gboolean full,
70 gboolean decrypted);
72 gchar *procheader_get_fromname (const gchar *str);
74 gboolean procheader_date_parse_to_tm (const gchar *str,
75 struct tm *t,
76 char *zone);
78 time_t procheader_date_parse (gchar *dest,
79 const gchar *src,
80 gint len);
81 void procheader_date_get_localtime (gchar *dest,
82 gint len,
83 const time_t timer);
84 Header * procheader_parse_header (gchar * buf);
86 gboolean procheader_headername_equal (char * hdr1, char * hdr2);
87 void procheader_header_free (Header * header);
89 gint procheader_get_header_from_msginfo (MsgInfo *msginfo,
90 gchar *buf,
91 gint len,
92 gchar *header);
94 HeaderEntry *procheader_entries_from_str(const gchar *str);
95 void procheader_entries_free (HeaderEntry *entries);
96 #endif /* __PROCHEADER_H__ */