Page MenuHomePhabricator

hivex.mli
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

hivex.mli

(* hivex generated file
* WARNING: THIS FILE IS GENERATED FROM:
* generator/generator.ml
* ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.
*
* Copyright (C) 2009-2011 Red Hat Inc.
* Derived from code by Petter Nordahl-Hagen under a compatible license:
* Copyright (c) 1997-2007 Petter Nordahl-Hagen.
* Derived from code by Markus Stephany under a compatible license:
* Copyright (c)2000-2004, Markus Stephany.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*)
type t
(** A [hive_h] hive file handle. *)
type node
type value
(** Nodes and values. *)
exception Error of string * Unix.error * string
(** Error raised by a function.
The first parameter is the name of the function which raised the error.
The second parameter is the errno (see the [Unix] module). The third
parameter is a human-readable string corresponding to the errno.
See hivex(3) for a partial list of interesting errno values that
can be generated by the library. *)
exception Handle_closed of string
(** This exception is raised if you call a function on a closed handle. *)
type hive_type =
| REG_NONE (** Just a key without a value *)
| REG_SZ (** A Windows string (encoding is unknown, but often UTF16-LE) *)
| REG_EXPAND_SZ (** A Windows string that contains %env% (environment variable expansion) *)
| REG_BINARY (** A blob of binary *)
| REG_DWORD (** DWORD (32 bit integer), little endian *)
| REG_DWORD_BIG_ENDIAN (** DWORD (32 bit integer), big endian *)
| REG_LINK (** Symbolic link to another part of the registry tree *)
| REG_MULTI_SZ (** Multiple Windows strings. See http://blogs.msdn.com/oldnewthing/archive/2009/10/08/9904646.aspx *)
| REG_RESOURCE_LIST (** Resource list *)
| REG_FULL_RESOURCE_DESCRIPTOR (** Resource descriptor *)
| REG_RESOURCE_REQUIREMENTS_LIST (** Resouce requirements list *)
| REG_QWORD (** QWORD (64 bit integer), unspecified endianness but usually little endian *)
| REG_UNKNOWN of int32 (** unknown type *)
(** Hive type field. *)
type open_flag =
| OPEN_VERBOSE (** Verbose messages *)
| OPEN_DEBUG (** Debug messages *)
| OPEN_WRITE (** Enable writes to the hive *)
(** Open flags for {!open_file} call. *)
type set_value = {
key : string;
t : hive_type;
value : string;
}
(** (key, value) pair passed (as an array) to {!node_set_values}. *)
val open_file : string -> open_flag list -> t
(** open a hive file *)
val close : t -> unit
(** close a hive handle *)
val root : t -> node
(** return the root node of the hive *)
val last_modified : t -> int64
(** return the modification time from the header of the hive *)
val node_name : t -> node -> string
(** return the name of the node *)
val node_timestamp : t -> node -> int64
(** return the modification time of the node *)
val node_children : t -> node -> node array
(** return children of node *)
val node_get_child : t -> node -> string -> node
(** return named child of node *)
val node_parent : t -> node -> node
(** return the parent of node *)
val node_values : t -> node -> value array
(** return (key, value) pairs attached to a node *)
val node_get_value : t -> node -> string -> value
(** return named key at node *)
val value_key : t -> value -> string
(** return the key of a (key, value) pair *)
val value_type : t -> value -> hive_type * int
(** return data length and data type of a value *)
val value_value : t -> value -> hive_type * string
(** return data length, data type and data of a value *)
val value_string : t -> value -> string
(** return value as a string *)
val value_multiple_strings : t -> value -> string array
(** return value as multiple strings *)
val value_dword : t -> value -> int32
(** return value as a DWORD *)
val value_qword : t -> value -> int64
(** return value as a QWORD *)
val commit : t -> string option -> unit
(** commit (write) changes to file *)
val node_add_child : t -> node -> string -> node
(** add child node *)
val node_delete_child : t -> node -> unit
(** delete child node *)
val node_set_values : t -> node -> set_value array -> unit
(** set (key, value) pairs at a node *)
val node_set_value : t -> node -> set_value -> unit
(** set a single (key, value) pair at a given node *)

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 26, 1:45 AM (17 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1256633
Default Alt Text
hivex.mli (4 KB)

Event Timeline