<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Device: libgpod Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="libgpod Reference Manual"> <link rel="up" href="ch01.html" title="iPod database components"> <link rel="prev" href="libgpod-Chapter-Data.html" title="Chapter Data"> <link rel="next" href="photodb.html" title="Part II. Photo database"> <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="#libgpod-Device.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="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="libgpod-Chapter-Data.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="photodb.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="libgpod-Device"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="libgpod-Device.top_of_page"></a>Device</span></h2> <p>Device</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="libgpod-Device.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"> <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="returnvalue">Itdb_Device</span></a> * </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-new" title="itdb_device_new ()">itdb_device_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-free" title="itdb_device_free ()">itdb_device_free</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-set-mountpoint" title="itdb_device_set_mountpoint ()">itdb_device_set_mountpoint</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-supports-artwork" title="itdb_device_supports_artwork ()">itdb_device_supports_artwork</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-supports-chapter-image" title="itdb_device_supports_chapter_image ()">itdb_device_supports_chapter_image</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-supports-photo" title="itdb_device_supports_photo ()">itdb_device_supports_photo</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-supports-podcast" title="itdb_device_supports_podcast ()">itdb_device_supports_podcast</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-supports-video" title="itdb_device_supports_video ()">itdb_device_supports_video</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="returnvalue">Itdb_IpodInfo</span></a> * </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-get-ipod-info" title="itdb_device_get_ipod_info ()">itdb_device_get_ipod_info</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="returnvalue">Itdb_IpodInfo</span></a> * </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-info-get-ipod-info-table" title="itdb_info_get_ipod_info_table ()">itdb_info_get_ipod_info_table</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="libgpod-Device.html#itdb-info-get-ipod-generation-string" title="itdb_info_get_ipod_generation_string ()">itdb_info_get_ipod_generation_string</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="libgpod-Device.html#itdb-info-get-ipod-model-name-string" title="itdb_info_get_ipod_model_name_string ()">itdb_info_get_ipod_model_name_string</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-read-sysinfo" title="itdb_device_read_sysinfo ()">itdb_device_read_sysinfo</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-get-sysinfo" title="itdb_device_get_sysinfo ()">itdb_device_get_sysinfo</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-set-sysinfo" title="itdb_device_set_sysinfo ()">itdb_device_set_sysinfo</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gboolean</span> </td> <td class="function_name"> <a class="link" href="libgpod-Device.html#itdb-device-write-sysinfo" title="itdb_device_write_sysinfo ()">itdb_device_write_sysinfo</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="libgpod-Device.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="datatype_keyword"> </td> <td class="function_name"><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device">Itdb_Device</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo">Itdb_IpodInfo</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="libgpod-Device.html#Itdb-IpodGeneration" title="enum Itdb_IpodGeneration">Itdb_IpodGeneration</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="libgpod-Device.html#Itdb-IpodModel" title="enum Itdb_IpodModel">Itdb_IpodModel</a></td> </tr> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="libgpod-Device.html#Itdb-ArtworkFormat" title="Itdb_ArtworkFormat">Itdb_ArtworkFormat</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="libgpod-Device.description"></a><h2>Description</h2> </div> <div class="refsect1"> <a name="libgpod-Device.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="itdb-device-new"></a><h3>itdb_device_new ()</h3> <pre class="programlisting"><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="returnvalue">Itdb_Device</span></a> * itdb_device_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Creates a new <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> structure</p> <div class="refsect3"> <a name="itdb-device-new.returns"></a><h4>Returns</h4> <p> a newly allocated <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> which must be freed with <a class="link" href="libgpod-Device.html#itdb-device-free" title="itdb_device_free ()"><code class="function">itdb_device_free()</code></a> when no longer needed</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-free"></a><h3>itdb_device_free ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> itdb_device_free (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Frees memory used by <em class="parameter"><code>device</code></em> </p> <div class="refsect3"> <a name="itdb-device-free.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-set-mountpoint"></a><h3>itdb_device_set_mountpoint ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> itdb_device_set_mountpoint (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *mp</code></em>);</pre> <p>Sets the mountpoint of <em class="parameter"><code>device</code></em> to <em class="parameter"><code>mp</code></em> and update the cached device information (in particular, re-read the SysInfo file)</p> <div class="warning"><p>Calling this function invalidates all the artwork in the <a class="link" href="libgpod-The-Itdb-iTunesDB-structure.html#Itdb-iTunesDB" title="struct Itdb_iTunesDB"><span class="type">Itdb_iTunesDB</span></a> database using this <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a>. Trying to access this artwork will result in memory corruption. It's recommended to use <a class="link" href="libgpod-The-Itdb-iTunesDB-structure.html#itdb-set-mountpoint" title="itdb_set_mountpoint ()"><code class="function">itdb_set_mountpoint()</code></a> instead which will clean the invalidated artwork for you.</p></div>. <div class="refsect3"> <a name="itdb-device-set-mountpoint.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>mp</p></td> <td class="parameter_description"><p>the new mount point</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-supports-artwork"></a><h3>itdb_device_supports_artwork ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_supports_artwork (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Indicates whether <em class="parameter"><code>device</code></em> can display artwork or not. When dealing with a non-art capable iPod, no artwork data will be written to the iPod so you can spare calls to the artwork handling methods.</p> <div class="refsect3"> <a name="itdb-device-supports-artwork.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-supports-artwork.returns"></a><h4>Returns</h4> <p> true if <em class="parameter"><code>device</code></em> can display artwork.</p> </div> <p class="since">Since: 0.5.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-supports-chapter-image"></a><h3>itdb_device_supports_chapter_image ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_supports_chapter_image (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Indicates whether <em class="parameter"><code>device</code></em> can display chapter images or not.</p> <div class="refsect3"> <a name="itdb-device-supports-chapter-image.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-supports-chapter-image.returns"></a><h4>Returns</h4> <p> true if <em class="parameter"><code>device</code></em> can display chapter images.</p> </div> <p class="since">Since: 0.7.2</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-supports-photo"></a><h3>itdb_device_supports_photo ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_supports_photo (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Indicates whether <em class="parameter"><code>device</code></em> can display photos or not.</p> <div class="refsect3"> <a name="itdb-device-supports-photo.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-supports-photo.returns"></a><h4>Returns</h4> <p> true if <em class="parameter"><code>device</code></em> can display photos.</p> </div> <p class="since">Since: 0.5.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-supports-podcast"></a><h3>itdb_device_supports_podcast ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_supports_podcast (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Indicates whether <em class="parameter"><code>device</code></em> can play podcasts or not.</p> <div class="refsect3"> <a name="itdb-device-supports-podcast.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-supports-podcast.returns"></a><h4>Returns</h4> <p> true if <em class="parameter"><code>device</code></em> can play podcasts.</p> </div> <p class="since">Since: 0.7.2</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-supports-video"></a><h3>itdb_device_supports_video ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_supports_video (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Indicates whether <em class="parameter"><code>device</code></em> can play videos or not.</p> <div class="refsect3"> <a name="itdb-device-supports-video.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-supports-video.returns"></a><h4>Returns</h4> <p> true if <em class="parameter"><code>device</code></em> can play videos.</p> </div> <p class="since">Since: 0.7.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-get-ipod-info"></a><h3>itdb_device_get_ipod_info ()</h3> <pre class="programlisting">const <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="returnvalue">Itdb_IpodInfo</span></a> * itdb_device_get_ipod_info (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Retrieve the <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="type">Itdb_IpodInfo</span></a> entry for this iPod</p> <div class="refsect3"> <a name="itdb-device-get-ipod-info.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-get-ipod-info.returns"></a><h4>Returns</h4> <p> the <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="type">Itdb_IpodInfo</span></a> entry for this iPod</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-info-get-ipod-info-table"></a><h3>itdb_info_get_ipod_info_table ()</h3> <pre class="programlisting">const <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="returnvalue">Itdb_IpodInfo</span></a> * itdb_info_get_ipod_info_table (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Return a pointer to the start of valid iPod model descriptions, which is an array of <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="type">Itdb_IpodInfo</span></a> entries. This can be useful if you want to build a list of all iPod models known to the current libgpod.</p> <div class="refsect3"> <a name="itdb-info-get-ipod-info-table.returns"></a><h4>Returns</h4> <p> a pointer to the array of <a class="link" href="libgpod-Device.html#Itdb-IpodInfo" title="struct Itdb_IpodInfo"><span class="type">Itdb_IpodInfo</span></a> entries.</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-info-get-ipod-generation-string"></a><h3>itdb_info_get_ipod_generation_string ()</h3> <pre class="programlisting">const <span class="returnvalue">gchar</span> * itdb_info_get_ipod_generation_string (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-IpodGeneration" title="enum Itdb_IpodGeneration"><span class="type">Itdb_IpodGeneration</span></a> generation</code></em>);</pre> <p>Return the iPod's generic generation name, like "First Generation", "Mobile Phone"...</p> <div class="refsect3"> <a name="itdb-info-get-ipod-generation-string.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>generation</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-IpodGeneration" title="enum Itdb_IpodGeneration"><span class="type">Itdb_IpodGeneration</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-info-get-ipod-generation-string.returns"></a><h4>Returns</h4> <p> a pointer to the generation name. This is a static string and must not be <code class="function">g_free()</code>d.</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-info-get-ipod-model-name-string"></a><h3>itdb_info_get_ipod_model_name_string ()</h3> <pre class="programlisting">const <span class="returnvalue">gchar</span> * itdb_info_get_ipod_model_name_string (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-IpodModel" title="enum Itdb_IpodModel"><span class="type">Itdb_IpodModel</span></a> model</code></em>);</pre> <p>Return the iPod's generic model name, like "Color", "Nano"...</p> <div class="refsect3"> <a name="itdb-info-get-ipod-model-name-string.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>model</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-IpodModel" title="enum Itdb_IpodModel"><span class="type">Itdb_IpodModel</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-info-get-ipod-model-name-string.returns"></a><h4>Returns</h4> <p> a pointer to the model name. This is a static string and must not be <code class="function">g_free()</code>d.</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-read-sysinfo"></a><h3>itdb_device_read_sysinfo ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_read_sysinfo (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>);</pre> <p>Reads the SysInfo file and stores information in device->sysinfo for later use.</p> <div class="warning"><p>Calling this function invalidates all the artwork in the <a class="link" href="libgpod-The-Itdb-iTunesDB-structure.html#Itdb-iTunesDB" title="struct Itdb_iTunesDB"><span class="type">Itdb_iTunesDB</span></a> database using this <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a>. Trying to access this artwork will result in memory corruption. Directly calling this function shouldn't ever be needed and it will be deprecated soon.</p></div>. <div class="refsect3"> <a name="itdb-device-read-sysinfo.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-read-sysinfo.returns"></a><h4>Returns</h4> <p> TRUE if file could be read, FALSE otherwise </p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-get-sysinfo"></a><h3>itdb_device_get_sysinfo ()</h3> <pre class="programlisting"><span class="returnvalue">gchar</span> * itdb_device_get_sysinfo (<em class="parameter"><code>const <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *field</code></em>);</pre> <p>Retrieve specified field from the SysInfo file.</p> <div class="refsect3"> <a name="itdb-device-get-sysinfo.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>field</p></td> <td class="parameter_description"><p>field to retrive information from</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-get-sysinfo.returns"></a><h4>Returns</h4> <p> the information associated with <em class="parameter"><code>field</code></em> , or NULL if <em class="parameter"><code>field</code></em> couldn't be found. <code class="function">g_free()</code> after use</p> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-set-sysinfo"></a><h3>itdb_device_set_sysinfo ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> itdb_device_set_sysinfo (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *field</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre> <p>Set specified field. It can later be written to the iPod using <a class="link" href="libgpod-Device.html#itdb-device-write-sysinfo" title="itdb_device_write_sysinfo ()"><code class="function">itdb_device_write_sysinfo()</code></a></p> <div class="refsect3"> <a name="itdb-device-set-sysinfo.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>field</p></td> <td class="parameter_description"><p>field to set</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>value to set (or NULL to remove the field).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="itdb-device-write-sysinfo"></a><h3>itdb_device_write_sysinfo ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> itdb_device_write_sysinfo (<em class="parameter"><code><a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a> *device</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Fills the SysInfo file with information in device->sysinfo. Note: no directories are created if not already existent.</p> <div class="refsect3"> <a name="itdb-device-write-sysinfo.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>device</p></td> <td class="parameter_description"><p>an <a class="link" href="libgpod-Device.html#Itdb-Device" title="Itdb_Device"><span class="type">Itdb_Device</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>return location for a <span class="type">GError</span> or NULL</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="itdb-device-write-sysinfo.returns"></a><h4>Returns</h4> <p> TRUE if file could be read, FALSE otherwise </p> </div> <p class="since">Since: 0.4.0</p> </div> </div> <div class="refsect1"> <a name="libgpod-Device.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="Itdb-Device"></a><h3>Itdb_Device</h3> <pre class="programlisting">typedef struct { gchar *mountpoint; gint musicdirs; guint byte_order; GHashTable *sysinfo; SysInfoIpodProperties *sysinfo_extended; gboolean sysinfo_changed; gint timezone_shift; void *iphone_sync_context; int iphone_sync_nest_level; } Itdb_Device; </pre> <p>Structure representing an iPod device</p> <div class="refsect3"> <a name="Itdb-Device.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><span class="type">gchar</span> *<em class="structfield"><code><a name="Itdb-Device.mountpoint"></a>mountpoint</code></em>;</p></td> <td class="struct_member_description"><p>The mountpoint of the iPod</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-Device.musicdirs"></a>musicdirs</code></em>;</p></td> <td class="struct_member_description"><p>The number of /iPod_Control/Music/F.. dirs</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="Itdb-Device.byte-order"></a>byte_order</code></em>;</p></td> <td class="struct_member_description"><p>G_LITTLE_ENDIAN "regular" endianness G_BIG_ENDIAN "reversed" endianness (e.g. mobile phone iTunesDBs)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">GHashTable</span> *<em class="structfield"><code><a name="Itdb-Device.sysinfo"></a>sysinfo</code></em>;</p></td> <td class="struct_member_description"><p>A hash with key/value pairs of all entries in Device/SysInfo</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">SysInfoIpodProperties</span> *<em class="structfield"><code><a name="Itdb-Device.sysinfo-extended"></a>sysinfo_extended</code></em>;</p></td> <td class="struct_member_description"><p>The parsed content of SysInfoExtended, which can be NULL</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gboolean</span> <em class="structfield"><code><a name="Itdb-Device.sysinfo-changed"></a>sysinfo_changed</code></em>;</p></td> <td class="struct_member_description"><p>True if the sysinfo hash been changed by the user, false otherwise. (see <code class="function">itdb_set_sysinfo()</code>)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-Device.timezone-shift"></a>timezone_shift</code></em>;</p></td> <td class="struct_member_description"><p>The difference in seconds between the current timezone and UTC</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">void</span> *<em class="structfield"><code><a name="Itdb-Device.iphone-sync-context"></a>iphone_sync_context</code></em>;</p></td> <td class="struct_member_description"><p>Private data passed as is to libimobiledevice by itdb_start/stop_sync</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="Itdb-Device.iphone-sync-nest-level"></a>iphone_sync_nest_level</code></em>;</p></td> <td class="struct_member_description"><p>Nesting count for itdb_start/stop_sync calls itdb_start/stop_sync</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="Itdb-IpodInfo"></a><h3>struct Itdb_IpodInfo</h3> <pre class="programlisting">struct Itdb_IpodInfo { const gchar *model_number; const double capacity; const Itdb_IpodModel ipod_model; const Itdb_IpodGeneration ipod_generation; const guint musicdirs; /* reserved for future use */ const gint32 reserved_int1; const gint32 reserved_int2; gconstpointer reserved1; gconstpointer reserved2; }; </pre> <p>Structure representing information about an iPod</p> <div class="refsect3"> <a name="Itdb-IpodInfo.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p>const <span class="type">gchar</span> *<em class="structfield"><code><a name="Itdb-IpodInfo.model-number"></a>model_number</code></em>;</p></td> <td class="struct_member_description"><p>The model number. This is abbreviated. If the first character is not numeric, it is ommited. e.g. "MA350 -> A350", "M9829 -> 9829"</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <span class="type">double</span> <em class="structfield"><code><a name="Itdb-IpodInfo.capacity"></a>capacity</code></em>;</p></td> <td class="struct_member_description"><p>The iPod's capacity in gigabytes</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <a class="link" href="libgpod-Device.html#Itdb-IpodModel" title="enum Itdb_IpodModel"><span class="type">Itdb_IpodModel</span></a> <em class="structfield"><code><a name="Itdb-IpodInfo.ipod-model"></a>ipod_model</code></em>;</p></td> <td class="struct_member_description"><p>The iPod model</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <a class="link" href="libgpod-Device.html#Itdb-IpodGeneration" title="enum Itdb_IpodGeneration"><span class="type">Itdb_IpodGeneration</span></a> <em class="structfield"><code><a name="Itdb-IpodInfo.ipod-generation"></a>ipod_generation</code></em>;</p></td> <td class="struct_member_description"><p>The iPod generation</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <span class="type">guint</span> <em class="structfield"><code><a name="Itdb-IpodInfo.musicdirs"></a>musicdirs</code></em>;</p></td> <td class="struct_member_description"><p>The number of music (Fnn) dirs created by iTunes. The exact number seems to be version dependent. Therefore, the numbers here represent a mixture of reported values and common sense. Note: this number does not necessarily represent the number of dirs present on a particular iPod. It is used when setting up a new iPod from scratch.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <span class="type">gint32</span> <em class="structfield"><code><a name="Itdb-IpodInfo.reserved-int1"></a>reserved_int1</code></em>;</p></td> <td class="struct_member_description"><p>Reserved for future use</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p>const <span class="type">gint32</span> <em class="structfield"><code><a name="Itdb-IpodInfo.reserved-int2"></a>reserved_int2</code></em>;</p></td> <td class="struct_member_description"><p>Reserved for future use</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gconstpointer</span> <em class="structfield"><code><a name="Itdb-IpodInfo.reserved1"></a>reserved1</code></em>;</p></td> <td class="struct_member_description"><p>Reserved for future use</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gconstpointer</span> <em class="structfield"><code><a name="Itdb-IpodInfo.reserved2"></a>reserved2</code></em>;</p></td> <td class="struct_member_description"><p>Reserved for future use</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="Itdb-IpodGeneration"></a><h3>enum Itdb_IpodGeneration</h3> <p>iPod generation information</p> <p>See http://support.apple.com/kb/HT1353 and http://en.wikipedia.org/wiki/IPod for more details.</p> <div class="refsect3"> <a name="Itdb-IpodGeneration.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-UNKNOWN:CAPS"></a>ITDB_IPOD_GENERATION_UNKNOWN</p></td> <td class="enum_member_description"> <p>Unknown iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-FIRST:CAPS"></a>ITDB_IPOD_GENERATION_FIRST</p></td> <td class="enum_member_description"> <p>First Generation iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-SECOND:CAPS"></a>ITDB_IPOD_GENERATION_SECOND</p></td> <td class="enum_member_description"> <p>Second Generation iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-THIRD:CAPS"></a>ITDB_IPOD_GENERATION_THIRD</p></td> <td class="enum_member_description"> <p>Third Generation iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-FOURTH:CAPS"></a>ITDB_IPOD_GENERATION_FOURTH</p></td> <td class="enum_member_description"> <p>Fourth Generation iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-PHOTO:CAPS"></a>ITDB_IPOD_GENERATION_PHOTO</p></td> <td class="enum_member_description"> <p>Photo iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-MOBILE:CAPS"></a>ITDB_IPOD_GENERATION_MOBILE</p></td> <td class="enum_member_description"> <p>Mobile iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-MINI-1:CAPS"></a>ITDB_IPOD_GENERATION_MINI_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Mini</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-MINI-2:CAPS"></a>ITDB_IPOD_GENERATION_MINI_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Mini</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-SHUFFLE-1:CAPS"></a>ITDB_IPOD_GENERATION_SHUFFLE_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Shuffle</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-SHUFFLE-2:CAPS"></a>ITDB_IPOD_GENERATION_SHUFFLE_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Shuffle</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-SHUFFLE-3:CAPS"></a>ITDB_IPOD_GENERATION_SHUFFLE_3</p></td> <td class="enum_member_description"> <p>Third Generation iPod Shuffle</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-1:CAPS"></a>ITDB_IPOD_GENERATION_NANO_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Nano</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-2:CAPS"></a>ITDB_IPOD_GENERATION_NANO_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Nano</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-3:CAPS"></a>ITDB_IPOD_GENERATION_NANO_3</p></td> <td class="enum_member_description"> <p>Third Generation iPod Nano</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-4:CAPS"></a>ITDB_IPOD_GENERATION_NANO_4</p></td> <td class="enum_member_description"> <p>Fourth Generation iPod Nano</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-VIDEO-1:CAPS"></a>ITDB_IPOD_GENERATION_VIDEO_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Video (aka 5g)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-VIDEO-2:CAPS"></a>ITDB_IPOD_GENERATION_VIDEO_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Video (aka 5.5g)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-CLASSIC-1:CAPS"></a>ITDB_IPOD_GENERATION_CLASSIC_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Classic</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-CLASSIC-2:CAPS"></a>ITDB_IPOD_GENERATION_CLASSIC_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Classic</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-TOUCH-1:CAPS"></a>ITDB_IPOD_GENERATION_TOUCH_1</p></td> <td class="enum_member_description"> <p>First Generation iPod Touch</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-IPHONE-1:CAPS"></a>ITDB_IPOD_GENERATION_IPHONE_1</p></td> <td class="enum_member_description"> <p>First Generation iPhone</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-SHUFFLE-4:CAPS"></a>ITDB_IPOD_GENERATION_SHUFFLE_4</p></td> <td class="enum_member_description"> <p>Third Generation iPod Shuffle</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-TOUCH-2:CAPS"></a>ITDB_IPOD_GENERATION_TOUCH_2</p></td> <td class="enum_member_description"> <p>Second Generation iPod Touch</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-IPHONE-2:CAPS"></a>ITDB_IPOD_GENERATION_IPHONE_2</p></td> <td class="enum_member_description"> <p>Second Generation iPhone (aka iPhone 3G)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-IPHONE-3:CAPS"></a>ITDB_IPOD_GENERATION_IPHONE_3</p></td> <td class="enum_member_description"> <p>Third Generation iPhone (aka iPhone 3GS)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-CLASSIC-3:CAPS"></a>ITDB_IPOD_GENERATION_CLASSIC_3</p></td> <td class="enum_member_description"> <p>Third Generation iPod Classic</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-5:CAPS"></a>ITDB_IPOD_GENERATION_NANO_5</p></td> <td class="enum_member_description"> <p>Fifth Generation iPod Nano (with camera)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-TOUCH-3:CAPS"></a>ITDB_IPOD_GENERATION_TOUCH_3</p></td> <td class="enum_member_description"> <p>Third Generation iPod Touch</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-IPAD-1:CAPS"></a>ITDB_IPOD_GENERATION_IPAD_1</p></td> <td> </td> <td> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-IPHONE-4:CAPS"></a>ITDB_IPOD_GENERATION_IPHONE_4</p></td> <td class="enum_member_description"> <p>Fourth Generation iPhone</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-TOUCH-4:CAPS"></a>ITDB_IPOD_GENERATION_TOUCH_4</p></td> <td class="enum_member_description"> <p>Fourth Generation iPod Touch</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-GENERATION-NANO-6:CAPS"></a>ITDB_IPOD_GENERATION_NANO_6</p></td> <td> </td> <td> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="Itdb-IpodModel"></a><h3>enum Itdb_IpodModel</h3> <p>iPod model information</p> <div class="refsect3"> <a name="Itdb-IpodModel.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-INVALID:CAPS"></a>ITDB_IPOD_MODEL_INVALID</p></td> <td class="enum_member_description"> <p>Invalid model</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-UNKNOWN:CAPS"></a>ITDB_IPOD_MODEL_UNKNOWN</p></td> <td class="enum_member_description"> <p>Unknown model</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-COLOR:CAPS"></a>ITDB_IPOD_MODEL_COLOR</p></td> <td class="enum_member_description"> <p>Color iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-COLOR-U2:CAPS"></a>ITDB_IPOD_MODEL_COLOR_U2</p></td> <td class="enum_member_description"> <p>Color iPod (U2)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-REGULAR:CAPS"></a>ITDB_IPOD_MODEL_REGULAR</p></td> <td class="enum_member_description"> <p>Regular iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-REGULAR-U2:CAPS"></a>ITDB_IPOD_MODEL_REGULAR_U2</p></td> <td class="enum_member_description"> <p>Regular iPod (U2)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MINI:CAPS"></a>ITDB_IPOD_MODEL_MINI</p></td> <td class="enum_member_description"> <p>iPod Mini</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MINI-BLUE:CAPS"></a>ITDB_IPOD_MODEL_MINI_BLUE</p></td> <td class="enum_member_description"> <p>iPod Mini (Blue)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MINI-PINK:CAPS"></a>ITDB_IPOD_MODEL_MINI_PINK</p></td> <td class="enum_member_description"> <p>iPod Mini (Pink)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MINI-GREEN:CAPS"></a>ITDB_IPOD_MODEL_MINI_GREEN</p></td> <td class="enum_member_description"> <p>iPod Mini (Green)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MINI-GOLD:CAPS"></a>ITDB_IPOD_MODEL_MINI_GOLD</p></td> <td class="enum_member_description"> <p>iPod Mini (Gold)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE</p></td> <td class="enum_member_description"> <p>iPod Shuffle</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-WHITE:CAPS"></a>ITDB_IPOD_MODEL_NANO_WHITE</p></td> <td class="enum_member_description"> <p>iPod Nano (White)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-BLACK:CAPS"></a>ITDB_IPOD_MODEL_NANO_BLACK</p></td> <td class="enum_member_description"> <p>iPod Nano (Black)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-VIDEO-WHITE:CAPS"></a>ITDB_IPOD_MODEL_VIDEO_WHITE</p></td> <td class="enum_member_description"> <p>iPod Video (White)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-VIDEO-BLACK:CAPS"></a>ITDB_IPOD_MODEL_VIDEO_BLACK</p></td> <td class="enum_member_description"> <p>iPod Video (Black)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-MOBILE-1:CAPS"></a>ITDB_IPOD_MODEL_MOBILE_1</p></td> <td class="enum_member_description"> <p>Mobile iPod</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-VIDEO-U2:CAPS"></a>ITDB_IPOD_MODEL_VIDEO_U2</p></td> <td class="enum_member_description"> <p>iPod Video (U2)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-SILVER:CAPS"></a>ITDB_IPOD_MODEL_NANO_SILVER</p></td> <td class="enum_member_description"> <p>iPod Nano (Silver)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-BLUE:CAPS"></a>ITDB_IPOD_MODEL_NANO_BLUE</p></td> <td class="enum_member_description"> <p>iPod Nano (Blue)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-GREEN:CAPS"></a>ITDB_IPOD_MODEL_NANO_GREEN</p></td> <td class="enum_member_description"> <p>iPod Nano (Green)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-PINK:CAPS"></a>ITDB_IPOD_MODEL_NANO_PINK</p></td> <td class="enum_member_description"> <p>iPod Nano (Pink)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-RED:CAPS"></a>ITDB_IPOD_MODEL_NANO_RED</p></td> <td class="enum_member_description"> <p>iPod Nano (Red)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-YELLOW:CAPS"></a>ITDB_IPOD_MODEL_NANO_YELLOW</p></td> <td class="enum_member_description"> <p>iPod Nano (Yellow)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-PURPLE:CAPS"></a>ITDB_IPOD_MODEL_NANO_PURPLE</p></td> <td class="enum_member_description"> <p>iPod Nano (Purple)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-NANO-ORANGE:CAPS"></a>ITDB_IPOD_MODEL_NANO_ORANGE</p></td> <td class="enum_member_description"> <p>iPod Nano (Orange)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-IPHONE-1:CAPS"></a>ITDB_IPOD_MODEL_IPHONE_1</p></td> <td class="enum_member_description"> <p>iPhone</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-SILVER:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_SILVER</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Silver)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-PINK:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_PINK</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Pink)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-BLUE:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_BLUE</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Blue)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-GREEN:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_GREEN</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Green)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-ORANGE:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_ORANGE</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Orange)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-PURPLE:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_PURPLE</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Purple)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-RED:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_RED</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Red)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-CLASSIC-SILVER:CAPS"></a>ITDB_IPOD_MODEL_CLASSIC_SILVER</p></td> <td class="enum_member_description"> <p>iPod Classic (Silver)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-CLASSIC-BLACK:CAPS"></a>ITDB_IPOD_MODEL_CLASSIC_BLACK</p></td> <td class="enum_member_description"> <p>iPod Classic (Black)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-TOUCH-SILVER:CAPS"></a>ITDB_IPOD_MODEL_TOUCH_SILVER</p></td> <td class="enum_member_description"> <p>iPod Touch (Silver)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-BLACK:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_BLACK</p></td> <td class="enum_member_description"> <p>iPod Shuffle (Black)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-IPHONE-WHITE:CAPS"></a>ITDB_IPOD_MODEL_IPHONE_WHITE</p></td> <td class="enum_member_description"> <p>iPhone (White)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-IPHONE-BLACK:CAPS"></a>ITDB_IPOD_MODEL_IPHONE_BLACK</p></td> <td class="enum_member_description"> <p>iPhone (Black)</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-GOLD:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_GOLD</p></td> <td> </td> <td> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-SHUFFLE-STAINLESS:CAPS"></a>ITDB_IPOD_MODEL_SHUFFLE_STAINLESS</p></td> <td> </td> <td> </td> </tr> <tr> <td class="enum_member_name"><p><a name="ITDB-IPOD-MODEL-IPAD:CAPS"></a>ITDB_IPOD_MODEL_IPAD</p></td> <td> </td> <td> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 0.4.0</p> </div> <hr> <div class="refsect2"> <a name="Itdb-ArtworkFormat"></a><h3>Itdb_ArtworkFormat</h3> <pre class="programlisting">typedef struct { gint format_id; gint width; gint height; ItdbThumbFormat format; gint32 padding; gboolean crop; gint rotation; guchar back_color[4]; gint display_width; gboolean interlaced; gint color_adjustment; gdouble gamma; gint associated_format; gint row_bytes_alignment; } Itdb_ArtworkFormat; </pre> <p>Structure representing the characteristics of the thumbnails to write to a given .ithmb file. The format of the structure is based on the way artwork formats are written to SysInfoExtended.</p> <div class="refsect3"> <a name="Itdb-ArtworkFormat.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.format-id"></a>format_id</code></em>;</p></td> <td class="struct_member_description"><p>Unique ID for the format (generally a 4 digit int)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.width"></a>width</code></em>;</p></td> <td class="struct_member_description"><p>Width of the thumbnail</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.height"></a>height</code></em>;</p></td> <td class="struct_member_description"><p>Height of the thumbnail</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">ItdbThumbFormat</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.format"></a>format</code></em>;</p></td> <td class="struct_member_description"><p>Pixel format of the thumbnail (RGB, YUV, ...)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint32</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.padding"></a>padding</code></em>;</p></td> <td class="struct_member_description"><p>Number of bytes of padding to add after the thumbnail (not found in SysInfoExtended -- added for compatibility with hardcoded artwork formats)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gboolean</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.crop"></a>crop</code></em>;</p></td> <td class="struct_member_description"><p>Indicates if the thumbnail is to be cropped</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.rotation"></a>rotation</code></em>;</p></td> <td class="struct_member_description"><p>Degrees to rotate the thumbnail</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">guchar</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.back-color"></a>back_color</code></em>[4];</p></td> <td class="struct_member_description"><p>Background color for the thumbnail</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.display-width"></a>display_width</code></em>;</p></td> <td class="struct_member_description"><p>Width at which the thumbnail will be displayed (not currently used)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gboolean</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.interlaced"></a>interlaced</code></em>;</p></td> <td class="struct_member_description"><p>If TRUE, the thumbnails are interlaced (not currently used)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.color-adjustment"></a>color_adjustment</code></em>;</p></td> <td class="struct_member_description"><p>Color adjustment for the thumbnails (not currently used)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.gamma"></a>gamma</code></em>;</p></td> <td class="struct_member_description"><p>Gamma value for the thumbails (not currently used)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.associated-format"></a>associated_format</code></em>;</p></td> <td class="struct_member_description"><p>Unknown (not currently used)</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="Itdb-ArtworkFormat.row-bytes-alignment"></a>row_bytes_alignment</code></em>;</p></td> <td class="struct_member_description"><p>Specifies the number of bytes a pixel row must be aligned to</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.33.1</div> </body> </html>