&My::Web::footer call is deprecated now, use just: exit;
[www.jankratochvil.net.git] / project / captive / doc / TODO.pm
1 # $Id$
2 # Captive project doc TODO page Perl template.
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::captive::doc::TODO;
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
28
29 sub handler
30 {
31         BEGIN { Wuse 'project::captive::doc::Macros'; }
32 project::captive::doc::Macros->init(
33                 "title"=>'Captive NTFS Developer Documentation: TODO',
34                 "rel_prev"=>'CallType.pm',
35                 "rel_next"=>'Related.pm',
36                 );
37
38
39 print <<"HERE";
40
41
42 <h1 id="todo_fsck">TODO: Fsck of NTFS</h1>
43
44         <p>Currently this project does not support checking of data structures
45         of NTFS volume as being provided by <span class="command">chkdsk.exe</span>
46         in W32 environment and <span class="command">fsck</span> in UNIX OS.</p>
47
48         <p>W32 has its disk checking functionality split to
49         <span class="fname">untfs.dll</span> W32 userland library.
50         according to
51         @{[ a_href 'http://www.sysinternals.com/ntw2k/source/fmifs.shtml',
52                         'Chkdskx and Formatx' ]}
53         by @{[ a_href 'http://www.sysinternals.com/aboutus.shtml',
54                         'Mark Russinovich' ]}.</p>
55
56         <p>I&nbsp;assume its execution falls completely
57         @{[ a_href 'Architecture.pm#existing_emulation','out of scope' ]}
58         of this project as it is W32 userland.</p>
59
60         <p>This possibility was not yet investigated in any way.</p>
61
62
63 <h1 id="todo_surprise">TODO: NTFS Support for
64                 <span class="productname">@{[ a_href '/project/surprise/','Partition Surprise' ]}</span></h1>
65
66         <p>There already exists
67         <span class="productname">@{[ a_href 'http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html','ntfsresize' ]}</span>
68         using reverse-engineered data structures information. According to the
69         usage count it appears
70         <span class="productname">@{[ a_href 'http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html','ntfsresize' ]}</span>
71         is safe.</p>
72
73         <p>Despite it
74         <span class="productname">@{[ a_href 'http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html','ntfsresize' ]}</span>
75         still has some usage limitations such as no possibility to shrink the partition to less
76         than its half size. There exists technically interesting possibility to use Captive NTFS access for
77         <span class="productname">@{[ a_href '/project/surprise/','Partition Surprise' ]}</span>
78         as it is the only partition manager capable of disk operations
79         by using just the original W32 filesystem driver by full rebuild of the
80         filesystem metadata.
81         Almost no file data blocks would be needed to move even when using these generic W32 filesyste drivers
82         as W32 supports <span class="constant">FSCTL_MOVE_FILE</span> request
83         according to
84         @{[ a_href 'http://www.sysinternals.com/ntw2k/info/defrag.shtml',
85                         'Inside Windows NT Disk Defragmenting' ]}
86         by @{[ a_href 'http://www.sysinternals.com/aboutus.shtml',
87                         'Mark Russinovich' ]}.</p>
88
89
90 HERE
91
92
93 exit;
94 }
95 1;