(* Memory info for virtual domains. (C) Copyright 2008 Richard W.M. Jones, Red Hat Inc. http://libvirt.org/ 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; either version 2 of the License, or (at your option) any later version. 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., 675 Mass Ave, Cambridge, MA 02139, USA. *) type ksym = string (** A kernel symbol name. *) type image = string * Virt_mem_utils.architecture * ([`Wordsize], [`Endian]) Virt_mem_mmap.t * (ksym -> Virt_mem_mmap.addr) (** An image after it has been processed by the code common to all commands. The tuple fields are: - name - architecture (eg. I386) - kernel memory map (wordsize & endianness already determined) - a function to look up kernel symbols. It raises [Not_found] if a kernel symbol could not be found or if the kernel symbol table could not be found at all. *) val register : string -> string -> Arg.usage_msg -> bool -> (bool -> image list -> unit) -> unit (** Tools register themselves with this call. The parameters are: - tool name (eg. "uname") - short summary - full usage message - is it a virt-cmd? - run function (invoked as [run verbose images]) *) val main : unit -> unit (** Entry point for the combined virt-mem executable. *)