X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=lib%2Fvirt_mem.mli;h=c807365a2c1a31292ef7fd96e61313c808f406a4;hp=a0f196367a539bf3349fac7a3b9d0caa3b557d60;hb=b8aef502747b039b20877f99f3d8986b6a9329d2;hpb=cb0cb33ae593436fd984c105cf5682155704e39f diff --git a/lib/virt_mem.mli b/lib/virt_mem.mli index a0f1963..c807365 100644 --- a/lib/virt_mem.mli +++ b/lib/virt_mem.mli @@ -1,3 +1,4 @@ +(** Memory info for virtual domains. *) (* Memory info for virtual domains. (C) Copyright 2008 Richard W.M. Jones, Red Hat Inc. http://libvirt.org/ @@ -17,31 +18,39 @@ 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 : + ?external_cmd:bool -> + ?extra_args:(Arg.key * Arg.spec * Arg.doc) list -> + ?argcheck:(bool -> unit) -> + ?beforeksyms:(bool -> Virt_mem_types.image0 list -> unit) -> + ?beforeutsname:(bool -> Virt_mem_types.image1 -> unit) -> + ?run:(bool -> Virt_mem_types.image2 -> unit) -> + string -> string -> Arg.usage_msg -> + unit + (** Tools register themselves with this call. + + The anonymous parameters are: + - tool name (eg. "uname") + - short summary + - full usage message + + The optional callback functions are: + - [?argcheck] called after arguments have been fully parsed + so that the program can do any additional checks needed (eg. + on [extra_args]), + - [?beforeksyms] called after images are loaded and before + kernel symbols are analyzed, + - [?beforeutsname] called after kernel symbols are analyzed + and before the kernel version is detected + - [?run] called after everything + (almost all tools supply this callback function). + + Pass [~external_cmd:false] if this tool doesn't have an + external 'virt-tool' link. + + Pass [~extra_args:...] if this tool needs extra command + line options. *) -val start : Arg.usage_msg -> bool * image list - (** Programs call this to parse the standard command-line arguments - and do all the standard processing of domains into images. - - The returned tuple is: - - verbose mode - - list of images - *) +val main : unit -> unit + (** Entry point for the combined virt-mem executable. *)