# $Id$ # Main page of 'My::Project::TraceFS' # Copyright (C) 2003-2005 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package project::TraceFS::Index; require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; our $CVS_ID=q$Id$; use strict; use warnings; use My::Web; Wuse 'project::Lib'; our @ListItem=( "name"=>"TraceFS", "platform"=>"w32", "priority"=>610, "icon"=>"TraceFS-icon.png", "link-GIT subtree"=>'http://git.jankratochvil.net/?p=captive.git;a=tree;f=src/TraceFS', "link-Documentation"=>"/project/captive/doc/CacheManager.pm#TraceFS", "summary"=>"Microsoft Windows Kernel API Tracer", "license"=>"GPL", "maintenance"=>"ready", "language"=>"C", "description"=><<"HERE",

Project allows wrapping of Microsoft Windows Kernel API calls of your chosen kernel driver by your custom function code.

Although TraceFS was up to now used only for tracing of Windows NT Cache Manager it can be easily used ever for any other NT kernel API tracing. You need to provide appropriate function wrappers in the main source file. Framework for thread synchronizations and debug tracing is provided to prevent mangling of messages while running by multiple threads at once.

HERE ); sub handler { project::Lib->init(); print <<"HERE"; @{[ centerimg "/project/captive/doc/ntdebug-windbg-boot.png","TraceFS Initialization" ]} @{[ vskip "1ex" ]} @{[ centerimg "/project/captive/doc/dia/TraceFS.dia","TraceFS Hooking" ]} HERE exit; } 1;