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