ZealOS/docs/Demo/DolDoc/CallBack.CC.html
TomAwezome 1b75d91002 Fix Mount AHCI Port selection.
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.
2021-08-02 16:40:05 -04:00

96 lines
7.9 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=cF1>U8</span><span class=cF0> *tSCB(</span><span class=cF9>CDoc</span><span class=cF0> *, </span><span class=cF9>CDocEntry</span><span class=cF0> *, </span><span class=cF9>CTask</span><span class=cF0> *mem_task)
<a name="l2"></a>{</span><span class=cF2>//This is called by the window mgr.</span><span class=cF0>
<a name="l3"></a> </span><span class=cF2>//Things would get corrupted</span><span class=cF0>
<a name="l4"></a> </span><span class=cF2>//if the window mgr used it's own</span><span class=cF0>
<a name="l5"></a> </span><span class=cF2>//heap, so we use the owning task's heap.</span><span class=cF0>
<a name="l6"></a> </span><span class=cF1>U8</span><span class=cF0> *st = </span><span class=cF5>MAlloc</span><span class=cF0>(</span><span class=cFE>64</span><span class=cF0>, mem_task);
<a name="l7"></a> </span><span class=cF9>CDate</span><span class=cF0> cdt = </span><span class=cF5>tS</span><span class=cF0> * </span><span class=cF3>CDATE_FREQ</span><span class=cF0>;
<a name="l8"></a> </span><span class=cF2>//Doesn't have to be fixed width!!</span><span class=cF0>
<a name="l9"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(st, </span><span class=cF6>&quot;%d=%T&quot;</span><span class=cF0>, cdt, cdt);
<a name="l10"></a>
<a name="l11"></a> </span><span class=cF1>return</span><span class=cF0> st;
<a name="l12"></a>}
<a name="l13"></a>
<a name="l14"></a></span><span class=cF1>U8</span><span class=cF0> *CurTimeCB(</span><span class=cF9>CDoc</span><span class=cF0> *, </span><span class=cF9>CDocEntry</span><span class=cF0> *, </span><span class=cF9>CTask</span><span class=cF0> *mem_task)
<a name="l15"></a>{
<a name="l16"></a> </span><span class=cF1>U8</span><span class=cF0> *st = </span><span class=cF5>MAlloc</span><span class=cF0>(</span><span class=cFE>64</span><span class=cF0>, mem_task);
<a name="l17"></a> </span><span class=cF9>CDate</span><span class=cF0> cdt = </span><span class=cF5>Now</span><span class=cF0>;
<a name="l18"></a>
<a name="l19"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(st, </span><span class=cF6>&quot;%D %T&quot;</span><span class=cF0>, cdt, cdt);
<a name="l20"></a>
<a name="l21"></a> </span><span class=cF1>return</span><span class=cF0> st;
<a name="l22"></a>}
<a name="l23"></a>
<a name="l24"></a></span><span class=cF1>U0</span><span class=cF0> DoIt()
<a name="l25"></a>{
<a name="l26"></a> </span><span class=cF9>CDoc</span><span class=cF0> *bdoc = </span><span class=cF5>DocBorder</span><span class=cF0>, *pdoc = </span><span class=cF5>DocPut</span><span class=cF0>;
<a name="l27"></a> </span><span class=cF9>CDocEntry</span><span class=cF0> *doc_e;
<a name="l28"></a>
<a name="l29"></a> </span><span class=cF5>DocLock</span><span class=cF0>(bdoc);
<a name="l30"></a> </span><span class=cF5>DocBottom</span><span class=cF0>(bdoc); </span><span class=cF2>//Ins at the bottom</span><span class=cF0>
<a name="l31"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(bdoc, </span><span class=cF6>&quot;$RED$$CM+BY+LX,5,-3$&quot;</span><span class=cF0>);
<a name="l32"></a> </span><span class=cF2>//The </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l164"><span class=cF4>DocPrint</span></a><span class=cF2>() routine returns the addr of the last entry.</span><span class=cF0>
<a name="l33"></a> doc_e = </span><span class=cF5>DocPrint</span><span class=cF0>(bdoc, </span><span class=cF6>&quot;$TX+TC,\&quot; \&quot;$&quot;</span><span class=cF0>);
<a name="l34"></a> </span><span class=cF2>//The TC flag is &quot;has tag callback&quot;.</span><span class=cF0>
<a name="l35"></a>
<a name="l36"></a> </span><span class=cF2>//Flags are explained here:</span><span class=cF0>
<a name="l37"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>::/Doc/DolDocOverview.DD</span></a><span class=cF2> </span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Widget.DD.html#l1"><span class=cF4>::/Doc/Widget.DD</span></a><span class=cF0>
<a name="l38"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1191"><span class=cF4>Dollar Flags</span></a><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ST_DOC_FLAGS</span></a><span class=cF0>
<a name="l39"></a> doc_e-&gt;tag_cb = &amp;tSCB;
<a name="l40"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(bdoc, </span><span class=cF6>&quot;$FG$&quot;</span><span class=cF0>);
<a name="l41"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(bdoc);
<a name="l42"></a>
<a name="l43"></a> </span><span class=cF2>//WARNING: If you use the put_doc you</span><span class=cF0>
<a name="l44"></a> </span><span class=cF2>//run the risk of the user pressing</span><span class=cF0>
<a name="l45"></a> </span><span class=cF2>//&lt;CTRL-t&gt; or using the clip, both</span><span class=cF0>
<a name="l46"></a> </span><span class=cF2>//of which will crash.</span><span class=cF0> </span><span class=cF2>So, you might want</span><span class=cF0>
<a name="l47"></a> </span><span class=cF2>//to use the border_doc.</span><span class=cF0>
<a name="l48"></a>
<a name="l49"></a> </span><span class=cF5>DocLock</span><span class=cF0>(pdoc);
<a name="l50"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(pdoc, </span><span class=cF6>&quot;$LTRED$&quot;</span><span class=cF0>);
<a name="l51"></a> doc_e = </span><span class=cF5>DocPrint</span><span class=cF0>(pdoc, </span><span class=cF6>&quot;$TX+TC,\&quot; \&quot;$&quot;</span><span class=cF0>);
<a name="l52"></a> doc_e-&gt;tag_cb = &amp;CurTimeCB;
<a name="l53"></a> </span><span class=cF5>DocPrint</span><span class=cF0>(pdoc,</span><span class=cF6>&quot;$FG$&quot;</span><span class=cF0>);
<a name="l54"></a> </span><span class=cF5>DocUnlock</span><span class=cF0>(pdoc);
<a name="l55"></a>
<a name="l56"></a> </span><span class=cF2>//Send carriage return, new line, so</span><span class=cF0>
<a name="l57"></a> </span><span class=cF2>//that the timer string is not part</span><span class=cF0>
<a name="l58"></a> </span><span class=cF2>//of the next cmd on the cmd line.</span><span class=cF0>
<a name="l59"></a> </span><span class=cF6>'\n'</span><span class=cF0>;
<a name="l60"></a>}
<a name="l61"></a>
<a name="l62"></a></span><span class=cF1>U0</span><span class=cF0> UndoIt()
<a name="l63"></a>{</span><span class=cF2>//Clear-out entries without a +H hold flag.</span><span class=cF0>
<a name="l64"></a> </span><span class=cF5>DocClear</span><span class=cF0>(</span><span class=cF5>Fs</span><span class=cF0>-&gt;border_doc);
<a name="l65"></a>}
<a name="l66"></a>
<a name="l67"></a>DoIt;
</span></pre></body>
</html>