<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>NTv2 File Processing Routines: libntv2.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="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 style="padding-left: 0.5em;">
   <div id="projectname">NTv2 File Processing Routines
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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>
    </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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">libntv2.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="libntv2_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 name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__extent.html">NTV2_EXTENT</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__file__ov.html">NTV2_FILE_OV</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__file__sf.html">NTV2_FILE_SF</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__file__end.html">NTV2_FILE_END</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__file__gs.html">NTV2_FILE_GS</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__rec.html">NTV2_REC</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntv2__hdr.html">NTV2_HDR</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a1d229fc44ad3986f25ec40b62aec7ab8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a1d229fc44ad3986f25ec40b62aec7ab8">NTV2_VERSION_MAJOR</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a1d229fc44ad3986f25ec40b62aec7ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31e7a621ffc7757c736c125a62ed0437"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a31e7a621ffc7757c736c125a62ed0437">NTV2_VERSION_MINOR</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a31e7a621ffc7757c736c125a62ed0437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab867381a70724953aa6fbf35e3873ddb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ab867381a70724953aa6fbf35e3873ddb">NTV2_VERSION_RELEASE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ab867381a70724953aa6fbf35e3873ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc42d5222cb45cc0a75fcffc0973a356"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#afc42d5222cb45cc0a75fcffc0973a356">NTV2_VERSION_STR</a>&#160;&#160;&#160;&quot;1.0.0&quot;</td></tr>
<tr class="separator:afc42d5222cb45cc0a75fcffc0973a356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cfbed77a3bc39771d0961d9abadfbab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a2cfbed77a3bc39771d0961d9abadfbab">NTV2_NULL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a2cfbed77a3bc39771d0961d9abadfbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae59be51b452fca4a6f79583bb2cec304"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ae59be51b452fca4a6f79583bb2cec304">NTV2_COORD_LON</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ae59be51b452fca4a6f79583bb2cec304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f52958cc8e1d6322ea00bd59137225"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ae6f52958cc8e1d6322ea00bd59137225">NTV2_COORD_LAT</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ae6f52958cc8e1d6322ea00bd59137225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea0bca060b640ae0440fe7b92f38b95c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aea0bca060b640ae0440fe7b92f38b95c">NTV2_MAX_PATH_LEN</a>&#160;&#160;&#160;256</td></tr>
<tr class="separator:aea0bca060b640ae0440fe7b92f38b95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d526ee1ae0a34611157e5774ad74639"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a9d526ee1ae0a34611157e5774ad74639">NTV2_MAX_ERR_LEN</a>&#160;&#160;&#160;32</td></tr>
<tr class="separator:a9d526ee1ae0a34611157e5774ad74639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cbf1baafedc0f272ebab0f953db5416"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a2cbf1baafedc0f272ebab0f953db5416">NTV2_NAME_LEN</a>&#160;&#160;&#160;8</td></tr>
<tr class="separator:a2cbf1baafedc0f272ebab0f953db5416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d5bea90143e6702f3fc023d7139ffd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a67d5bea90143e6702f3fc023d7139ffd">NTV2_FILE_BIN_EXTENSION</a>&#160;&#160;&#160;&quot;gsb&quot;</td></tr>
<tr class="separator:a67d5bea90143e6702f3fc023d7139ffd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fb87ed06181fd6902c93fe1b25a7e22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a0fb87ed06181fd6902c93fe1b25a7e22">NTV2_FILE_ASC_EXTENSION</a>&#160;&#160;&#160;&quot;gsa&quot;</td></tr>
<tr class="separator:a0fb87ed06181fd6902c93fe1b25a7e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec57d433c47ccb7df7bd094d385b6f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a3ec57d433c47ccb7df7bd094d385b6f3">NTV2_FILE_TYPE_UNK</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3ec57d433c47ccb7df7bd094d385b6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459c14f5e3b499b4973d0a450638ff75"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a459c14f5e3b499b4973d0a450638ff75">NTV2_FILE_TYPE_BIN</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a459c14f5e3b499b4973d0a450638ff75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459ddadac38a5641ca122a81f94b0191"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a459ddadac38a5641ca122a81f94b0191">NTV2_FILE_TYPE_ASC</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a459ddadac38a5641ca122a81f94b0191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac60af9d0cfd0ca60b048b6e18924f9a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac60af9d0cfd0ca60b048b6e18924f9a7">NTV2_ERR_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ac60af9d0cfd0ca60b048b6e18924f9a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace2ff3dd9579849bac5c8d134a60fbf8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ace2ff3dd9579849bac5c8d134a60fbf8">NTV2_ERR_NO_MEMORY</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ace2ff3dd9579849bac5c8d134a60fbf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0a6df7533aaeae68776260b6b7c614"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#acd0a6df7533aaeae68776260b6b7c614">NTV2_ERR_IOERR</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:acd0a6df7533aaeae68776260b6b7c614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9bdf80699c85264a61a94c129baa539"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ad9bdf80699c85264a61a94c129baa539">NTV2_ERR_NULL_HDR</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ad9bdf80699c85264a61a94c129baa539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7206a1b71893485bb8f61913c353d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a0b7206a1b71893485bb8f61913c353d2">NTV2_ERR_FILE_NEEDS_FIXING</a>&#160;&#160;&#160;101</td></tr>
<tr class="separator:a0b7206a1b71893485bb8f61913c353d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184c3dc2fb7188b599c9b9880f9dc3ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a184c3dc2fb7188b599c9b9880f9dc3ca">NTV2_ERR_START</a>&#160;&#160;&#160;200</td></tr>
<tr class="separator:a184c3dc2fb7188b599c9b9880f9dc3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46006c45a0080a5f9fd6d4d309fdd2a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac46006c45a0080a5f9fd6d4d309fdd2a">NTV2_ERR_INVALID_LAT_MIN_MAX</a>&#160;&#160;&#160;201</td></tr>
<tr class="separator:ac46006c45a0080a5f9fd6d4d309fdd2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a283df2b1a2fbbba09302263a4cb55ebf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a283df2b1a2fbbba09302263a4cb55ebf">NTV2_ERR_INVALID_LON_MIN_MAX</a>&#160;&#160;&#160;202</td></tr>
<tr class="separator:a283df2b1a2fbbba09302263a4cb55ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7e4eb0f405ac142be6de395a080aad9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ad7e4eb0f405ac142be6de395a080aad9">NTV2_ERR_INVALID_LAT_MIN</a>&#160;&#160;&#160;203</td></tr>
<tr class="separator:ad7e4eb0f405ac142be6de395a080aad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c5f9ffea9ebdd88a54053af0f00b397"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a7c5f9ffea9ebdd88a54053af0f00b397">NTV2_ERR_INVALID_LAT_MAX</a>&#160;&#160;&#160;204</td></tr>
<tr class="separator:a7c5f9ffea9ebdd88a54053af0f00b397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082584e70287c4201280b5393290c3f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a082584e70287c4201280b5393290c3f4">NTV2_ERR_INVALID_LAT_INC</a>&#160;&#160;&#160;205</td></tr>
<tr class="separator:a082584e70287c4201280b5393290c3f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86047d8655e50c0eaebac8a5a6a61254"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a86047d8655e50c0eaebac8a5a6a61254">NTV2_ERR_INVALID_LON_INC</a>&#160;&#160;&#160;206</td></tr>
<tr class="separator:a86047d8655e50c0eaebac8a5a6a61254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372a46049a02a0cd6b081ca9b1e28f77"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a372a46049a02a0cd6b081ca9b1e28f77">NTV2_ERR_INVALID_LON_MIN</a>&#160;&#160;&#160;207</td></tr>
<tr class="separator:a372a46049a02a0cd6b081ca9b1e28f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0980ab79fa4d6da9253d4f271aac9fb8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a0980ab79fa4d6da9253d4f271aac9fb8">NTV2_ERR_INVALID_LON_MAX</a>&#160;&#160;&#160;208</td></tr>
<tr class="separator:a0980ab79fa4d6da9253d4f271aac9fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eff13a374f574edf95b13485bc385a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a6eff13a374f574edf95b13485bc385a4">NTV2_ERR_UNRECOVERABLE_START</a>&#160;&#160;&#160;300</td></tr>
<tr class="separator:a6eff13a374f574edf95b13485bc385a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedec8930294b71bdaa02689546fe6c5d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aedec8930294b71bdaa02689546fe6c5d">NTV2_ERR_INVALID_NUM_OREC</a>&#160;&#160;&#160;301</td></tr>
<tr class="separator:aedec8930294b71bdaa02689546fe6c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a594e5137af9e32c35395cc92b856b59c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a594e5137af9e32c35395cc92b856b59c">NTV2_ERR_INVALID_NUM_SREC</a>&#160;&#160;&#160;302</td></tr>
<tr class="separator:a594e5137af9e32c35395cc92b856b59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d49c2b2cd219cd4f07d423b266a4a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a14d49c2b2cd219cd4f07d423b266a4a7">NTV2_ERR_INVALID_NUM_FILE</a>&#160;&#160;&#160;303</td></tr>
<tr class="separator:a14d49c2b2cd219cd4f07d423b266a4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a320a1eafc41b8aa814a54100e74e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a40a320a1eafc41b8aa814a54100e74e4">NTV2_ERR_INVALID_GS_TYPE</a>&#160;&#160;&#160;304</td></tr>
<tr class="separator:a40a320a1eafc41b8aa814a54100e74e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e4831b8a9e5cba08fae9071a48c42d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a81e4831b8a9e5cba08fae9071a48c42d">NTV2_ERR_INVALID_GS_COUNT</a>&#160;&#160;&#160;305</td></tr>
<tr class="separator:a81e4831b8a9e5cba08fae9071a48c42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dccf29d344da87a1fd84eafddb6a001"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a9dccf29d344da87a1fd84eafddb6a001">NTV2_ERR_INVALID_DELTA</a>&#160;&#160;&#160;306</td></tr>
<tr class="separator:a9dccf29d344da87a1fd84eafddb6a001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa725b687f7f5f2b748feba1e29a566c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aa725b687f7f5f2b748feba1e29a566c3">NTV2_ERR_INVALID_PARENT_NAME</a>&#160;&#160;&#160;307</td></tr>
<tr class="separator:aa725b687f7f5f2b748feba1e29a566c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2548b4ee132b2d68564dcee61733cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a4c2548b4ee132b2d68564dcee61733cb">NTV2_ERR_PARENT_NOT_FOUND</a>&#160;&#160;&#160;308</td></tr>
<tr class="separator:a4c2548b4ee132b2d68564dcee61733cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9b260504684696a97314ba671eea95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a5a9b260504684696a97314ba671eea95">NTV2_ERR_NO_TOP_LEVEL_PARENT</a>&#160;&#160;&#160;309</td></tr>
<tr class="separator:a5a9b260504684696a97314ba671eea95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4924e0a07d7ef191cadf3e8980cab180"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a4924e0a07d7ef191cadf3e8980cab180">NTV2_ERR_PARENT_LOOP</a>&#160;&#160;&#160;310</td></tr>
<tr class="separator:a4924e0a07d7ef191cadf3e8980cab180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae717bb80bcf1b0649066b72b988decb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ae717bb80bcf1b0649066b72b988decb2">NTV2_ERR_PARENT_OVERLAP</a>&#160;&#160;&#160;311</td></tr>
<tr class="separator:ae717bb80bcf1b0649066b72b988decb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3498629369a6767d2f98fdcd7e04a03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aa3498629369a6767d2f98fdcd7e04a03">NTV2_ERR_SUBFILE_OVERLAP</a>&#160;&#160;&#160;312</td></tr>
<tr class="separator:aa3498629369a6767d2f98fdcd7e04a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f290be000231225bf0a3208915f280d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a8f290be000231225bf0a3208915f280d">NTV2_ERR_INVALID_EXTENT</a>&#160;&#160;&#160;313</td></tr>
<tr class="separator:a8f290be000231225bf0a3208915f280d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35d3d8d7d7efbf69052b9f5565dd05f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a35d3d8d7d7efbf69052b9f5565dd05f5">NTV2_ERR_HDRS_NOT_READ</a>&#160;&#160;&#160;314</td></tr>
<tr class="separator:a35d3d8d7d7efbf69052b9f5565dd05f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773eaf2f80ada39169ccf395fe64dde6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a773eaf2f80ada39169ccf395fe64dde6">NTV2_ERR_UNKNOWN_FILE_TYPE</a>&#160;&#160;&#160;315</td></tr>
<tr class="separator:a773eaf2f80ada39169ccf395fe64dde6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7419633544225e74158dc9bde0a3355"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ab7419633544225e74158dc9bde0a3355">NTV2_ERR_FILE_NOT_BINARY</a>&#160;&#160;&#160;316</td></tr>
<tr class="separator:ab7419633544225e74158dc9bde0a3355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30cb633fecb135d7fefb7e5bce8443e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a30cb633fecb135d7fefb7e5bce8443e8">NTV2_ERR_FILE_NOT_ASCII</a>&#160;&#160;&#160;317</td></tr>
<tr class="separator:a30cb633fecb135d7fefb7e5bce8443e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac789d2a381876394db109316a17a4245"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac789d2a381876394db109316a17a4245">NTV2_ERR_NULL_PATH</a>&#160;&#160;&#160;318</td></tr>
<tr class="separator:ac789d2a381876394db109316a17a4245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21628df2035cbea0f4cd4277654a8ccb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a21628df2035cbea0f4cd4277654a8ccb">NTV2_ERR_ORIG_DATA_NOT_KEPT</a>&#160;&#160;&#160;319</td></tr>
<tr class="separator:a21628df2035cbea0f4cd4277654a8ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a842967a496abedef5bf91c800be60da4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a842967a496abedef5bf91c800be60da4">NTV2_ERR_DATA_NOT_READ</a>&#160;&#160;&#160;320</td></tr>
<tr class="separator:a842967a496abedef5bf91c800be60da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7f66c674e6d351790ed93e09606df96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ad7f66c674e6d351790ed93e09606df96">NTV2_ERR_CANNOT_OPEN_FILE</a>&#160;&#160;&#160;321</td></tr>
<tr class="separator:ad7f66c674e6d351790ed93e09606df96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3847ea1b143dcd64c0e3437d058c3c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#af3847ea1b143dcd64c0e3437d058c3c6">NTV2_ERR_UNEXPECTED_EOF</a>&#160;&#160;&#160;322</td></tr>
<tr class="separator:af3847ea1b143dcd64c0e3437d058c3c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453429f5b2a339a7632632e7469b1c78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a453429f5b2a339a7632632e7469b1c78">NTV2_ERR_INVALID_LINE</a>&#160;&#160;&#160;323</td></tr>
<tr class="separator:a453429f5b2a339a7632632e7469b1c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7cdc187861577cec417463cf1f1757f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#af7cdc187861577cec417463cf1f1757f">NTV2_FIX_UNPRINTABLE_CHAR</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:af7cdc187861577cec417463cf1f1757f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a1c6ba1253afdc6afea680db05c398b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a9a1c6ba1253afdc6afea680db05c398b">NTV2_FIX_NAME_LOWERCASE</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:a9a1c6ba1253afdc6afea680db05c398b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d5f8d584706dc8f2e70ea59b39864f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a48d5f8d584706dc8f2e70ea59b39864f">NTV2_FIX_NAME_NOT_ALPHA</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:a48d5f8d584706dc8f2e70ea59b39864f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada9be9ad9668220e8498933f53e0fc13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ada9be9ad9668220e8498933f53e0fc13">NTV2_FIX_BLANK_PARENT_NAME</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="separator:ada9be9ad9668220e8498933f53e0fc13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff0a52a7b997ceaf276c865255e961cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aff0a52a7b997ceaf276c865255e961cf">NTV2_FIX_BLANK_SUBFILE_NAME</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="separator:aff0a52a7b997ceaf276c865255e961cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60ca887c514ac3f0f0d8857ea419206f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a60ca887c514ac3f0f0d8857ea419206f">NTV2_FIX_END_REC_NOT_FOUND</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="separator:a60ca887c514ac3f0f0d8857ea419206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf7b8b5be4962874c78b79f76842eca1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#abf7b8b5be4962874c78b79f76842eca1">NTV2_FIX_END_REC_NAME_NOT_ALPHA</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="separator:abf7b8b5be4962874c78b79f76842eca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acde7af76658d7d98a3e51e809e183928"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#acde7af76658d7d98a3e51e809e183928">NTV2_FIX_END_REC_PAD_NOT_ZERO</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="separator:acde7af76658d7d98a3e51e809e183928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02f7b35edf1f5d2d93f839cc3bcacdfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a02f7b35edf1f5d2d93f839cc3bcacdfd">NTV2_ENDIAN_INP_FILE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a02f7b35edf1f5d2d93f839cc3bcacdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a740545072a411568ba08009ac27828bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a740545072a411568ba08009ac27828bb">NTV2_ENDIAN_BIG</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a740545072a411568ba08009ac27828bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8503df76fd44ee07b63594d1b86e7a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#abd8503df76fd44ee07b63594d1b86e7a">NTV2_ENDIAN_LITTLE</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:abd8503df76fd44ee07b63594d1b86e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2678837d36a7795b92613d6a68d5562"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac2678837d36a7795b92613d6a68d5562">NTV2_ENDIAN_NATIVE</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ac2678837d36a7795b92613d6a68d5562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536bae53f072571271bf2103c9be4a39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a536bae53f072571271bf2103c9be4a39">NTV2_DUMP_HDRS_EXT</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:a536bae53f072571271bf2103c9be4a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d4d860fbedb5d2acaa01db58e308a6b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a3d4d860fbedb5d2acaa01db58e308a6b">NTV2_DUMP_HDRS_INT</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:a3d4d860fbedb5d2acaa01db58e308a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc4942933a684cae8e3ed1072d740cea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#adc4942933a684cae8e3ed1072d740cea">NTV2_DUMP_HDRS_BOTH</a>&#160;&#160;&#160;0x03</td></tr>
<tr class="separator:adc4942933a684cae8e3ed1072d740cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9d0fd3345539df1792e24a4e04ce68"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aad9d0fd3345539df1792e24a4e04ce68">NTV2_DUMP_HDRS_SUMMARY</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:aad9d0fd3345539df1792e24a4e04ce68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a395dd2f7ce4a8ce17ec4773f99e67b7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a395dd2f7ce4a8ce17ec4773f99e67b7f">NTV2_DUMP_DATA</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="separator:a395dd2f7ce4a8ce17ec4773f99e67b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba55dc7d624e7f1bc1d028f7b9e8bbf3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aba55dc7d624e7f1bc1d028f7b9e8bbf3">NTV2_DUMP_DATA_ACC</a>&#160;&#160;&#160;0x30</td></tr>
<tr class="separator:aba55dc7d624e7f1bc1d028f7b9e8bbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2c4254d2ac0f61328e18f2a2463b1b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a3e2c4254d2ac0f61328e18f2a2463b1b">NTV2_STATUS_NOTFOUND</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3e2c4254d2ac0f61328e18f2a2463b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76534c1f127a8c03cc9f836a37e40ab0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a76534c1f127a8c03cc9f836a37e40ab0">NTV2_STATUS_CONTAINED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a76534c1f127a8c03cc9f836a37e40ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ec58f5064d7fc7a47cce99df7775e81"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a9ec58f5064d7fc7a47cce99df7775e81">NTV2_STATUS_NORTH</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a9ec58f5064d7fc7a47cce99df7775e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29a901d47ad16e87f5daabc03ebc3224"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a29a901d47ad16e87f5daabc03ebc3224">NTV2_STATUS_WEST</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a29a901d47ad16e87f5daabc03ebc3224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa33162b7dd9f82aa4fe2f80de975b1c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aa33162b7dd9f82aa4fe2f80de975b1c6">NTV2_STATUS_NORTH_WEST</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:aa33162b7dd9f82aa4fe2f80de975b1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213a31f2deb8e5ff6f85cf1875847cbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a213a31f2deb8e5ff6f85cf1875847cbe">NTV2_STATUS_OUTSIDE_CELL</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:a213a31f2deb8e5ff6f85cf1875847cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33d0080b2937f7c7b59cc0684e71198"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac33d0080b2937f7c7b59cc0684e71198">NTV2_CVT_FORWARD</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ac33d0080b2937f7c7b59cc0684e71198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd57939bb3c51a520a6cce055002ca2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a3bd57939bb3c51a520a6cce055002ca2">NTV2_CVT_INVERSE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3bd57939bb3c51a520a6cce055002ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca58e6d341e32d764893248e74caebfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#aca58e6d341e32d764893248e74caebfc">NTV2_CVT_REVERSE</a>(n)&#160;&#160;&#160;(1 - n)</td></tr>
<tr class="separator:aca58e6d341e32d764893248e74caebfc"><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:ab2479579ea4e6da398d5dc38fc0f0007"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a></td></tr>
<tr class="separator:ab2479579ea4e6da398d5dc38fc0f0007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae76b4de123251d6b3579547f13bf29d4"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a> [2]</td></tr>
<tr class="separator:ae76b4de123251d6b3579547f13bf29d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acccdea4f2bf68cc0186fe50dbbcd1305"><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#acccdea4f2bf68cc0186fe50dbbcd1305">NTV2_SHIFT</a> [2]</td></tr>
<tr class="separator:acccdea4f2bf68cc0186fe50dbbcd1305"><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:a476058083ab47808ba6823fceeaf13da"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a476058083ab47808ba6823fceeaf13da">ntv2_errmsg</a> (int err_num, char msg_buf[<a class="el" href="libntv2_8h.html#a9d526ee1ae0a34611157e5774ad74639">NTV2_MAX_ERR_LEN</a>])</td></tr>
<tr class="separator:a476058083ab47808ba6823fceeaf13da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a500ae54f9d10eb244d3100110ae63e6f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a500ae54f9d10eb244d3100110ae63e6f">ntv2_filetype</a> (const char *ntv2file)</td></tr>
<tr class="separator:a500ae54f9d10eb244d3100110ae63e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac99444b7787a5272348158399d35b1"><td class="memItemLeft" align="right" valign="top">NTV2_HDR *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#acac99444b7787a5272348158399d35b1">ntv2_load_file</a> (const char *ntv2file, <a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a> keep_orig, <a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a> read_data, NTV2_EXTENT *extent, int *prc)</td></tr>
<tr class="separator:acac99444b7787a5272348158399d35b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4929a7b55225938f1bf3bb883b5ddd4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac4929a7b55225938f1bf3bb883b5ddd4">ntv2_delete</a> (NTV2_HDR *hdr)</td></tr>
<tr class="separator:ac4929a7b55225938f1bf3bb883b5ddd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a344ce1cd351255be32462ada48172d44"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a344ce1cd351255be32462ada48172d44">ntv2_write_file</a> (NTV2_HDR *hdr, const char *path, int byte_order)</td></tr>
<tr class="separator:a344ce1cd351255be32462ada48172d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae470a547597f6950e650aaa7f2d0d133"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ae470a547597f6950e650aaa7f2d0d133">ntv2_validate</a> (NTV2_HDR *hdr, FILE *fp)</td></tr>
<tr class="separator:ae470a547597f6950e650aaa7f2d0d133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a297225f04d7b0d2c419345ad6c74ec05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a297225f04d7b0d2c419345ad6c74ec05">ntv2_dump</a> (const NTV2_HDR *hdr, FILE *fp, int mode)</td></tr>
<tr class="separator:a297225f04d7b0d2c419345ad6c74ec05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac591c26a640a695db355ac819f3751de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#ac591c26a640a695db355ac819f3751de">ntv2_list</a> (const NTV2_HDR *hdr, FILE *fp, int mode, <a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a> do_hdr_line)</td></tr>
<tr class="separator:ac591c26a640a695db355ac819f3751de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53fa2ef2090b168ed20148a32a6aaedd"><td class="memItemLeft" align="right" valign="top">const NTV2_REC *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a53fa2ef2090b168ed20148a32a6aaedd">ntv2_find_rec</a> (const NTV2_HDR *hdr, double lon, double lat, int *pstatus)</td></tr>
<tr class="separator:a53fa2ef2090b168ed20148a32a6aaedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82816ba328a56ee4dd4cee595b9ccb04"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a82816ba328a56ee4dd4cee595b9ccb04">ntv2_forward</a> (const NTV2_HDR *hdr, double deg_factor, int n, <a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a> coord[])</td></tr>
<tr class="separator:a82816ba328a56ee4dd4cee595b9ccb04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33688ca8984125ebd57f2e86d57e0946"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a33688ca8984125ebd57f2e86d57e0946">ntv2_inverse</a> (const NTV2_HDR *hdr, double deg_factor, int n, <a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a> coord[])</td></tr>
<tr class="separator:a33688ca8984125ebd57f2e86d57e0946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64c40958c9849a95b0e15239591e1115"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libntv2_8h.html#a64c40958c9849a95b0e15239591e1115">ntv2_transform</a> (const NTV2_HDR *hdr, double deg_factor, int n, <a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a> coord[], int direction)</td></tr>
<tr class="separator:a64c40958c9849a95b0e15239591e1115"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ae6f52958cc8e1d6322ea00bd59137225"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_COORD_LAT&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>NTV2_COORD latitude </p>

</div>
</div>
<a class="anchor" id="ae59be51b452fca4a6f79583bb2cec304"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_COORD_LON&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>NTV2_COORD longitude </p>

</div>
</div>
<a class="anchor" id="ac33d0080b2937f7c7b59cc0684e71198"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_CVT_FORWARD&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert data forward </p>

</div>
</div>
<a class="anchor" id="a3bd57939bb3c51a520a6cce055002ca2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_CVT_INVERSE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert data inverse </p>

</div>
</div>
<a class="anchor" id="aca58e6d341e32d764893248e74caebfc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_CVT_REVERSE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n</td><td>)</td>
          <td>&#160;&#160;&#160;(1 - n)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reverse the direction </p>

</div>
</div>
<a class="anchor" id="a395dd2f7ce4a8ce17ec4773f99e67b7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_DATA&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump data for shifts </p>

</div>
</div>
<a class="anchor" id="aba55dc7d624e7f1bc1d028f7b9e8bbf3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_DATA_ACC&#160;&#160;&#160;0x30</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump data for shifts &amp; accuracy </p>

</div>
</div>
<a class="anchor" id="adc4942933a684cae8e3ed1072d740cea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_HDRS_BOTH&#160;&#160;&#160;0x03</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump hdrs both ways </p>

</div>
</div>
<a class="anchor" id="a536bae53f072571271bf2103c9be4a39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_HDRS_EXT&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump hdrs as they are in file </p>

</div>
</div>
<a class="anchor" id="a3d4d860fbedb5d2acaa01db58e308a6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_HDRS_INT&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump hdrs as they are in memory </p>

</div>
</div>
<a class="anchor" id="aad9d0fd3345539df1792e24a4e04ce68"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_DUMP_HDRS_SUMMARY&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump hdr summaries </p>

</div>
</div>
<a class="anchor" id="a740545072a411568ba08009ac27828bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ENDIAN_BIG&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Big-endian byte-order </p>

</div>
</div>
<a class="anchor" id="a02f7b35edf1f5d2d93f839cc3bcacdfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ENDIAN_INP_FILE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Input-file byte-order </p>

</div>
</div>
<a class="anchor" id="abd8503df76fd44ee07b63594d1b86e7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ENDIAN_LITTLE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Little-endian byte-order </p>

</div>
</div>
<a class="anchor" id="ac2678837d36a7795b92613d6a68d5562"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ENDIAN_NATIVE&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Native byte-order </p>

</div>
</div>
<a class="anchor" id="ad7f66c674e6d351790ed93e09606df96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_CANNOT_OPEN_FILE&#160;&#160;&#160;321</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a842967a496abedef5bf91c800be60da4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_DATA_NOT_READ&#160;&#160;&#160;320</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0b7206a1b71893485bb8f61913c353d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_FILE_NEEDS_FIXING&#160;&#160;&#160;101</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a30cb633fecb135d7fefb7e5bce8443e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_FILE_NOT_ASCII&#160;&#160;&#160;317</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab7419633544225e74158dc9bde0a3355"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_FILE_NOT_BINARY&#160;&#160;&#160;316</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a35d3d8d7d7efbf69052b9f5565dd05f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_HDRS_NOT_READ&#160;&#160;&#160;314</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9dccf29d344da87a1fd84eafddb6a001"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_DELTA&#160;&#160;&#160;306</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8f290be000231225bf0a3208915f280d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_EXTENT&#160;&#160;&#160;313</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a81e4831b8a9e5cba08fae9071a48c42d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_GS_COUNT&#160;&#160;&#160;305</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a40a320a1eafc41b8aa814a54100e74e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_GS_TYPE&#160;&#160;&#160;304</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a082584e70287c4201280b5393290c3f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LAT_INC&#160;&#160;&#160;205</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7c5f9ffea9ebdd88a54053af0f00b397"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LAT_MAX&#160;&#160;&#160;204</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad7e4eb0f405ac142be6de395a080aad9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LAT_MIN&#160;&#160;&#160;203</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac46006c45a0080a5f9fd6d4d309fdd2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LAT_MIN_MAX&#160;&#160;&#160;201</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a453429f5b2a339a7632632e7469b1c78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LINE&#160;&#160;&#160;323</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a86047d8655e50c0eaebac8a5a6a61254"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LON_INC&#160;&#160;&#160;206</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0980ab79fa4d6da9253d4f271aac9fb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LON_MAX&#160;&#160;&#160;208</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a372a46049a02a0cd6b081ca9b1e28f77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LON_MIN&#160;&#160;&#160;207</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a283df2b1a2fbbba09302263a4cb55ebf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_LON_MIN_MAX&#160;&#160;&#160;202</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a14d49c2b2cd219cd4f07d423b266a4a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_NUM_FILE&#160;&#160;&#160;303</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aedec8930294b71bdaa02689546fe6c5d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_NUM_OREC&#160;&#160;&#160;301</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a594e5137af9e32c35395cc92b856b59c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_NUM_SREC&#160;&#160;&#160;302</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa725b687f7f5f2b748feba1e29a566c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_INVALID_PARENT_NAME&#160;&#160;&#160;307</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acd0a6df7533aaeae68776260b6b7c614"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_IOERR&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ace2ff3dd9579849bac5c8d134a60fbf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_NO_MEMORY&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5a9b260504684696a97314ba671eea95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_NO_TOP_LEVEL_PARENT&#160;&#160;&#160;309</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad9bdf80699c85264a61a94c129baa539"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_NULL_HDR&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac789d2a381876394db109316a17a4245"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_NULL_PATH&#160;&#160;&#160;318</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac60af9d0cfd0ca60b048b6e18924f9a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_OK&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a21628df2035cbea0f4cd4277654a8ccb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_ORIG_DATA_NOT_KEPT&#160;&#160;&#160;319</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4924e0a07d7ef191cadf3e8980cab180"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_PARENT_LOOP&#160;&#160;&#160;310</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4c2548b4ee132b2d68564dcee61733cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_PARENT_NOT_FOUND&#160;&#160;&#160;308</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae717bb80bcf1b0649066b72b988decb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_PARENT_OVERLAP&#160;&#160;&#160;311</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a184c3dc2fb7188b599c9b9880f9dc3ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_START&#160;&#160;&#160;200</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa3498629369a6767d2f98fdcd7e04a03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_SUBFILE_OVERLAP&#160;&#160;&#160;312</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af3847ea1b143dcd64c0e3437d058c3c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_UNEXPECTED_EOF&#160;&#160;&#160;322</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a773eaf2f80ada39169ccf395fe64dde6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_UNKNOWN_FILE_TYPE&#160;&#160;&#160;315</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6eff13a374f574edf95b13485bc385a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_ERR_UNRECOVERABLE_START&#160;&#160;&#160;300</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0fb87ed06181fd6902c93fe1b25a7e22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FILE_ASC_EXTENSION&#160;&#160;&#160;&quot;gsa&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>"Grid Shift Ascii" </p>

</div>
</div>
<a class="anchor" id="a67d5bea90143e6702f3fc023d7139ffd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FILE_BIN_EXTENSION&#160;&#160;&#160;&quot;gsb&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>"Grid Shift Binary" </p>

</div>
</div>
<a class="anchor" id="a459ddadac38a5641ca122a81f94b0191"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FILE_TYPE_ASC&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>File type is ascii </p>

</div>
</div>
<a class="anchor" id="a459c14f5e3b499b4973d0a450638ff75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FILE_TYPE_BIN&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>File type is binary </p>

</div>
</div>
<a class="anchor" id="a3ec57d433c47ccb7df7bd094d385b6f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FILE_TYPE_UNK&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>File type is unknown </p>

</div>
</div>
<a class="anchor" id="ada9be9ad9668220e8498933f53e0fc13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_BLANK_PARENT_NAME&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aff0a52a7b997ceaf276c865255e961cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_BLANK_SUBFILE_NAME&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abf7b8b5be4962874c78b79f76842eca1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_END_REC_NAME_NOT_ALPHA&#160;&#160;&#160;0x40</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a60ca887c514ac3f0f0d8857ea419206f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_END_REC_NOT_FOUND&#160;&#160;&#160;0x20</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acde7af76658d7d98a3e51e809e183928"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_END_REC_PAD_NOT_ZERO&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9a1c6ba1253afdc6afea680db05c398b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_NAME_LOWERCASE&#160;&#160;&#160;0x02</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a48d5f8d584706dc8f2e70ea59b39864f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_NAME_NOT_ALPHA&#160;&#160;&#160;0x04</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7cdc187861577cec417463cf1f1757f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_FIX_UNPRINTABLE_CHAR&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9d526ee1ae0a34611157e5774ad74639"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_MAX_ERR_LEN&#160;&#160;&#160;32</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Max err msg length </p>

</div>
</div>
<a class="anchor" id="aea0bca060b640ae0440fe7b92f38b95c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_MAX_PATH_LEN&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Max pathname length </p>

</div>
</div>
<a class="anchor" id="a2cbf1baafedc0f272ebab0f953db5416"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_NAME_LEN&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Blank-padded, no null </p>

</div>
</div>
<a class="anchor" id="a2cfbed77a3bc39771d0961d9abadfbab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_NULL&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>NULL pointer </p>

</div>
</div>
<a class="anchor" id="a76534c1f127a8c03cc9f836a37e40ab0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_CONTAINED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point is totally contained </p>

</div>
</div>
<a class="anchor" id="a9ec58f5064d7fc7a47cce99df7775e81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_NORTH&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point is on North border </p>

</div>
</div>
<a class="anchor" id="aa33162b7dd9f82aa4fe2f80de975b1c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_NORTH_WEST&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point is on North &amp; West border </p>

</div>
</div>
<a class="anchor" id="a3e2c4254d2ac0f61328e18f2a2463b1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_NOTFOUND&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point not found in any record </p>

</div>
</div>
<a class="anchor" id="a213a31f2deb8e5ff6f85cf1875847cbe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_OUTSIDE_CELL&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point is in cell just outside </p>

</div>
</div>
<a class="anchor" id="a29a901d47ad16e87f5daabc03ebc3224"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_STATUS_WEST&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Point is on West border </p>

</div>
</div>
<a class="anchor" id="a1d229fc44ad3986f25ec40b62aec7ab8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_VERSION_MAJOR&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a31e7a621ffc7757c736c125a62ed0437"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_VERSION_MINOR&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab867381a70724953aa6fbf35e3873ddb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_VERSION_RELEASE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afc42d5222cb45cc0a75fcffc0973a356"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NTV2_VERSION_STR&#160;&#160;&#160;&quot;1.0.0&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ab2479579ea4e6da398d5dc38fc0f0007"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Boolean variable </p>

</div>
</div>
<a class="anchor" id="ae76b4de123251d6b3579547f13bf29d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double NTV2_COORD[2]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Lon/lat coordinate </p>

</div>
</div>
<a class="anchor" id="acccdea4f2bf68cc0186fe50dbbcd1305"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef float NTV2_SHIFT[2]</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Lat/lon shift/accuracy pair </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ac4929a7b55225938f1bf3bb883b5ddd4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ntv2_delete </td>
          <td>(</td>
          <td class="paramtype">NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Delete a NTv2 object</p>
<p>This method will also close any open stream in the object.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a297225f04d7b0d2c419345ad6c74ec05"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ntv2_dump </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dump the contents of all headers in a NTv2 file.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">fp</td><td>The stream to dump it to, typically stdout. If NULL, no dump will be done.</td></tr>
    <tr><td class="paramname">mode</td><td>The dump mode. This consists of a bit mask of NTV2_DUMP_* values. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a476058083ab47808ba6823fceeaf13da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ntv2_errmsg </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>err_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>msg_buf</em>[NTV2_MAX_ERR_LEN]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert an NTV2 error code to a string.</p>
<p>Currently, these messages are in English, but this call is designed so a user could implement messages in other languages.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err_num</td><td>The error code to convert. </td></tr>
    <tr><td class="paramname">msg_buf</td><td>Buffer to store error message in.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a error-message string. </dd></dl>

</div>
</div>
<a class="anchor" id="a500ae54f9d10eb244d3100110ae63e6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_filetype </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ntv2file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determine whether a filename is for a binary or a text file.</p>
<p>This is done solely by checking the filename extension. No examination of the file contents (if any) is done.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ntv2file</td><td>The filename to query.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>One of the following: <ul>
<li>
NTV2_FILE_TYPE_UNK file type is unknown </li>
<li>
NTV2_FILE_TYPE_BIN file type is binary </li>
<li>
NTV2_FILE_TYPE_ASC file type is ascii </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="a53fa2ef2090b168ed20148a32a6aaedd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const NTV2_REC* ntv2_find_rec </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lon</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pstatus</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Find the best NTv2 sub-file record containing a given point.</p>
<p>This is an internal routine, and is exposed for debugging purposes. Normally, users have no need to call this routine.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object. </td></tr>
    <tr><td class="paramname">lon</td><td>Longitude of point (in degrees) </td></tr>
    <tr><td class="paramname">lat</td><td>Latitude of point (in degrees) </td></tr>
    <tr><td class="paramname">pstatus</td><td>Returned status (NTV2_STATUS_*).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a NTV2_REC object or NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="a82816ba328a56ee4dd4cee595b9ccb04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_forward </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>deg_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a>&#160;</td>
          <td class="paramname"><em>coord</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Perform a forward transformation on an array of points.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">deg_factor</td><td>The conversion factor to convert the given coordinates to decimal degrees. The value is degrees-per-unit.</td></tr>
    <tr><td class="paramname">n</td><td>Number of points in the array to be transformed.</td></tr>
    <tr><td class="paramname">coord</td><td>An array of NTV2_COORD values to be transformed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of points successfully transformed.</dd></dl>
<p>Note that this routine just calls <a class="el" href="libntv2_8h.html#a64c40958c9849a95b0e15239591e1115">ntv2_transform()</a> with a direction value of NTV2_CVT_FORWARD. </p>

</div>
</div>
<a class="anchor" id="a33688ca8984125ebd57f2e86d57e0946"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_inverse </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>deg_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a>&#160;</td>
          <td class="paramname"><em>coord</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Perform an inverse transformation on an array of points.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">deg_factor</td><td>The conversion factor to convert the given coordinates to decimal degrees. The value is degrees-per-unit.</td></tr>
    <tr><td class="paramname">n</td><td>Number of points in the array to be transformed.</td></tr>
    <tr><td class="paramname">coord</td><td>An array of NTV2_COORD values to be transformed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of points successfully transformed.</dd></dl>
<p>Note that this routine just calls <a class="el" href="libntv2_8h.html#a64c40958c9849a95b0e15239591e1115">ntv2_transform()</a> with a direction value of NTV2_CVT_INVERSE. </p>

</div>
</div>
<a class="anchor" id="ac591c26a640a695db355ac819f3751de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ntv2_list </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a>&#160;</td>
          <td class="paramname"><em>do_hdr_line</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>List the contents of all headers in a NTv2 file.</p>
<p>This method dumps all headers in a concise list format.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">fp</td><td>The stream to dump it to, typically stdout. If NULL, no dump will be done.</td></tr>
    <tr><td class="paramname">mode</td><td>The dump mode. This consists of a bit mask of NTV2_DUMP_* values.</td></tr>
    <tr><td class="paramname">do_hdr_line</td><td>TRUE to output a header line. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acac99444b7787a5272348158399d35b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTV2_HDR* ntv2_load_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ntv2file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a>&#160;</td>
          <td class="paramname"><em>keep_orig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ab2479579ea4e6da398d5dc38fc0f0007">NTV2_BOOL</a>&#160;</td>
          <td class="paramname"><em>read_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">NTV2_EXTENT *&#160;</td>
          <td class="paramname"><em>extent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>prc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a NTv2 file into memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ntv2file</td><td>The name of the NTv2 file to load.</td></tr>
    <tr><td class="paramname">keep_orig</td><td>TRUE to keep copies of all external records. A TRUE value will also cause accuracy values to be read in when reading shift values.</td></tr>
    <tr><td class="paramname">read_data</td><td>TRUE to read in shift (and optionally accuracy) data. A TRUE value will also result in closing the file after reading, since there is no need to keep it open.</td></tr>
    <tr><td class="paramname">extent</td><td>A pointer to an NTV2_EXTENT struct. This pointer may be NULL. This is ignored for text files.</td></tr>
    <tr><td class="paramname">prc</td><td>A pointer to a result code. This pointer may be NULL. <ul>
<li>
If successful, it will be set to NTV2_ERR_OK (0). </li>
<li>
If unsuccessful, it will be set to NTV2_ERR_*. </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a NTV2_HDR object or NULL if unsuccessful. </dd></dl>

</div>
</div>
<a class="anchor" id="a64c40958c9849a95b0e15239591e1115"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_transform </td>
          <td>(</td>
          <td class="paramtype">const NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>deg_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="libntv2_8h.html#ae76b4de123251d6b3579547f13bf29d4">NTV2_COORD</a>&#160;</td>
          <td class="paramname"><em>coord</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>direction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Perform a transformation on an array of points.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">deg_factor</td><td>The conversion factor to convert the given coordinates to decimal degrees. The value is degrees-per-unit.</td></tr>
    <tr><td class="paramname">n</td><td>Number of points in the array to be transformed.</td></tr>
    <tr><td class="paramname">coord</td><td>An array of NTV2_COORD values to be transformed.</td></tr>
    <tr><td class="paramname">direction</td><td>The direction of the transformation (NTV2_CVT_FORWARD or NTV2_CVT_INVERSE).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of points successfully transformed. </dd></dl>

</div>
</div>
<a class="anchor" id="ae470a547597f6950e650aaa7f2d0d133"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_validate </td>
          <td>(</td>
          <td class="paramtype">NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Validate all headers in a NTv2 file.</p>
<p>Some unrecoverable errors are found when reading the headers, but this method does an in-depth analysis of all headers and their parent-child relationships.</p>
<p>Note that all validation messages are in English, and no mechanism was setup to localize them.</p>
<p>Rules:</p>
<ul>
<li>
Each grid is rectangular, and its dimensions must be an integral number of grid intervals. </li>
<li>
Densified grid intervals must be an integral division of its parent grid intervals. </li>
<li>
Densified boundaries must be coincident with its parent grid, enclosing complete cells. </li>
<li>
Densified areas may not overlap each other. </li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">fp</td><td>A stream to write all messages to. If NULL, no messages will be written, but validation will still be done. Note that in this case, only the last error encountered will be returned, although there may be numerous errors in the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If successful, NTV2_ERR_OK (0). If unsuccessful, NTV2_ERR_*. </dd></dl>

</div>
</div>
<a class="anchor" id="a344ce1cd351255be32462ada48172d44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ntv2_write_file </td>
          <td>(</td>
          <td class="paramtype">NTV2_HDR *&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>byte_order</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Write out a NTV2_HDR object to a file.</p>
<p>Rules: </p>
<ul>
<li>
A binary file is always written with the zero-pads in it. </li>
<li>
Sub-files are written recursively just after their parents. </li>
<li>
Parents are written in the order they appeared in the original file. </li>
</ul>
<p>One advantage of this routine is to be able to write out a file that has been "cut down" by an extent specification. Presumably, this could help keep down memory usage in mobile environments.</p>
<p>This also provides the ability to rewrite a file in order to cleanup all its header info into "standard" form. This could be useful if the file will be used by a different program that isn't as tolerant and forgiving as we are.</p>
<p>This call can also be used to write out a binary file for an object that was read from a text file, and vice-versa.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>A pointer to a NTV2_HDR object.</td></tr>
    <tr><td class="paramname">path</td><td>The pathname of the file to write. This can name either a binary or a text NTv2 file.</td></tr>
    <tr><td class="paramname">byte_order</td><td>Byte order of the output file (NTV2_ENDIAN_*) if binary. A value of NTV2_ENDIAN_INP_FILE means to write the file using the same byte-order as the input file if binary or native byte-order if the input file was a text file. This parameter is ignored when writing text files.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If successful, NTV2_ERR_OK (0). If unsuccessful, NTV2_ERR_*. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 7 2013 13:28:26 for NTv2 File Processing Routines by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>