My::Web->init(
"__PACKAGE__"=>__PACKAGE__,
"title"=>'Captive NTFS Technology Preview',
+ "head_css"=>"
+td { padding: 10px; text-align: center; }
+table { border-collapse: collapse; border-style: solid; }
+",
);
My::Web->heading();
print "<h1>Captive NTFS Technology Preview</h1>\n";
-print img("doc/dia/parent-connector","Parent connector");
-print img("doc/dia/inheritance","Sandboxing/Inheritance");
-print img("doc/dia/cache-manager","NT Cache Manager");
-print img("doc/arch-W32","Microsoft Windows Subsystems Architecture");
-print img("doc/arch-captive","Captive Subsystems Architecture");
-print img("doc/ratio","Functions Reusal Ratio");
-print img("doc/fig/functype_patched_wrap_fromw32","Wrapping of Call from W32 Code");
-print img("doc/ntdebug-windbg-boot","Windows NT Remote Kernel Debug Mode Boot");
-print img("captive-install-acquire","Captive Microsoft Windows Drivers Acquire");
-print img("doc/dia/arch-all","Captive Components Architecture");
-print img("doc/dia/TraceFS","TraceFS Hooking");
+sub preview_img ($$;$)
+{
+my($file_base,$text,$comment)=@_;
+
+ return <<"HERE";
+<table border="1" align="center">
+<tr><td>@{[ img $file_base,$text ]}</td></tr>
+<tr><td><b>$text</b>@{[ map((!$_ ? "" : "<br />$_"),$comment) ]}</td></tr>
+</table>
+@{[ vskip "3ex" ]}
+HERE
+}
+
+print preview_img 'doc/ntdebug-ntfs','WinDbg Remote NT Kernel NTFS Debugging';
+print preview_img 'doc/dia/arch-all','Captive Components Architecture',''
+ .'<font color="red">Red color</font> indicates Captive components for the most common LUFS use case.<br />'
+ .'<font color="violet">Violet color</font> indicates system components for the most common LUFS use case.';
+print preview_img 'doc/arch-captive','Captive Subsystems Architecture';
+print preview_img 'doc/arch-W32','Original Microsoft Windows Subsystems Architecture';
+print preview_img 'doc/ratio','Functions Reusal Ratio';
+print preview_img 'doc/fig/functype_patched_wrap_fromw32','Code Wrapping of Call from Microsoft Windows Code';
+print preview_img 'doc/dia/inheritance','Sandboxing Scheme with GObject Inheritance';
+print preview_img 'doc/dia/parent-connector','Parent Connector for Sandbox Slave Restarts Handling';
+print preview_img 'doc/dia/cache-manager','NT Cache Manager Scheme';
+print preview_img 'doc/ntdebug-windbg-boot','Windows NT Remote Kernel Debug Mode During System Boot';
+print preview_img 'doc/dia/TraceFS','TraceFS Debugging Hook for NT Cache Manager Analysis';
+print preview_img 'captive-install-acquire','Captive Microsoft Windows Drivers Acquire Utility';
My::Web->footer();
print <<"HERE";
+<h1>Captive NTFS Developer Documentation</h1>
+
+
<ul>
<li><a href="About.html.pl">About</a>
<li><a href="Reverse.html.pl">Reverse Engineering</a>
<ul>
- <li><a href="Reverse.html.pl#dumpbin"><span class="productname">dumpbin.exe</span></a></li>
- <li><a href="Reverse.html.pl#WinDbg"><span class="productname">WinDbg</span> Windows NT kernel debugging</a>
+ <li><a href="Reverse.html.pl#dumpbin">dumpbin.exe</a></li>
+ <li><a href="Reverse.html.pl#WinDbg">WinDbg Windows NT kernel debugging</a>
<ul>
- <li><a href="Reverse.html.pl#WinDbg_WinDbg"><span class="productname">WinDbg</span> side setup</a></li>
+ <li><a href="Reverse.html.pl#WinDbg_WinDbg">WinDbg side setup</a></li>
<li><a href="Reverse.html.pl#WinDbg_kern">Setup of the side being kernel-debugged</a></li>
</ul></li>
</ul></li>
<li><a href="Details.html.pl#synchronous">Multithreading and Multiple Processors</a></li>
<li><a href="Details.html.pl#paranoia">Paranoia Checks</a></li>
<li><a href="Details.html.pl#logfile">STATUS_LOG_FILE_FULL</a></li>
- <li><a href="Details.html.pl#parent_connector"><span class="constant">ParentConnector</span> volume remounter</a></li>
+ <li><a href="Details.html.pl#parent_connector">ParentConnector volume remounter</a></li>
<li><a href="APITypes.html.pl">API Function Implementation Choices</a>
<ul>
Library Function Called from W32 Code</a></li>
<li><a href="APITypes.html.pl#functype_native_fromw32_patched">Native Implementation of "patched"
Library Function Called from W32 Code</a></li>
- <li><a href="APITypes.html.pl#functype_native_reactos">Native Implementation
- - <span class="productname">ReactOS</span></a></li>
- <li><a href="APITypes.html.pl#functype_native_wine">Native Implementation –
- <span class="productname">Wine</span></a></li>
+ <li><a href="APITypes.html.pl#functype_native_reactos">Native Implementation - ReactOS</a></li>
+ <li><a href="APITypes.html.pl#functype_native_wine">Native Implementation – Wine</a></li>
<li><a href="APITypes.html.pl#functype_native_libcaptive">Native Implementation – Project Specific</a></li>
</ul></li>
<li><a href="APITypes.html.pl#functype_undef">Undefined Function</a></li>
</ul></li>
<li><a href="TODO.html.pl#todo_fsck">TODO: Fsck of NTFS</a></li>
-<li><a href="TODO.html.pl#todo_surprise">TODO: NTFS Support for <span class="productname">Partition Surprise</span></a></li>
+<li><a href="TODO.html.pl#todo_surprise">TODO: NTFS Support for Partition Surprise</a></li>
<li><a href="Related.html.pl">Related Projects</a>
<ul>
- <li><a href="Related.html.pl#LinuxNTFScompet">$LinuxNTFS</a></li>
- <li><a href="Related.html.pl#NTPwd"><span class="productname">NTPwd NTFS Driver</span></a></li>
+ <li><a href="Related.html.pl#LinuxNTFScompet">Linux NTFS</a></li>
+ <li><a href="Related.html.pl#NTPwd">NTPwd NTFS Driver</a></li>
<li><a href="Related.html.pl#vmware">VMware Workstation</a></li>
<li><a href="Related.html.pl#wine">Wine Project</a></li>
<li><a href="Related.html.pl#ntfs98">NTFS for Windows 98</a></li>