Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*)
-type ksym = string
- (** A kernel symbol name. *)
-
-type image =
- int option
- * string
- * Virt_mem_utils.architecture
- * ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t
- (** A memory image from a domain. *)
-
-type image_with_ksyms =
- int option
- * string
- * Virt_mem_utils.architecture
- * ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t
- * (ksym -> Virt_mem_mmap.addr)
- (** An image after it has been processed to find kernel symbols.
-
- The tuple fields are:
- - domain ID (if known)
- - name, usually the domain 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 -> image list -> unit) ->
- ?run:(bool -> image_with_ksyms list -> 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.
on [extra_args]),
- [?beforeksyms] called after images are loaded and before
kernel symbols are analyzed,
- - [?run] called after kernel symbols have been 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