xref: /kvmtool/builtin-help.c (revision 0a936c5400d3894e57f9810c42b2b7e679c21fa0)
1*0a936c54SPrasad Joshi #include <stdio.h>
2*0a936c54SPrasad Joshi #include <string.h>
3*0a936c54SPrasad Joshi 
4*0a936c54SPrasad Joshi /* user defined headers */
5*0a936c54SPrasad Joshi #include <common-cmds.h>
6*0a936c54SPrasad Joshi 
7*0a936c54SPrasad Joshi #include <kvm/util.h>
8*0a936c54SPrasad Joshi #include <kvm/kvm-help.h>
9*0a936c54SPrasad Joshi 
10*0a936c54SPrasad Joshi 
11*0a936c54SPrasad Joshi const char kvm_usage_string[] =
12*0a936c54SPrasad Joshi 	"kvm [--version] [--help] COMMAND [ARGS]";
13*0a936c54SPrasad Joshi 
14*0a936c54SPrasad Joshi const char kvm_more_info_string[] =
15*0a936c54SPrasad Joshi 	"See 'kvm help COMMAND' for more information on a specific command.";
16*0a936c54SPrasad Joshi 
17*0a936c54SPrasad Joshi 
18*0a936c54SPrasad Joshi static void list_common_cmds_help(void)
19*0a936c54SPrasad Joshi {
20*0a936c54SPrasad Joshi 	unsigned int i, longest = 0;
21*0a936c54SPrasad Joshi 
22*0a936c54SPrasad Joshi 	for (i = 0; i < ARRAY_SIZE(common_cmds); i++) {
23*0a936c54SPrasad Joshi 		if (longest < strlen(common_cmds[i].name))
24*0a936c54SPrasad Joshi 			longest = strlen(common_cmds[i].name);
25*0a936c54SPrasad Joshi 	}
26*0a936c54SPrasad Joshi 
27*0a936c54SPrasad Joshi 	puts(" The most commonly used kvm commands are:");
28*0a936c54SPrasad Joshi 	for (i = 0; i < ARRAY_SIZE(common_cmds); i++) {
29*0a936c54SPrasad Joshi 		printf("   %-*s   ", longest, common_cmds[i].name);
30*0a936c54SPrasad Joshi 		puts(common_cmds[i].help);
31*0a936c54SPrasad Joshi 	}
32*0a936c54SPrasad Joshi }
33*0a936c54SPrasad Joshi 
34*0a936c54SPrasad Joshi int kvm_cmd_help(int argc, const char **argv, const char *prefix)
35*0a936c54SPrasad Joshi {
36*0a936c54SPrasad Joshi 	if (!argv || !*argv) {
37*0a936c54SPrasad Joshi 		printf("\n usage: %s\n\n", kvm_usage_string);
38*0a936c54SPrasad Joshi 		list_common_cmds_help();
39*0a936c54SPrasad Joshi 		printf("\n %s\n\n", kvm_more_info_string);
40*0a936c54SPrasad Joshi 		return 0;
41*0a936c54SPrasad Joshi 	}
42*0a936c54SPrasad Joshi 	return 0;
43*0a936c54SPrasad Joshi }
44