Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates > by-pkgid > 9b2eec216777f0c505d4f747f9ee0e8f > files > 50

lensfun-0.3.2-8.1.mga7.i586.rpm

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lensfun: Auxiliary definitions and functions</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>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
MathJax.Hub.Config({
    messageStyle: "none"
});
</script><script type="text/javascript" async="async" src="http://lensfun.sourceforge.net/mathjax/MathJax.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 style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">lensfun
   &#160;<span id="projectnumber">0.3.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</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">
<div class="title">Auxiliary definitions and functions</div>  </div>
</div><!--header-->
<div class="contents">

<p>These functions will help handling basic structures of the library.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga87f344eef72d0022dc6127a2dbb8e315"><td class="memItemLeft" align="right" valign="top"><a id="ga87f344eef72d0022dc6127a2dbb8e315"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga87f344eef72d0022dc6127a2dbb8e315">LF_VERSION_MAJOR</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga87f344eef72d0022dc6127a2dbb8e315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Major library version number. <br /></td></tr>
<tr class="separator:ga87f344eef72d0022dc6127a2dbb8e315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5ffedbf31cb567fea19f22f3b832736"><td class="memItemLeft" align="right" valign="top"><a id="gae5ffedbf31cb567fea19f22f3b832736"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gae5ffedbf31cb567fea19f22f3b832736">LF_VERSION_MINOR</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:gae5ffedbf31cb567fea19f22f3b832736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minor library version number. <br /></td></tr>
<tr class="separator:gae5ffedbf31cb567fea19f22f3b832736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68545712fa14d528824de0a504a65fb0"><td class="memItemLeft" align="right" valign="top"><a id="ga68545712fa14d528824de0a504a65fb0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga68545712fa14d528824de0a504a65fb0">LF_VERSION_MICRO</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga68545712fa14d528824de0a504a65fb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Library micro version number. <br /></td></tr>
<tr class="separator:ga68545712fa14d528824de0a504a65fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f8e91531bec41db25d188304f7cb09e"><td class="memItemLeft" align="right" valign="top"><a id="ga3f8e91531bec41db25d188304f7cb09e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga3f8e91531bec41db25d188304f7cb09e">LF_VERSION_BUGFIX</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga3f8e91531bec41db25d188304f7cb09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Library bugfix number. <br /></td></tr>
<tr class="separator:ga3f8e91531bec41db25d188304f7cb09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb61284c35976b971fb9614867c7b8e3"><td class="memItemLeft" align="right" valign="top"><a id="gadb61284c35976b971fb9614867c7b8e3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gadb61284c35976b971fb9614867c7b8e3">LF_VERSION</a>&#160;&#160;&#160;((<a class="el" href="group__Auxiliary.html#ga87f344eef72d0022dc6127a2dbb8e315">LF_VERSION_MAJOR</a> &lt;&lt; 24) | (<a class="el" href="group__Auxiliary.html#gae5ffedbf31cb567fea19f22f3b832736">LF_VERSION_MINOR</a> &lt;&lt; 16) | (<a class="el" href="group__Auxiliary.html#ga68545712fa14d528824de0a504a65fb0">LF_VERSION_MICRO</a> &lt;&lt; 8) | <a class="el" href="group__Auxiliary.html#ga3f8e91531bec41db25d188304f7cb09e">LF_VERSION_BUGFIX</a>)</td></tr>
<tr class="memdesc:gadb61284c35976b971fb9614867c7b8e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Full library version. <br /></td></tr>
<tr class="separator:gadb61284c35976b971fb9614867c7b8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfa8d1c0a59f050b1cfdb6c9e5429f28"><td class="memItemLeft" align="right" valign="top"><a id="gadfa8d1c0a59f050b1cfdb6c9e5429f28"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gadfa8d1c0a59f050b1cfdb6c9e5429f28">LF_MAX_DATABASE_VERSION</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gadfa8d1c0a59f050b1cfdb6c9e5429f28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Latest database version supported by this release. <br /></td></tr>
<tr class="separator:gadfa8d1c0a59f050b1cfdb6c9e5429f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ae3c2b1412f3c0ce107e769981b5ab1"><td class="memItemLeft" align="right" valign="top"><a id="ga9ae3c2b1412f3c0ce107e769981b5ab1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga9ae3c2b1412f3c0ce107e769981b5ab1">LF_EXPORT</a></td></tr>
<tr class="memdesc:ga9ae3c2b1412f3c0ce107e769981b5ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro expands to an appropiate symbol visibility declaration. <br /></td></tr>
<tr class="separator:ga9ae3c2b1412f3c0ce107e769981b5ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="memItemLeft" align="right" valign="top"><a id="gac1e8a42306d8e67cb94ca31c3956ee78"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a></td></tr>
<tr class="memdesc:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="mdescLeft">&#160;</td><td class="mdescRight">For marking deprecated functions, see <a href="http://stackoverflow.com/a/21265197">http://stackoverflow.com/a/21265197</a>. <br /></td></tr>
<tr class="separator:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf022c6523998cec18c6b369c68fe1dce"><td class="memItemLeft" align="right" valign="top"><a id="gaf022c6523998cec18c6b369c68fe1dce"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;&#160;&#160;int</td></tr>
<tr class="memdesc:gaf022c6523998cec18c6b369c68fe1dce"><td class="mdescLeft">&#160;</td><td class="mdescRight">C-compatible bool type; don't bother to define Yet Another Boolean Type. <br /></td></tr>
<tr class="separator:gaf022c6523998cec18c6b369c68fe1dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga46c9b84f7edf9fd1d31faf8fc1af356f"><td class="memItemLeft" align="right" valign="top">typedef char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a></td></tr>
<tr class="separator:ga46c9b84f7edf9fd1d31faf8fc1af356f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19c5027d3f79aa9902a6c52ec2442cf0"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga19c5027d3f79aa9902a6c52ec2442cf0">lf_u8</a></td></tr>
<tr class="separator:ga19c5027d3f79aa9902a6c52ec2442cf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73946d21941af989e2174237ac987368"><td class="memItemLeft" align="right" valign="top">typedef unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga73946d21941af989e2174237ac987368">lf_u16</a></td></tr>
<tr class="separator:ga73946d21941af989e2174237ac987368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfd74f92d5e6bfa031b97bd8cc5ea5e7"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gacfd74f92d5e6bfa031b97bd8cc5ea5e7">lf_u32</a></td></tr>
<tr class="separator:gacfd74f92d5e6bfa031b97bd8cc5ea5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6b8f15fe3a4588351ad1693c48b871b"><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gae6b8f15fe3a4588351ad1693c48b871b">lf_f32</a></td></tr>
<tr class="separator:gae6b8f15fe3a4588351ad1693c48b871b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa07f26aa3829cde04456e32a90fb001e"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gaa07f26aa3829cde04456e32a90fb001e">lf_f64</a></td></tr>
<tr class="separator:gaa07f26aa3829cde04456e32a90fb001e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaf84c98d42624e1181549de773ac49ad7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gaf84c98d42624e1181549de773ac49ad7">lfError</a> { <a class="el" href="group__Auxiliary.html#ggaf84c98d42624e1181549de773ac49ad7a6419ef83b513591890978b83dd296765">LF_NO_ERROR</a> = 0, 
<a class="el" href="group__Auxiliary.html#ggaf84c98d42624e1181549de773ac49ad7abd9119e4f0c6ced5e417c2768fe84642">LF_WRONG_FORMAT</a>, 
<a class="el" href="group__Auxiliary.html#ggaf84c98d42624e1181549de773ac49ad7a71f196890e0a9df960968cb0aa7987bf">LF_NO_DATABASE</a>
 }</td></tr>
<tr class="separator:gaf84c98d42624e1181549de773ac49ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga675c7ad6ae2c3b98e46a60f3deda317b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga675c7ad6ae2c3b98e46a60f3deda317b">lf_free</a> (void *data)</td></tr>
<tr class="separator:ga675c7ad6ae2c3b98e46a60f3deda317b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cfd1f7b20aa190b3ac4556301fdf299"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga8cfd1f7b20aa190b3ac4556301fdf299">lf_mlstr_get</a> (const <a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a> str)</td></tr>
<tr class="memdesc:ga8cfd1f7b20aa190b3ac4556301fdf299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string corresponding to current locale from a multi-language string.  <a href="#ga8cfd1f7b20aa190b3ac4556301fdf299">More...</a><br /></td></tr>
<tr class="separator:ga8cfd1f7b20aa190b3ac4556301fdf299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0aef8080a85de39b7477d5fb04b5f2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#gaf0aef8080a85de39b7477d5fb04b5f2e">lf_mlstr_add</a> (<a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a> str, const char *lang, const char *trstr)</td></tr>
<tr class="memdesc:gaf0aef8080a85de39b7477d5fb04b5f2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new translated string to a multi-language string.  <a href="#gaf0aef8080a85de39b7477d5fb04b5f2e">More...</a><br /></td></tr>
<tr class="separator:gaf0aef8080a85de39b7477d5fb04b5f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga157d8dc84f49be865d284af2cfa31910"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Auxiliary.html#ga157d8dc84f49be865d284af2cfa31910">lf_mlstr_dup</a> (const <a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a> str)</td></tr>
<tr class="memdesc:ga157d8dc84f49be865d284af2cfa31910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a complete copy of a multi-language string.  <a href="#ga157d8dc84f49be865d284af2cfa31910">More...</a><br /></td></tr>
<tr class="separator:ga157d8dc84f49be865d284af2cfa31910"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions will help handling basic structures of the library. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gae6b8f15fe3a4588351ad1693c48b871b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae6b8f15fe3a4588351ad1693c48b871b">&#9670;&nbsp;</a></span>lf_f32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef float <a class="el" href="group__Auxiliary.html#gae6b8f15fe3a4588351ad1693c48b871b">lf_f32</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of a 32-bit floating-point pixel </p>

</div>
</div>
<a id="gaa07f26aa3829cde04456e32a90fb001e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa07f26aa3829cde04456e32a90fb001e">&#9670;&nbsp;</a></span>lf_f64</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double <a class="el" href="group__Auxiliary.html#gaa07f26aa3829cde04456e32a90fb001e">lf_f64</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of a 64-bit floating-point pixel </p>

</div>
</div>
<a id="ga73946d21941af989e2174237ac987368"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga73946d21941af989e2174237ac987368">&#9670;&nbsp;</a></span>lf_u16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned short <a class="el" href="group__Auxiliary.html#ga73946d21941af989e2174237ac987368">lf_u16</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of a 16-bit pixel </p>

</div>
</div>
<a id="gacfd74f92d5e6bfa031b97bd8cc5ea5e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacfd74f92d5e6bfa031b97bd8cc5ea5e7">&#9670;&nbsp;</a></span>lf_u32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned int <a class="el" href="group__Auxiliary.html#gacfd74f92d5e6bfa031b97bd8cc5ea5e7">lf_u32</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of a 32-bit pixel </p>

</div>
</div>
<a id="ga19c5027d3f79aa9902a6c52ec2442cf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga19c5027d3f79aa9902a6c52ec2442cf0">&#9670;&nbsp;</a></span>lf_u8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned char <a class="el" href="group__Auxiliary.html#ga19c5027d3f79aa9902a6c52ec2442cf0">lf_u8</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The type of a 8-bit pixel </p>

</div>
</div>
<a id="ga46c9b84f7edf9fd1d31faf8fc1af356f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga46c9b84f7edf9fd1d31faf8fc1af356f">&#9670;&nbsp;</a></span>lfMLstr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef char* <a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The storage of "multi-language" strings is simple yet flexible, handy and effective. The first (default) string comes first, terminated by \0 as usual, after that a language code follows, then \0 again, then the translated value and so on. The list terminates as soon as a \0 is encountered instead of next string, e.g. last string in list is terminated with two null characters. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaf84c98d42624e1181549de773ac49ad7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf84c98d42624e1181549de773ac49ad7">&#9670;&nbsp;</a></span>lfError</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__Auxiliary.html#gaf84c98d42624e1181549de773ac49ad7">lfError</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>liblensfun error codes: negative codes are -errno, positive are here </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf84c98d42624e1181549de773ac49ad7a6419ef83b513591890978b83dd296765"></a>LF_NO_ERROR&#160;</td><td class="fielddoc"><p>No error occured </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf84c98d42624e1181549de773ac49ad7abd9119e4f0c6ced5e417c2768fe84642"></a>LF_WRONG_FORMAT&#160;</td><td class="fielddoc"><p>Wrong XML data format </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf84c98d42624e1181549de773ac49ad7a71f196890e0a9df960968cb0aa7987bf"></a>LF_NO_DATABASE&#160;</td><td class="fielddoc"><p>No database could be loaded </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga675c7ad6ae2c3b98e46a60f3deda317b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga675c7ad6ae2c3b98e46a60f3deda317b">&#9670;&nbsp;</a></span>lf_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lf_free </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The basics of memory allocation: never free objects allocated by the library yourselves, instead use this function. It is a direct equivalent of standard C free(), however you should not use free() in the event that the library uses a separate heap. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>A pointer to memory to be freed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="lenstool_8cpp-example.html#a27">lenstool.cpp</a>, and <a class="el" href="tfun_8cpp-example.html#a32">tfun.cpp</a>.</dd>
</dl>

</div>
</div>
<a id="gaf0aef8080a85de39b7477d5fb04b5f2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0aef8080a85de39b7477d5fb04b5f2e">&#9670;&nbsp;</a></span>lf_mlstr_add()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a> lf_mlstr_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a>&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>lang</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>trstr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a new translated string to a multi-language string. </p>
<p>This uses realloc() so returned value may differ from input. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>The string to append to. Can be NULL. </td></tr>
    <tr><td class="paramname">lang</td><td>The language for the new added string. If NULL, the default string is replaced (the first one in list, without a language designator). </td></tr>
    <tr><td class="paramname">trstr</td><td>The translated string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The reallocated multi-language string. To free a multi-language string, use <a class="el" href="group__Auxiliary.html#ga675c7ad6ae2c3b98e46a60f3deda317b">lf_free()</a>. </dd></dl>

</div>
</div>
<a id="ga157d8dc84f49be865d284af2cfa31910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga157d8dc84f49be865d284af2cfa31910">&#9670;&nbsp;</a></span>lf_mlstr_dup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a> lf_mlstr_dup </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a>&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a complete copy of a multi-language string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>The string to create a copy of </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new allocated multi-language string </dd></dl>

</div>
</div>
<a id="ga8cfd1f7b20aa190b3ac4556301fdf299"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8cfd1f7b20aa190b3ac4556301fdf299">&#9670;&nbsp;</a></span>lf_mlstr_get()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lf_mlstr_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__Auxiliary.html#ga46c9b84f7edf9fd1d31faf8fc1af356f">lfMLstr</a>&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a string corresponding to current locale from a multi-language string. </p>
<p>Current locale is determined from LC_MESSAGES category at the time of the call, e.g. if you change LC_MESSAGES at runtime, next calls to <a class="el" href="group__Auxiliary.html#ga8cfd1f7b20aa190b3ac4556301fdf299" title="Get a string corresponding to current locale from a multi-language string.">lf_mlstr_get()</a> will return the string for the new locale. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="example_8c-example.html#a8">example.c</a>, and <a class="el" href="tfun_8cpp-example.html#a4">tfun.cpp</a>.</dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 3 2019 15:07:50 for lensfun by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>