+
+ The boolean parameters specify what kernel structures the
+ tool needs before it can run. The main program will read
+ these structures in before calling [~run].
+ - [~needs_ksyms:true] if kernel symbols are needed
+ - [~needs_utsname:true] if kernel version (utsname) is needed
+ - [~needs_task_struct:true] if all task_struct (processes) are needed
+ - [~needs_everything:true] if the tool requires as much as
+ possible (but will not fail if we cannot determine everything)
+
+ The [~run] function is the tool's run function. This function
+ is run once for each separate domain. It may throw any exception,
+ which is printed out, but does not abort the program. (If for
+ some reason you need to abort the whole program, call [exit].)
+
+ 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.
+
+ Pass [~argcheck:...] so that the tool can do any additional
+ parameter checks needed (eg. for [~extra_args]).