1 | /* |
2 | * Created by: Jason Wessel <jason.wessel@windriver.com> |
3 | * |
4 | * Copyright (c) 2010 Wind River Systems, Inc. All Rights Reserved. |
5 | * |
6 | * This file is licensed under the terms of the GNU General Public |
7 | * License version 2. This program is licensed "as is" without any |
8 | * warranty of any kind, whether express or implied. |
9 | */ |
10 | |
11 | #include <linux/module.h> |
12 | #include <linux/kdb.h> |
13 | |
14 | /* |
15 | * All kdb shell command call backs receive argc and argv, where |
16 | * argv[0] is the command the end user typed |
17 | */ |
18 | static int kdb_hello_cmd(int argc, const char **argv) |
19 | { |
20 | if (argc > 1) |
21 | return KDB_ARGCOUNT; |
22 | |
23 | if (argc) |
24 | kdb_printf("Hello %s.\n" , argv[1]); |
25 | else |
26 | kdb_printf("Hello world!\n" ); |
27 | |
28 | return 0; |
29 | } |
30 | |
31 | static kdbtab_t hello_cmd = { |
32 | .name = "hello" , |
33 | .func = kdb_hello_cmd, |
34 | .usage = "[string]" , |
35 | .help = "Say Hello World or Hello [string]" , |
36 | }; |
37 | |
38 | static int __init kdb_hello_cmd_init(void) |
39 | { |
40 | /* |
41 | * Registration of a dynamically added kdb command is done with |
42 | * kdb_register(). |
43 | */ |
44 | kdb_register(cmd: &hello_cmd); |
45 | return 0; |
46 | } |
47 | |
48 | static void __exit kdb_hello_cmd_exit(void) |
49 | { |
50 | kdb_unregister(cmd: &hello_cmd); |
51 | } |
52 | |
53 | module_init(kdb_hello_cmd_init); |
54 | module_exit(kdb_hello_cmd_exit); |
55 | |
56 | MODULE_AUTHOR("WindRiver" ); |
57 | MODULE_DESCRIPTION("KDB example to add a hello command" ); |
58 | MODULE_LICENSE("GPL" ); |
59 | |