(* virt-dmesg * (C) Copyright 2008-2011 Red Hat Inc. * * 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. *) (** Functions for searching for kernels in guest memory. *) val search : ?dump:bool -> Libvirt.rw Libvirt.Domain.t -> Kernel.t * Utils.symbol_table (** Search for a kernel in the given libvirt domain. This call checks for the kernel at a number of possible addresses. Returns a fully populated {!Kernel.t} struct and symbol table if found, but if not then it raises [Not_found] exception. If the optional [~dump] parameter is true, then the kernel contents are dumped to stdout, and we {i do not} try to look for symbols. *) val search_at : ?dump:bool -> Libvirt.rw Libvirt.Domain.t -> int64 -> Kernel.t * Utils.symbol_table (** Search for a kernel starting at the given fixed address (ie. virtual address in guest memory). Works otherwise just like {!search}. *)