mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-01-01 02:06:32 +00:00
1b75d91002
Add arg to SATARep to specify drive types to show. Add checks in AHCIPortInit to verify port signatures, add helper method to get signatures from port.
82 lines
6.5 KiB
HTML
Executable file
82 lines
6.5 KiB
HTML
Executable file
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
|
|
<meta name="generator" content="ZealOS V0.13">
|
|
<style type="text/css">
|
|
body {background-color:#fef1f0;}
|
|
.cF0{color:#000000;background-color:#fef1f0;}
|
|
.cF1{color:#0148a4;background-color:#fef1f0;}
|
|
.cF2{color:#3b7901;background-color:#fef1f0;}
|
|
.cF3{color:#057c7e;background-color:#fef1f0;}
|
|
.cF4{color:#bb2020;background-color:#fef1f0;}
|
|
.cF5{color:#9e42ae;background-color:#fef1f0;}
|
|
.cF6{color:#b57901;background-color:#fef1f0;}
|
|
.cF7{color:#b2b6af;background-color:#fef1f0;}
|
|
.cF8{color:#555753;background-color:#fef1f0;}
|
|
.cF9{color:#678fbb;background-color:#fef1f0;}
|
|
.cFA{color:#82bc49;background-color:#fef1f0;}
|
|
.cFB{color:#0097a2;background-color:#fef1f0;}
|
|
.cFC{color:#e26a6a;background-color:#fef1f0;}
|
|
.cFD{color:#c671bc;background-color:#fef1f0;}
|
|
.cFE{color:#c7ab00;background-color:#fef1f0;}
|
|
.cFF{color:#fef1f0;background-color:#fef1f0;}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<pre style="font-family:monospace;font-size:12pt">
|
|
<a name="l1"></a><span class=cF2>/*There is no FPrintF type function and no</span><span class=cF0>
|
|
<a name="l2"></a></span><span class=cF2>way to grow files. Therefore, use mem to</span><span class=cF0>
|
|
<a name="l3"></a></span><span class=cF2>hold the file until you are done. The </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0>
|
|
<a name="l4"></a></span><span class=cF2>framework is convenient for this.</span><span class=cF0>
|
|
<a name="l5"></a></span><span class=cF2>*/</span><span class=cF0>
|
|
<a name="l6"></a>
|
|
<a name="l7"></a></span><span class=cF1>U0</span><span class=cF0> TreeSub(</span><span class=cF9>CDoc</span><span class=cF0> *doc, </span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde)
|
|
<a name="l8"></a>{
|
|
<a name="l9"></a> </span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde1;
|
|
<a name="l10"></a>
|
|
<a name="l11"></a> </span><span class=cF1>while</span><span class=cF0> (tmpde)
|
|
<a name="l12"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l13"></a> tmpde1 = tmpde->next;
|
|
<a name="l14"></a> </span><span class=cF1>if</span><span class=cF0> (tmpde->attr & </span><span class=cF3>RS_ATTR_DIR</span><span class=cF0>)
|
|
<a name="l15"></a> {
|
|
<a name="l16"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$TR,\"\"$"</span><span class=cF0>);
|
|
<a name="l17"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$MA,T=\"%s\",LM=\"Cd(\\\"%s\\\");Dir;\n\"$\n"</span><span class=cF0>, tmpde->name, tmpde->full_name);
|
|
<a name="l18"></a> </span><span class=cF1>if</span><span class=cF0> (tmpde->sub)
|
|
<a name="l19"></a> </span><span class=cF7>{</span><span class=cF0>
|
|
<a name="l20"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$ID,+2$"</span><span class=cF0>);
|
|
<a name="l21"></a> TreeSub(doc,tmpde->sub);
|
|
<a name="l22"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$ID,-2$"</span><span class=cF0>);
|
|
<a name="l23"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l24"></a> }
|
|
<a name="l25"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l26"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$LK,\"%s\",A=\"FI:%s\"$\n"</span><span class=cF0>, tmpde->name, tmpde->full_name);
|
|
<a name="l27"></a> </span><span class=cF2>//Note there is also a routine</span><span class=cF0>
|
|
<a name="l28"></a> </span><span class=cF2>//to delete an entire CDirEntry tree.</span><span class=cF0>
|
|
<a name="l29"></a> </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskDirA.CC.html#l38"><span class=cF4>DirTreeDel</span></a><span class=cF2>().</span><span class=cF0>
|
|
<a name="l30"></a> </span><span class=cF5>DirEntryDel</span><span class=cF0>(tmpde);
|
|
<a name="l31"></a> tmpde = tmpde1;
|
|
<a name="l32"></a> </span><span class=cF7>}</span><span class=cF0>
|
|
<a name="l33"></a>}
|
|
<a name="l34"></a>
|
|
<a name="l35"></a></span><span class=cF1>U0</span><span class=cF0> FPrintFDemo(</span><span class=cF1>U8</span><span class=cF0> *output_filename=</span><span class=cF3>NULL</span><span class=cF0>)
|
|
<a name="l36"></a>{
|
|
<a name="l37"></a> </span><span class=cF9>I64</span><span class=cF0> fuf_flags = </span><span class=cFE>0</span><span class=cF0>;
|
|
<a name="l38"></a> </span><span class=cF9>CDoc</span><span class=cF0> *doc = </span><span class=cF5>DocNew</span><span class=cF0>(output_filename);
|
|
<a name="l39"></a>
|
|
<a name="l40"></a> </span><span class=cF5>FlagsScan</span><span class=cF0>(&fuf_flags, </span><span class=cF5>Define</span><span class=cF7>(</span><span class=cF6>"ST_FILE_UTIL_FLAGS"</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF6>"+r"</span><span class=cF0>);
|
|
<a name="l41"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$TR-C,\"\"$\n"</span><span class=cF0>);
|
|
<a name="l42"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$ID,+2$"</span><span class=cF0>);
|
|
<a name="l43"></a> TreeSub(doc, </span><span class=cF5>FilesFind</span><span class=cF7>(</span><span class=cF6>"/*"</span><span class=cF0>, fuf_flags</span><span class=cF7>)</span><span class=cF0>);
|
|
<a name="l44"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(doc, </span><span class=cF6>"$ID,-2$"</span><span class=cF0>);
|
|
<a name="l45"></a> </span><span class=cF5>DocRecalc</span><span class=cF0>(doc);
|
|
<a name="l46"></a> </span><span class=cF1>if</span><span class=cF0> (output_filename)
|
|
<a name="l47"></a> </span><span class=cF5>DocWrite</span><span class=cF0>(doc, </span><span class=cF3>FALSE</span><span class=cF0>);
|
|
<a name="l48"></a> </span><span class=cF1>else</span><span class=cF0>
|
|
<a name="l49"></a> </span><span class=cF5>DocWrite</span><span class=cF0>(doc, </span><span class=cF3>TRUE</span><span class=cF0>);
|
|
<a name="l50"></a> </span><span class=cF5>DocDel</span><span class=cF0>(doc);
|
|
<a name="l51"></a>}
|
|
<a name="l52"></a>
|
|
<a name="l53"></a>FPrintFDemo;
|
|
</span></pre></body>
|
|
</html>
|