uIP 1.0
|
00001 /** 00002 * \file 00003 * Интерфейс шелла Contiki. 00004 * \author Adam Dunkels <adam@dunkels.com> 00005 * 00006 * Некоторые функции, декларированые в этом файле, должны быть 00007 * релаизиваны как фоновая среда поддержки шелла (shell back-end) 00008 * в файлах, специфичных для архитектуры порта Contiki. 00009 */ 00010 00011 00012 /* 00013 * Copyright (c) 2003, Adam Dunkels. 00014 * Все права зарезервированы. 00015 * 00016 * Повторное распространение, использование в исходном и двоичном виде, 00017 * с модификацией или без - разрешается, если выполняются следующие 00018 * условия: 00019 * 1. Распространение исходного кода должно сохранить вышеуказанную пометку 00020 * копирайта, этот список условий и следующую правовую оговорку. 00021 * 2. Распространение исходного кода должно сохранить вышеуказанную пометку 00022 * копирайта, этот список условий и следующую правовую оговорку в 00023 * документации и/или других материалах, которые будут предоставлены 00024 * вместе с распространяемыми материалами. 00025 * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть 00026 * продукты, написанные с использованием этого программного обеспечения 00027 * без специального на то разрешения. 00028 * 00029 * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ 00030 * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ, 00031 * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ 00032 * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН 00033 * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ 00034 * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ 00035 * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ; 00036 * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, 00037 * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ 00038 * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ 00039 * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ 00040 * ТАКОГО ПОВРЕЖДЕНИЯ. 00041 * 00042 * Этот файл является частью Contiki desktop OS. 00043 * 00044 * $Id: shell.h,v 1.1 2006/06/07 09:43:54 adam Exp $ 00045 * 00046 */ 00047 #ifndef __SHELL_H__ 00048 #define __SHELL_H__ 00049 00050 /** 00051 * Инициализирует шелл. 00052 * 00053 * Вызывается, когда запускается процесс внешнего интерфейса с пользователем 00054 * шелла (shell front-end). Эта функция может использоваться для запуска 00055 * прослушивания сигналов. 00056 */ 00057 void shell_init(void); 00058 00059 /** 00060 * Запускает фоновую поддержку шелла (shell back-end). 00061 * 00062 * Вызывается внешним интерфейсом (front-end), когда запускается новый шелл. 00063 */ 00064 void shell_start(void); 00065 00066 /** 00067 * Обрабатывает команды шелла. 00068 * 00069 * Эта функция вызывается из графического интерфейса пользователя шелла 00070 * (shell GUI) / сервера telnet, где введенная команда должна быть 00071 * обработана фоновой поддержкой шелла (shell back-end). 00072 * 00073 * \param command Обрабатываемая команда. 00074 */ 00075 void shell_input(char *command); 00076 00077 /** 00078 * Выход из шелла. 00079 * 00080 */ 00081 void shell_quit(char *); 00082 00083 00084 /** 00085 * Печатает строку в окне шелла. 00086 * 00087 * Эта функция реализована в shell GUI / сервере telnet, и может быть 00088 * вызвана фоновой поддержкой шелла (shell back-end) для вывода строки 00089 * в рабочем окне шелла. К строке будет автоматически добавлен символ 00090 * завершения строки (linebreak). 00091 * 00092 * \param str1 Первая половина строки для вывода. 00093 * \param str2 Вторая половина строки для вывода. 00094 */ 00095 void shell_output(char *str1, char *str2); 00096 00097 /** 00098 * Печатает приглашение (prompt) в окно шелла. 00099 * 00100 * Эта функция может использоваться фоновой поддержкой шелла (shell 00101 * back-end) для вывовда строки приглашения в окно шелла. 00102 * 00103 * \param prompt Печатаемое приглашение. 00104 * 00105 */ 00106 void shell_prompt(char *prompt); 00107 00108 #endif /* __SHELL_H__ */