File: libfo-version.xml

package info (click to toggle)
xmlroff 0.6.2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 36,456 kB
  • sloc: ansic: 178,247; xml: 109,155; sh: 8,973; makefile: 1,331; perl: 30
file content (381 lines) | stat: -rw-r--r-- 17,892 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
<refentry id="xmlroff-libfo-version">
<refmeta>
<refentrytitle role="top_of_page" id="xmlroff-libfo-version.top_of_page">libfo-version</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>XMLROFF Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>libfo-version</refname>
<refpurpose>libfo version checking</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="xmlroff-libfo-version.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
#define             <link linkend="LIBFO-VERSION-MAJOR:CAPS">LIBFO_VERSION_MAJOR</link>
#define             <link linkend="LIBFO-VERSION-MINOR:CAPS">LIBFO_VERSION_MINOR</link>
#define             <link linkend="LIBFO-VERSION-MICRO:CAPS">LIBFO_VERSION_MICRO</link>
#define             <link linkend="LIBFO-VERSION-STRING:CAPS">LIBFO_VERSION_STRING</link>
#define             <link linkend="LIBFO-VERSION-EXTRA:CAPS">LIBFO_VERSION_EXTRA</link>
#define             <link linkend="LIBFO-PIXELS-PER-INCH:CAPS">LIBFO_PIXELS_PER_INCH</link>
#define             <link linkend="LIBFO-VERSION-ENCODE:CAPS">LIBFO_VERSION_ENCODE</link>                (major, minor, micro)
#define             <link linkend="LIBFO-VERSION:CAPS">LIBFO_VERSION</link>
#define             <link linkend="LIBFO-VERSION-CHECK:CAPS">LIBFO_VERSION_CHECK</link>                 (major,minor,micro)
<link linkend="int">int</link>                 <link linkend="libfo-version">libfo_version</link>                       (void);
const <link linkend="char">char</link>*         <link linkend="libfo-version-string">libfo_version_string</link>                (void);
const <link linkend="char">char</link>*         <link linkend="libfo-version-check">libfo_version_check</link>                 (<link linkend="int">int</link> required_major,
                                                         <link linkend="int">int</link> required_minor,
                                                         <link linkend="int">int</link> required_micro);
<link linkend="int">int</link>                 <link linkend="libfo-pixels-per-inch">libfo_pixels_per_inch</link>               (void);
enum                <link linkend="LibfoModuleEnum">LibfoModuleEnum</link>;
                    <link linkend="LibfoVersionInfo">LibfoVersionInfo</link>;
const <link linkend="LibfoVersionInfo">LibfoVersionInfo</link>** <link linkend="libfo-version-get-info">libfo_version_get_info</link>         (void);
</synopsis>
</refsynopsisdiv>









<refsect1 id="xmlroff-libfo-version.description" role="desc">
<title role="desc.title">Description</title>
<para>
The capital-letter macros defined here can be used to check the
version of libfo at compile-time, and to
<emphasis>encode</emphasis> libfo versions into integers. The
functions can be used to check the version of the linked libfo
library at run-time.</para>
<para>

</para>
</refsect1>

<refsect1 id="xmlroff-libfo-version.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="LIBFO-VERSION-MAJOR:CAPS" role="macro">
<title>LIBFO_VERSION_MAJOR</title>
<indexterm zone="LIBFO-VERSION-MAJOR:CAPS"><primary>LIBFO_VERSION_MAJOR</primary></indexterm><programlisting>#define LIBFO_VERSION_MAJOR 0
</programlisting>
<para>
The major component of the version of libfo available at
compile-time.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-MINOR:CAPS" role="macro">
<title>LIBFO_VERSION_MINOR</title>
<indexterm zone="LIBFO-VERSION-MINOR:CAPS"><primary>LIBFO_VERSION_MINOR</primary></indexterm><programlisting>#define LIBFO_VERSION_MINOR 6
</programlisting>
<para>
The minor component of the version of libfo available at
compile-time.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-MICRO:CAPS" role="macro">
<title>LIBFO_VERSION_MICRO</title>
<indexterm zone="LIBFO-VERSION-MICRO:CAPS"><primary>LIBFO_VERSION_MICRO</primary></indexterm><programlisting>#define LIBFO_VERSION_MICRO 2
</programlisting>
<para>
The micro component of the version of libfo available at
compile-time.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-STRING:CAPS" role="macro">
<title>LIBFO_VERSION_STRING</title>
<indexterm zone="LIBFO-VERSION-STRING:CAPS"><primary>LIBFO_VERSION_STRING</primary></indexterm><programlisting>#define LIBFO_VERSION_STRING "0.6.2"
</programlisting>
<para>
A string literal containing the version of libfo available at
compile-time.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-EXTRA:CAPS" role="macro">
<title>LIBFO_VERSION_EXTRA</title>
<indexterm zone="LIBFO-VERSION-EXTRA:CAPS"><primary>LIBFO_VERSION_EXTRA</primary></indexterm><programlisting>#define LIBFO_VERSION_EXTRA "-SVN541"
</programlisting>
<para>
Extra compile-time version information string literal containing,
e.g., the Subversion changeset number.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-PIXELS-PER-INCH:CAPS" role="macro">
<title>LIBFO_PIXELS_PER_INCH</title>
<indexterm zone="LIBFO-PIXELS-PER-INCH:CAPS"><primary>LIBFO_PIXELS_PER_INCH</primary></indexterm><programlisting>#define LIBFO_PIXELS_PER_INCH 96
</programlisting>
<para>
Pixels per inch for use with graphics without intrinsic size.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-ENCODE:CAPS" role="macro">
<title>LIBFO_VERSION_ENCODE()</title>
<indexterm zone="LIBFO-VERSION-ENCODE:CAPS"><primary>LIBFO_VERSION_ENCODE</primary></indexterm><programlisting>#define             LIBFO_VERSION_ENCODE(major, minor, micro)</programlisting>
<para>
This macro encodes the given libfo version into an integer. The
numbers returned by <link linkend="LIBFO-VERSION:CAPS"><type>LIBFO_VERSION</type></link> and <link linkend="libfo-version"><function>libfo_version()</function></link> are encoded
using this macro. Two encoded version numbers can be compared as
integers.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>major</parameter>&nbsp;:</term>
<listitem><simpara> the major component of the version number
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>minor</parameter>&nbsp;:</term>
<listitem><simpara> the minor component of the version number
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>micro</parameter>&nbsp;:</term>
<listitem><simpara> the micro component of the version number
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="LIBFO-VERSION:CAPS" role="macro">
<title>LIBFO_VERSION</title>
<indexterm zone="LIBFO-VERSION:CAPS"><primary>LIBFO_VERSION</primary></indexterm><programlisting>#define             LIBFO_VERSION</programlisting>
<para>
The version of libfo available at compile-time, encoded using
<link linkend="LIBFO-VERSION-ENCODE:CAPS"><function>LIBFO_VERSION_ENCODE()</function></link>.</para>
<para>

</para></refsect2>
<refsect2 id="LIBFO-VERSION-CHECK:CAPS" role="macro">
<title>LIBFO_VERSION_CHECK()</title>
<indexterm zone="LIBFO-VERSION-CHECK:CAPS"><primary>LIBFO_VERSION_CHECK</primary></indexterm><programlisting>#define             LIBFO_VERSION_CHECK(major,minor,micro)</programlisting>
<para>
Checks that the version of libfo available at compile-time is
not older than the provided version number.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>major</parameter>&nbsp;:</term>
<listitem><simpara> the major component of the version number
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>minor</parameter>&nbsp;:</term>
<listitem><simpara> the minor component of the version number
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>micro</parameter>&nbsp;:</term>
<listitem><simpara> the micro component of the version number
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="libfo-version" role="function">
<title>libfo_version ()</title>
<indexterm zone="libfo-version"><primary>libfo_version</primary></indexterm><programlisting><link linkend="int">int</link>                 libfo_version                       (void);</programlisting>
<para>
This is similar to the macro <link linkend="LIBFO-VERSION:CAPS"><literal>LIBFO_VERSION</literal></link> except that it returns
the encoded version of libfo available at run-time, as opposed
to the version available at compile-time.
</para>
<para>
A version number can be encoded into an integer using
<link linkend="LIBFO-VERSION-ENCODE:CAPS"><function>LIBFO_VERSION_ENCODE()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>value: The encoded version of libfo library
  available at run time.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="libfo-version-string" role="function">
<title>libfo_version_string ()</title>
<indexterm zone="libfo-version-string"><primary>libfo_version_string</primary></indexterm><programlisting>const <link linkend="char">char</link>*         libfo_version_string                (void);</programlisting>
<para>
This is similar to the macro <link linkend="LIBFO-VERSION-STRING:CAPS"><literal>LIBFO_VERSION_STRING</literal></link> except that it
returns the version of libfo available at run-time, as opposed
to the version available at compile-time.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>value: A string containing the version of libfo library
  available at run time.
  The returned string is owned by libfo and should not be modified
  or freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="libfo-version-check" role="function">
<title>libfo_version_check ()</title>
<indexterm zone="libfo-version-check"><primary>libfo_version_check</primary></indexterm><programlisting>const <link linkend="char">char</link>*         libfo_version_check                 (<link linkend="int">int</link> required_major,
                                                         <link linkend="int">int</link> required_minor,
                                                         <link linkend="int">int</link> required_micro);</programlisting>
<para>
Checks that the libfo library in use is compatible with the
given version. Generally you would pass in the constants
<link linkend="LIBFO-VERSION-MAJOR:CAPS"><literal>LIBFO_VERSION_MAJOR</literal></link>, <link linkend="LIBFO-VERSION-MINOR:CAPS"><literal>LIBFO_VERSION_MINOR</literal></link>, <link linkend="LIBFO-VERSION-MICRO:CAPS"><literal>LIBFO_VERSION_MICRO</literal></link> as the
three arguments to this function; that produces a check that the
library in use at run-time is compatible with the version of
libfo the application or module was compiled against.
</para>
<para>
Compatibility is defined by two things: first the version
of the running library is newer than the version
<parameter>required_major.required_minor</parameter>.<parameter>required_micro</parameter>. Second
the running library must be binary compatible with the
version <parameter>required_major.required_minor</parameter>.<parameter>required_micro</parameter>
(same major version.)
</para>
<para>
For compile-time version checking use <link linkend="LIBFO-VERSION-CHECK:CAPS"><function>LIBFO_VERSION_CHECK()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>required_major</parameter>&nbsp;:</term>
<listitem><simpara> the required major version.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>required_minor</parameter>&nbsp;:</term>
<listitem><simpara> the required minor version.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>required_micro</parameter>&nbsp;:</term>
<listitem><simpara> the required major version.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the libfo library is compatible with the
  given version, or a string describing the version mismatch.  The
  returned string is owned by libfo and should not be modified
  or freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="libfo-pixels-per-inch" role="function">
<title>libfo_pixels_per_inch ()</title>
<indexterm zone="libfo-pixels-per-inch"><primary>libfo_pixels_per_inch</primary></indexterm><programlisting><link linkend="int">int</link>                 libfo_pixels_per_inch               (void);</programlisting>
<para>
This is similar to the macro <link linkend="LIBFO-PIXELS-PER-INCH:CAPS"><literal>LIBFO_PIXELS_PER_INCH</literal></link> except that it
returns the encoded pixels per inch of libfo available at run-time,
as opposed to the pixels per inch available at compile-time.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>value: The encoded pixels per inch of libfo library
  available at run time.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="LibfoModuleEnum" role="enum">
<title>enum LibfoModuleEnum</title>
<indexterm zone="LibfoModuleEnum"><primary>LibfoModuleEnum</primary></indexterm><programlisting>typedef enum {
  LIBFO_MODULE_INVALID,
  LIBFO_MODULE_XSL_FORMATTER,
  LIBFO_MODULE_XSLT_PROCESSOR,
  LIBFO_MODULE_XML_DOC,
  LIBFO_MODULE_BACKEND,
  LIBFO_MODULE_PANGO
} LibfoModuleEnum;
</programlisting>
<para>
The type of a module of libfo.</para>
<para>

</para><variablelist role="enum">
<varlistentry id="LIBFO-MODULE-INVALID:CAPS" role="constant">
<term><literal>LIBFO_MODULE_INVALID</literal></term>
<listitem><simpara>        Not a module
</simpara></listitem>
</varlistentry>
<varlistentry id="LIBFO-MODULE-XSL-FORMATTER:CAPS" role="constant">
<term><literal>LIBFO_MODULE_XSL_FORMATTER</literal></term>
<listitem><simpara>  XSL formatter
</simpara></listitem>
</varlistentry>
<varlistentry id="LIBFO-MODULE-XSLT-PROCESSOR:CAPS" role="constant">
<term><literal>LIBFO_MODULE_XSLT_PROCESSOR</literal></term>
<listitem><simpara> XSLT processor
</simpara></listitem>
</varlistentry>
<varlistentry id="LIBFO-MODULE-XML-DOC:CAPS" role="constant">
<term><literal>LIBFO_MODULE_XML_DOC</literal></term>
<listitem><simpara>
</simpara></listitem>
</varlistentry>
<varlistentry id="LIBFO-MODULE-BACKEND:CAPS" role="constant">
<term><literal>LIBFO_MODULE_BACKEND</literal></term>
<listitem><simpara>        Backend
</simpara></listitem>
</varlistentry>
<varlistentry id="LIBFO-MODULE-PANGO:CAPS" role="constant">
<term><literal>LIBFO_MODULE_PANGO</literal></term>
<listitem><simpara>          Pango
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="LibfoVersionInfo" role="struct">
<title>LibfoVersionInfo</title>
<indexterm zone="LibfoVersionInfo"><primary>LibfoVersionInfo</primary></indexterm><programlisting>typedef struct {
  LibfoModuleEnum module;
  const gchar    *nick;
  const gchar    *name;
  gint            compiled;
  const gchar    *compiled_string;
  gint            runtime;
  const gchar    *runtime_string;
} LibfoVersionInfo;
</programlisting>
<para>
Collected version information about a component of libfo.
</para>
<para>
Other than <parameter>nick</parameter>, one or more of the parts of the <link linkend="LibfoVersionInfo"><type>LibfoVersionInfo</type></link>
may be 0 or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the component is unable to report that
information.</para>
<para>

</para><variablelist role="struct">
<varlistentry>
<term><link linkend="LibfoModuleEnum">LibfoModuleEnum</link>&nbsp;<structfield>module</structfield>;</term>
<listitem><simpara>          Type of the module
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>nick</structfield>;</term>
<listitem><simpara>            Nickname
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>name</structfield>;</term>
<listitem><simpara>            <link linkend="FoObject"><type>FoObject</type></link> type name, e.g., <link linkend="FoDocCairo"><type>FoDocCairo</type></link>
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="gint">gint</link>&nbsp;<structfield>compiled</structfield>;</term>
<listitem><simpara>        Compiled version number
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>compiled_string</structfield>;</term>
<listitem><simpara> Compiled version number string
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="gint">gint</link>&nbsp;<structfield>runtime</structfield>;</term>
<listitem><simpara>         Runtime version number
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>runtime_string</structfield>;</term>
<listitem><simpara>  Runtime version number string
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="libfo-version-get-info" role="function">
<title>libfo_version_get_info ()</title>
<indexterm zone="libfo-version-get-info"><primary>libfo_version_get_info</primary></indexterm><programlisting>const <link linkend="LibfoVersionInfo">LibfoVersionInfo</link>** libfo_version_get_info         (void);</programlisting>
<para>
Gets the <link linkend="LibfoVersionInfo"><type>LibfoVersionInfo</type></link> of libfo components.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> Array of pointers to <link linkend="LibfoVersionInfo"><type>LibfoVersionInfo</type></link>.  The last item is <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>