More documentation in README file.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 25 Feb 2010 22:05:51 +0000 (22:05 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 26 Feb 2010 11:51:05 +0000 (11:51 +0000)
README

diff --git a/README b/README
index 0aaec9f..d7a6caf 100644 (file)
--- a/README
+++ b/README
@@ -2,8 +2,8 @@ hivex - by Richard W.M. Jones, rjones@redhat.com
 Copyright (C) 2009-2010 Red Hat Inc.
 ----------------------------------------------------------------------
 
-This is a self-contained library for reading Windows Registry "hive"
-binary files.
+This is a self-contained library for reading and writing Windows
+Registry "hive" binary files.
 
 Unlike many other tools in this area, it doesn't use the textual .REG
 format for output, because parsing that is as much trouble as parsing
@@ -31,5 +31,72 @@ for documentation on the older formats if you wish to read them.
 Unlike NTREG, this code is much more careful about handling error
 cases, corrupt and malicious registry files, and endianness.
 
+License
+-------
+
 The license for this library is LGPL v2.1, but not later versions.
 For full details, see the file LICENSE in this directory.
+
+Dependencies
+------------
+
+To just build the library, the dependencies are quite minimal.  You
+only need the following:
+
+- An ISO C compiler.
+
+- Perl tools 'pod2man' and 'pod2text'.
+
+These dependencies are needed for the tools:
+
+- Readline library (optional, to add command-line editing to hivexsh).
+
+- libxml2 (optional, for hivexml).
+
+If you want to make the generated files or change the API, then you
+will need the OCaml interpreter (/usr/bin/ocaml).
+
+To build the language bindings, you will need various extra packages.
+See the configure output for more details.
+
+Directories and tools
+---------------------
+
+generator/
+
+       Generator used to write a lot of boilerplate code for
+       header files, documentation, language bindings etc.
+       The API for hivex is specified in the generator.
+
+images/
+
+       Test hive files.  See images/README.
+
+lib/
+
+       The C library.
+
+ocaml/
+
+       OCaml bindings and tests.  The bindings are generated by
+       'generator/generator.ml'.
+
+perl/
+
+       Perl bindings and tests.  The bindings are generated by
+       'generator/generator.ml'.
+
+python/
+
+       Python bindings and tests.  The bindings are generated by
+       'generator/generator.ml'.
+
+sh/
+
+       Interactive shell.  This also contains the old 'hivexget'
+       tool (originally written in C, now replaced by a hivexsh
+       shell script).
+
+xml/
+
+       hivexml program which converts hive files to XML.