1 /** 2 * \file 3 * Interface for the Contiki shell. 4 * \author Adam Dunkels <[email protected]> 5 * 6 * Some of the functions declared in this file must be implemented as 7 * a shell back-end in the architecture specific files of a Contiki 8 * port. 9 */ 10 11 12 /* 13 * Copyright (c) 2003, Adam Dunkels. 14 * All rights reserved. 15 * 16 * Redistribution and use in source and binary forms, with or without 17 * modification, are permitted provided that the following conditions 18 * are met: 19 * 1. Redistributions of source code must retain the above copyright 20 * notice, this list of conditions and the following disclaimer. 21 * 2. Redistributions in binary form must reproduce the above copyright 22 * notice, this list of conditions and the following disclaimer in the 23 * documentation and/or other materials provided with the distribution. 24 * 3. The name of the author may not be used to endorse or promote 25 * products derived from this software without specific prior 26 * written permission. 27 * 28 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 29 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 30 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 32 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 34 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 * 40 * This file is part of the Contiki desktop OS. 41 * 42 * $Id: shell.h,v 1.1 2006/06/07 09:43:54 adam Exp $ 43 * 44 */ 45 #ifndef __SHELL_H__ 46 #define __SHELL_H__ 47 48 /** 49 * Initialize the shell. 50 * 51 * Called when the shell front-end process starts. This function may 52 * be used to start listening for signals. 53 */ 54 void shell_init(void); 55 56 /** 57 * Start the shell back-end. 58 * 59 * Called by the front-end when a new shell is started. 60 */ 61 void shell_start(void); 62 63 /** 64 * Process a shell command. 65 * 66 * This function will be called by the shell GUI / telnet server whan 67 * a command has been entered that should be processed by the shell 68 * back-end. 69 * 70 * \param command The command to be processed. 71 */ 72 void shell_input(char *command); 73 74 /** 75 * Quit the shell. 76 * 77 */ 78 void shell_quit(char *); 79 80 81 /** 82 * Print a string to the shell window. 83 * 84 * This function is implemented by the shell GUI / telnet server and 85 * can be called by the shell back-end to output a string in the 86 * shell window. The string is automatically appended with a linebreak. 87 * 88 * \param str1 The first half of the string to be output. 89 * \param str2 The second half of the string to be output. 90 */ 91 void shell_output(char *str1, char *str2); 92 93 /** 94 * Print a prompt to the shell window. 95 * 96 * This function can be used by the shell back-end to print out a 97 * prompt to the shell window. 98 * 99 * \param prompt The prompt to be printed. 100 * 101 */ 102 void shell_prompt(char *prompt); 103 104 #endif /* __SHELL_H__ */ 105