gtk3/docs/reference/gtk/html/gtk3-Feature-Test-Macros.html
2022-11-23 15:09:27 +00:00

429 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Version Information: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="gtkbase.html" title="Part III. GTK+ Core Reference">
<link rel="prev" href="gtk3-General.html" title="Main loop and Events">
<link rel="next" href="gtk3-Keyboard-Accelerators.html" title="Accelerator Groups">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#gtk3-Feature-Test-Macros.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gtkbase.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gtk3-General.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gtk3-Keyboard-Accelerators.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gtk3-Feature-Test-Macros"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gtk3-Feature-Test-Macros.top_of_page"></a>Version Information</span></h2>
<p>Version Information — Variables and functions to check the GTK+ version</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-major-version" title="gtk_get_major_version ()">gtk_get_major_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-minor-version" title="gtk_get_minor_version ()">gtk_get_minor_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-micro-version" title="gtk_get_micro_version ()">gtk_get_micro_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-binary-age" title="gtk_get_binary_age ()">gtk_get_binary_age</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-interface-age" title="gtk_get_interface_age ()">gtk_get_interface_age</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#gtk-check-version" title="gtk_check_version ()">gtk_check_version</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gtk3-Feature-Test-Macros.html#GTK-CHECK-VERSION:CAPS" title="GTK_CHECK_VERSION()">GTK_CHECK_VERSION</a><span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#gtk-major-version" title="gtk_major_version">gtk_major_version</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#gtk-minor-version" title="gtk_minor_version">gtk_minor_version</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#gtk-micro-version" title="gtk_micro_version">gtk_micro_version</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#gtk-binary-age" title="gtk_binary_age">gtk_binary_age</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#gtk-interface-age" title="gtk_interface_age">gtk_interface_age</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MAJOR-VERSION:CAPS" title="GTK_MAJOR_VERSION">GTK_MAJOR_VERSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MINOR-VERSION:CAPS" title="GTK_MINOR_VERSION">GTK_MINOR_VERSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MICRO-VERSION:CAPS" title="GTK_MICRO_VERSION">GTK_MICRO_VERSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#GTK-BINARY-AGE:CAPS" title="GTK_BINARY_AGE">GTK_BINARY_AGE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="gtk3-Feature-Test-Macros.html#GTK-INTERFACE-AGE:CAPS" title="GTK_INTERFACE_AGE">GTK_INTERFACE_AGE</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.description"></a><h2>Description</h2>
<p>GTK+ provides version information, primarily useful in configure checks
for builds that have a configure script. Applications will not typically
use the features described here.</p>
</div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-get-major-version"></a><h3>gtk_get_major_version ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_get_major_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the major version number of the GTK+ library.
(e.g. in GTK+ version 3.1.5 this is 3.)</p>
<p>This function is in the library, so it represents the GTK+ library
your code is running against. Contrast with the <a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MAJOR-VERSION:CAPS" title="GTK_MAJOR_VERSION"><span class="type">GTK_MAJOR_VERSION</span></a>
macro, which represents the major version of the GTK+ headers you
have included when compiling your code.</p>
<div class="refsect3">
<a name="gtk-get-major-version.returns"></a><h4>Returns</h4>
<p> the major version number of the GTK+ library</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-get-minor-version"></a><h3>gtk_get_minor_version ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_get_minor_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the minor version number of the GTK+ library.
(e.g. in GTK+ version 3.1.5 this is 1.)</p>
<p>This function is in the library, so it represents the GTK+ library
your code is are running against. Contrast with the
<a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MINOR-VERSION:CAPS" title="GTK_MINOR_VERSION"><span class="type">GTK_MINOR_VERSION</span></a> macro, which represents the minor version of the
GTK+ headers you have included when compiling your code.</p>
<div class="refsect3">
<a name="gtk-get-minor-version.returns"></a><h4>Returns</h4>
<p> the minor version number of the GTK+ library</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-get-micro-version"></a><h3>gtk_get_micro_version ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_get_micro_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the micro version number of the GTK+ library.
(e.g. in GTK+ version 3.1.5 this is 5.)</p>
<p>This function is in the library, so it represents the GTK+ library
your code is are running against. Contrast with the
<a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MICRO-VERSION:CAPS" title="GTK_MICRO_VERSION"><span class="type">GTK_MICRO_VERSION</span></a> macro, which represents the micro version of the
GTK+ headers you have included when compiling your code.</p>
<div class="refsect3">
<a name="gtk-get-micro-version.returns"></a><h4>Returns</h4>
<p> the micro version number of the GTK+ library</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-get-binary-age"></a><h3>gtk_get_binary_age ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_get_binary_age (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the binary age as passed to <code class="literal">libtool</code>
when building the GTK+ library the process is running against.
If <code class="literal">libtool</code> means nothing to you, don't
worry about it.</p>
<div class="refsect3">
<a name="gtk-get-binary-age.returns"></a><h4>Returns</h4>
<p> the binary age of the GTK+ library</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-get-interface-age"></a><h3>gtk_get_interface_age ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
gtk_get_interface_age (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the interface age as passed to <code class="literal">libtool</code>
when building the GTK+ library the process is running against.
If <code class="literal">libtool</code> means nothing to you, don't
worry about it.</p>
<div class="refsect3">
<a name="gtk-get-interface-age.returns"></a><h4>Returns</h4>
<p> the interface age of the GTK+ library</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-check-version"></a><h3>gtk_check_version ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gtk_check_version (<em class="parameter"><code><span class="type">guint</span> required_major</code></em>,
<em class="parameter"><code><span class="type">guint</span> required_minor</code></em>,
<em class="parameter"><code><span class="type">guint</span> required_micro</code></em>);</pre>
<p>Checks that the GTK+ library in use is compatible with the
given version. Generally you would pass in the constants
<a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MAJOR-VERSION:CAPS" title="GTK_MAJOR_VERSION"><span class="type">GTK_MAJOR_VERSION</span></a>, <a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MINOR-VERSION:CAPS" title="GTK_MINOR_VERSION"><span class="type">GTK_MINOR_VERSION</span></a>, <a class="link" href="gtk3-Feature-Test-Macros.html#GTK-MICRO-VERSION:CAPS" title="GTK_MICRO_VERSION"><span class="type">GTK_MICRO_VERSION</span></a>
as the three arguments to this function; that produces
a check that the library in use is compatible with
the version of GTK+ the application or module was compiled
against.</p>
<p>Compatibility is defined by two things: first the version
of the running library is newer than the version
<em class="parameter"><code>required_major.required_minor</code></em>
.<em class="parameter"><code>required_micro</code></em>
. Second
the running library must be binary compatible with the
version <em class="parameter"><code>required_major.required_minor</code></em>
.<em class="parameter"><code>required_micro</code></em>
(same major version.)</p>
<p>This function is primarily for GTK+ modules; the module
can call this function to check that it wasnt loaded
into an incompatible version of GTK+. However, such a
check isnt completely reliable, since the module may be
linked against an old version of GTK+ and calling the
old version of <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-check-version" title="gtk_check_version ()"><code class="function">gtk_check_version()</code></a>, but still get loaded
into an application using a newer version of GTK+.</p>
<div class="refsect3">
<a name="gtk-check-version.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>required_major</p></td>
<td class="parameter_description"><p>the required major version</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>required_minor</p></td>
<td class="parameter_description"><p>the required minor version</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>required_micro</p></td>
<td class="parameter_description"><p>the required micro version</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-check-version.returns"></a><h4>Returns</h4>
<p><code class="literal">NULL</code> if the GTK+ library is compatible with the
given version, or a string describing the version mismatch.
The returned string is owned by GTK+ and should not be modified
or freed. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GTK-CHECK-VERSION:CAPS"></a><h3>GTK_CHECK_VERSION()</h3>
<pre class="programlisting">#define GTK_CHECK_VERSION(major,minor,micro)</pre>
<p>Returns <code class="literal">TRUE</code> if the version of the GTK+ header files
is the same as or newer than the passed-in version.</p>
<div class="refsect3">
<a name="GTK-CHECK-VERSION.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>major</p></td>
<td class="parameter_description"><p>major version (e.g. 1 for version 1.2.5)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>minor</p></td>
<td class="parameter_description"><p>minor version (e.g. 2 for version 1.2.5)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>micro</p></td>
<td class="parameter_description"><p>micro version (e.g. 5 for version 1.2.5)</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GTK-CHECK-VERSION.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if GTK+ headers are new enough</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="gtk3-Feature-Test-Macros.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="gtk-major-version"></a><h3>gtk_major_version</h3>
<pre class="programlisting">#define gtk_major_version gtk_get_major_version ()
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gtk-minor-version"></a><h3>gtk_minor_version</h3>
<pre class="programlisting">#define gtk_minor_version gtk_get_minor_version ()
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gtk-micro-version"></a><h3>gtk_micro_version</h3>
<pre class="programlisting">#define gtk_micro_version gtk_get_micro_version ()
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gtk-binary-age"></a><h3>gtk_binary_age</h3>
<pre class="programlisting">#define gtk_binary_age gtk_get_binary_age ()
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gtk-interface-age"></a><h3>gtk_interface_age</h3>
<pre class="programlisting">#define gtk_interface_age gtk_get_interface_age ()
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GTK-MAJOR-VERSION:CAPS"></a><h3>GTK_MAJOR_VERSION</h3>
<pre class="programlisting">#define GTK_MAJOR_VERSION (3)
</pre>
<p>Like <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-major-version" title="gtk_get_major_version ()"><code class="function">gtk_get_major_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
against at application run time.</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-MINOR-VERSION:CAPS"></a><h3>GTK_MINOR_VERSION</h3>
<pre class="programlisting">#define GTK_MINOR_VERSION (24)
</pre>
<p>Like <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-minor-version" title="gtk_get_minor_version ()"><code class="function">gtk_get_minor_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
against at application run time.</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-MICRO-VERSION:CAPS"></a><h3>GTK_MICRO_VERSION</h3>
<pre class="programlisting">#define GTK_MICRO_VERSION (35)
</pre>
<p>Like <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-micro-version" title="gtk_get_micro_version ()"><code class="function">gtk_get_micro_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
against at application run time.</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-BINARY-AGE:CAPS"></a><h3>GTK_BINARY_AGE</h3>
<pre class="programlisting">#define GTK_BINARY_AGE (2435)
</pre>
<p>Like <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-binary-age" title="gtk_get_binary_age ()"><code class="function">gtk_get_binary_age()</code></a>, but from the headers used at
application compile time, rather than from the library linked
against at application run time.</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-INTERFACE-AGE:CAPS"></a><h3>GTK_INTERFACE_AGE</h3>
<pre class="programlisting">#define GTK_INTERFACE_AGE (31)
</pre>
<p>Like <a class="link" href="gtk3-Feature-Test-Macros.html#gtk-get-interface-age" title="gtk_get_interface_age ()"><code class="function">gtk_get_interface_age()</code></a>, but from the headers used at
application compile time, rather than from the library linked
against at application run time.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>