"Initial commit to Gerrit"
[profile/ivi/libgsf.git] / gsf / gsf.h
1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * gsf.h:
4  *
5  * Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of version 2.1 of the GNU Lesser General Public
9  * License as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
19  * USA
20  */
21
22 #ifndef GSF_H
23 #define GSF_H
24
25 #include <glib.h>
26
27 G_BEGIN_DECLS
28
29 /**
30  * GsfInput:
31  *
32  * Class representing an input stream.
33  */
34 typedef struct _GsfInput        GsfInput;
35
36 /**
37  * GsfInfil:
38  *
39  * Class representing an input file.
40  */
41 typedef struct _GsfInfile       GsfInfile;
42
43 /**
44  * GsfOutput:
45  *
46  * Class representing an output stream, counterpart to #GsfInput.
47  */
48 typedef struct _GsfOutput       GsfOutput;
49
50 /**
51  * GsfOutfile:
52  *
53  * Class representing an output file, counterpart to #GsfInfile.
54  */
55 typedef struct _GsfOutfile      GsfOutfile;
56
57 /**
58  * GsfDocProp:
59  *
60  * Class representing a properties of a document.
61  */
62 typedef struct _GsfDocProp      GsfDocProp;
63
64 /**
65  * GsfDocMetaData:
66  *
67  * Class representing information about a document, such as creator and time of
68  * last modification.
69  */
70 typedef struct _GsfDocMetaData  GsfDocMetaData;
71
72 /**
73  * GsfTimestamp:
74  * @date :      #GDate in local timezone
75  * @seconds :   #glong number of seconds since @date.
76  * @time_zone : possibly blank #GString of the timezone
77  * @timet : as from mktime.
78  *
79  * A point in time.
80  */
81 typedef struct _GsfTimestamp    GsfTimestamp;
82
83 /**
84  * gsf_off_t:
85  *
86  * Data type to represent offsets (positions) within a data stream.
87  *
88  * FIXME:
89  * gsf_off_t is really supposed to be the widest type off_t can be configured
90  * to on the platform
91  */
92 typedef gint64 gsf_off_t;
93
94 /**
95  * GSF_OFF_T_FORMAT:
96  *
97  * The printf(3) conversion specifier to be used for printing values of type
98  * #gsf_off_t.
99  */
100 #define GSF_OFF_T_FORMAT        G_GINT64_FORMAT
101
102 G_END_DECLS
103
104 #endif /* GSF_H */