shell bypass 403
UnknownSec Shell
:
/
usr
/
share
/
doc
/
libexif-dev
/
libexif-api.html
/ [
drwxr-xr-x
]
upload
mass deface
mass delete
console
info server
name :
exif-data_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta name="generator" content="Doxygen 1.9.8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>EXIF library (libexif) API: libexif/exif-data.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr id="projectrow"> <td id="projectalign"> <div id="projectname">EXIF library (libexif) API<span id="projectnumber"> 0.6.24</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.9.8 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */ </script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ $(document).ready(function(){initNavTree('exif-data_8h.html',''); initResizable(); }); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"><div class="title">exif-data.h File Reference</div></div> </div><!--header--> <div class="contents"> <p>Defines the ExifData type and the associated functions. <a href="#details">More...</a></p> <div class="textblock"><code>#include <<a class="el" href="exif-byte-order_8h_source.html">libexif/exif-byte-order.h</a>></code><br /> <code>#include <libexif/exif-data-type.h></code><br /> <code>#include <libexif/exif-ifd.h></code><br /> <code>#include <<a class="el" href="exif-log_8h_source.html">libexif/exif-log.h</a>></code><br /> <code>#include <<a class="el" href="exif-tag_8h_source.html">libexif/exif-tag.h</a>></code><br /> <code>#include <<a class="el" href="exif-content_8h_source.html">libexif/exif-content.h</a>></code><br /> <code>#include <<a class="el" href="exif-mnote-data_8h_source.html">libexif/exif-mnote-data.h</a>></code><br /> <code>#include <<a class="el" href="exif-mem_8h_source.html">libexif/exif-mem.h</a>></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 class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ExifData.html">_ExifData</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </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 class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a984540c607eb7cfce58cf34e7374ab47" id="r_a984540c607eb7cfce58cf34e7374ab47"><td class="memItemLeft" align="right" valign="top">#define </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 class="memdesc:a984540c607eb7cfce58cf34e7374ab47"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:a984540c607eb7cfce58cf34e7374ab47"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ae62aab6698d7c078e38cd445ddcb8abf" id="r_ae62aab6698d7c078e38cd445ddcb8abf"><td class="memItemLeft" align="right" valign="top"><a id="ae62aab6698d7c078e38cd445ddcb8abf" name="ae62aab6698d7c078e38cd445ddcb8abf"></a> typedef struct <a class="el" href="struct__ExifData.html">_ExifData</a> </td><td class="memItemRight" valign="bottom"><b>ExifData</b></td></tr> <tr class="memdesc:ae62aab6698d7c078e38cd445ddcb8abf"><td class="mdescLeft"> </td><td class="mdescRight">Represents the entire EXIF data found in an image. <br /></td></tr> <tr class="separator:ae62aab6698d7c078e38cd445ddcb8abf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97b20650f53066bfad2fcaafbaf04ff0" id="r_a97b20650f53066bfad2fcaafbaf04ff0"><td class="memItemLeft" align="right" valign="top"><a id="a97b20650f53066bfad2fcaafbaf04ff0" name="a97b20650f53066bfad2fcaafbaf04ff0"></a> typedef struct _ExifDataPrivate </td><td class="memItemRight" valign="bottom"><b>ExifDataPrivate</b></td></tr> <tr class="separator:a97b20650f53066bfad2fcaafbaf04ff0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abca0fdd71c80ad39f90bffb27c7b3fd0" id="r_abca0fdd71c80ad39f90bffb27c7b3fd0"><td class="memItemLeft" align="right" valign="top"><a id="abca0fdd71c80ad39f90bffb27c7b3fd0" name="abca0fdd71c80ad39f90bffb27c7b3fd0"></a> typedef void(* </td><td class="memItemRight" valign="bottom"><b>ExifDataForeachContentFunc</b>) (<a class="el" href="exif-content_8h.html#ac046cba2f9c5cfabf3ad443303090855">ExifContent</a> *, void *user_data)</td></tr> <tr class="separator:abca0fdd71c80ad39f90bffb27c7b3fd0"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a324f86ac1d053b37aaee45d2cfbda96d" id="r_a324f86ac1d053b37aaee45d2cfbda96d"><td class="memItemLeft" align="right" valign="top">enum  </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 << 0 , <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a> = 1 << 1 , <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7">EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE</a> = 1 << 2 }</td></tr> <tr class="memdesc:a324f86ac1d053b37aaee45d2cfbda96d"><td class="mdescLeft"> </td><td class="mdescRight">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>. <a href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">More...</a><br /></td></tr> <tr class="separator:a324f86ac1d053b37aaee45d2cfbda96d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a7ff9a56ae2fe853f58f693152471e4a5" id="r_a7ff9a56ae2fe853f58f693152471e4a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a7ff9a56ae2fe853f58f693152471e4a5">exif_data_new</a> (void)</td></tr> <tr class="memdesc:a7ff9a56ae2fe853f58f693152471e4a5"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:a7ff9a56ae2fe853f58f693152471e4a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc0bf3d93963caf8fd68cc9fbba2b4a5" id="r_adc0bf3d93963caf8fd68cc9fbba2b4a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#adc0bf3d93963caf8fd68cc9fbba2b4a5">exif_data_new_mem</a> (<a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e">ExifMem</a> *)</td></tr> <tr class="memdesc:adc0bf3d93963caf8fd68cc9fbba2b4a5"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:adc0bf3d93963caf8fd68cc9fbba2b4a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abf357512a9cf7d1ef75eadef7547c227" id="r_abf357512a9cf7d1ef75eadef7547c227"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abf357512a9cf7d1ef75eadef7547c227">exif_data_new_from_file</a> (const char *path)</td></tr> <tr class="memdesc:abf357512a9cf7d1ef75eadef7547c227"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:abf357512a9cf7d1ef75eadef7547c227"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a839a01a9f7bf88ef92f9399e336832cf" id="r_a839a01a9f7bf88ef92f9399e336832cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a839a01a9f7bf88ef92f9399e336832cf">exif_data_new_from_data</a> (const unsigned char *data, unsigned int size)</td></tr> <tr class="memdesc:a839a01a9f7bf88ef92f9399e336832cf"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:a839a01a9f7bf88ef92f9399e336832cf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae3ca622e7c30ea30eca06de3a120d84f" id="r_ae3ca622e7c30ea30eca06de3a120d84f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ae3ca622e7c30ea30eca06de3a120d84f">exif_data_load_data</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data, const unsigned char *d, unsigned int size)</td></tr> <tr class="memdesc:ae3ca622e7c30ea30eca06de3a120d84f"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:ae3ca622e7c30ea30eca06de3a120d84f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac5700820c7d7e2a199a9170ed3833591" id="r_ac5700820c7d7e2a199a9170ed3833591"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ac5700820c7d7e2a199a9170ed3833591">exif_data_save_data</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data, unsigned char **d, unsigned int *ds)</td></tr> <tr class="memdesc:ac5700820c7d7e2a199a9170ed3833591"><td class="mdescLeft"> </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. <br /></td></tr> <tr class="separator:ac5700820c7d7e2a199a9170ed3833591"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a41f2b9713a153809c3a19cc7007ef4e1" id="r_a41f2b9713a153809c3a19cc7007ef4e1"><td class="memItemLeft" align="right" valign="top"><a id="a41f2b9713a153809c3a19cc7007ef4e1" name="a41f2b9713a153809c3a19cc7007ef4e1"></a> void </td><td class="memItemRight" valign="bottom"><b>exif_data_ref</b> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data)</td></tr> <tr class="separator:a41f2b9713a153809c3a19cc7007ef4e1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a48cbedffbb7b2fcd74407fe68f09f6" id="r_a2a48cbedffbb7b2fcd74407fe68f09f6"><td class="memItemLeft" align="right" valign="top"><a id="a2a48cbedffbb7b2fcd74407fe68f09f6" name="a2a48cbedffbb7b2fcd74407fe68f09f6"></a> void </td><td class="memItemRight" valign="bottom"><b>exif_data_unref</b> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data)</td></tr> <tr class="separator:a2a48cbedffbb7b2fcd74407fe68f09f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d2f8fee30176bd6460d51d33d080674" id="r_a2d2f8fee30176bd6460d51d33d080674"><td class="memItemLeft" align="right" valign="top"><a id="a2d2f8fee30176bd6460d51d33d080674" name="a2d2f8fee30176bd6460d51d33d080674"></a> void </td><td class="memItemRight" valign="bottom"><b>exif_data_free</b> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data)</td></tr> <tr class="separator:a2d2f8fee30176bd6460d51d33d080674"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d8d50e6a9c19d28fe8192ef7cc52777" id="r_a2d8d50e6a9c19d28fe8192ef7cc52777"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155b">ExifByteOrder</a> </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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data)</td></tr> <tr class="memdesc:a2d8d50e6a9c19d28fe8192ef7cc52777"><td class="mdescLeft"> </td><td class="mdescRight">Return the byte order in use by this EXIF structure. <br /></td></tr> <tr class="separator:a2d8d50e6a9c19d28fe8192ef7cc52777"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0cb36f43b46dabad15aca7378eefe75a" id="r_a0cb36f43b46dabad15aca7378eefe75a"><td class="memItemLeft" align="right" valign="top">void </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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data, <a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155b">ExifByteOrder</a> order)</td></tr> <tr class="memdesc:a0cb36f43b46dabad15aca7378eefe75a"><td class="mdescLeft"> </td><td class="mdescRight">Set the byte order to use for this EXIF data. <br /></td></tr> <tr class="separator:a0cb36f43b46dabad15aca7378eefe75a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3781327036264237ef8dfd88c66bd399" id="r_a3781327036264237ef8dfd88c66bd399"><td class="memItemLeft" align="right" valign="top"><a class="el" href="exif-mnote-data_8h.html#ad274692c704f570122329ef1ab32ed31">ExifMnoteData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a3781327036264237ef8dfd88c66bd399">exif_data_get_mnote_data</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d)</td></tr> <tr class="memdesc:a3781327036264237ef8dfd88c66bd399"><td class="mdescLeft"> </td><td class="mdescRight">Return the MakerNote data out of the EXIF data. <br /></td></tr> <tr class="separator:a3781327036264237ef8dfd88c66bd399"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9146930a0b3ef89375790e19e1bc55b2" id="r_a9146930a0b3ef89375790e19e1bc55b2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a9146930a0b3ef89375790e19e1bc55b2">exif_data_fix</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d)</td></tr> <tr class="memdesc:a9146930a0b3ef89375790e19e1bc55b2"><td class="mdescLeft"> </td><td class="mdescRight">Fix the EXIF data to bring it into specification. <br /></td></tr> <tr class="separator:a9146930a0b3ef89375790e19e1bc55b2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3b39ab4a3117ca9fd7d9a1126b5d879" id="r_ad3b39ab4a3117ca9fd7d9a1126b5d879"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#ad3b39ab4a3117ca9fd7d9a1126b5d879">exif_data_foreach_content</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data, ExifDataForeachContentFunc func, void *user_data)</td></tr> <tr class="memdesc:ad3b39ab4a3117ca9fd7d9a1126b5d879"><td class="mdescLeft"> </td><td class="mdescRight">Execute a function on each IFD in turn. <br /></td></tr> <tr class="separator:ad3b39ab4a3117ca9fd7d9a1126b5d879"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ba9149b6530d627f0074f48ca76fe3e" id="r_a7ba9149b6530d627f0074f48ca76fe3e"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a7ba9149b6530d627f0074f48ca76fe3e">exif_data_option_get_name</a> (<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr> <tr class="memdesc:a7ba9149b6530d627f0074f48ca76fe3e"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:a7ba9149b6530d627f0074f48ca76fe3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a524d9a6ab6784ec8bac5329087b74e62" id="r_a524d9a6ab6784ec8bac5329087b74e62"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#a524d9a6ab6784ec8bac5329087b74e62">exif_data_option_get_description</a> (<a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr> <tr class="memdesc:a524d9a6ab6784ec8bac5329087b74e62"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:a524d9a6ab6784ec8bac5329087b74e62"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3fd819c29391da3b444cc347b86a3d4" id="r_af3fd819c29391da3b444cc347b86a3d4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#af3fd819c29391da3b444cc347b86a3d4">exif_data_set_option</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d, <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr> <tr class="memdesc:af3fd819c29391da3b444cc347b86a3d4"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:af3fd819c29391da3b444cc347b86a3d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe62de8c8f5a24f8847e65ca3a098da8" id="r_abe62de8c8f5a24f8847e65ca3a098da8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abe62de8c8f5a24f8847e65ca3a098da8">exif_data_unset_option</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d, <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96d">ExifDataOption</a> o)</td></tr> <tr class="memdesc:abe62de8c8f5a24f8847e65ca3a098da8"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:abe62de8c8f5a24f8847e65ca3a098da8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe6f9020e02df0d550545b50ddcafe24" id="r_abe6f9020e02df0d550545b50ddcafe24"><td class="memItemLeft" align="right" valign="top">void </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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d, ExifDataType dt)</td></tr> <tr class="memdesc:abe6f9020e02df0d550545b50ddcafe24"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:abe6f9020e02df0d550545b50ddcafe24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4fb5dada09c9fdcab3eb7fe7e840ec84" id="r_a4fb5dada09c9fdcab3eb7fe7e840ec84"><td class="memItemLeft" align="right" valign="top">ExifDataType </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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *d)</td></tr> <tr class="memdesc:a4fb5dada09c9fdcab3eb7fe7e840ec84"><td class="mdescLeft"> </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>. <br /></td></tr> <tr class="separator:a4fb5dada09c9fdcab3eb7fe7e840ec84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abbb8951da3fd646776ee4d8685b61162" id="r_abbb8951da3fd646776ee4d8685b61162"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#abbb8951da3fd646776ee4d8685b61162">exif_data_dump</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data)</td></tr> <tr class="memdesc:abbb8951da3fd646776ee4d8685b61162"><td class="mdescLeft"> </td><td class="mdescRight">Dump all EXIF data to stdout. <br /></td></tr> <tr class="separator:abbb8951da3fd646776ee4d8685b61162"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0d9d41ffeb6cd98906cd5ba5819c5ef" id="r_af0d9d41ffeb6cd98906cd5ba5819c5ef"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="exif-data_8h.html#af0d9d41ffeb6cd98906cd5ba5819c5ef">exif_data_log</a> (<a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> *data, <a class="el" href="exif-log_8h.html#a6b225115984bb2016282923cb487f16b">ExifLog</a> *log)</td></tr> <tr class="memdesc:af0d9d41ffeb6cd98906cd5ba5819c5ef"><td class="mdescLeft"> </td><td class="mdescRight">Set the log message object for all IFDs. <br /></td></tr> <tr class="separator:af0d9d41ffeb6cd98906cd5ba5819c5ef"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Defines the ExifData type and the associated functions. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a984540c607eb7cfce58cf34e7374ab47" name="a984540c607eb7cfce58cf34e7374ab47"></a> <h2 class="memtitle"><span class="permalink"><a href="#a984540c607eb7cfce58cf34e7374ab47">◆ </a></span>exif_data_get_entry</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define exif_data_get_entry</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">d, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">t </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"> (exif_content_get_entry(d->ifd[EXIF_IFD_0],t) ? \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_0],t) : \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_1],t) ? \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_1],t) : \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) ? \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) : \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) ? \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) : \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) ? \</div> <div class="line"> exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) : NULL)</div> </div><!-- fragment --> <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 class="params"><dt>Parameters</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="section return"><dt>Returns</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> <h2 class="groupheader">Enumeration Type Documentation</h2> <a id="a324f86ac1d053b37aaee45d2cfbda96d" name="a324f86ac1d053b37aaee45d2cfbda96d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a324f86ac1d053b37aaee45d2cfbda96d">◆ </a></span>ExifDataOption</h2> <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> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee" name="a324f86ac1d053b37aaee45d2cfbda96da37a62c4c36dfb4d533338062a4040dee"></a>EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS </td><td class="fielddoc"><p>Act as though unknown tags are not present. </p> </td></tr> <tr><td class="fieldname"><a id="a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023" name="a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023"></a>EXIF_DATA_OPTION_FOLLOW_SPECIFICATION </td><td class="fielddoc"><p>Fix the EXIF tags to follow the spec. </p> </td></tr> <tr><td class="fieldname"><a id="a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7" name="a324f86ac1d053b37aaee45d2cfbda96da02a9ae63a51323c42968d1612e8215e7"></a>EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE </td><td class="fielddoc"><p>Leave the MakerNote alone, which could cause it to be corrupted. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="abbb8951da3fd646776ee4d8685b61162" name="abbb8951da3fd646776ee4d8685b61162"></a> <h2 class="memtitle"><span class="permalink"><a href="#abbb8951da3fd646776ee4d8685b61162">◆ </a></span>exif_data_dump()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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 class="params"><dt>Parameters</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 class="reference">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 id="a9146930a0b3ef89375790e19e1bc55b2" name="a9146930a0b3ef89375790e19e1bc55b2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9146930a0b3ef89375790e19e1bc55b2">◆ </a></span>exif_data_fix()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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 exif_content_fix 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 class="params"><dt>Parameters</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 id="ad3b39ab4a3117ca9fd7d9a1126b5d879" name="ad3b39ab4a3117ca9fd7d9a1126b5d879"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad3b39ab4a3117ca9fd7d9a1126b5d879">◆ </a></span>exif_data_foreach_content()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ExifDataForeachContentFunc </td> <td class="paramname"><em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>user_data</em> </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 class="params"><dt>Parameters</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 class="reference">References <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p> </div> </div> <a id="a2d8d50e6a9c19d28fe8192ef7cc52777" name="a2d8d50e6a9c19d28fe8192ef7cc52777"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2d8d50e6a9c19d28fe8192ef7cc52777">◆ </a></span>exif_data_get_byte_order()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155b">ExifByteOrder</a> exif_data_get_byte_order </td> <td>(</td> <td class="paramtype"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>byte order </dd></dl> </div> </div> <a id="a4fb5dada09c9fdcab3eb7fe7e840ec84" name="a4fb5dada09c9fdcab3eb7fe7e840ec84"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4fb5dada09c9fdcab3eb7fe7e840ec84">◆ </a></span>exif_data_get_data_type()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>data type, or EXIF_DATA_TYPE_UNKNOWN on error </dd></dl> </div> </div> <a id="a3781327036264237ef8dfd88c66bd399" name="a3781327036264237ef8dfd88c66bd399"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3781327036264237ef8dfd88c66bd399">◆ </a></span>exif_data_get_mnote_data()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-mnote-data_8h.html#ad274692c704f570122329ef1ab32ed31">ExifMnoteData</a> * exif_data_get_mnote_data </td> <td>(</td> <td class="paramtype"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>MakerNote data, or NULL if not found or not supported </dd></dl> </div> </div> <a id="ae3ca622e7c30ea30eca06de3a120d84f" name="ae3ca622e7c30ea30eca06de3a120d84f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae3ca622e7c30ea30eca06de3a120d84f">◆ </a></span>exif_data_load_data()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>size</em> </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#a3781327036264237ef8dfd88c66bd399" title="Return the MakerNote data out of the EXIF data.">exif_data_get_mnote_data</a>. If the <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023" title="Fix the EXIF tags to follow the spec.">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a> option 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 automatically fixed after loading (by calling <a class="el" href="exif-data_8h.html#a9146930a0b3ef89375790e19e1bc55b2" title="Fix the EXIF data to bring it into specification.">exif_data_fix</a>).</p> <dl class="params"><dt>Parameters</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 class="reference">References <a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155ba851fef40a65a105b066115210a6b40b9">EXIF_BYTE_ORDER_INTEL</a>, <a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155bad71d87054b55fd62b0eed2c2c5e879b1">EXIF_BYTE_ORDER_MOTOROLA</a>, and <a class="el" href="exif-data_8h.html#a324f86ac1d053b37aaee45d2cfbda96dae8470cc4acd5755528f7ff36ba168023">EXIF_DATA_OPTION_FOLLOW_SPECIFICATION</a>.</p> </div> </div> <a id="af0d9d41ffeb6cd98906cd5ba5819c5ef" name="af0d9d41ffeb6cd98906cd5ba5819c5ef"></a> <h2 class="memtitle"><span class="permalink"><a href="#af0d9d41ffeb6cd98906cd5ba5819c5ef">◆ </a></span>exif_data_log()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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> * </td> <td class="paramname"><em>log</em> </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 class="params"><dt>Parameters</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 class="reference">References <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p> </div> </div> <a id="a7ff9a56ae2fe853f58f693152471e4a5" name="a7ff9a56ae2fe853f58f693152471e4a5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7ff9a56ae2fe853f58f693152471e4a5">◆ </a></span>exif_data_new()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * exif_data_new </td> <td>(</td> <td class="paramtype">void </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="section return"><dt>Returns</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 id="a839a01a9f7bf88ef92f9399e336832cf" name="a839a01a9f7bf88ef92f9399e336832cf"></a> <h2 class="memtitle"><span class="permalink"><a href="#a839a01a9f7bf88ef92f9399e336832cf">◆ </a></span>exif_data_new_from_data()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * exif_data_new_from_data </td> <td>(</td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>size</em> </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 class="params"><dt>Parameters</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="section return"><dt>Returns</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 id="abf357512a9cf7d1ef75eadef7547c227" name="abf357512a9cf7d1ef75eadef7547c227"></a> <h2 class="memtitle"><span class="permalink"><a href="#abf357512a9cf7d1ef75eadef7547c227">◆ </a></span>exif_data_new_from_file()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * exif_data_new_from_file </td> <td>(</td> <td class="paramtype">const char * </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 class="params"><dt>Parameters</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="section return"><dt>Returns</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 id="adc0bf3d93963caf8fd68cc9fbba2b4a5" name="adc0bf3d93963caf8fd68cc9fbba2b4a5"></a> <h2 class="memtitle"><span class="permalink"><a href="#adc0bf3d93963caf8fd68cc9fbba2b4a5">◆ </a></span>exif_data_new_mem()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * exif_data_new_mem </td> <td>(</td> <td class="paramtype"><a class="el" href="exif-mem_8h.html#aab8aacbc0ed6f11a1f022b7b1bf4750e">ExifMem</a> * </td> <td class="paramname"><em>mem</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> 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="section return"><dt>Returns</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 class="reference">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 id="a524d9a6ab6784ec8bac5329087b74e62" name="a524d9a6ab6784ec8bac5329087b74e62"></a> <h2 class="memtitle"><span class="permalink"><a href="#a524d9a6ab6784ec8bac5329087b74e62">◆ </a></span>exif_data_option_get_description()</h2> <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> </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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>verbose localized textual description of the option, or NULL if unknown </dd></dl> </div> </div> <a id="a7ba9149b6530d627f0074f48ca76fe3e" name="a7ba9149b6530d627f0074f48ca76fe3e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7ba9149b6530d627f0074f48ca76fe3e">◆ </a></span>exif_data_option_get_name()</h2> <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> </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 class="params"><dt>Parameters</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="section return"><dt>Returns</dt><dd>localized textual description of the option, or NULL if unknown </dd></dl> </div> </div> <a id="ac5700820c7d7e2a199a9170ed3833591" name="ac5700820c7d7e2a199a9170ed3833591"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac5700820c7d7e2a199a9170ed3833591">◆ </a></span>exif_data_save_data()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char ** </td> <td class="paramname"><em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>ds</em> </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 class="params"><dt>Parameters</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 class="reference">References <a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155ba851fef40a65a105b066115210a6b40b9">EXIF_BYTE_ORDER_INTEL</a>, and <a class="el" href="struct__ExifData.html#a93efef6710d8b867b743ed0a152d5293">_ExifData::ifd</a>.</p> </div> </div> <a id="a0cb36f43b46dabad15aca7378eefe75a" name="a0cb36f43b46dabad15aca7378eefe75a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0cb36f43b46dabad15aca7378eefe75a">◆ </a></span>exif_data_set_byte_order()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="exif-byte-order_8h.html#af966227d69ff74eea7ecd69ca645155b">ExifByteOrder</a> </td> <td class="paramname"><em>order</em> </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 class="params"><dt>Parameters</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 id="abe6f9020e02df0d550545b50ddcafe24" name="abe6f9020e02df0d550545b50ddcafe24"></a> <h2 class="memtitle"><span class="permalink"><a href="#abe6f9020e02df0d550545b50ddcafe24">◆ </a></span>exif_data_set_data_type()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </td> <td class="paramname"><em>d</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ExifDataType </td> <td class="paramname"><em>dt</em> </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 class="params"><dt>Parameters</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 id="af3fd819c29391da3b444cc347b86a3d4" name="af3fd819c29391da3b444cc347b86a3d4"></a> <h2 class="memtitle"><span class="permalink"><a href="#af3fd819c29391da3b444cc347b86a3d4">◆ </a></span>exif_data_set_option()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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> </td> <td class="paramname"><em>o</em> </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 class="params"><dt>Parameters</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 id="abe62de8c8f5a24f8847e65ca3a098da8" name="abe62de8c8f5a24f8847e65ca3a098da8"></a> <h2 class="memtitle"><span class="permalink"><a href="#abe62de8c8f5a24f8847e65ca3a098da8">◆ </a></span>exif_data_unset_option()</h2> <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="exif-data_8h.html#ae62aab6698d7c078e38cd445ddcb8abf">ExifData</a> * </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> </td> <td class="paramname"><em>o</em> </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 class="params"><dt>Parameters</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><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_04d2bd150f7cc849eeec70b9b0fdccb1.html">libexif</a></li><li class="navelem"><a class="el" href="exif-data_8h.html">exif-data.h</a></li> <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li> </ul> </div> </body> </html>
© 2026 UnknownSec