Refactored, process table now loaded centrally.
[virt-mem.git] / uname / virt_uname.ml
index 54c0148..d90974d 100644 (file)
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *)
 
-open Virt_mem_gettext.Gettext
-
-let usage = s_"NAME
-  virt-uname - uname command for virtual machines
-
-SUMMARY
-  virt-uname [-options] [domains]
+open Printf
 
-DESCRIPTION
-  virt-uname prints the uname information such as OS version,
-  architecture and node name for virtual machines running under
-  libvirt."
-
-let verbose, images = Virt_mem.start usage
+open Virt_mem_gettext.Gettext
+open Virt_mem_utils
+open Virt_mem_types
+
+let run debug { domname = domname } { utsname = utsname } =
+  match utsname with
+  | Some u ->
+      printf "%s: %s %s %s %s %s %s\n"
+       domname
+       u.kernel_name u.nodename u.kernel_release
+       u.kernel_version u.machine u.domainname
+  | None ->
+      eprintf (f_"%s: no system_utsname in kernel image\n") domname
+
+let summary = s_"uname command for virtual machines"
+let description = s_"\
+virt-uname prints the uname information such as OS version,
+architecture and node name for virtual machines running under
+libvirt."
+
+let () = Virt_mem.register "uname" summary description ~needs_utsname:true ~run