Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 45363f6bf8dfab62c014ce1a875512e9 > files > 38

libexif-devel-0.6.20-1.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>EXIF library (libexif) API: libexif/exif-data.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">EXIF library (libexif) API&#160;<span id="projectnumber">0.6.20</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('exif-data_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>exif-data.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Defines the ExifData type and the associated functions.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;libexif/exif-byte-order.h&gt;</code><br/>
<code>#include &lt;libexif/exif-data-type.h&gt;</code><br/>
<code>#include &lt;libexif/exif-ifd.h&gt;</code><br/>
<code>#include &lt;libexif/exif-log.h&gt;</code><br/>
<code>#include &lt;libexif/exif-tag.h&gt;</code><br/>
<code>#include &lt;libexif/exif-content.h&gt;</code><br/>
<code>#include &lt;libexif/exif-mnote-data.h&gt;</code><br/>
<code>#include &lt;libexif/exif-mem.h&gt;</code><br/>
</div>
<p><a href="exif-data_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ExifData.html">_ExifData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the entire EXIF data found in an image.  <a href="struct__ExifData.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a984540c607eb7cfce58cf34e7374ab47">exif_data_get_entry</a>(d, t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an <a class="el" href="exif-entry_8h.html#a1629f9c1b9c17765f4e5b297f91a6e45" title="Data found in one EXIF tag.">ExifEntry</a> for the given tag if found in any IFD.  <a href="#a984540c607eb7cfce58cf34e7374ab47"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62aab6698d7c078e38cd445ddcb8abf"></a><!-- doxytag: member="exif&#45;data.h::ExifData" ref="ae62aab6698d7c078e38cd445ddcb8abf" args="" -->
typedef struct <a class="el" href="struct__ExifData.html">_ExifData</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the entire EXIF data found in an image. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97b20650f53066bfad2fcaafbaf04ff0"></a><!-- doxytag: member="exif&#45;data.h::ExifDataPrivate" ref="a97b20650f53066bfad2fcaafbaf04ff0" args="" -->
typedef struct _ExifDataPrivate&#160;</td><td class="memItemRight" valign="bottom"><b>ExifDataPrivate</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59abd1064b2757668fc33518d554af72"></a><!-- doxytag: member="exif&#45;data.h::ExifDataForeachContentFunc" ref="a59abd1064b2757668fc33518d554af72" args=")(ExifContent *, void *user_data)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>ExifDataForeachContentFunc</b> )(<a class="el" href="struct__ExifContent.html">ExifContent</a> *, void *user_data)</td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> { <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee">EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS</a> =  1 &lt;&lt; 0, 
<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a> =  1 &lt;&lt; 1, 
<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7">EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE</a> =  1 &lt;&lt; 2
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Options to configure the behaviour of <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
 <a href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a1b1570fbbb15d525a0dfde8db7c8b500">exif_data_new</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.  <a href="#a1b1570fbbb15d525a0dfde8db7c8b500"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ae0236d550b49c78505b82105da905b94">exif_data_new_mem</a> (<a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e">ExifMem</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> using the given memory allocator.  <a href="#ae0236d550b49c78505b82105da905b94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ac3c2d86223d3b219bad7ab2d28d8b8d2">exif_data_new_from_file</a> (const char *path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> and load EXIF data from a JPEG file.  <a href="#ac3c2d86223d3b219bad7ab2d28d8b8d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a66a30ece3bdb6cfd8f2692df27ea2b87">exif_data_new_from_data</a> (const unsigned char *data, unsigned int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> and load EXIF data from a memory buffer.  <a href="#a66a30ece3bdb6cfd8f2692df27ea2b87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ae3ca622e7c30ea30eca06de3a120d84f">exif_data_load_data</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data, const unsigned char *d, unsigned int size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load the <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> structure from the raw JPEG or EXIF data in the given memory buffer.  <a href="#ae3ca622e7c30ea30eca06de3a120d84f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ac5700820c7d7e2a199a9170ed3833591">exif_data_save_data</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data, unsigned char **d, unsigned int *ds)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Store raw EXIF data representing the <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> structure into a memory buffer.  <a href="#ac5700820c7d7e2a199a9170ed3833591"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41f2b9713a153809c3a19cc7007ef4e1"></a><!-- doxytag: member="exif&#45;data.h::exif_data_ref" ref="a41f2b9713a153809c3a19cc7007ef4e1" args="(ExifData *data)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>exif_data_ref</b> (<a class="el" href="struct__ExifData.html">ExifData</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a48cbedffbb7b2fcd74407fe68f09f6"></a><!-- doxytag: member="exif&#45;data.h::exif_data_unref" ref="a2a48cbedffbb7b2fcd74407fe68f09f6" args="(ExifData *data)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>exif_data_unref</b> (<a class="el" href="struct__ExifData.html">ExifData</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d2f8fee30176bd6460d51d33d080674"></a><!-- doxytag: member="exif&#45;data.h::exif_data_free" ref="a2d2f8fee30176bd6460d51d33d080674" args="(ExifData *data)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>exif_data_free</b> (<a class="el" href="struct__ExifData.html">ExifData</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ExifByteOrder&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a2d8d50e6a9c19d28fe8192ef7cc52777">exif_data_get_byte_order</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte order in use by this EXIF structure.  <a href="#a2d8d50e6a9c19d28fe8192ef7cc52777"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a0cb36f43b46dabad15aca7378eefe75a">exif_data_set_byte_order</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data, ExifByteOrder order)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the byte order to use for this EXIF data.  <a href="#a0cb36f43b46dabad15aca7378eefe75a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__ExifMnoteData.html">ExifMnoteData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a81091d71b36b90611e996106680d478f">exif_data_get_mnote_data</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the MakerNote data out of the EXIF data.  <a href="#a81091d71b36b90611e996106680d478f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a9146930a0b3ef89375790e19e1bc55b2">exif_data_fix</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fix the EXIF data to bring it into specification.  <a href="#a9146930a0b3ef89375790e19e1bc55b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ad3b39ab4a3117ca9fd7d9a1126b5d879">exif_data_foreach_content</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data, ExifDataForeachContentFunc func, void *user_data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute a function on each IFD in turn.  <a href="#ad3b39ab4a3117ca9fd7d9a1126b5d879"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a2d755968b904ced3c4ce541ed7b8d109">exif_data_option_get_name</a> (<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a short textual description of the given <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d" title="Options to configure the behaviour of ExifData.">ExifDataOption</a>.  <a href="#a2d755968b904ced3c4ce541ed7b8d109"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a4b2240643a70ea66e4f24ac709086802">exif_data_option_get_description</a> (<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a verbose textual description of the given <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d" title="Options to configure the behaviour of ExifData.">ExifDataOption</a>.  <a href="#a4b2240643a70ea66e4f24ac709086802"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#af3fd819c29391da3b444cc347b86a3d4">exif_data_set_option</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d, <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the given option on the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.  <a href="#af3fd819c29391da3b444cc347b86a3d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abe62de8c8f5a24f8847e65ca3a098da8">exif_data_unset_option</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d, <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the given option on the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.  <a href="#abe62de8c8f5a24f8847e65ca3a098da8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abe6f9020e02df0d550545b50ddcafe24">exif_data_set_data_type</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d, ExifDataType dt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data type for the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.  <a href="#abe6f9020e02df0d550545b50ddcafe24"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ExifDataType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a4fb5dada09c9fdcab3eb7fe7e840ec84">exif_data_get_data_type</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *d)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the data type for the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.  <a href="#a4fb5dada09c9fdcab3eb7fe7e840ec84"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abbb8951da3fd646776ee4d8685b61162">exif_data_dump</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump all EXIF data to stdout.  <a href="#abbb8951da3fd646776ee4d8685b61162"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#af0d9d41ffeb6cd98906cd5ba5819c5ef">exif_data_log</a> (<a class="el" href="struct__ExifData.html">ExifData</a> *data, <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the log message object for all IFDs.  <a href="#af0d9d41ffeb6cd98906cd5ba5819c5ef"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Defines the ExifData type and the associated functions. </p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a984540c607eb7cfce58cf34e7374ab47"></a><!-- doxytag: member="exif&#45;data.h::exif_data_get_entry" ref="a984540c607eb7cfce58cf34e7374ab47" args="(d, t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define exif_data_get_entry</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">t&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(exif_content_get_entry(d-&gt;ifd[EXIF_IFD_0],t) ?                 \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_0],t) :                 \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_1],t) ?                 \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_1],t) :                 \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_EXIF],t) ?              \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_EXIF],t) :              \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_GPS],t) ?               \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_GPS],t) :               \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_INTEROPERABILITY],t) ?  \
         exif_content_get_entry(d-&gt;ifd[EXIF_IFD_INTEROPERABILITY],t) : NULL)
</pre></div>
<p>Return an <a class="el" href="exif-entry_8h.html#a1629f9c1b9c17765f4e5b297f91a6e45" title="Data found in one EXIF tag.">ExifEntry</a> for the given tag if found in any IFD. </p>
<p>Each IFD is searched in turn and the first containing a tag with this number is returned.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td><a class="el" href="exif-tag_8h.html#a1a0ded93d47585f6889eb546915d0f41" title="EXIF tags.">ExifTag</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="exif-entry_8h.html#a1629f9c1b9c17765f4e5b297f91a6e45" title="Data found in one EXIF tag.">ExifEntry</a>* if found, else NULL if not found </dd></dl>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a324f86ac1d053b37aaee45d2cfbda96d"></a><!-- doxytag: member="exif&#45;data.h::ExifDataOption" ref="a324f86ac1d053b37aaee45d2cfbda96d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Options to configure the behaviour of <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee"></a><!-- doxytag: member="EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS" ref="a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee" args="" -->EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS</em>&nbsp;</td><td>
<p>Act as though unknown tags are not present. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023"></a><!-- doxytag: member="EXIF_DATA_OPTION_FOLLOW_SPECIFICATION" ref="a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023" args="" -->EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</em>&nbsp;</td><td>
<p>Fix the EXIF tags to follow the spec. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7"></a><!-- doxytag: member="EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE" ref="a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7" args="" -->EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE</em>&nbsp;</td><td>
<p>Leave the MakerNote alone, which could cause it to be corrupted. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="abbb8951da3fd646776ee4d8685b61162"></a><!-- doxytag: member="exif&#45;data.h::exif_data_dump" ref="abbb8951da3fd646776ee4d8685b61162" args="(ExifData *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_dump </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dump all EXIF data to stdout. </p>
<p>This is intended for diagnostic purposes only.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>EXIF data </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct__ExifData.html#a6adaa7f443903d8fc2d2b232c67bf660">_ExifData::data</a>, <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>, and <a class="el" href="struct__ExifData.html#a83a9d29c7769854ea86dd48979f8b21b">_ExifData::size</a>.</p>

</div>
</div>
<a class="anchor" id="a9146930a0b3ef89375790e19e1bc55b2"></a><!-- doxytag: member="exif&#45;data.h::exif_data_fix" ref="a9146930a0b3ef89375790e19e1bc55b2" args="(ExifData *d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_fix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fix the EXIF data to bring it into specification. </p>
<p>Call <a class="el" href="exif-content_8h.html#a16c54e0f88067820efd37cd3088a9c70" title="Fix the IFD to bring it into specification.">exif_content_fix</a> on each IFD to fix existing entries, create any new entries that are mandatory but do not yet exist, and remove any entries that are not allowed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">d</td><td>EXIF data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad3b39ab4a3117ca9fd7d9a1126b5d879"></a><!-- doxytag: member="exif&#45;data.h::exif_data_foreach_content" ref="ad3b39ab4a3117ca9fd7d9a1126b5d879" args="(ExifData *data, ExifDataForeachContentFunc func, void *user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_foreach_content </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ExifDataForeachContentFunc&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Execute a function on each IFD in turn. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>EXIF data over which to iterate </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>function to call for each entry </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>data to pass into func on each call </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p>

</div>
</div>
<a class="anchor" id="a2d8d50e6a9c19d28fe8192ef7cc52777"></a><!-- doxytag: member="exif&#45;data.h::exif_data_get_byte_order" ref="a2d8d50e6a9c19d28fe8192ef7cc52777" args="(ExifData *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ExifByteOrder exif_data_get_byte_order </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the byte order in use by this EXIF structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>EXIF data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>byte order </dd></dl>

</div>
</div>
<a class="anchor" id="a4fb5dada09c9fdcab3eb7fe7e840ec84"></a><!-- doxytag: member="exif&#45;data.h::exif_data_get_data_type" ref="a4fb5dada09c9fdcab3eb7fe7e840ec84" args="(ExifData *d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ExifDataType exif_data_get_data_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the data type for the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>EXIF data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>data type, or #EXIF_DATA_TYPE_UNKNOWN on error </dd></dl>

</div>
</div>
<a class="anchor" id="a81091d71b36b90611e996106680d478f"></a><!-- doxytag: member="exif&#45;data.h::exif_data_get_mnote_data" ref="a81091d71b36b90611e996106680d478f" args="(ExifData *d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__ExifMnoteData.html">ExifMnoteData</a>* exif_data_get_mnote_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the MakerNote data out of the EXIF data. </p>
<p>Only certain MakerNote formats that are recognized by libexif are supported. The pointer references a member of the <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> structure and must NOT be freed by the caller.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>EXIF data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MakerNote data, or NULL if not found or not supported </dd></dl>

</div>
</div>
<a class="anchor" id="ae3ca622e7c30ea30eca06de3a120d84f"></a><!-- doxytag: member="exif&#45;data.h::exif_data_load_data" ref="ae3ca622e7c30ea30eca06de3a120d84f" args="(ExifData *data, const unsigned char *d, unsigned int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_load_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load the <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> structure from the raw JPEG or EXIF data in the given memory buffer. </p>
<p>If the EXIF data contains a recognized MakerNote, it is loaded and stored as well for later retrieval by <a class="el" href="exif-data_8h.html#a81091d71b36b90611e996106680d478f" title="Return the MakerNote data out of the EXIF data.">exif_data_get_mnote_data</a>. If the EXIF_DATA_OPTION_FOLLOW_SPECIFICATION has been set on this <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>, then the tags are fixed after loading.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>pointer to raw JPEG or EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>number of bytes of data at d </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a>.</p>

</div>
</div>
<a class="anchor" id="af0d9d41ffeb6cd98906cd5ba5819c5ef"></a><!-- doxytag: member="exif&#45;data.h::exif_data_log" ref="af0d9d41ffeb6cd98906cd5ba5819c5ef" args="(ExifData *data, ExifLog *log)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_log </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *&#160;</td>
          <td class="paramname"><em>log</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the log message object for all IFDs. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">log</td><td><a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b" title="State maintained by the logging interface.">ExifLog</a> </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p>

</div>
</div>
<a class="anchor" id="a1b1570fbbb15d525a0dfde8db7c8b500"></a><!-- doxytag: member="exif&#45;data.h::exif_data_new" ref="a1b1570fbbb15d525a0dfde8db7c8b500" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__ExifData.html">ExifData</a>* exif_data_new </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<p>The <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> contains an empty <a class="el" href="exif-content_8h.html#ac046cba2f9c5cfabf3ad443303090855" title="Holds all EXIF tags in a single IFD.">ExifContent</a> for each IFD and the default set of options, which has <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee" title="Act as though unknown tags are not present.">EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS</a> and <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023" title="Fix the EXIF tags to follow the spec.">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a> set.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>, or NULL on error </dd></dl>

</div>
</div>
<a class="anchor" id="a66a30ece3bdb6cfd8f2692df27ea2b87"></a><!-- doxytag: member="exif&#45;data.h::exif_data_new_from_data" ref="a66a30ece3bdb6cfd8f2692df27ea2b87" args="(const unsigned char *data, unsigned int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__ExifData.html">ExifData</a>* exif_data_new_from_data </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> and load EXIF data from a memory buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>pointer to raw JPEG or EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>number of bytes of data at data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>, or NULL on error </dd></dl>

</div>
</div>
<a class="anchor" id="ac3c2d86223d3b219bad7ab2d28d8b8d2"></a><!-- doxytag: member="exif&#45;data.h::exif_data_new_from_file" ref="ac3c2d86223d3b219bad7ab2d28d8b8d2" args="(const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__ExifData.html">ExifData</a>* exif_data_new_from_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> and load EXIF data from a JPEG file. </p>
<p>Uses an <a class="el" href="exif-loader_8h.html#a2b96cbffaf0f92340a960f887026eced" title="Data used by the loader interface.">ExifLoader</a> internally to do the loading.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>filename including path </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>, or NULL on error </dd></dl>

</div>
</div>
<a class="anchor" id="ae0236d550b49c78505b82105da905b94"></a><!-- doxytag: member="exif&#45;data.h::exif_data_new_mem" ref="ae0236d550b49c78505b82105da905b94" args="(ExifMem *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct__ExifData.html">ExifData</a>* exif_data_new_mem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e">ExifMem</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a new <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> using the given memory allocator. </p>
<p>The <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> contains an empty <a class="el" href="exif-content_8h.html#ac046cba2f9c5cfabf3ad443303090855" title="Holds all EXIF tags in a single IFD.">ExifContent</a> for each IFD and the default set of options, which has <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee" title="Act as though unknown tags are not present.">EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS</a> and <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023" title="Fix the EXIF tags to follow the spec.">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a> set.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>, or NULL on error </dd></dl>

<p>References <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a>, <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee">EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS</a>, <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>, and <a class="el" href="struct__ExifContent.html#aae965558ea5c98783c4c2418364aabea">_ExifContent::parent</a>.</p>

</div>
</div>
<a class="anchor" id="a4b2240643a70ea66e4f24ac709086802"></a><!-- doxytag: member="exif&#45;data.h::exif_data_option_get_description" ref="a4b2240643a70ea66e4f24ac709086802" args="(ExifDataOption o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* exif_data_option_get_description </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a>&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a verbose textual description of the given <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d" title="Options to configure the behaviour of ExifData.">ExifDataOption</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>option </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>verbose localized textual description of the option </dd></dl>

</div>
</div>
<a class="anchor" id="a2d755968b904ced3c4ce541ed7b8d109"></a><!-- doxytag: member="exif&#45;data.h::exif_data_option_get_name" ref="a2d755968b904ced3c4ce541ed7b8d109" args="(ExifDataOption o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* exif_data_option_get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a>&#160;</td>
          <td class="paramname"><em>o</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a short textual description of the given <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d" title="Options to configure the behaviour of ExifData.">ExifDataOption</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>option </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>localized textual description of the option </dd></dl>

</div>
</div>
<a class="anchor" id="ac5700820c7d7e2a199a9170ed3833591"></a><!-- doxytag: member="exif&#45;data.h::exif_data_save_data" ref="ac5700820c7d7e2a199a9170ed3833591" args="(ExifData *data, unsigned char **d, unsigned int *ds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_save_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>ds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Store raw EXIF data representing the <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a> structure into a memory buffer. </p>
<p>The buffer is allocated by this function and must subsequently be freed by the caller using the matching free function as used by the <a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e" title="ExifMem define a memory allocator.">ExifMem</a> in use by this <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">d</td><td>pointer to buffer pointer containing raw EXIF data on return </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ds</td><td>pointer to variable to hold the number of bytes of data at d, or set to 0 on error </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p>

</div>
</div>
<a class="anchor" id="a0cb36f43b46dabad15aca7378eefe75a"></a><!-- doxytag: member="exif&#45;data.h::exif_data_set_byte_order" ref="a0cb36f43b46dabad15aca7378eefe75a" args="(ExifData *data, ExifByteOrder order)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_set_byte_order </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ExifByteOrder&#160;</td>
          <td class="paramname"><em>order</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the byte order to use for this EXIF data. </p>
<p>If any tags already exist (including MakerNote tags) they are are converted to the specified byte order.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>byte order </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe6f9020e02df0d550545b50ddcafe24"></a><!-- doxytag: member="exif&#45;data.h::exif_data_set_data_type" ref="abe6f9020e02df0d550545b50ddcafe24" args="(ExifData *d, ExifDataType dt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_set_data_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ExifDataType&#160;</td>
          <td class="paramname"><em>dt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the data type for the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dt</td><td>data type </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3fd819c29391da3b444cc347b86a3d4"></a><!-- doxytag: member="exif&#45;data.h::exif_data_set_option" ref="af3fd819c29391da3b444cc347b86a3d4" args="(ExifData *d, ExifDataOption o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_set_option </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a>&#160;</td>
          <td class="paramname"><em>o</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the given option on the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>option </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe62de8c8f5a24f8847e65ca3a098da8"></a><!-- doxytag: member="exif&#45;data.h::exif_data_unset_option" ref="abe62de8c8f5a24f8847e65ca3a098da8" args="(ExifData *d, ExifDataOption o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exif_data_unset_option </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a>&#160;</td>
          <td class="paramname"><em>o</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear the given option on the given <a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf" title="Represents the entire EXIF data found in an image.">ExifData</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>EXIF data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">o</td><td>option </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="exif-data_8h.html">exif-data.h</a>      </li>
      <li class="footer">Generated on Fri Mar 18 2011 for EXIF library (libexif) API by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>