sync
[www.jankratochvil.net.git] / project / TraceFS / Index.pm
1 # $Id$
2 # Main page of 'My::Project::TraceFS'
3 # Copyright (C) 2003-2005 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; exactly version 2 of June 1991 is required
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19 package project::TraceFS::Index;
20 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
21 our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
22 our $CVS_ID=q$Id$;
23 use strict;
24 use warnings;
25
26 use My::Web;
27 Wuse 'project::Lib';
28
29
30 our @ListItem=(
31                 "name"=>"TraceFS",
32                 "platform"=>"w32",
33                 "priority"=>610,
34                 "icon"=>"TraceFS-icon.png",
35                 "link-GIT subtree"=>'http://git.jankratochvil.net/?p=captive.git;a=tree;f=src/TraceFS',
36                 "link-Documentation"=>"/project/captive/doc/CacheManager.pm#TraceFS",
37                 "summary"=>"Microsoft Windows Kernel API Tracer",
38                 "license"=>"GPL",
39                 "maintenance"=>"ready",
40                 "language"=>"C",
41                 "description"=><<"HERE",
42 <p>Project allows wrapping of Microsoft Windows Kernel API calls of your chosen
43 kernel driver by your custom function code.</p>
44 <p>Although TraceFS was up to now used only for tracing of Windows NT Cache
45 Manager it can be easily used ever for any other NT kernel API tracing. You
46 need to provide appropriate function wrappers in the main source file.
47 Framework for thread synchronizations and debug tracing is provided to prevent
48 mangling of messages while running by multiple threads at once.</p>
49 HERE
50                 );
51
52 sub handler
53 {
54 project::Lib->init();
55
56
57 print <<"HERE";
58 @{[ centerimg "/project/captive/doc/ntdebug-windbg-boot.png","TraceFS Initialization" ]}
59 @{[ vskip "1ex" ]}
60 @{[ centerimg "/project/captive/doc/dia/TraceFS.dia","TraceFS Hooking" ]}
61 HERE
62
63
64 exit;
65 }
66 1;