-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.uts_kernel_name u.uts_nodename u.uts_kernel_release
+ u.uts_kernel_version u.uts_machine u.uts_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