You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2454 lines
111KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.16"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>SdFat: FsFile Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">SdFat
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.16 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. </div><!-- top -->
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#pub-methods">Public Member Functions</a> &#124;
  64. <a href="class_fs_file-members.html">List of all members</a> </div>
  65. <div class="headertitle">
  66. <div class="title">FsFile Class Reference</div> </div>
  67. </div><!--header-->
  68. <div class="contents">
  69. <p><a class="el" href="class_fs_base_file.html" title="FsBaseFile class.">FsBaseFile</a> file with Arduino Stream.
  70. <a href="class_fs_file.html#details">More...</a></p>
  71. <p><code>#include &lt;FsFile.h&gt;</code></p>
  72. <div class="dynheader">
  73. Inheritance diagram for FsFile:</div>
  74. <div class="dyncontent">
  75. <div class="center"><img src="class_fs_file__inherit__graph.png" border="0" usemap="#_fs_file_inherit__map" alt="Inheritance graph"/></div>
  76. <map name="_fs_file_inherit__map" id="_fs_file_inherit__map">
  77. <area shape="rect" title="FsBaseFile file with Arduino Stream." alt="" coords="65,169,123,196"/>
  78. <area shape="rect" href="class_stream_file.html" title=" " alt="" coords="11,80,177,121"/>
  79. <area shape="rect" title=" " alt="" coords="5,5,79,32"/>
  80. <area shape="rect" href="class_fs_base_file.html" title="FsBaseFile class." alt="" coords="103,5,191,32"/>
  81. </map>
  82. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  83. <div class="dynheader">
  84. Collaboration diagram for FsFile:</div>
  85. <div class="dyncontent">
  86. <div class="center"><img src="class_fs_file__coll__graph.png" border="0" usemap="#_fs_file_coll__map" alt="Collaboration graph"/></div>
  87. <map name="_fs_file_coll__map" id="_fs_file_coll__map">
  88. <area shape="rect" title="FsBaseFile file with Arduino Stream." alt="" coords="65,169,123,196"/>
  89. <area shape="rect" href="class_stream_file.html" title=" " alt="" coords="11,80,177,121"/>
  90. <area shape="rect" title=" " alt="" coords="5,5,79,32"/>
  91. <area shape="rect" href="class_fs_base_file.html" title="FsBaseFile class." alt="" coords="103,5,191,32"/>
  92. </map>
  93. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  94. <table class="memberdecls">
  95. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  96. Public Member Functions</h2></td></tr>
  97. <tr class="memitem:a0112cc39b64aac6f1ec47741397a7582"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a0112cc39b64aac6f1ec47741397a7582">available</a> ()</td></tr>
  98. <tr class="separator:a0112cc39b64aac6f1ec47741397a7582"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. <tr class="memitem:a936fc1e3fb13a6ae1352d027bf0a70f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a936fc1e3fb13a6ae1352d027bf0a70f7">clearWriteError</a> ()</td></tr>
  100. <tr class="separator:a936fc1e3fb13a6ae1352d027bf0a70f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:aa669c695a839e68e417fb15eebe3de13"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#aa669c695a839e68e417fb15eebe3de13">close</a> ()</td></tr>
  102. <tr class="separator:aa669c695a839e68e417fb15eebe3de13"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:a856bccf55a40ebbea27072dcfea06191"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a856bccf55a40ebbea27072dcfea06191">curPosition</a> ()</td></tr>
  104. <tr class="separator:a856bccf55a40ebbea27072dcfea06191"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:ac05660570595552c72164a61001899d5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ac05660570595552c72164a61001899d5">dirIndex</a> ()</td></tr>
  106. <tr class="separator:ac05660570595552c72164a61001899d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a76aea9766ffeae5454381a0704e62505"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a76aea9766ffeae5454381a0704e62505">exists</a> (const char *path)</td></tr>
  108. <tr class="separator:a76aea9766ffeae5454381a0704e62505"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:adda345ec539688e40e279a4e3020d208"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#adda345ec539688e40e279a4e3020d208">fgetpos</a> (fspos_t *pos)</td></tr>
  110. <tr class="separator:adda345ec539688e40e279a4e3020d208"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:ab6b6b97a6382a763d6de882252412727"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ab6b6b97a6382a763d6de882252412727">fgets</a> (char *str, int num, char *delim=<a class="el" href="_sys_call_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a>)</td></tr>
  112. <tr class="separator:ab6b6b97a6382a763d6de882252412727"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:aef21ae3af496d80f214918bb40b5b3ba"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#aef21ae3af496d80f214918bb40b5b3ba">fileSize</a> ()</td></tr>
  114. <tr class="separator:aef21ae3af496d80f214918bb40b5b3ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:a32f813e659414892a58aa5157fe14f82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a32f813e659414892a58aa5157fe14f82">flush</a> ()</td></tr>
  116. <tr class="separator:a32f813e659414892a58aa5157fe14f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a4bc085bc1ef0569f4ca7f14fff3e5678"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a4bc085bc1ef0569f4ca7f14fff3e5678">fsetpos</a> (const fspos_t *pos)</td></tr>
  118. <tr class="separator:a4bc085bc1ef0569f4ca7f14fff3e5678"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a7553d4aeb68fe8d3f1b61a16c8005e34"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a7553d4aeb68fe8d3f1b61a16c8005e34">getError</a> ()</td></tr>
  120. <tr class="separator:a7553d4aeb68fe8d3f1b61a16c8005e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:ad2099dbe6bb8f61e1bf933d8e97b2d86"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ad2099dbe6bb8f61e1bf933d8e97b2d86">getName</a> (char *<a class="el" href="class_stream_file.html#a8792c863080576eb65ce6cacbe1dd931">name</a>, size_t len)</td></tr>
  122. <tr class="separator:ad2099dbe6bb8f61e1bf933d8e97b2d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:ab5525bef93bab61569225374d475f2cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ab5525bef93bab61569225374d475f2cb">getWriteError</a> ()</td></tr>
  124. <tr class="separator:ab5525bef93bab61569225374d475f2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:ae93db43779d54734855005116244f6aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ae93db43779d54734855005116244f6aa">isDir</a> ()</td></tr>
  126. <tr class="separator:ae93db43779d54734855005116244f6aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:a586ad44055eca4c1b2b457299b829d44"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a586ad44055eca4c1b2b457299b829d44">isDirectory</a> ()</td></tr>
  128. <tr class="separator:a586ad44055eca4c1b2b457299b829d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a00e76b229cbb5098e1eb88e64a41dbfb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a00e76b229cbb5098e1eb88e64a41dbfb">isHidden</a> ()</td></tr>
  130. <tr class="separator:a00e76b229cbb5098e1eb88e64a41dbfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a707007ff19ac5e4eb94cd0b26c542e0e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a707007ff19ac5e4eb94cd0b26c542e0e">isOpen</a> ()</td></tr>
  132. <tr class="separator:a707007ff19ac5e4eb94cd0b26c542e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:a3140f64c85218c4b2f12f711483cd4c6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a3140f64c85218c4b2f12f711483cd4c6">isSubDir</a> ()</td></tr>
  134. <tr class="separator:a3140f64c85218c4b2f12f711483cd4c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:aecbc336b952eebebfdfcf917863183ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#aecbc336b952eebebfdfcf917863183ee">ls</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  136. <tr class="separator:aecbc336b952eebebfdfcf917863183ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a6a254df9866966f7f97478e916fe6a7f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a6a254df9866966f7f97478e916fe6a7f">ls</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr, uint8_t flags)</td></tr>
  138. <tr class="separator:a6a254df9866966f7f97478e916fe6a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:a8b7aa7f2c63882e483336dfe12ef6800"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a8b7aa7f2c63882e483336dfe12ef6800">mkdir</a> (<a class="el" href="class_fs_base_file.html">FsBaseFile</a> *dir, const char *path, bool pFlag=true)</td></tr>
  140. <tr class="separator:a8b7aa7f2c63882e483336dfe12ef6800"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:a8792c863080576eb65ce6cacbe1dd931"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a8792c863080576eb65ce6cacbe1dd931">name</a> () const</td></tr>
  142. <tr class="separator:a8792c863080576eb65ce6cacbe1dd931"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:af44f0decd9b11dd45996e81f46e2cdee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#af44f0decd9b11dd45996e81f46e2cdee">open</a> (const char *path, oflag_t oflag=O_RDONLY)</td></tr>
  144. <tr class="separator:af44f0decd9b11dd45996e81f46e2cdee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:aa767859d4a4b4716ebbc4ea42a6d74df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#aa767859d4a4b4716ebbc4ea42a6d74df">open</a> (<a class="el" href="class_fs_base_file.html">FsBaseFile</a> *dir, const char *path, oflag_t oflag=O_RDONLY)</td></tr>
  146. <tr class="separator:aa767859d4a4b4716ebbc4ea42a6d74df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:ac4edea1afb935119ecaf39607016c3cc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ac4edea1afb935119ecaf39607016c3cc">open</a> (<a class="el" href="class_fs_base_file.html">FsBaseFile</a> *dir, uint32_t index, oflag_t oflag)</td></tr>
  148. <tr class="separator:ac4edea1afb935119ecaf39607016c3cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:a9786eb47f5d001e89ff291c271517547"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a9786eb47f5d001e89ff291c271517547">open</a> (<a class="el" href="class_fs_volume.html">FsVolume</a> *vol, const char *path, oflag_t oflag)</td></tr>
  150. <tr class="separator:a9786eb47f5d001e89ff291c271517547"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:acb9b1075f4db76fa7e0521c9aff9c3df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#acb9b1075f4db76fa7e0521c9aff9c3df">openNext</a> (<a class="el" href="class_fs_base_file.html">FsBaseFile</a> *dir, oflag_t oflag=O_RDONLY)</td></tr>
  152. <tr class="separator:acb9b1075f4db76fa7e0521c9aff9c3df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:ab2f85961e3831d0d654da862becb7433"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_fs_file.html">FsFile</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_file.html#ab2f85961e3831d0d654da862becb7433">openNextFile</a> (oflag_t oflag=O_RDONLY)</td></tr>
  154. <tr class="separator:ab2f85961e3831d0d654da862becb7433"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a3ad633f3efc2701a3a89e776436b14e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a3ad633f3efc2701a3a89e776436b14e1">operator bool</a> ()</td></tr>
  156. <tr class="separator:a3ad633f3efc2701a3a89e776436b14e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:af0da96e502485133ca0cff27fa130082"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#af0da96e502485133ca0cff27fa130082">peek</a> ()</td></tr>
  158. <tr class="separator:af0da96e502485133ca0cff27fa130082"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:a18a04d1e68a0c1e3e38e5712cd9bbc03"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a18a04d1e68a0c1e3e38e5712cd9bbc03">position</a> ()</td></tr>
  160. <tr class="separator:a18a04d1e68a0c1e3e38e5712cd9bbc03"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:acbc037f9f07c57235bb8b30af5a53ac2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#acbc037f9f07c57235bb8b30af5a53ac2">preAllocate</a> (uint64_t length)</td></tr>
  162. <tr class="separator:acbc037f9f07c57235bb8b30af5a53ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a264ba61530aee50dbe9659d41dd2c1d6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a264ba61530aee50dbe9659d41dd2c1d6">printAccessDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  164. <tr class="separator:a264ba61530aee50dbe9659d41dd2c1d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr class="memitem:a3f75ac7eb6643afcabae28e8c93479c8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a3f75ac7eb6643afcabae28e8c93479c8">printCreateDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  166. <tr class="separator:a3f75ac7eb6643afcabae28e8c93479c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  167. <tr class="memitem:a911ae825e67d7e6ade4a672595e060d6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a911ae825e67d7e6ade4a672595e060d6">printField</a> (double value, char term, uint8_t prec=2)</td></tr>
  168. <tr class="separator:a911ae825e67d7e6ade4a672595e060d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:a5dd2738efe2e550f56037536bc252f13"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a5dd2738efe2e550f56037536bc252f13">printField</a> (float value, char term, uint8_t prec=2)</td></tr>
  170. <tr class="separator:a5dd2738efe2e550f56037536bc252f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:a45639312b8c5aa9ceddb19e654e902b4"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
  172. <tr class="memitem:a45639312b8c5aa9ceddb19e654e902b4"><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a45639312b8c5aa9ceddb19e654e902b4">printField</a> (Type value, char term)</td></tr>
  173. <tr class="separator:a45639312b8c5aa9ceddb19e654e902b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:a6760471e3c445f66b94f3f0e96fdfe10"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a6760471e3c445f66b94f3f0e96fdfe10">printFileSize</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  175. <tr class="separator:a6760471e3c445f66b94f3f0e96fdfe10"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a0f2f813496fa156f9808a5d33c2d8746"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a0f2f813496fa156f9808a5d33c2d8746">printModifyDateTime</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  177. <tr class="separator:a0f2f813496fa156f9808a5d33c2d8746"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:a178a1cbe2bce19758a55bd00fa262732"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a178a1cbe2bce19758a55bd00fa262732">printName</a> (<a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *pr)</td></tr>
  179. <tr class="separator:a178a1cbe2bce19758a55bd00fa262732"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:a249a5d428f303e2a8e7c3ae476e74829"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a249a5d428f303e2a8e7c3ae476e74829">read</a> ()</td></tr>
  181. <tr class="separator:a249a5d428f303e2a8e7c3ae476e74829"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:ae8d8cb4cceda9d56e8dae692d04a46e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ae8d8cb4cceda9d56e8dae692d04a46e6">read</a> (void *buf, size_t count)</td></tr>
  183. <tr class="separator:ae8d8cb4cceda9d56e8dae692d04a46e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a8d21f9df86e846e34c3bb11cf7db21bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a8d21f9df86e846e34c3bb11cf7db21bc">remove</a> ()</td></tr>
  185. <tr class="separator:a8d21f9df86e846e34c3bb11cf7db21bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:a64feff69c4f09e56247c7f9dc7c74f34"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a64feff69c4f09e56247c7f9dc7c74f34">remove</a> (const char *path)</td></tr>
  187. <tr class="separator:a64feff69c4f09e56247c7f9dc7c74f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:af532d87177e86995a053503eb9152115"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#af532d87177e86995a053503eb9152115">rename</a> (const char *newPath)</td></tr>
  189. <tr class="separator:af532d87177e86995a053503eb9152115"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:a4e4347f6e89bf0b487824dbdc5b82068"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a4e4347f6e89bf0b487824dbdc5b82068">rename</a> (<a class="el" href="class_fs_base_file.html">FsBaseFile</a> *dirFile, const char *newPath)</td></tr>
  191. <tr class="separator:a4e4347f6e89bf0b487824dbdc5b82068"><td class="memSeparator" colspan="2">&#160;</td></tr>
  192. <tr class="memitem:a22f8ef845d610493ebe314e19ddda561"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a22f8ef845d610493ebe314e19ddda561">rewind</a> ()</td></tr>
  193. <tr class="separator:a22f8ef845d610493ebe314e19ddda561"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:a91e8cfbde27d6879b4f51d2ceb2a9f06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a91e8cfbde27d6879b4f51d2ceb2a9f06">rewindDirectory</a> ()</td></tr>
  195. <tr class="separator:a91e8cfbde27d6879b4f51d2ceb2a9f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:ac47870fd89b0849cda33f2780918a286"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ac47870fd89b0849cda33f2780918a286">rmdir</a> ()</td></tr>
  197. <tr class="separator:ac47870fd89b0849cda33f2780918a286"><td class="memSeparator" colspan="2">&#160;</td></tr>
  198. <tr class="memitem:a773ee6f661fc689a5187f51cb5498086"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a773ee6f661fc689a5187f51cb5498086">seek</a> (uint64_t pos)</td></tr>
  199. <tr class="separator:a773ee6f661fc689a5187f51cb5498086"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a5fa242a4598eab5caa6efd4bdf62f5c0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a5fa242a4598eab5caa6efd4bdf62f5c0">seekCur</a> (int64_t offset)</td></tr>
  201. <tr class="separator:a5fa242a4598eab5caa6efd4bdf62f5c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:ade9f9a9ac4d3e0a392a6cc45c9551767"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#ade9f9a9ac4d3e0a392a6cc45c9551767">seekEnd</a> (int64_t offset=0)</td></tr>
  203. <tr class="separator:ade9f9a9ac4d3e0a392a6cc45c9551767"><td class="memSeparator" colspan="2">&#160;</td></tr>
  204. <tr class="memitem:a460f7598c903b8a4b4fe868dacccb6dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a460f7598c903b8a4b4fe868dacccb6dd">seekSet</a> (uint64_t pos)</td></tr>
  205. <tr class="separator:a460f7598c903b8a4b4fe868dacccb6dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="memitem:a5813d451e7f7ba57a04d177caffc5a9f"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a5813d451e7f7ba57a04d177caffc5a9f">size</a> ()</td></tr>
  207. <tr class="separator:a5813d451e7f7ba57a04d177caffc5a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:acf2d9261c5c1b1b022a0414cdfe0a17b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#acf2d9261c5c1b1b022a0414cdfe0a17b">sync</a> ()</td></tr>
  209. <tr class="separator:acf2d9261c5c1b1b022a0414cdfe0a17b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:acea65e639feebaac01964af02a77d324"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#acea65e639feebaac01964af02a77d324">timestamp</a> (uint8_t flags, uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)</td></tr>
  211. <tr class="separator:acea65e639feebaac01964af02a77d324"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a2a0bf00241df08a604f054512746986b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a2a0bf00241df08a604f054512746986b">truncate</a> ()</td></tr>
  213. <tr class="separator:a2a0bf00241df08a604f054512746986b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:a47247cc54157ef79e0752f55ba01cf7e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#a47247cc54157ef79e0752f55ba01cf7e">truncate</a> (uint64_t length)</td></tr>
  215. <tr class="separator:a47247cc54157ef79e0752f55ba01cf7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:a0ace3aaaf6d0fb673a43059c0664fab6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a0ace3aaaf6d0fb673a43059c0664fab6">write</a> (const uint8_t *buffer, size_t <a class="el" href="class_stream_file.html#a5813d451e7f7ba57a04d177caffc5a9f">size</a>)</td></tr>
  217. <tr class="separator:a0ace3aaaf6d0fb673a43059c0664fab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:aa763e83fea4889828effc3308f13113a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_fs_base_file.html#aa763e83fea4889828effc3308f13113a">write</a> (const void *buf, size_t count)</td></tr>
  219. <tr class="separator:aa763e83fea4889828effc3308f13113a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  220. <tr class="memitem:a0695220134825199b39dee82f18ab1ec"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_file.html#a0695220134825199b39dee82f18ab1ec">write</a> (uint8_t b)</td></tr>
  221. <tr class="separator:a0695220134825199b39dee82f18ab1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. </table>
  223. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  224. <div class="textblock"><p><a class="el" href="class_fs_base_file.html" title="FsBaseFile class.">FsBaseFile</a> file with Arduino Stream. </p>
  225. </div><h2 class="groupheader">Member Function Documentation</h2>
  226. <a id="a0112cc39b64aac6f1ec47741397a7582"></a>
  227. <h2 class="memtitle"><span class="permalink"><a href="#a0112cc39b64aac6f1ec47741397a7582">&#9670;&nbsp;</a></span>available()</h2>
  228. <div class="memitem">
  229. <div class="memproto">
  230. <table class="mlabels">
  231. <tr>
  232. <td class="mlabels-left">
  233. <table class="memname">
  234. <tr>
  235. <td class="memname">int <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::available </td>
  236. <td>(</td>
  237. <td class="paramname"></td><td>)</td>
  238. <td></td>
  239. </tr>
  240. </table>
  241. </td>
  242. <td class="mlabels-right">
  243. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  244. </tr>
  245. </table>
  246. </div><div class="memdoc">
  247. <dl class="section return"><dt>Returns</dt><dd>number of bytes available from the current position to EOF or INT_MAX if more than INT_MAX bytes are available. </dd></dl>
  248. </div>
  249. </div>
  250. <a id="a936fc1e3fb13a6ae1352d027bf0a70f7"></a>
  251. <h2 class="memtitle"><span class="permalink"><a href="#a936fc1e3fb13a6ae1352d027bf0a70f7">&#9670;&nbsp;</a></span>clearWriteError()</h2>
  252. <div class="memitem">
  253. <div class="memproto">
  254. <table class="mlabels">
  255. <tr>
  256. <td class="mlabels-left">
  257. <table class="memname">
  258. <tr>
  259. <td class="memname">void FsBaseFile::clearWriteError </td>
  260. <td>(</td>
  261. <td class="paramname"></td><td>)</td>
  262. <td></td>
  263. </tr>
  264. </table>
  265. </td>
  266. <td class="mlabels-right">
  267. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  268. </tr>
  269. </table>
  270. </div><div class="memdoc">
  271. <p>Set writeError to zero </p>
  272. </div>
  273. </div>
  274. <a id="aa669c695a839e68e417fb15eebe3de13"></a>
  275. <h2 class="memtitle"><span class="permalink"><a href="#aa669c695a839e68e417fb15eebe3de13">&#9670;&nbsp;</a></span>close()</h2>
  276. <div class="memitem">
  277. <div class="memproto">
  278. <table class="mlabels">
  279. <tr>
  280. <td class="mlabels-left">
  281. <table class="memname">
  282. <tr>
  283. <td class="memname">bool FsBaseFile::close </td>
  284. <td>(</td>
  285. <td class="paramname"></td><td>)</td>
  286. <td></td>
  287. </tr>
  288. </table>
  289. </td>
  290. <td class="mlabels-right">
  291. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  292. </tr>
  293. </table>
  294. </div><div class="memdoc">
  295. <p>Close a file and force cached data and directory information to be written to the storage device.</p>
  296. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  297. </div>
  298. </div>
  299. <a id="a856bccf55a40ebbea27072dcfea06191"></a>
  300. <h2 class="memtitle"><span class="permalink"><a href="#a856bccf55a40ebbea27072dcfea06191">&#9670;&nbsp;</a></span>curPosition()</h2>
  301. <div class="memitem">
  302. <div class="memproto">
  303. <table class="mlabels">
  304. <tr>
  305. <td class="mlabels-left">
  306. <table class="memname">
  307. <tr>
  308. <td class="memname">uint64_t FsBaseFile::curPosition </td>
  309. <td>(</td>
  310. <td class="paramname"></td><td>)</td>
  311. <td></td>
  312. </tr>
  313. </table>
  314. </td>
  315. <td class="mlabels-right">
  316. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  317. </tr>
  318. </table>
  319. </div><div class="memdoc">
  320. <dl class="section return"><dt>Returns</dt><dd>The current position for a file or directory. </dd></dl>
  321. </div>
  322. </div>
  323. <a id="ac05660570595552c72164a61001899d5"></a>
  324. <h2 class="memtitle"><span class="permalink"><a href="#ac05660570595552c72164a61001899d5">&#9670;&nbsp;</a></span>dirIndex()</h2>
  325. <div class="memitem">
  326. <div class="memproto">
  327. <table class="mlabels">
  328. <tr>
  329. <td class="mlabels-left">
  330. <table class="memname">
  331. <tr>
  332. <td class="memname">uint32_t FsBaseFile::dirIndex </td>
  333. <td>(</td>
  334. <td class="paramname"></td><td>)</td>
  335. <td></td>
  336. </tr>
  337. </table>
  338. </td>
  339. <td class="mlabels-right">
  340. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  341. </tr>
  342. </table>
  343. </div><div class="memdoc">
  344. <dl class="section return"><dt>Returns</dt><dd>Directory entry index. </dd></dl>
  345. </div>
  346. </div>
  347. <a id="a76aea9766ffeae5454381a0704e62505"></a>
  348. <h2 class="memtitle"><span class="permalink"><a href="#a76aea9766ffeae5454381a0704e62505">&#9670;&nbsp;</a></span>exists()</h2>
  349. <div class="memitem">
  350. <div class="memproto">
  351. <table class="mlabels">
  352. <tr>
  353. <td class="mlabels-left">
  354. <table class="memname">
  355. <tr>
  356. <td class="memname">bool FsBaseFile::exists </td>
  357. <td>(</td>
  358. <td class="paramtype">const char *&#160;</td>
  359. <td class="paramname"><em>path</em></td><td>)</td>
  360. <td></td>
  361. </tr>
  362. </table>
  363. </td>
  364. <td class="mlabels-right">
  365. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  366. </tr>
  367. </table>
  368. </div><div class="memdoc">
  369. <p>Test for the existence of a file in a directory</p>
  370. <dl class="params"><dt>Parameters</dt><dd>
  371. <table class="params">
  372. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path of the file to be tested for.</td></tr>
  373. </table>
  374. </dd>
  375. </dl>
  376. <p>The calling instance must be an open directory file.</p>
  377. <p>dirFile.exists("TOFIND.TXT") searches for "TOFIND.TXT" in the directory dirFile.</p>
  378. <dl class="section return"><dt>Returns</dt><dd>true if the file exists else false. </dd></dl>
  379. </div>
  380. </div>
  381. <a id="adda345ec539688e40e279a4e3020d208"></a>
  382. <h2 class="memtitle"><span class="permalink"><a href="#adda345ec539688e40e279a4e3020d208">&#9670;&nbsp;</a></span>fgetpos()</h2>
  383. <div class="memitem">
  384. <div class="memproto">
  385. <table class="mlabels">
  386. <tr>
  387. <td class="mlabels-left">
  388. <table class="memname">
  389. <tr>
  390. <td class="memname">void FsBaseFile::fgetpos </td>
  391. <td>(</td>
  392. <td class="paramtype">fspos_t *&#160;</td>
  393. <td class="paramname"><em>pos</em></td><td>)</td>
  394. <td></td>
  395. </tr>
  396. </table>
  397. </td>
  398. <td class="mlabels-right">
  399. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  400. </tr>
  401. </table>
  402. </div><div class="memdoc">
  403. <p>get position for streams </p><dl class="params"><dt>Parameters</dt><dd>
  404. <table class="params">
  405. <tr><td class="paramdir">[out]</td><td class="paramname">pos</td><td>struct to receive position </td></tr>
  406. </table>
  407. </dd>
  408. </dl>
  409. </div>
  410. </div>
  411. <a id="ab6b6b97a6382a763d6de882252412727"></a>
  412. <h2 class="memtitle"><span class="permalink"><a href="#ab6b6b97a6382a763d6de882252412727">&#9670;&nbsp;</a></span>fgets()</h2>
  413. <div class="memitem">
  414. <div class="memproto">
  415. <table class="mlabels">
  416. <tr>
  417. <td class="mlabels-left">
  418. <table class="memname">
  419. <tr>
  420. <td class="memname">int FsBaseFile::fgets </td>
  421. <td>(</td>
  422. <td class="paramtype">char *&#160;</td>
  423. <td class="paramname"><em>str</em>, </td>
  424. </tr>
  425. <tr>
  426. <td class="paramkey"></td>
  427. <td></td>
  428. <td class="paramtype">int&#160;</td>
  429. <td class="paramname"><em>num</em>, </td>
  430. </tr>
  431. <tr>
  432. <td class="paramkey"></td>
  433. <td></td>
  434. <td class="paramtype">char *&#160;</td>
  435. <td class="paramname"><em>delim</em> = <code><a class="el" href="_sys_call_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a></code>&#160;</td>
  436. </tr>
  437. <tr>
  438. <td></td>
  439. <td>)</td>
  440. <td></td><td></td>
  441. </tr>
  442. </table>
  443. </td>
  444. <td class="mlabels-right">
  445. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  446. </tr>
  447. </table>
  448. </div><div class="memdoc">
  449. <p>Get a string from a file.</p>
  450. <p><a class="el" href="class_fs_base_file.html#ab6b6b97a6382a763d6de882252412727">fgets()</a> reads bytes from a file into the array pointed to by <em>str</em>, until <em>num</em> - 1 bytes are read, or a delimiter is read and transferred to <em>str</em>, or end-of-file is encountered. The string is then terminated with a null byte.</p>
  451. <p><a class="el" href="class_fs_base_file.html#ab6b6b97a6382a763d6de882252412727">fgets()</a> deletes CR, '\r', from the string. This insures only a '\n' terminates the string for Windows text files which use CRLF for newline.</p>
  452. <dl class="params"><dt>Parameters</dt><dd>
  453. <table class="params">
  454. <tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Pointer to the array where the string is stored. </td></tr>
  455. <tr><td class="paramdir">[in]</td><td class="paramname">num</td><td>Maximum number of characters to be read (including the final null byte). Usually the length of the array <em>str</em> is used. </td></tr>
  456. <tr><td class="paramdir">[in]</td><td class="paramname">delim</td><td>Optional set of delimiters. The default is "\n".</td></tr>
  457. </table>
  458. </dd>
  459. </dl>
  460. <dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_fs_base_file.html#ab6b6b97a6382a763d6de882252412727">fgets()</a> returns the length of the string in <em>str</em>. If no data is read, <a class="el" href="class_fs_base_file.html#ab6b6b97a6382a763d6de882252412727">fgets()</a> returns zero for EOF or -1 if an error occurred. </dd></dl>
  461. </div>
  462. </div>
  463. <a id="aef21ae3af496d80f214918bb40b5b3ba"></a>
  464. <h2 class="memtitle"><span class="permalink"><a href="#aef21ae3af496d80f214918bb40b5b3ba">&#9670;&nbsp;</a></span>fileSize()</h2>
  465. <div class="memitem">
  466. <div class="memproto">
  467. <table class="mlabels">
  468. <tr>
  469. <td class="mlabels-left">
  470. <table class="memname">
  471. <tr>
  472. <td class="memname">uint64_t FsBaseFile::fileSize </td>
  473. <td>(</td>
  474. <td class="paramname"></td><td>)</td>
  475. <td></td>
  476. </tr>
  477. </table>
  478. </td>
  479. <td class="mlabels-right">
  480. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  481. </tr>
  482. </table>
  483. </div><div class="memdoc">
  484. <dl class="section return"><dt>Returns</dt><dd>The total number of bytes in a file. </dd></dl>
  485. </div>
  486. </div>
  487. <a id="a32f813e659414892a58aa5157fe14f82"></a>
  488. <h2 class="memtitle"><span class="permalink"><a href="#a32f813e659414892a58aa5157fe14f82">&#9670;&nbsp;</a></span>flush()</h2>
  489. <div class="memitem">
  490. <div class="memproto">
  491. <table class="mlabels">
  492. <tr>
  493. <td class="mlabels-left">
  494. <table class="memname">
  495. <tr>
  496. <td class="memname">void <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::flush </td>
  497. <td>(</td>
  498. <td class="paramname"></td><td>)</td>
  499. <td></td>
  500. </tr>
  501. </table>
  502. </td>
  503. <td class="mlabels-right">
  504. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  505. </tr>
  506. </table>
  507. </div><div class="memdoc">
  508. <p>Ensure that any bytes written to the file are saved to the SD card. </p>
  509. </div>
  510. </div>
  511. <a id="a4bc085bc1ef0569f4ca7f14fff3e5678"></a>
  512. <h2 class="memtitle"><span class="permalink"><a href="#a4bc085bc1ef0569f4ca7f14fff3e5678">&#9670;&nbsp;</a></span>fsetpos()</h2>
  513. <div class="memitem">
  514. <div class="memproto">
  515. <table class="mlabels">
  516. <tr>
  517. <td class="mlabels-left">
  518. <table class="memname">
  519. <tr>
  520. <td class="memname">void FsBaseFile::fsetpos </td>
  521. <td>(</td>
  522. <td class="paramtype">const fspos_t *&#160;</td>
  523. <td class="paramname"><em>pos</em></td><td>)</td>
  524. <td></td>
  525. </tr>
  526. </table>
  527. </td>
  528. <td class="mlabels-right">
  529. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  530. </tr>
  531. </table>
  532. </div><div class="memdoc">
  533. <p>set position for streams </p><dl class="params"><dt>Parameters</dt><dd>
  534. <table class="params">
  535. <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>struct with value for new position </td></tr>
  536. </table>
  537. </dd>
  538. </dl>
  539. </div>
  540. </div>
  541. <a id="a7553d4aeb68fe8d3f1b61a16c8005e34"></a>
  542. <h2 class="memtitle"><span class="permalink"><a href="#a7553d4aeb68fe8d3f1b61a16c8005e34">&#9670;&nbsp;</a></span>getError()</h2>
  543. <div class="memitem">
  544. <div class="memproto">
  545. <table class="mlabels">
  546. <tr>
  547. <td class="mlabels-left">
  548. <table class="memname">
  549. <tr>
  550. <td class="memname">uint8_t FsBaseFile::getError </td>
  551. <td>(</td>
  552. <td class="paramname"></td><td>)</td>
  553. <td></td>
  554. </tr>
  555. </table>
  556. </td>
  557. <td class="mlabels-right">
  558. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  559. </tr>
  560. </table>
  561. </div><div class="memdoc">
  562. <dl class="section return"><dt>Returns</dt><dd>All error bits. </dd></dl>
  563. </div>
  564. </div>
  565. <a id="ad2099dbe6bb8f61e1bf933d8e97b2d86"></a>
  566. <h2 class="memtitle"><span class="permalink"><a href="#ad2099dbe6bb8f61e1bf933d8e97b2d86">&#9670;&nbsp;</a></span>getName()</h2>
  567. <div class="memitem">
  568. <div class="memproto">
  569. <table class="mlabels">
  570. <tr>
  571. <td class="mlabels-left">
  572. <table class="memname">
  573. <tr>
  574. <td class="memname">size_t FsBaseFile::getName </td>
  575. <td>(</td>
  576. <td class="paramtype">char *&#160;</td>
  577. <td class="paramname"><em>name</em>, </td>
  578. </tr>
  579. <tr>
  580. <td class="paramkey"></td>
  581. <td></td>
  582. <td class="paramtype">size_t&#160;</td>
  583. <td class="paramname"><em>len</em>&#160;</td>
  584. </tr>
  585. <tr>
  586. <td></td>
  587. <td>)</td>
  588. <td></td><td></td>
  589. </tr>
  590. </table>
  591. </td>
  592. <td class="mlabels-right">
  593. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  594. </tr>
  595. </table>
  596. </div><div class="memdoc">
  597. <p>Get a file's name followed by a zero byte.</p>
  598. <dl class="params"><dt>Parameters</dt><dd>
  599. <table class="params">
  600. <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>An array of characters for the file's name. </td></tr>
  601. <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>The size of the array in bytes. The array must be at least 13 bytes long. The file's name will be truncated if the file's name is too long. </td></tr>
  602. </table>
  603. </dd>
  604. </dl>
  605. <dl class="section return"><dt>Returns</dt><dd>The length of the returned string. </dd></dl>
  606. </div>
  607. </div>
  608. <a id="ab5525bef93bab61569225374d475f2cb"></a>
  609. <h2 class="memtitle"><span class="permalink"><a href="#ab5525bef93bab61569225374d475f2cb">&#9670;&nbsp;</a></span>getWriteError()</h2>
  610. <div class="memitem">
  611. <div class="memproto">
  612. <table class="mlabels">
  613. <tr>
  614. <td class="mlabels-left">
  615. <table class="memname">
  616. <tr>
  617. <td class="memname">bool FsBaseFile::getWriteError </td>
  618. <td>(</td>
  619. <td class="paramname"></td><td>)</td>
  620. <td></td>
  621. </tr>
  622. </table>
  623. </td>
  624. <td class="mlabels-right">
  625. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  626. </tr>
  627. </table>
  628. </div><div class="memdoc">
  629. <dl class="section return"><dt>Returns</dt><dd>value of writeError </dd></dl>
  630. </div>
  631. </div>
  632. <a id="ae93db43779d54734855005116244f6aa"></a>
  633. <h2 class="memtitle"><span class="permalink"><a href="#ae93db43779d54734855005116244f6aa">&#9670;&nbsp;</a></span>isDir()</h2>
  634. <div class="memitem">
  635. <div class="memproto">
  636. <table class="mlabels">
  637. <tr>
  638. <td class="mlabels-left">
  639. <table class="memname">
  640. <tr>
  641. <td class="memname">bool FsBaseFile::isDir </td>
  642. <td>(</td>
  643. <td class="paramname"></td><td>)</td>
  644. <td></td>
  645. </tr>
  646. </table>
  647. </td>
  648. <td class="mlabels-right">
  649. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  650. </tr>
  651. </table>
  652. </div><div class="memdoc">
  653. <dl class="section return"><dt>Returns</dt><dd>True if this is a directory else false. </dd></dl>
  654. </div>
  655. </div>
  656. <a id="a586ad44055eca4c1b2b457299b829d44"></a>
  657. <h2 class="memtitle"><span class="permalink"><a href="#a586ad44055eca4c1b2b457299b829d44">&#9670;&nbsp;</a></span>isDirectory()</h2>
  658. <div class="memitem">
  659. <div class="memproto">
  660. <table class="mlabels">
  661. <tr>
  662. <td class="mlabels-left">
  663. <table class="memname">
  664. <tr>
  665. <td class="memname">bool <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::isDirectory </td>
  666. <td>(</td>
  667. <td class="paramname"></td><td>)</td>
  668. <td></td>
  669. </tr>
  670. </table>
  671. </td>
  672. <td class="mlabels-right">
  673. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  674. </tr>
  675. </table>
  676. </div><div class="memdoc">
  677. <p>This function reports if the current file is a directory or not. </p><dl class="section return"><dt>Returns</dt><dd>true if the file is a directory. </dd></dl>
  678. </div>
  679. </div>
  680. <a id="a00e76b229cbb5098e1eb88e64a41dbfb"></a>
  681. <h2 class="memtitle"><span class="permalink"><a href="#a00e76b229cbb5098e1eb88e64a41dbfb">&#9670;&nbsp;</a></span>isHidden()</h2>
  682. <div class="memitem">
  683. <div class="memproto">
  684. <table class="mlabels">
  685. <tr>
  686. <td class="mlabels-left">
  687. <table class="memname">
  688. <tr>
  689. <td class="memname">bool FsBaseFile::isHidden </td>
  690. <td>(</td>
  691. <td class="paramname"></td><td>)</td>
  692. <td></td>
  693. </tr>
  694. </table>
  695. </td>
  696. <td class="mlabels-right">
  697. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  698. </tr>
  699. </table>
  700. </div><div class="memdoc">
  701. <dl class="section return"><dt>Returns</dt><dd>True if this is a hidden file else false. </dd></dl>
  702. </div>
  703. </div>
  704. <a id="a707007ff19ac5e4eb94cd0b26c542e0e"></a>
  705. <h2 class="memtitle"><span class="permalink"><a href="#a707007ff19ac5e4eb94cd0b26c542e0e">&#9670;&nbsp;</a></span>isOpen()</h2>
  706. <div class="memitem">
  707. <div class="memproto">
  708. <table class="mlabels">
  709. <tr>
  710. <td class="mlabels-left">
  711. <table class="memname">
  712. <tr>
  713. <td class="memname">bool FsBaseFile::isOpen </td>
  714. <td>(</td>
  715. <td class="paramname"></td><td>)</td>
  716. <td></td>
  717. </tr>
  718. </table>
  719. </td>
  720. <td class="mlabels-right">
  721. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  722. </tr>
  723. </table>
  724. </div><div class="memdoc">
  725. <dl class="section return"><dt>Returns</dt><dd>True if this is an open file/directory else false. </dd></dl>
  726. </div>
  727. </div>
  728. <a id="a3140f64c85218c4b2f12f711483cd4c6"></a>
  729. <h2 class="memtitle"><span class="permalink"><a href="#a3140f64c85218c4b2f12f711483cd4c6">&#9670;&nbsp;</a></span>isSubDir()</h2>
  730. <div class="memitem">
  731. <div class="memproto">
  732. <table class="mlabels">
  733. <tr>
  734. <td class="mlabels-left">
  735. <table class="memname">
  736. <tr>
  737. <td class="memname">bool FsBaseFile::isSubDir </td>
  738. <td>(</td>
  739. <td class="paramname"></td><td>)</td>
  740. <td></td>
  741. </tr>
  742. </table>
  743. </td>
  744. <td class="mlabels-right">
  745. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  746. </tr>
  747. </table>
  748. </div><div class="memdoc">
  749. <dl class="section return"><dt>Returns</dt><dd>True if this is a subdirectory file else false. </dd></dl>
  750. </div>
  751. </div>
  752. <a id="aecbc336b952eebebfdfcf917863183ee"></a>
  753. <h2 class="memtitle"><span class="permalink"><a href="#aecbc336b952eebebfdfcf917863183ee">&#9670;&nbsp;</a></span>ls() <span class="overload">[1/2]</span></h2>
  754. <div class="memitem">
  755. <div class="memproto">
  756. <table class="mlabels">
  757. <tr>
  758. <td class="mlabels-left">
  759. <table class="memname">
  760. <tr>
  761. <td class="memname">bool FsBaseFile::ls </td>
  762. <td>(</td>
  763. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  764. <td class="paramname"><em>pr</em></td><td>)</td>
  765. <td></td>
  766. </tr>
  767. </table>
  768. </td>
  769. <td class="mlabels-right">
  770. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  771. </tr>
  772. </table>
  773. </div><div class="memdoc">
  774. <p>List directory contents.</p>
  775. <dl class="params"><dt>Parameters</dt><dd>
  776. <table class="params">
  777. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print object.</td></tr>
  778. </table>
  779. </dd>
  780. </dl>
  781. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  782. </div>
  783. </div>
  784. <a id="a6a254df9866966f7f97478e916fe6a7f"></a>
  785. <h2 class="memtitle"><span class="permalink"><a href="#a6a254df9866966f7f97478e916fe6a7f">&#9670;&nbsp;</a></span>ls() <span class="overload">[2/2]</span></h2>
  786. <div class="memitem">
  787. <div class="memproto">
  788. <table class="mlabels">
  789. <tr>
  790. <td class="mlabels-left">
  791. <table class="memname">
  792. <tr>
  793. <td class="memname">bool FsBaseFile::ls </td>
  794. <td>(</td>
  795. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  796. <td class="paramname"><em>pr</em>, </td>
  797. </tr>
  798. <tr>
  799. <td class="paramkey"></td>
  800. <td></td>
  801. <td class="paramtype">uint8_t&#160;</td>
  802. <td class="paramname"><em>flags</em>&#160;</td>
  803. </tr>
  804. <tr>
  805. <td></td>
  806. <td>)</td>
  807. <td></td><td></td>
  808. </tr>
  809. </table>
  810. </td>
  811. <td class="mlabels-right">
  812. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  813. </tr>
  814. </table>
  815. </div><div class="memdoc">
  816. <p>List directory contents.</p>
  817. <dl class="params"><dt>Parameters</dt><dd>
  818. <table class="params">
  819. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print object. </td></tr>
  820. <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>The inclusive OR of</td></tr>
  821. </table>
  822. </dd>
  823. </dl>
  824. <p>LS_DATE - Print file modification date</p>
  825. <p>LS_SIZE - Print file size.</p>
  826. <p>LS_R - Recursive list of subdirectories.</p>
  827. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  828. </div>
  829. </div>
  830. <a id="a8b7aa7f2c63882e483336dfe12ef6800"></a>
  831. <h2 class="memtitle"><span class="permalink"><a href="#a8b7aa7f2c63882e483336dfe12ef6800">&#9670;&nbsp;</a></span>mkdir()</h2>
  832. <div class="memitem">
  833. <div class="memproto">
  834. <table class="mlabels">
  835. <tr>
  836. <td class="mlabels-left">
  837. <table class="memname">
  838. <tr>
  839. <td class="memname">bool FsBaseFile::mkdir </td>
  840. <td>(</td>
  841. <td class="paramtype"><a class="el" href="class_fs_base_file.html">FsBaseFile</a> *&#160;</td>
  842. <td class="paramname"><em>dir</em>, </td>
  843. </tr>
  844. <tr>
  845. <td class="paramkey"></td>
  846. <td></td>
  847. <td class="paramtype">const char *&#160;</td>
  848. <td class="paramname"><em>path</em>, </td>
  849. </tr>
  850. <tr>
  851. <td class="paramkey"></td>
  852. <td></td>
  853. <td class="paramtype">bool&#160;</td>
  854. <td class="paramname"><em>pFlag</em> = <code>true</code>&#160;</td>
  855. </tr>
  856. <tr>
  857. <td></td>
  858. <td>)</td>
  859. <td></td><td></td>
  860. </tr>
  861. </table>
  862. </td>
  863. <td class="mlabels-right">
  864. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  865. </tr>
  866. </table>
  867. </div><div class="memdoc">
  868. <p>Make a new directory.</p>
  869. <dl class="params"><dt>Parameters</dt><dd>
  870. <table class="params">
  871. <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>An open <a class="el" href="class_fat_file.html" title="Basic file class.">FatFile</a> instance for the directory that will contain the new directory.</td></tr>
  872. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path with a valid 8.3 DOS name for the new directory.</td></tr>
  873. <tr><td class="paramdir">[in]</td><td class="paramname">pFlag</td><td>Create missing parent directories if true.</td></tr>
  874. </table>
  875. </dd>
  876. </dl>
  877. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  878. </div>
  879. </div>
  880. <a id="a8792c863080576eb65ce6cacbe1dd931"></a>
  881. <h2 class="memtitle"><span class="permalink"><a href="#a8792c863080576eb65ce6cacbe1dd931">&#9670;&nbsp;</a></span>name()</h2>
  882. <div class="memitem">
  883. <div class="memproto">
  884. <table class="mlabels">
  885. <tr>
  886. <td class="mlabels-left">
  887. <table class="memname">
  888. <tr>
  889. <td class="memname">const char* <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::name </td>
  890. <td>(</td>
  891. <td class="paramname"></td><td>)</td>
  892. <td> const</td>
  893. </tr>
  894. </table>
  895. </td>
  896. <td class="mlabels-right">
  897. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  898. </tr>
  899. </table>
  900. </div><div class="memdoc">
  901. <p>No longer implemented due to Long File Names.</p>
  902. <p>Use <a class="el" href="class_fs_base_file.html#ad2099dbe6bb8f61e1bf933d8e97b2d86">getName(char* name, size_t size)</a>. </p><dl class="section return"><dt>Returns</dt><dd>a pointer to replacement suggestion. </dd></dl>
  903. </div>
  904. </div>
  905. <a id="af44f0decd9b11dd45996e81f46e2cdee"></a>
  906. <h2 class="memtitle"><span class="permalink"><a href="#af44f0decd9b11dd45996e81f46e2cdee">&#9670;&nbsp;</a></span>open() <span class="overload">[1/4]</span></h2>
  907. <div class="memitem">
  908. <div class="memproto">
  909. <table class="mlabels">
  910. <tr>
  911. <td class="mlabels-left">
  912. <table class="memname">
  913. <tr>
  914. <td class="memname">bool FsBaseFile::open </td>
  915. <td>(</td>
  916. <td class="paramtype">const char *&#160;</td>
  917. <td class="paramname"><em>path</em>, </td>
  918. </tr>
  919. <tr>
  920. <td class="paramkey"></td>
  921. <td></td>
  922. <td class="paramtype">oflag_t&#160;</td>
  923. <td class="paramname"><em>oflag</em> = <code>O_RDONLY</code>&#160;</td>
  924. </tr>
  925. <tr>
  926. <td></td>
  927. <td>)</td>
  928. <td></td><td></td>
  929. </tr>
  930. </table>
  931. </td>
  932. <td class="mlabels-right">
  933. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  934. </tr>
  935. </table>
  936. </div><div class="memdoc">
  937. <p>Open a file or directory by name.</p>
  938. <dl class="params"><dt>Parameters</dt><dd>
  939. <table class="params">
  940. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path for a file to be opened.</td></tr>
  941. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>Values for <em>oflag</em> are constructed by a bitwise-inclusive OR of open flags.</td></tr>
  942. </table>
  943. </dd>
  944. </dl>
  945. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  946. </div>
  947. </div>
  948. <a id="aa767859d4a4b4716ebbc4ea42a6d74df"></a>
  949. <h2 class="memtitle"><span class="permalink"><a href="#aa767859d4a4b4716ebbc4ea42a6d74df">&#9670;&nbsp;</a></span>open() <span class="overload">[2/4]</span></h2>
  950. <div class="memitem">
  951. <div class="memproto">
  952. <table class="mlabels">
  953. <tr>
  954. <td class="mlabels-left">
  955. <table class="memname">
  956. <tr>
  957. <td class="memname">bool FsBaseFile::open </td>
  958. <td>(</td>
  959. <td class="paramtype"><a class="el" href="class_fs_base_file.html">FsBaseFile</a> *&#160;</td>
  960. <td class="paramname"><em>dir</em>, </td>
  961. </tr>
  962. <tr>
  963. <td class="paramkey"></td>
  964. <td></td>
  965. <td class="paramtype">const char *&#160;</td>
  966. <td class="paramname"><em>path</em>, </td>
  967. </tr>
  968. <tr>
  969. <td class="paramkey"></td>
  970. <td></td>
  971. <td class="paramtype">oflag_t&#160;</td>
  972. <td class="paramname"><em>oflag</em> = <code>O_RDONLY</code>&#160;</td>
  973. </tr>
  974. <tr>
  975. <td></td>
  976. <td>)</td>
  977. <td></td><td></td>
  978. </tr>
  979. </table>
  980. </td>
  981. <td class="mlabels-right">
  982. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  983. </tr>
  984. </table>
  985. </div><div class="memdoc">
  986. <p>Open a file or directory by name.</p>
  987. <dl class="params"><dt>Parameters</dt><dd>
  988. <table class="params">
  989. <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>An open file instance for the directory containing the file to be opened.</td></tr>
  990. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path with a valid 8.3 DOS name for a file to be opened.</td></tr>
  991. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>Values for <em>oflag</em> are constructed by a bitwise-inclusive OR of flags from the following list</td></tr>
  992. </table>
  993. </dd>
  994. </dl>
  995. <p>O_RDONLY - Open for reading only..</p>
  996. <p>O_READ - Same as O_RDONLY.</p>
  997. <p>O_WRONLY - Open for writing only.</p>
  998. <p>O_WRITE - Same as O_WRONLY.</p>
  999. <p>O_RDWR - Open for reading and writing.</p>
  1000. <p>O_APPEND - If set, the file offset shall be set to the end of the file prior to each write.</p>
  1001. <p>O_AT_END - Set the initial position at the end of the file.</p>
  1002. <p>O_CREAT - If the file exists, this flag has no effect except as noted under O_EXCL below. Otherwise, the file shall be created</p>
  1003. <p>O_EXCL - If O_CREAT and O_EXCL are set, <a class="el" href="class_fs_base_file.html#aa767859d4a4b4716ebbc4ea42a6d74df">open()</a> shall fail if the file exists.</p>
  1004. <p>O_TRUNC - If the file exists and is a regular file, and the file is successfully opened and is not read only, its length shall be truncated to 0.</p>
  1005. <p>WARNING: A given file must not be opened by more than one file object or file corruption may occur.</p>
  1006. <dl class="section note"><dt>Note</dt><dd>Directory files must be opened read only. Write and truncation is not allowed for directory files.</dd></dl>
  1007. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1008. </div>
  1009. </div>
  1010. <a id="ac4edea1afb935119ecaf39607016c3cc"></a>
  1011. <h2 class="memtitle"><span class="permalink"><a href="#ac4edea1afb935119ecaf39607016c3cc">&#9670;&nbsp;</a></span>open() <span class="overload">[3/4]</span></h2>
  1012. <div class="memitem">
  1013. <div class="memproto">
  1014. <table class="mlabels">
  1015. <tr>
  1016. <td class="mlabels-left">
  1017. <table class="memname">
  1018. <tr>
  1019. <td class="memname">bool FsBaseFile::open </td>
  1020. <td>(</td>
  1021. <td class="paramtype"><a class="el" href="class_fs_base_file.html">FsBaseFile</a> *&#160;</td>
  1022. <td class="paramname"><em>dir</em>, </td>
  1023. </tr>
  1024. <tr>
  1025. <td class="paramkey"></td>
  1026. <td></td>
  1027. <td class="paramtype">uint32_t&#160;</td>
  1028. <td class="paramname"><em>index</em>, </td>
  1029. </tr>
  1030. <tr>
  1031. <td class="paramkey"></td>
  1032. <td></td>
  1033. <td class="paramtype">oflag_t&#160;</td>
  1034. <td class="paramname"><em>oflag</em>&#160;</td>
  1035. </tr>
  1036. <tr>
  1037. <td></td>
  1038. <td>)</td>
  1039. <td></td><td></td>
  1040. </tr>
  1041. </table>
  1042. </td>
  1043. <td class="mlabels-right">
  1044. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  1045. </tr>
  1046. </table>
  1047. </div><div class="memdoc">
  1048. <p>Open a file by index.</p>
  1049. <dl class="params"><dt>Parameters</dt><dd>
  1050. <table class="params">
  1051. <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>An open <a class="el" href="class_fs_file.html" title="FsBaseFile file with Arduino Stream.">FsFile</a> instance for the directory.</td></tr>
  1052. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The <em>index</em> of the directory entry for the file to be opened. The value for <em>index</em> is (directory file position)/32.</td></tr>
  1053. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>bitwise-inclusive OR of open flags. See see FsFile::open(FsFile*, const char*, uint8_t).</td></tr>
  1054. </table>
  1055. </dd>
  1056. </dl>
  1057. <p>See <a class="el" href="class_fs_base_file.html#aa767859d4a4b4716ebbc4ea42a6d74df">open()</a> by path for definition of flags. </p><dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1058. </div>
  1059. </div>
  1060. <a id="a9786eb47f5d001e89ff291c271517547"></a>
  1061. <h2 class="memtitle"><span class="permalink"><a href="#a9786eb47f5d001e89ff291c271517547">&#9670;&nbsp;</a></span>open() <span class="overload">[4/4]</span></h2>
  1062. <div class="memitem">
  1063. <div class="memproto">
  1064. <table class="mlabels">
  1065. <tr>
  1066. <td class="mlabels-left">
  1067. <table class="memname">
  1068. <tr>
  1069. <td class="memname">bool FsBaseFile::open </td>
  1070. <td>(</td>
  1071. <td class="paramtype"><a class="el" href="class_fs_volume.html">FsVolume</a> *&#160;</td>
  1072. <td class="paramname"><em>vol</em>, </td>
  1073. </tr>
  1074. <tr>
  1075. <td class="paramkey"></td>
  1076. <td></td>
  1077. <td class="paramtype">const char *&#160;</td>
  1078. <td class="paramname"><em>path</em>, </td>
  1079. </tr>
  1080. <tr>
  1081. <td class="paramkey"></td>
  1082. <td></td>
  1083. <td class="paramtype">oflag_t&#160;</td>
  1084. <td class="paramname"><em>oflag</em>&#160;</td>
  1085. </tr>
  1086. <tr>
  1087. <td></td>
  1088. <td>)</td>
  1089. <td></td><td></td>
  1090. </tr>
  1091. </table>
  1092. </td>
  1093. <td class="mlabels-right">
  1094. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  1095. </tr>
  1096. </table>
  1097. </div><div class="memdoc">
  1098. <p>Open a file or directory by name.</p>
  1099. <dl class="params"><dt>Parameters</dt><dd>
  1100. <table class="params">
  1101. <tr><td class="paramdir">[in]</td><td class="paramname">vol</td><td>Volume where the file is located.</td></tr>
  1102. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>A path for a file to be opened.</td></tr>
  1103. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>Values for <em>oflag</em> are constructed by a bitwise-inclusive OR of open flags.</td></tr>
  1104. </table>
  1105. </dd>
  1106. </dl>
  1107. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1108. </div>
  1109. </div>
  1110. <a id="acb9b1075f4db76fa7e0521c9aff9c3df"></a>
  1111. <h2 class="memtitle"><span class="permalink"><a href="#acb9b1075f4db76fa7e0521c9aff9c3df">&#9670;&nbsp;</a></span>openNext()</h2>
  1112. <div class="memitem">
  1113. <div class="memproto">
  1114. <table class="mlabels">
  1115. <tr>
  1116. <td class="mlabels-left">
  1117. <table class="memname">
  1118. <tr>
  1119. <td class="memname">bool FsBaseFile::openNext </td>
  1120. <td>(</td>
  1121. <td class="paramtype"><a class="el" href="class_fs_base_file.html">FsBaseFile</a> *&#160;</td>
  1122. <td class="paramname"><em>dir</em>, </td>
  1123. </tr>
  1124. <tr>
  1125. <td class="paramkey"></td>
  1126. <td></td>
  1127. <td class="paramtype">oflag_t&#160;</td>
  1128. <td class="paramname"><em>oflag</em> = <code>O_RDONLY</code>&#160;</td>
  1129. </tr>
  1130. <tr>
  1131. <td></td>
  1132. <td>)</td>
  1133. <td></td><td></td>
  1134. </tr>
  1135. </table>
  1136. </td>
  1137. <td class="mlabels-right">
  1138. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  1139. </tr>
  1140. </table>
  1141. </div><div class="memdoc">
  1142. <p>Opens the next file or folder in a directory. </p><dl class="params"><dt>Parameters</dt><dd>
  1143. <table class="params">
  1144. <tr><td class="paramdir">[in]</td><td class="paramname">dir</td><td>directory containing files. </td></tr>
  1145. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>open flags. </td></tr>
  1146. </table>
  1147. </dd>
  1148. </dl>
  1149. <dl class="section return"><dt>Returns</dt><dd>a file object. </dd></dl>
  1150. </div>
  1151. </div>
  1152. <a id="ab2f85961e3831d0d654da862becb7433"></a>
  1153. <h2 class="memtitle"><span class="permalink"><a href="#ab2f85961e3831d0d654da862becb7433">&#9670;&nbsp;</a></span>openNextFile()</h2>
  1154. <div class="memitem">
  1155. <div class="memproto">
  1156. <table class="mlabels">
  1157. <tr>
  1158. <td class="mlabels-left">
  1159. <table class="memname">
  1160. <tr>
  1161. <td class="memname"><a class="el" href="class_fs_file.html">FsFile</a> FsFile::openNextFile </td>
  1162. <td>(</td>
  1163. <td class="paramtype">oflag_t&#160;</td>
  1164. <td class="paramname"><em>oflag</em> = <code>O_RDONLY</code></td><td>)</td>
  1165. <td></td>
  1166. </tr>
  1167. </table>
  1168. </td>
  1169. <td class="mlabels-right">
  1170. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1171. </tr>
  1172. </table>
  1173. </div><div class="memdoc">
  1174. <p>Opens the next file or folder in a directory.</p>
  1175. <dl class="params"><dt>Parameters</dt><dd>
  1176. <table class="params">
  1177. <tr><td class="paramdir">[in]</td><td class="paramname">oflag</td><td>open flags. </td></tr>
  1178. </table>
  1179. </dd>
  1180. </dl>
  1181. <dl class="section return"><dt>Returns</dt><dd>a FatStream object. </dd></dl>
  1182. </div>
  1183. </div>
  1184. <a id="a3ad633f3efc2701a3a89e776436b14e1"></a>
  1185. <h2 class="memtitle"><span class="permalink"><a href="#a3ad633f3efc2701a3a89e776436b14e1">&#9670;&nbsp;</a></span>operator bool()</h2>
  1186. <div class="memitem">
  1187. <div class="memproto">
  1188. <table class="mlabels">
  1189. <tr>
  1190. <td class="mlabels-left">
  1191. <table class="memname">
  1192. <tr>
  1193. <td class="memname">FsBaseFile::operator bool </td>
  1194. <td>(</td>
  1195. <td class="paramname"></td><td>)</td>
  1196. <td></td>
  1197. </tr>
  1198. </table>
  1199. </td>
  1200. <td class="mlabels-right">
  1201. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1202. </tr>
  1203. </table>
  1204. </div><div class="memdoc">
  1205. <p>The parenthesis operator.</p>
  1206. <dl class="section return"><dt>Returns</dt><dd>true if a file is open. </dd></dl>
  1207. </div>
  1208. </div>
  1209. <a id="af0da96e502485133ca0cff27fa130082"></a>
  1210. <h2 class="memtitle"><span class="permalink"><a href="#af0da96e502485133ca0cff27fa130082">&#9670;&nbsp;</a></span>peek()</h2>
  1211. <div class="memitem">
  1212. <div class="memproto">
  1213. <table class="mlabels">
  1214. <tr>
  1215. <td class="mlabels-left">
  1216. <table class="memname">
  1217. <tr>
  1218. <td class="memname">int <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::peek </td>
  1219. <td>(</td>
  1220. <td class="paramname"></td><td>)</td>
  1221. <td></td>
  1222. </tr>
  1223. </table>
  1224. </td>
  1225. <td class="mlabels-right">
  1226. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1227. </tr>
  1228. </table>
  1229. </div><div class="memdoc">
  1230. <p>Return the next available byte without consuming it.</p>
  1231. <dl class="section return"><dt>Returns</dt><dd>The byte if no error and not at eof else -1; </dd></dl>
  1232. </div>
  1233. </div>
  1234. <a id="a18a04d1e68a0c1e3e38e5712cd9bbc03"></a>
  1235. <h2 class="memtitle"><span class="permalink"><a href="#a18a04d1e68a0c1e3e38e5712cd9bbc03">&#9670;&nbsp;</a></span>position()</h2>
  1236. <div class="memitem">
  1237. <div class="memproto">
  1238. <table class="mlabels">
  1239. <tr>
  1240. <td class="mlabels-left">
  1241. <table class="memname">
  1242. <tr>
  1243. <td class="memname">uint64_t <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::position </td>
  1244. <td>(</td>
  1245. <td class="paramname"></td><td>)</td>
  1246. <td></td>
  1247. </tr>
  1248. </table>
  1249. </td>
  1250. <td class="mlabels-right">
  1251. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1252. </tr>
  1253. </table>
  1254. </div><div class="memdoc">
  1255. <dl class="section return"><dt>Returns</dt><dd>the current file position. </dd></dl>
  1256. </div>
  1257. </div>
  1258. <a id="acbc037f9f07c57235bb8b30af5a53ac2"></a>
  1259. <h2 class="memtitle"><span class="permalink"><a href="#acbc037f9f07c57235bb8b30af5a53ac2">&#9670;&nbsp;</a></span>preAllocate()</h2>
  1260. <div class="memitem">
  1261. <div class="memproto">
  1262. <table class="mlabels">
  1263. <tr>
  1264. <td class="mlabels-left">
  1265. <table class="memname">
  1266. <tr>
  1267. <td class="memname">bool FsBaseFile::preAllocate </td>
  1268. <td>(</td>
  1269. <td class="paramtype">uint64_t&#160;</td>
  1270. <td class="paramname"><em>length</em></td><td>)</td>
  1271. <td></td>
  1272. </tr>
  1273. </table>
  1274. </td>
  1275. <td class="mlabels-right">
  1276. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1277. </tr>
  1278. </table>
  1279. </div><div class="memdoc">
  1280. <p>Allocate contiguous clusters to an empty file.</p>
  1281. <p>The file must be empty with no clusters allocated.</p>
  1282. <p>The file will contain uninitialized data for FAT16/FAT32 files. exFAT files will have zero validLength and dataLength will equal the requested length.</p>
  1283. <dl class="params"><dt>Parameters</dt><dd>
  1284. <table class="params">
  1285. <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>size of the file in bytes. </td></tr>
  1286. </table>
  1287. </dd>
  1288. </dl>
  1289. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1290. </div>
  1291. </div>
  1292. <a id="a264ba61530aee50dbe9659d41dd2c1d6"></a>
  1293. <h2 class="memtitle"><span class="permalink"><a href="#a264ba61530aee50dbe9659d41dd2c1d6">&#9670;&nbsp;</a></span>printAccessDateTime()</h2>
  1294. <div class="memitem">
  1295. <div class="memproto">
  1296. <table class="mlabels">
  1297. <tr>
  1298. <td class="mlabels-left">
  1299. <table class="memname">
  1300. <tr>
  1301. <td class="memname">size_t FsBaseFile::printAccessDateTime </td>
  1302. <td>(</td>
  1303. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  1304. <td class="paramname"><em>pr</em></td><td>)</td>
  1305. <td></td>
  1306. </tr>
  1307. </table>
  1308. </td>
  1309. <td class="mlabels-right">
  1310. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1311. </tr>
  1312. </table>
  1313. </div><div class="memdoc">
  1314. <p>Print a file's access date and time</p>
  1315. <dl class="params"><dt>Parameters</dt><dd>
  1316. <table class="params">
  1317. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  1318. </table>
  1319. </dd>
  1320. </dl>
  1321. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1322. </div>
  1323. </div>
  1324. <a id="a3f75ac7eb6643afcabae28e8c93479c8"></a>
  1325. <h2 class="memtitle"><span class="permalink"><a href="#a3f75ac7eb6643afcabae28e8c93479c8">&#9670;&nbsp;</a></span>printCreateDateTime()</h2>
  1326. <div class="memitem">
  1327. <div class="memproto">
  1328. <table class="mlabels">
  1329. <tr>
  1330. <td class="mlabels-left">
  1331. <table class="memname">
  1332. <tr>
  1333. <td class="memname">size_t FsBaseFile::printCreateDateTime </td>
  1334. <td>(</td>
  1335. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  1336. <td class="paramname"><em>pr</em></td><td>)</td>
  1337. <td></td>
  1338. </tr>
  1339. </table>
  1340. </td>
  1341. <td class="mlabels-right">
  1342. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1343. </tr>
  1344. </table>
  1345. </div><div class="memdoc">
  1346. <p>Print a file's creation date and time</p>
  1347. <dl class="params"><dt>Parameters</dt><dd>
  1348. <table class="params">
  1349. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  1350. </table>
  1351. </dd>
  1352. </dl>
  1353. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1354. </div>
  1355. </div>
  1356. <a id="a911ae825e67d7e6ade4a672595e060d6"></a>
  1357. <h2 class="memtitle"><span class="permalink"><a href="#a911ae825e67d7e6ade4a672595e060d6">&#9670;&nbsp;</a></span>printField() <span class="overload">[1/3]</span></h2>
  1358. <div class="memitem">
  1359. <div class="memproto">
  1360. <table class="mlabels">
  1361. <tr>
  1362. <td class="mlabels-left">
  1363. <table class="memname">
  1364. <tr>
  1365. <td class="memname">size_t FsBaseFile::printField </td>
  1366. <td>(</td>
  1367. <td class="paramtype">double&#160;</td>
  1368. <td class="paramname"><em>value</em>, </td>
  1369. </tr>
  1370. <tr>
  1371. <td class="paramkey"></td>
  1372. <td></td>
  1373. <td class="paramtype">char&#160;</td>
  1374. <td class="paramname"><em>term</em>, </td>
  1375. </tr>
  1376. <tr>
  1377. <td class="paramkey"></td>
  1378. <td></td>
  1379. <td class="paramtype">uint8_t&#160;</td>
  1380. <td class="paramname"><em>prec</em> = <code>2</code>&#160;</td>
  1381. </tr>
  1382. <tr>
  1383. <td></td>
  1384. <td>)</td>
  1385. <td></td><td></td>
  1386. </tr>
  1387. </table>
  1388. </td>
  1389. <td class="mlabels-right">
  1390. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1391. </tr>
  1392. </table>
  1393. </div><div class="memdoc">
  1394. <p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  1395. <table class="params">
  1396. <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
  1397. <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
  1398. <tr><td class="paramdir">[in]</td><td class="paramname">prec</td><td>Number of digits after decimal point. </td></tr>
  1399. </table>
  1400. </dd>
  1401. </dl>
  1402. <dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>
  1403. </div>
  1404. </div>
  1405. <a id="a5dd2738efe2e550f56037536bc252f13"></a>
  1406. <h2 class="memtitle"><span class="permalink"><a href="#a5dd2738efe2e550f56037536bc252f13">&#9670;&nbsp;</a></span>printField() <span class="overload">[2/3]</span></h2>
  1407. <div class="memitem">
  1408. <div class="memproto">
  1409. <table class="mlabels">
  1410. <tr>
  1411. <td class="mlabels-left">
  1412. <table class="memname">
  1413. <tr>
  1414. <td class="memname">size_t FsBaseFile::printField </td>
  1415. <td>(</td>
  1416. <td class="paramtype">float&#160;</td>
  1417. <td class="paramname"><em>value</em>, </td>
  1418. </tr>
  1419. <tr>
  1420. <td class="paramkey"></td>
  1421. <td></td>
  1422. <td class="paramtype">char&#160;</td>
  1423. <td class="paramname"><em>term</em>, </td>
  1424. </tr>
  1425. <tr>
  1426. <td class="paramkey"></td>
  1427. <td></td>
  1428. <td class="paramtype">uint8_t&#160;</td>
  1429. <td class="paramname"><em>prec</em> = <code>2</code>&#160;</td>
  1430. </tr>
  1431. <tr>
  1432. <td></td>
  1433. <td>)</td>
  1434. <td></td><td></td>
  1435. </tr>
  1436. </table>
  1437. </td>
  1438. <td class="mlabels-right">
  1439. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1440. </tr>
  1441. </table>
  1442. </div><div class="memdoc">
  1443. <p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  1444. <table class="params">
  1445. <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
  1446. <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
  1447. <tr><td class="paramdir">[in]</td><td class="paramname">prec</td><td>Number of digits after decimal point. </td></tr>
  1448. </table>
  1449. </dd>
  1450. </dl>
  1451. <dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>
  1452. </div>
  1453. </div>
  1454. <a id="a45639312b8c5aa9ceddb19e654e902b4"></a>
  1455. <h2 class="memtitle"><span class="permalink"><a href="#a45639312b8c5aa9ceddb19e654e902b4">&#9670;&nbsp;</a></span>printField() <span class="overload">[3/3]</span></h2>
  1456. <div class="memitem">
  1457. <div class="memproto">
  1458. <div class="memtemplate">
  1459. template&lt;typename Type &gt; </div>
  1460. <table class="mlabels">
  1461. <tr>
  1462. <td class="mlabels-left">
  1463. <table class="memname">
  1464. <tr>
  1465. <td class="memname">size_t FsBaseFile::printField </td>
  1466. <td>(</td>
  1467. <td class="paramtype">Type&#160;</td>
  1468. <td class="paramname"><em>value</em>, </td>
  1469. </tr>
  1470. <tr>
  1471. <td class="paramkey"></td>
  1472. <td></td>
  1473. <td class="paramtype">char&#160;</td>
  1474. <td class="paramname"><em>term</em>&#160;</td>
  1475. </tr>
  1476. <tr>
  1477. <td></td>
  1478. <td>)</td>
  1479. <td></td><td></td>
  1480. </tr>
  1481. </table>
  1482. </td>
  1483. <td class="mlabels-right">
  1484. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1485. </tr>
  1486. </table>
  1487. </div><div class="memdoc">
  1488. <p>Print a number followed by a field terminator. </p><dl class="params"><dt>Parameters</dt><dd>
  1489. <table class="params">
  1490. <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to be printed. </td></tr>
  1491. <tr><td class="paramdir">[in]</td><td class="paramname">term</td><td>The field terminator. Use '\n' for CR LF. </td></tr>
  1492. </table>
  1493. </dd>
  1494. </dl>
  1495. <dl class="section return"><dt>Returns</dt><dd>The number of bytes written or -1 if an error occurs. </dd></dl>
  1496. </div>
  1497. </div>
  1498. <a id="a6760471e3c445f66b94f3f0e96fdfe10"></a>
  1499. <h2 class="memtitle"><span class="permalink"><a href="#a6760471e3c445f66b94f3f0e96fdfe10">&#9670;&nbsp;</a></span>printFileSize()</h2>
  1500. <div class="memitem">
  1501. <div class="memproto">
  1502. <table class="mlabels">
  1503. <tr>
  1504. <td class="mlabels-left">
  1505. <table class="memname">
  1506. <tr>
  1507. <td class="memname">size_t FsBaseFile::printFileSize </td>
  1508. <td>(</td>
  1509. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  1510. <td class="paramname"><em>pr</em></td><td>)</td>
  1511. <td></td>
  1512. </tr>
  1513. </table>
  1514. </td>
  1515. <td class="mlabels-right">
  1516. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1517. </tr>
  1518. </table>
  1519. </div><div class="memdoc">
  1520. <p>Print a file's size.</p>
  1521. <dl class="params"><dt>Parameters</dt><dd>
  1522. <table class="params">
  1523. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  1524. </table>
  1525. </dd>
  1526. </dl>
  1527. <dl class="section return"><dt>Returns</dt><dd>The number of characters printed is returned for success and zero is returned for failure. </dd></dl>
  1528. </div>
  1529. </div>
  1530. <a id="a0f2f813496fa156f9808a5d33c2d8746"></a>
  1531. <h2 class="memtitle"><span class="permalink"><a href="#a0f2f813496fa156f9808a5d33c2d8746">&#9670;&nbsp;</a></span>printModifyDateTime()</h2>
  1532. <div class="memitem">
  1533. <div class="memproto">
  1534. <table class="mlabels">
  1535. <tr>
  1536. <td class="mlabels-left">
  1537. <table class="memname">
  1538. <tr>
  1539. <td class="memname">size_t FsBaseFile::printModifyDateTime </td>
  1540. <td>(</td>
  1541. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  1542. <td class="paramname"><em>pr</em></td><td>)</td>
  1543. <td></td>
  1544. </tr>
  1545. </table>
  1546. </td>
  1547. <td class="mlabels-right">
  1548. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1549. </tr>
  1550. </table>
  1551. </div><div class="memdoc">
  1552. <p>Print a file's modify date and time</p>
  1553. <dl class="params"><dt>Parameters</dt><dd>
  1554. <table class="params">
  1555. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  1556. </table>
  1557. </dd>
  1558. </dl>
  1559. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1560. </div>
  1561. </div>
  1562. <a id="a178a1cbe2bce19758a55bd00fa262732"></a>
  1563. <h2 class="memtitle"><span class="permalink"><a href="#a178a1cbe2bce19758a55bd00fa262732">&#9670;&nbsp;</a></span>printName()</h2>
  1564. <div class="memitem">
  1565. <div class="memproto">
  1566. <table class="mlabels">
  1567. <tr>
  1568. <td class="mlabels-left">
  1569. <table class="memname">
  1570. <tr>
  1571. <td class="memname">size_t FsBaseFile::printName </td>
  1572. <td>(</td>
  1573. <td class="paramtype"><a class="el" href="_sys_call_8h.html#ac62f6449331cfe1a71f29be30efe7890">print_t</a> *&#160;</td>
  1574. <td class="paramname"><em>pr</em></td><td>)</td>
  1575. <td></td>
  1576. </tr>
  1577. </table>
  1578. </td>
  1579. <td class="mlabels-right">
  1580. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1581. </tr>
  1582. </table>
  1583. </div><div class="memdoc">
  1584. <p>Print a file's name</p>
  1585. <dl class="params"><dt>Parameters</dt><dd>
  1586. <table class="params">
  1587. <tr><td class="paramdir">[in]</td><td class="paramname">pr</td><td>Print stream for output.</td></tr>
  1588. </table>
  1589. </dd>
  1590. </dl>
  1591. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1592. </div>
  1593. </div>
  1594. <a id="a249a5d428f303e2a8e7c3ae476e74829"></a>
  1595. <h2 class="memtitle"><span class="permalink"><a href="#a249a5d428f303e2a8e7c3ae476e74829">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
  1596. <div class="memitem">
  1597. <div class="memproto">
  1598. <table class="mlabels">
  1599. <tr>
  1600. <td class="mlabels-left">
  1601. <table class="memname">
  1602. <tr>
  1603. <td class="memname">int <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::read </td>
  1604. <td>(</td>
  1605. <td class="paramname"></td><td>)</td>
  1606. <td></td>
  1607. </tr>
  1608. </table>
  1609. </td>
  1610. <td class="mlabels-right">
  1611. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1612. </tr>
  1613. </table>
  1614. </div><div class="memdoc">
  1615. <p>Read the next byte from a file.</p>
  1616. <dl class="section return"><dt>Returns</dt><dd>For success return the next byte in the file as an int. If an error occurs or end of file is reached return -1. </dd></dl>
  1617. </div>
  1618. </div>
  1619. <a id="ae8d8cb4cceda9d56e8dae692d04a46e6"></a>
  1620. <h2 class="memtitle"><span class="permalink"><a href="#ae8d8cb4cceda9d56e8dae692d04a46e6">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
  1621. <div class="memitem">
  1622. <div class="memproto">
  1623. <table class="mlabels">
  1624. <tr>
  1625. <td class="mlabels-left">
  1626. <table class="memname">
  1627. <tr>
  1628. <td class="memname">int FsBaseFile::read </td>
  1629. <td>(</td>
  1630. <td class="paramtype">void *&#160;</td>
  1631. <td class="paramname"><em>buf</em>, </td>
  1632. </tr>
  1633. <tr>
  1634. <td class="paramkey"></td>
  1635. <td></td>
  1636. <td class="paramtype">size_t&#160;</td>
  1637. <td class="paramname"><em>count</em>&#160;</td>
  1638. </tr>
  1639. <tr>
  1640. <td></td>
  1641. <td>)</td>
  1642. <td></td><td></td>
  1643. </tr>
  1644. </table>
  1645. </td>
  1646. <td class="mlabels-right">
  1647. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1648. </tr>
  1649. </table>
  1650. </div><div class="memdoc">
  1651. <p>Read data from a file starting at the current position.</p>
  1652. <dl class="params"><dt>Parameters</dt><dd>
  1653. <table class="params">
  1654. <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Pointer to the location that will receive the data.</td></tr>
  1655. <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Maximum number of bytes to read.</td></tr>
  1656. </table>
  1657. </dd>
  1658. </dl>
  1659. <dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_stream_file.html#a249a5d428f303e2a8e7c3ae476e74829">read()</a> returns the number of bytes read. A value less than <em>count</em>, including zero, will be returned if end of file is reached. If an error occurs, <a class="el" href="class_stream_file.html#a249a5d428f303e2a8e7c3ae476e74829">read()</a> returns -1. Possible errors include <a class="el" href="class_stream_file.html#a249a5d428f303e2a8e7c3ae476e74829">read()</a> called before a file has been opened, corrupt file system or an I/O error occurred. </dd></dl>
  1660. </div>
  1661. </div>
  1662. <a id="a8d21f9df86e846e34c3bb11cf7db21bc"></a>
  1663. <h2 class="memtitle"><span class="permalink"><a href="#a8d21f9df86e846e34c3bb11cf7db21bc">&#9670;&nbsp;</a></span>remove() <span class="overload">[1/2]</span></h2>
  1664. <div class="memitem">
  1665. <div class="memproto">
  1666. <table class="mlabels">
  1667. <tr>
  1668. <td class="mlabels-left">
  1669. <table class="memname">
  1670. <tr>
  1671. <td class="memname">bool FsBaseFile::remove </td>
  1672. <td>(</td>
  1673. <td class="paramname"></td><td>)</td>
  1674. <td></td>
  1675. </tr>
  1676. </table>
  1677. </td>
  1678. <td class="mlabels-right">
  1679. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  1680. </tr>
  1681. </table>
  1682. </div><div class="memdoc">
  1683. <p>Remove a file.</p>
  1684. <p>The directory entry and all data for the file are deleted.</p>
  1685. <dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a file that has a long name. For example if a file has the long name "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".</dd></dl>
  1686. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1687. </div>
  1688. </div>
  1689. <a id="a64feff69c4f09e56247c7f9dc7c74f34"></a>
  1690. <h2 class="memtitle"><span class="permalink"><a href="#a64feff69c4f09e56247c7f9dc7c74f34">&#9670;&nbsp;</a></span>remove() <span class="overload">[2/2]</span></h2>
  1691. <div class="memitem">
  1692. <div class="memproto">
  1693. <table class="mlabels">
  1694. <tr>
  1695. <td class="mlabels-left">
  1696. <table class="memname">
  1697. <tr>
  1698. <td class="memname">bool FsBaseFile::remove </td>
  1699. <td>(</td>
  1700. <td class="paramtype">const char *&#160;</td>
  1701. <td class="paramname"><em>path</em></td><td>)</td>
  1702. <td></td>
  1703. </tr>
  1704. </table>
  1705. </td>
  1706. <td class="mlabels-right">
  1707. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1708. </tr>
  1709. </table>
  1710. </div><div class="memdoc">
  1711. <p>Remove a file.</p>
  1712. <p>The directory entry and all data for the file are deleted.</p>
  1713. <dl class="params"><dt>Parameters</dt><dd>
  1714. <table class="params">
  1715. <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Path for the file to be removed.</td></tr>
  1716. </table>
  1717. </dd>
  1718. </dl>
  1719. <p>Example use: dirFile.remove(filenameToRemove);</p>
  1720. <dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a file that has a long name. For example if a file has the long name "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".</dd></dl>
  1721. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1722. </div>
  1723. </div>
  1724. <a id="af532d87177e86995a053503eb9152115"></a>
  1725. <h2 class="memtitle"><span class="permalink"><a href="#af532d87177e86995a053503eb9152115">&#9670;&nbsp;</a></span>rename() <span class="overload">[1/2]</span></h2>
  1726. <div class="memitem">
  1727. <div class="memproto">
  1728. <table class="mlabels">
  1729. <tr>
  1730. <td class="mlabels-left">
  1731. <table class="memname">
  1732. <tr>
  1733. <td class="memname">bool FsBaseFile::rename </td>
  1734. <td>(</td>
  1735. <td class="paramtype">const char *&#160;</td>
  1736. <td class="paramname"><em>newPath</em></td><td>)</td>
  1737. <td></td>
  1738. </tr>
  1739. </table>
  1740. </td>
  1741. <td class="mlabels-right">
  1742. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1743. </tr>
  1744. </table>
  1745. </div><div class="memdoc">
  1746. <p>Rename a file or subdirectory.</p>
  1747. <dl class="params"><dt>Parameters</dt><dd>
  1748. <table class="params">
  1749. <tr><td class="paramdir">[in]</td><td class="paramname">newPath</td><td>New path name for the file/directory.</td></tr>
  1750. </table>
  1751. </dd>
  1752. </dl>
  1753. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1754. </div>
  1755. </div>
  1756. <a id="a4e4347f6e89bf0b487824dbdc5b82068"></a>
  1757. <h2 class="memtitle"><span class="permalink"><a href="#a4e4347f6e89bf0b487824dbdc5b82068">&#9670;&nbsp;</a></span>rename() <span class="overload">[2/2]</span></h2>
  1758. <div class="memitem">
  1759. <div class="memproto">
  1760. <table class="mlabels">
  1761. <tr>
  1762. <td class="mlabels-left">
  1763. <table class="memname">
  1764. <tr>
  1765. <td class="memname">bool FsBaseFile::rename </td>
  1766. <td>(</td>
  1767. <td class="paramtype"><a class="el" href="class_fs_base_file.html">FsBaseFile</a> *&#160;</td>
  1768. <td class="paramname"><em>dirFile</em>, </td>
  1769. </tr>
  1770. <tr>
  1771. <td class="paramkey"></td>
  1772. <td></td>
  1773. <td class="paramtype">const char *&#160;</td>
  1774. <td class="paramname"><em>newPath</em>&#160;</td>
  1775. </tr>
  1776. <tr>
  1777. <td></td>
  1778. <td>)</td>
  1779. <td></td><td></td>
  1780. </tr>
  1781. </table>
  1782. </td>
  1783. <td class="mlabels-right">
  1784. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1785. </tr>
  1786. </table>
  1787. </div><div class="memdoc">
  1788. <p>Rename a file or subdirectory.</p>
  1789. <dl class="params"><dt>Parameters</dt><dd>
  1790. <table class="params">
  1791. <tr><td class="paramdir">[in]</td><td class="paramname">dirFile</td><td>Directory for the new path. </td></tr>
  1792. <tr><td class="paramdir">[in]</td><td class="paramname">newPath</td><td>New path name for the file/directory.</td></tr>
  1793. </table>
  1794. </dd>
  1795. </dl>
  1796. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1797. </div>
  1798. </div>
  1799. <a id="a22f8ef845d610493ebe314e19ddda561"></a>
  1800. <h2 class="memtitle"><span class="permalink"><a href="#a22f8ef845d610493ebe314e19ddda561">&#9670;&nbsp;</a></span>rewind()</h2>
  1801. <div class="memitem">
  1802. <div class="memproto">
  1803. <table class="mlabels">
  1804. <tr>
  1805. <td class="mlabels-left">
  1806. <table class="memname">
  1807. <tr>
  1808. <td class="memname">void FsBaseFile::rewind </td>
  1809. <td>(</td>
  1810. <td class="paramname"></td><td>)</td>
  1811. <td></td>
  1812. </tr>
  1813. </table>
  1814. </td>
  1815. <td class="mlabels-right">
  1816. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1817. </tr>
  1818. </table>
  1819. </div><div class="memdoc">
  1820. <p>Set the file's current position to zero. </p>
  1821. </div>
  1822. </div>
  1823. <a id="a91e8cfbde27d6879b4f51d2ceb2a9f06"></a>
  1824. <h2 class="memtitle"><span class="permalink"><a href="#a91e8cfbde27d6879b4f51d2ceb2a9f06">&#9670;&nbsp;</a></span>rewindDirectory()</h2>
  1825. <div class="memitem">
  1826. <div class="memproto">
  1827. <table class="mlabels">
  1828. <tr>
  1829. <td class="mlabels-left">
  1830. <table class="memname">
  1831. <tr>
  1832. <td class="memname">void <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::rewindDirectory </td>
  1833. <td>(</td>
  1834. <td class="paramname"></td><td>)</td>
  1835. <td></td>
  1836. </tr>
  1837. </table>
  1838. </td>
  1839. <td class="mlabels-right">
  1840. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1841. </tr>
  1842. </table>
  1843. </div><div class="memdoc">
  1844. <p>Rewind a file if it is a directory </p>
  1845. </div>
  1846. </div>
  1847. <a id="ac47870fd89b0849cda33f2780918a286"></a>
  1848. <h2 class="memtitle"><span class="permalink"><a href="#ac47870fd89b0849cda33f2780918a286">&#9670;&nbsp;</a></span>rmdir()</h2>
  1849. <div class="memitem">
  1850. <div class="memproto">
  1851. <table class="mlabels">
  1852. <tr>
  1853. <td class="mlabels-left">
  1854. <table class="memname">
  1855. <tr>
  1856. <td class="memname">bool FsBaseFile::rmdir </td>
  1857. <td>(</td>
  1858. <td class="paramname"></td><td>)</td>
  1859. <td></td>
  1860. </tr>
  1861. </table>
  1862. </td>
  1863. <td class="mlabels-right">
  1864. <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
  1865. </tr>
  1866. </table>
  1867. </div><div class="memdoc">
  1868. <p>Remove a directory file.</p>
  1869. <p>The directory file will be removed only if it is empty and is not the root directory. <a class="el" href="class_fs_base_file.html#ac47870fd89b0849cda33f2780918a286">rmdir()</a> follows DOS and Windows and ignores the read-only attribute for the directory.</p>
  1870. <dl class="section note"><dt>Note</dt><dd>This function should not be used to delete the 8.3 version of a directory that has a long name. For example if a directory has the long name "New folder" you should not delete the 8.3 name "NEWFOL~1".</dd></dl>
  1871. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1872. </div>
  1873. </div>
  1874. <a id="a773ee6f661fc689a5187f51cb5498086"></a>
  1875. <h2 class="memtitle"><span class="permalink"><a href="#a773ee6f661fc689a5187f51cb5498086">&#9670;&nbsp;</a></span>seek()</h2>
  1876. <div class="memitem">
  1877. <div class="memproto">
  1878. <table class="mlabels">
  1879. <tr>
  1880. <td class="mlabels-left">
  1881. <table class="memname">
  1882. <tr>
  1883. <td class="memname">bool <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::seek </td>
  1884. <td>(</td>
  1885. <td class="paramtype">uint64_t&#160;</td>
  1886. <td class="paramname"><em>pos</em></td><td>)</td>
  1887. <td></td>
  1888. </tr>
  1889. </table>
  1890. </td>
  1891. <td class="mlabels-right">
  1892. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1893. </tr>
  1894. </table>
  1895. </div><div class="memdoc">
  1896. <p>Seek to a new position in the file, which must be between 0 and the size of the file (inclusive).</p>
  1897. <dl class="params"><dt>Parameters</dt><dd>
  1898. <table class="params">
  1899. <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>the new file position. </td></tr>
  1900. </table>
  1901. </dd>
  1902. </dl>
  1903. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1904. </div>
  1905. </div>
  1906. <a id="a5fa242a4598eab5caa6efd4bdf62f5c0"></a>
  1907. <h2 class="memtitle"><span class="permalink"><a href="#a5fa242a4598eab5caa6efd4bdf62f5c0">&#9670;&nbsp;</a></span>seekCur()</h2>
  1908. <div class="memitem">
  1909. <div class="memproto">
  1910. <table class="mlabels">
  1911. <tr>
  1912. <td class="mlabels-left">
  1913. <table class="memname">
  1914. <tr>
  1915. <td class="memname">bool FsBaseFile::seekCur </td>
  1916. <td>(</td>
  1917. <td class="paramtype">int64_t&#160;</td>
  1918. <td class="paramname"><em>offset</em></td><td>)</td>
  1919. <td></td>
  1920. </tr>
  1921. </table>
  1922. </td>
  1923. <td class="mlabels-right">
  1924. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1925. </tr>
  1926. </table>
  1927. </div><div class="memdoc">
  1928. <p>Set the files position to current position + <em>pos</em>. See <a class="el" href="class_fs_base_file.html#a460f7598c903b8a4b4fe868dacccb6dd">seekSet()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  1929. <table class="params">
  1930. <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The new position in bytes from the current position. </td></tr>
  1931. </table>
  1932. </dd>
  1933. </dl>
  1934. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1935. </div>
  1936. </div>
  1937. <a id="ade9f9a9ac4d3e0a392a6cc45c9551767"></a>
  1938. <h2 class="memtitle"><span class="permalink"><a href="#ade9f9a9ac4d3e0a392a6cc45c9551767">&#9670;&nbsp;</a></span>seekEnd()</h2>
  1939. <div class="memitem">
  1940. <div class="memproto">
  1941. <table class="mlabels">
  1942. <tr>
  1943. <td class="mlabels-left">
  1944. <table class="memname">
  1945. <tr>
  1946. <td class="memname">bool FsBaseFile::seekEnd </td>
  1947. <td>(</td>
  1948. <td class="paramtype">int64_t&#160;</td>
  1949. <td class="paramname"><em>offset</em> = <code>0</code></td><td>)</td>
  1950. <td></td>
  1951. </tr>
  1952. </table>
  1953. </td>
  1954. <td class="mlabels-right">
  1955. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1956. </tr>
  1957. </table>
  1958. </div><div class="memdoc">
  1959. <p>Set the files position to end-of-file + <em>offset</em>. See <a class="el" href="class_fs_base_file.html#a460f7598c903b8a4b4fe868dacccb6dd">seekSet()</a>. Can't be used for directory files since file size is not defined. </p><dl class="params"><dt>Parameters</dt><dd>
  1960. <table class="params">
  1961. <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The new position in bytes from end-of-file. </td></tr>
  1962. </table>
  1963. </dd>
  1964. </dl>
  1965. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1966. </div>
  1967. </div>
  1968. <a id="a460f7598c903b8a4b4fe868dacccb6dd"></a>
  1969. <h2 class="memtitle"><span class="permalink"><a href="#a460f7598c903b8a4b4fe868dacccb6dd">&#9670;&nbsp;</a></span>seekSet()</h2>
  1970. <div class="memitem">
  1971. <div class="memproto">
  1972. <table class="mlabels">
  1973. <tr>
  1974. <td class="mlabels-left">
  1975. <table class="memname">
  1976. <tr>
  1977. <td class="memname">bool FsBaseFile::seekSet </td>
  1978. <td>(</td>
  1979. <td class="paramtype">uint64_t&#160;</td>
  1980. <td class="paramname"><em>pos</em></td><td>)</td>
  1981. <td></td>
  1982. </tr>
  1983. </table>
  1984. </td>
  1985. <td class="mlabels-right">
  1986. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  1987. </tr>
  1988. </table>
  1989. </div><div class="memdoc">
  1990. <p>Sets a file's position.</p>
  1991. <dl class="params"><dt>Parameters</dt><dd>
  1992. <table class="params">
  1993. <tr><td class="paramdir">[in]</td><td class="paramname">pos</td><td>The new position in bytes from the beginning of the file.</td></tr>
  1994. </table>
  1995. </dd>
  1996. </dl>
  1997. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  1998. </div>
  1999. </div>
  2000. <a id="a5813d451e7f7ba57a04d177caffc5a9f"></a>
  2001. <h2 class="memtitle"><span class="permalink"><a href="#a5813d451e7f7ba57a04d177caffc5a9f">&#9670;&nbsp;</a></span>size()</h2>
  2002. <div class="memitem">
  2003. <div class="memproto">
  2004. <table class="mlabels">
  2005. <tr>
  2006. <td class="mlabels-left">
  2007. <table class="memname">
  2008. <tr>
  2009. <td class="memname">uint64_t <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::size </td>
  2010. <td>(</td>
  2011. <td class="paramname"></td><td>)</td>
  2012. <td></td>
  2013. </tr>
  2014. </table>
  2015. </td>
  2016. <td class="mlabels-right">
  2017. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2018. </tr>
  2019. </table>
  2020. </div><div class="memdoc">
  2021. <dl class="section return"><dt>Returns</dt><dd>the file's size. </dd></dl>
  2022. </div>
  2023. </div>
  2024. <a id="acf2d9261c5c1b1b022a0414cdfe0a17b"></a>
  2025. <h2 class="memtitle"><span class="permalink"><a href="#acf2d9261c5c1b1b022a0414cdfe0a17b">&#9670;&nbsp;</a></span>sync()</h2>
  2026. <div class="memitem">
  2027. <div class="memproto">
  2028. <table class="mlabels">
  2029. <tr>
  2030. <td class="mlabels-left">
  2031. <table class="memname">
  2032. <tr>
  2033. <td class="memname">bool FsBaseFile::sync </td>
  2034. <td>(</td>
  2035. <td class="paramname"></td><td>)</td>
  2036. <td></td>
  2037. </tr>
  2038. </table>
  2039. </td>
  2040. <td class="mlabels-right">
  2041. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2042. </tr>
  2043. </table>
  2044. </div><div class="memdoc">
  2045. <p>The <a class="el" href="class_fs_base_file.html#acf2d9261c5c1b1b022a0414cdfe0a17b">sync()</a> call causes all modified data and directory fields to be written to the storage device.</p>
  2046. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  2047. </div>
  2048. </div>
  2049. <a id="acea65e639feebaac01964af02a77d324"></a>
  2050. <h2 class="memtitle"><span class="permalink"><a href="#acea65e639feebaac01964af02a77d324">&#9670;&nbsp;</a></span>timestamp()</h2>
  2051. <div class="memitem">
  2052. <div class="memproto">
  2053. <table class="mlabels">
  2054. <tr>
  2055. <td class="mlabels-left">
  2056. <table class="memname">
  2057. <tr>
  2058. <td class="memname">bool FsBaseFile::timestamp </td>
  2059. <td>(</td>
  2060. <td class="paramtype">uint8_t&#160;</td>
  2061. <td class="paramname"><em>flags</em>, </td>
  2062. </tr>
  2063. <tr>
  2064. <td class="paramkey"></td>
  2065. <td></td>
  2066. <td class="paramtype">uint16_t&#160;</td>
  2067. <td class="paramname"><em>year</em>, </td>
  2068. </tr>
  2069. <tr>
  2070. <td class="paramkey"></td>
  2071. <td></td>
  2072. <td class="paramtype">uint8_t&#160;</td>
  2073. <td class="paramname"><em>month</em>, </td>
  2074. </tr>
  2075. <tr>
  2076. <td class="paramkey"></td>
  2077. <td></td>
  2078. <td class="paramtype">uint8_t&#160;</td>
  2079. <td class="paramname"><em>day</em>, </td>
  2080. </tr>
  2081. <tr>
  2082. <td class="paramkey"></td>
  2083. <td></td>
  2084. <td class="paramtype">uint8_t&#160;</td>
  2085. <td class="paramname"><em>hour</em>, </td>
  2086. </tr>
  2087. <tr>
  2088. <td class="paramkey"></td>
  2089. <td></td>
  2090. <td class="paramtype">uint8_t&#160;</td>
  2091. <td class="paramname"><em>minute</em>, </td>
  2092. </tr>
  2093. <tr>
  2094. <td class="paramkey"></td>
  2095. <td></td>
  2096. <td class="paramtype">uint8_t&#160;</td>
  2097. <td class="paramname"><em>second</em>&#160;</td>
  2098. </tr>
  2099. <tr>
  2100. <td></td>
  2101. <td>)</td>
  2102. <td></td><td></td>
  2103. </tr>
  2104. </table>
  2105. </td>
  2106. <td class="mlabels-right">
  2107. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2108. </tr>
  2109. </table>
  2110. </div><div class="memdoc">
  2111. <p>Set a file's timestamps in its directory entry.</p>
  2112. <dl class="params"><dt>Parameters</dt><dd>
  2113. <table class="params">
  2114. <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Values for <em>flags</em> are constructed by a bitwise-inclusive OR of flags from the following list</td></tr>
  2115. </table>
  2116. </dd>
  2117. </dl>
  2118. <p>T_ACCESS - Set the file's last access date.</p>
  2119. <p>T_CREATE - Set the file's creation date and time.</p>
  2120. <p>T_WRITE - Set the file's last write/modification date and time.</p>
  2121. <dl class="params"><dt>Parameters</dt><dd>
  2122. <table class="params">
  2123. <tr><td class="paramdir">[in]</td><td class="paramname">year</td><td>Valid range 1980 - 2107 inclusive.</td></tr>
  2124. <tr><td class="paramdir">[in]</td><td class="paramname">month</td><td>Valid range 1 - 12 inclusive.</td></tr>
  2125. <tr><td class="paramdir">[in]</td><td class="paramname">day</td><td>Valid range 1 - 31 inclusive.</td></tr>
  2126. <tr><td class="paramdir">[in]</td><td class="paramname">hour</td><td>Valid range 0 - 23 inclusive.</td></tr>
  2127. <tr><td class="paramdir">[in]</td><td class="paramname">minute</td><td>Valid range 0 - 59 inclusive.</td></tr>
  2128. <tr><td class="paramdir">[in]</td><td class="paramname">second</td><td>Valid range 0 - 59 inclusive</td></tr>
  2129. </table>
  2130. </dd>
  2131. </dl>
  2132. <dl class="section note"><dt>Note</dt><dd>It is possible to set an invalid date since there is no check for the number of days in a month.</dd>
  2133. <dd>
  2134. Modify and access timestamps may be overwritten if a date time callback function has been set by dateTimeCallback().</dd></dl>
  2135. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  2136. </div>
  2137. </div>
  2138. <a id="a2a0bf00241df08a604f054512746986b"></a>
  2139. <h2 class="memtitle"><span class="permalink"><a href="#a2a0bf00241df08a604f054512746986b">&#9670;&nbsp;</a></span>truncate() <span class="overload">[1/2]</span></h2>
  2140. <div class="memitem">
  2141. <div class="memproto">
  2142. <table class="mlabels">
  2143. <tr>
  2144. <td class="mlabels-left">
  2145. <table class="memname">
  2146. <tr>
  2147. <td class="memname">bool FsBaseFile::truncate </td>
  2148. <td>(</td>
  2149. <td class="paramname"></td><td>)</td>
  2150. <td></td>
  2151. </tr>
  2152. </table>
  2153. </td>
  2154. <td class="mlabels-right">
  2155. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2156. </tr>
  2157. </table>
  2158. </div><div class="memdoc">
  2159. <p>Truncate a file to the current position.</p>
  2160. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  2161. </div>
  2162. </div>
  2163. <a id="a47247cc54157ef79e0752f55ba01cf7e"></a>
  2164. <h2 class="memtitle"><span class="permalink"><a href="#a47247cc54157ef79e0752f55ba01cf7e">&#9670;&nbsp;</a></span>truncate() <span class="overload">[2/2]</span></h2>
  2165. <div class="memitem">
  2166. <div class="memproto">
  2167. <table class="mlabels">
  2168. <tr>
  2169. <td class="mlabels-left">
  2170. <table class="memname">
  2171. <tr>
  2172. <td class="memname">bool FsBaseFile::truncate </td>
  2173. <td>(</td>
  2174. <td class="paramtype">uint64_t&#160;</td>
  2175. <td class="paramname"><em>length</em></td><td>)</td>
  2176. <td></td>
  2177. </tr>
  2178. </table>
  2179. </td>
  2180. <td class="mlabels-right">
  2181. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2182. </tr>
  2183. </table>
  2184. </div><div class="memdoc">
  2185. <p>Truncate a file to a specified length. The current file position will be set to end of file.</p>
  2186. <dl class="params"><dt>Parameters</dt><dd>
  2187. <table class="params">
  2188. <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The desired length for the file.</td></tr>
  2189. </table>
  2190. </dd>
  2191. </dl>
  2192. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  2193. </div>
  2194. </div>
  2195. <a id="a0ace3aaaf6d0fb673a43059c0664fab6"></a>
  2196. <h2 class="memtitle"><span class="permalink"><a href="#a0ace3aaaf6d0fb673a43059c0664fab6">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>
  2197. <div class="memitem">
  2198. <div class="memproto">
  2199. <table class="mlabels">
  2200. <tr>
  2201. <td class="mlabels-left">
  2202. <table class="memname">
  2203. <tr>
  2204. <td class="memname">size_t <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::write </td>
  2205. <td>(</td>
  2206. <td class="paramtype">const uint8_t *&#160;</td>
  2207. <td class="paramname"><em>buffer</em>, </td>
  2208. </tr>
  2209. <tr>
  2210. <td class="paramkey"></td>
  2211. <td></td>
  2212. <td class="paramtype">size_t&#160;</td>
  2213. <td class="paramname"><em>size</em>&#160;</td>
  2214. </tr>
  2215. <tr>
  2216. <td></td>
  2217. <td>)</td>
  2218. <td></td><td></td>
  2219. </tr>
  2220. </table>
  2221. </td>
  2222. <td class="mlabels-right">
  2223. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2224. </tr>
  2225. </table>
  2226. </div><div class="memdoc">
  2227. <p>Write data to an open file.</p>
  2228. <dl class="section note"><dt>Note</dt><dd>Data is moved to the cache but may not be written to the storage device until <a class="el" href="class_fs_base_file.html#acf2d9261c5c1b1b022a0414cdfe0a17b">sync()</a> is called.</dd></dl>
  2229. <dl class="params"><dt>Parameters</dt><dd>
  2230. <table class="params">
  2231. <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>Pointer to the location of the data to be written.</td></tr>
  2232. <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Number of bytes to write.</td></tr>
  2233. </table>
  2234. </dd>
  2235. </dl>
  2236. <dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_stream_file.html#a0695220134825199b39dee82f18ab1ec">write()</a> returns the number of bytes written, always <em>size</em>. </dd></dl>
  2237. </div>
  2238. </div>
  2239. <a id="aa763e83fea4889828effc3308f13113a"></a>
  2240. <h2 class="memtitle"><span class="permalink"><a href="#aa763e83fea4889828effc3308f13113a">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>
  2241. <div class="memitem">
  2242. <div class="memproto">
  2243. <table class="mlabels">
  2244. <tr>
  2245. <td class="mlabels-left">
  2246. <table class="memname">
  2247. <tr>
  2248. <td class="memname">size_t FsBaseFile::write </td>
  2249. <td>(</td>
  2250. <td class="paramtype">const void *&#160;</td>
  2251. <td class="paramname"><em>buf</em>, </td>
  2252. </tr>
  2253. <tr>
  2254. <td class="paramkey"></td>
  2255. <td></td>
  2256. <td class="paramtype">size_t&#160;</td>
  2257. <td class="paramname"><em>count</em>&#160;</td>
  2258. </tr>
  2259. <tr>
  2260. <td></td>
  2261. <td>)</td>
  2262. <td></td><td></td>
  2263. </tr>
  2264. </table>
  2265. </td>
  2266. <td class="mlabels-right">
  2267. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2268. </tr>
  2269. </table>
  2270. </div><div class="memdoc">
  2271. <p>Write data to an open file.</p>
  2272. <dl class="section note"><dt>Note</dt><dd>Data is moved to the cache but may not be written to the storage device until <a class="el" href="class_fs_base_file.html#acf2d9261c5c1b1b022a0414cdfe0a17b">sync()</a> is called.</dd></dl>
  2273. <dl class="params"><dt>Parameters</dt><dd>
  2274. <table class="params">
  2275. <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Pointer to the location of the data to be written.</td></tr>
  2276. <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of bytes to write.</td></tr>
  2277. </table>
  2278. </dd>
  2279. </dl>
  2280. <dl class="section return"><dt>Returns</dt><dd>For success <a class="el" href="class_stream_file.html#a0695220134825199b39dee82f18ab1ec">write()</a> returns the number of bytes written, always <em>nbyte</em>. If an error occurs, <a class="el" href="class_stream_file.html#a0695220134825199b39dee82f18ab1ec">write()</a> returns -1. Possible errors include <a class="el" href="class_stream_file.html#a0695220134825199b39dee82f18ab1ec">write()</a> is called before a file has been opened, write is called for a read-only file, device is full, a corrupt file system or an I/O error. </dd></dl>
  2281. </div>
  2282. </div>
  2283. <a id="a0695220134825199b39dee82f18ab1ec"></a>
  2284. <h2 class="memtitle"><span class="permalink"><a href="#a0695220134825199b39dee82f18ab1ec">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>
  2285. <div class="memitem">
  2286. <div class="memproto">
  2287. <table class="mlabels">
  2288. <tr>
  2289. <td class="mlabels-left">
  2290. <table class="memname">
  2291. <tr>
  2292. <td class="memname">size_t <a class="el" href="class_stream_file.html">StreamFile</a>&lt; <a class="el" href="class_fs_base_file.html">FsBaseFile</a> , uint64_t &gt;::write </td>
  2293. <td>(</td>
  2294. <td class="paramtype">uint8_t&#160;</td>
  2295. <td class="paramname"><em>b</em></td><td>)</td>
  2296. <td></td>
  2297. </tr>
  2298. </table>
  2299. </td>
  2300. <td class="mlabels-right">
  2301. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
  2302. </tr>
  2303. </table>
  2304. </div><div class="memdoc">
  2305. <p>Write a byte to a file. Required by the Arduino Print class. </p><dl class="params"><dt>Parameters</dt><dd>
  2306. <table class="params">
  2307. <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>the byte to be written. Use getWriteError to check for errors. </td></tr>
  2308. </table>
  2309. </dd>
  2310. </dl>
  2311. <dl class="section return"><dt>Returns</dt><dd>1 for success and 0 for failure. </dd></dl>
  2312. </div>
  2313. </div>
  2314. <hr/>The documentation for this class was generated from the following file:<ul>
  2315. <li>ArduinoSdFat/libraries/SdFat/src/FsLib/<a class="el" href="_fs_file_8h.html">FsFile.h</a></li>
  2316. </ul>
  2317. </div><!-- contents -->
  2318. <!-- start footer part -->
  2319. <hr class="footer"/><address class="footer"><small>
  2320. Generated on Fri Dec 6 2019 09:45:12 for SdFat by &#160;<a href="http://www.doxygen.org/index.html">
  2321. <img class="footer" src="doxygen.png" alt="doxygen"/>
  2322. </a> 1.8.16
  2323. </small></address>
  2324. </body>
  2325. </html>