⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filesys_8h.html

📁 MP3播放器源代码, VS1003B
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<p>Open a file for reading. <p>Prepares the Filing System to read a data file from the storage. Files are referred to by their numbers, not file names. This makes the system generic, not necessarily needing a complex file system such as FAT. The way to assign numbers to files is implementation dependent. Returns 0 when ok, error code otherwise. <dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td></td><td valign=top><em>fileNumber</em>&nbsp;</td><td>number of file, starting from beginning of storage, to open.</td></tr>  </table></dl>What this function actually does, is: it starts reading the FAT records from start of the root directory, traversing through subdirectories as it encounters them. When the fileNumber'th valid record is encountered, it sets sectorAddress to point to its first data sector but doesn't load any sector. fileSize is loaded with the size in bytes indicated in the FAT record.<p>Additionally, if it's called with 0 as the fileNumber and it happens to see an empty directory record, it registers a new file with name RECnnnnn.WAV starting from cluster fragment[0].start with file size from fragment[0].length <p>Definition at line <a class="el" href="filesys_8c-source.html#l00610">610</a> of file <a class="el" href="filesys_8c-source.html">filesys.c</a>.<p>References <a class="el" href="buffer_8h-source.html#l00019">DirRecordUnion::Entry::Attr</a>, <a class="el" href="board_8h-source.html#l00253">Temp::c</a>, <a class="el" href="filesys_8c-source.html#l00065">currentFileName</a>, <a class="el" href="buffer_8c-source.html#l00013">dataBufPtr</a>, <a class="el" href="filesys_8c-source.html#l00029">dataStart</a>, <a class="el" href="buffer_8h-source.html#l00111">DiskBlock::dir</a>, <a class="el" href="filesys_8c-source.html#l00059">dirLevel</a>, <a class="el" href="filesys_8c.html#a8">dirStack</a>, <a class="el" href="buffer_8c-source.html#l00010">diskSect</a>, <a class="el" href="display_8c-source.html#l00012">displayText</a>, <a class="el" href="unionDirRecordUnion.html#o0">DirRecordUnion::entry</a>, <a class="el" href="filesys_8c-source.html#l00055">directoryStack::entry</a>, <a class="el" href="filesys_8c-source.html#l00032">fatSectorsPerCluster</a>, <a class="el" href="filesys_8c-source.html#l00047">fileSize</a>, <a class="el" href="buffer_8h-source.html#l00029">DirRecordUnion::Entry::FileSize</a>, <a class="el" href="filesys_8c.html#a6">fragment</a>, <a class="el" href="buffer_8h-source.html#l00025">DirRecordUnion::Entry::FstClusHi</a>, <a class="el" href="buffer_8h-source.html#l00028">DirRecordUnion::Entry::FstClusLo</a>, <a class="el" href="filesys_8c-source.html#l00303">GetNextSector()</a>, <a class="el" href="mmc_8c-source.html#l00246">InitMMC()</a>, <a class="el" href="buffer_8h-source.html#l00129">Address::l</a>, <a class="el" href="filesys_8h-source.html#l00027">fragmentEntry::length</a>, <a class="el" href="filesys_8c-source.html#l00050">MAX_NUMBER_SUBDIRECTORIES</a>, <a class="el" href="buffer_8h-source.html#l00018">DirRecordUnion::Entry::Name</a>, <a class="el" href="board_8h-source.html#l00280">Public</a>, <a class="el" href="storage_8c-source.html#l00110">ReadDiskSector()</a>, <a class="el" href="filesys_8c-source.html#l00024">rootStart</a>, <a class="el" href="filesys_8c-source.html#l00054">directoryStack::sector</a>, <a class="el" href="buffer_8c-source.html#l00015">sectorAddress</a>, <a class="el" href="filesys_8h-source.html#l00026">fragmentEntry::start</a>, <a class="el" href="board_8c.html#a0">temp</a>, and <a class="el" href="storage_8c-source.html#l00183">WriteDiskSector()</a>.<p>Referenced by <a class="el" href="player_8c-source.html#l00765">main()</a>, and <a class="el" href="filesys_8c-source.html#l00129">WriteClusterChain()</a>.<p><pre class="fragment"><div>00610                                                       {00611   <span class="keywordtype">char</span> tempc;00612 00613   ConsoleWrite(<span class="stringliteral">"\rFilesystem: Looking for file "</span>);00614   ConsolePutUInt(fileNumber);00615   ConsoleWrite(<span class="stringliteral">"... "</span>);00616   00617   <span class="comment">/* Start at the start of root directory. */</span>00618   <a class="code" href="filesys_8c.html#a9">dirLevel</a> = 0; <span class="comment">/* At root directory */</span>00619   <a class="code" href="filesys_8c.html#a8">dirStack</a>[<a class="code" href="filesys_8c.html#a9">dirLevel</a>].<a class="code" href="structdirectoryStack.html#o0">sector</a>=<a class="code" href="filesys_8c.html#a3">rootStart</a>;00620   <a class="code" href="filesys_8c.html#a8">dirStack</a>[<a class="code" href="filesys_8c.html#a9">dirLevel</a>].<a class="code" href="structdirectoryStack.html#o1">entry</a>=0;00621 00622 00623   <span class="keywordflow">if</span> (fileNumber==0){00624     fileNumber = 32766; <span class="comment">//use max-1 value for scanning for free entry</span>00625   }00626  00627   <span class="keywordflow">while</span> (fileNumber){00628     <span class="keywordflow">if</span> (<a class="code" href="filesys_8c.html#a8">dirStack</a>[<a class="code" href="filesys_8c.html#a9">dirLevel</a>].<a class="code" href="structdirectoryStack.html#o1">entry</a>==0){00629       <span class="comment">/* At the start of new dir, load first disk sector */</span>00630       <span class="keywordflow">while</span> (<a class="code" href="storage_8h.html#a2">ReadDiskSector</a>(dirStack[dirLevel].sector)){00631         <a class="code" href="mmc_8c.html#a5">InitMMC</a>;00632       }00633     }00634     <a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a> = <a class="code" href="filesys_8c.html#a8">dirStack</a>[<a class="code" href="filesys_8c.html#a9">dirLevel</a>].<a class="code" href="structdirectoryStack.html#o1">entry</a>;00635 00636     <span class="comment">/* We are now looking at FAT directory structure. */</span>00637 00638     <span class="comment">/* Is current entry empty? */</span>    00639     <span class="keywordflow">if</span> ((<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0]==0)00640         ||(<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0]==0xe5)){      00641       <span class="comment">/* Yes. Are we supposed to make an entry now? */</span>00642       <span class="keywordflow">if</span> (fileNumber&gt;30000){ 00643         <span class="comment">//yes, this is actually a request to write file directory entry!;</span>00644 00645         fileNumber = 32767-fileNumber;00646         00647         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0] =<span class="charliteral">'R'</span>;00648         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[1] =<span class="charliteral">'E'</span>;00649         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[2] =<span class="charliteral">'C'</span>;00650         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[7] =(fileNumber%10)+<span class="charliteral">'0'</span>; 00651         fileNumber /= 10;00652         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[6] =(fileNumber%10)+<span class="charliteral">'0'</span>;00653         fileNumber /= 10;00654         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[5] =(fileNumber%10)+<span class="charliteral">'0'</span>;00655         fileNumber /= 10;00656         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[4] =(fileNumber%10)+<span class="charliteral">'0'</span>;00657         fileNumber /= 10;00658         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[3] =(fileNumber%10)+<span class="charliteral">'0'</span>;00659         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[8] =<span class="charliteral">'W'</span>;00660         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[9] =<span class="charliteral">'A'</span>;00661         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[10]=<span class="charliteral">'V'</span>;00662         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o1">Attr</a> = 0;00663         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o7">FstClusHi</a> = (<a class="code" href="filesys_8c.html#a6">fragment</a>[0].<a class="code" href="structfragmentEntry.html#o0">start</a> &gt;&gt; 16);00664         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o10">FstClusLo</a> = (<a class="code" href="filesys_8c.html#a6">fragment</a>[0].<a class="code" href="structfragmentEntry.html#o0">start</a> &amp; 0xffff);00665         <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o11">FileSize</a> = (<a class="code" href="filesys_8c.html#a6">fragment</a>[0].<a class="code" href="structfragmentEntry.html#o1">length</a>);00666 00667         ConsoleWrite(<span class="stringliteral">" Making Directory Entry "</span>);00668         <a class="code" href="storage_8h.html#a4">WriteDiskSector</a>(<a class="code" href="buffer_8c.html#a2">sectorAddress</a>.<a class="code" href="unionAddress.html#o0">l</a>);00669         00670         <span class="keywordflow">return</span> 99; <span class="comment">//created a FAT entry</span>00671       } <span class="comment">//register file</span>00672     }00673     00674 00675     <span class="comment">/* Does current entry point to  a regular file? */</span>00676     <span class="comment">/* Attributes: NO directory, NO volume id, NO system, NO hidden */</span>00677     <span class="keywordflow">if</span> (((<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o1">Attr</a> &amp; 222) == 0) 00678         &amp;&amp; (<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0] != 0xe5) 00679         &amp;&amp; (<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0] != 0)  ){00680       00681       <span class="comment">/* It is a regular file. */</span>00682       <span class="keywordflow">if</span> (!(--fileNumber)){00683 00684         <span class="comment">/* ------------ FILE FOUND ------------- */</span>00685 00686         <a class="code" href="buffer_8c.html#a2">sectorAddress</a>.<a class="code" href="unionAddress.html#o0">l</a> = 00687           ((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o7">FstClusHi</a>&lt;&lt;16) 00688           + <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o10">FstClusLo</a>;00689         <a class="code" href="buffer_8c.html#a2">sectorAddress</a>.<a class="code" href="unionAddress.html#o0">l</a> *= <a class="code" href="filesys_8c.html#a5">fatSectorsPerCluster</a>;00690         <a class="code" href="buffer_8c.html#a2">sectorAddress</a>.<a class="code" href="unionAddress.html#o0">l</a> += <a class="code" href="filesys_8c.html#a4">dataStart</a>;00691         00692         <a class="code" href="filesys_8c.html#a7">fileSize</a> = <a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o11">FileSize</a>;00693         <a class="code" href="buffer_8c.html#a1">dataBufPtr</a> = 0; <span class="comment">/* Reset data buffer ptr for FGetChar */</span>00694 00695         ConsoleWrite(<span class="stringliteral">"found, FAT name is \""</span>);00696         <span class="keywordflow">for</span> (tempc=0; tempc&lt;11; tempc++){00697           ConsolePutChar(<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].entry.Name[tempc]);00698         }00699 00700         <span class="comment">//Store file name nicely for displaying on screen :)</span>00701         <span class="keywordflow">for</span> (tempc=0; tempc&lt;8; tempc++){00702           <a class="code" href="filesys_8c.html#a11">currentFileName</a>[tempc]=<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[tempc];00703         }00704         <a class="code" href="filesys_8c.html#a11">currentFileName</a>[8]=<span class="charliteral">'.'</span>;00705         <a class="code" href="filesys_8c.html#a11">currentFileName</a>[9]=<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[8];00706         <a class="code" href="filesys_8c.html#a11">currentFileName</a>[10]=<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[9];00707         <a class="code" href="filesys_8c.html#a11">currentFileName</a>[11]=<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[10];00708         <a class="code" href="display_8c.html#a2">displayText</a>[0]=<span class="charliteral">' '</span>;00709         <span class="keywordflow">for</span> (tempc=0; tempc&lt;12; tempc++){00710           <a class="code" href="display_8c.html#a2">displayText</a>[tempc+1]=<a class="code" href="filesys_8c.html#a11">currentFileName</a>[tempc];00711         }00712 00713         ConsoleWrite(<span class="stringliteral">"\"\rFile size: "</span>);00714         ConsolePutUInt(fileSize);00715         ConsoleWrite(<span class="stringliteral">"bytes. "</span>);00716 00717         ConsoleWrite(<span class="stringliteral">"Start cluster: "</span>);00718         ConsolePutHex8(<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].entry.FstClusHi);00719         ConsolePutHex8(<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].entry.FstClusLo);00720         ConsoleWrite(<span class="stringliteral">"h, sector "</span>);00721         ConsolePutUInt(<a class="code" href="buffer_8c.html#a2">sectorAddress</a>.<a class="code" href="unionAddress.html#o0">l</a>);00722         ConsoleWrite(<span class="stringliteral">"decimal.\r"</span>);00723         00724         <span class="keywordflow">return</span> 0; <span class="comment">/* File found, All OK return */</span>00725       }00726     } <span class="comment">/* it was a regular file */</span>00727     00728 00729 00730     <span class="comment">/* Is it a subdirectory? */</span>00731     <span class="keywordflow">if</span> (((<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o1">Attr</a> &amp; 16) != 0) 00732         &amp;&amp; (<a class="code" href="buffer_8c.html#a0">diskSect</a>.<a class="code" href="unionDiskBlock.html#o2">dir</a>[<a class="code" href="board_8c.html#a0">temp</a>.<a class="code" href="unionTemp.html#o0">c</a>].<a class="code" href="unionDirRecordUnion.html#o0">entry</a>.<a class="code" href="structDirRecordUnion_1_1Entry.html#o0">Name</a>[0] != <span class="charliteral">'.'</span>) <span class="comment">/* skip . and .. */</span> 00733         &amp;&a

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -