ChiaYen Kan / Mbed 2 deprecated Nucleo_L053R8_NTShell

Dependencies:   mbed

Committer:
kcy
Date:
Thu Mar 19 06:07:58 2015 +0000
Revision:
0:4d2c4db9c88e
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kcy 0:4d2c4db9c88e 1 /**
kcy 0:4d2c4db9c88e 2 * @file ntopt.h
kcy 0:4d2c4db9c88e 3 * @author Shinichiro Nakamura
kcy 0:4d2c4db9c88e 4 * @brief NT-Shell用オプション解析モジュールの定義。
kcy 0:4d2c4db9c88e 5 */
kcy 0:4d2c4db9c88e 6
kcy 0:4d2c4db9c88e 7 /*
kcy 0:4d2c4db9c88e 8 * ===============================================================
kcy 0:4d2c4db9c88e 9 * Natural Tiny Shell (NT-Shell)
kcy 0:4d2c4db9c88e 10 * ===============================================================
kcy 0:4d2c4db9c88e 11 * Copyright (c) 2010-2012 Shinichiro Nakamura
kcy 0:4d2c4db9c88e 12 *
kcy 0:4d2c4db9c88e 13 * Permission is hereby granted, free of charge, to any person
kcy 0:4d2c4db9c88e 14 * obtaining a copy of this software and associated documentation
kcy 0:4d2c4db9c88e 15 * files (the "Software"), to deal in the Software without
kcy 0:4d2c4db9c88e 16 * restriction, including without limitation the rights to use,
kcy 0:4d2c4db9c88e 17 * copy, modify, merge, publish, distribute, sublicense, and/or
kcy 0:4d2c4db9c88e 18 * sell copies of the Software, and to permit persons to whom the
kcy 0:4d2c4db9c88e 19 * Software is furnished to do so, subject to the following
kcy 0:4d2c4db9c88e 20 * conditions:
kcy 0:4d2c4db9c88e 21 *
kcy 0:4d2c4db9c88e 22 * The above copyright notice and this permission notice shall be
kcy 0:4d2c4db9c88e 23 * included in all copies or substantial portions of the Software.
kcy 0:4d2c4db9c88e 24 *
kcy 0:4d2c4db9c88e 25 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
kcy 0:4d2c4db9c88e 26 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
kcy 0:4d2c4db9c88e 27 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
kcy 0:4d2c4db9c88e 28 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
kcy 0:4d2c4db9c88e 29 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
kcy 0:4d2c4db9c88e 30 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
kcy 0:4d2c4db9c88e 31 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
kcy 0:4d2c4db9c88e 32 * OTHER DEALINGS IN THE SOFTWARE.
kcy 0:4d2c4db9c88e 33 * ===============================================================
kcy 0:4d2c4db9c88e 34 */
kcy 0:4d2c4db9c88e 35
kcy 0:4d2c4db9c88e 36 #ifndef NTOPT_H
kcy 0:4d2c4db9c88e 37 #define NTOPT_H
kcy 0:4d2c4db9c88e 38
kcy 0:4d2c4db9c88e 39 #include "ntconf.h"
kcy 0:4d2c4db9c88e 40
kcy 0:4d2c4db9c88e 41 /**
kcy 0:4d2c4db9c88e 42 * @brief パース可能な最大文字列長。
kcy 0:4d2c4db9c88e 43 */
kcy 0:4d2c4db9c88e 44 #define NTOPT_TEXT_MAXLEN (NTCONF_EDITOR_MAXLEN)
kcy 0:4d2c4db9c88e 45
kcy 0:4d2c4db9c88e 46 /**
kcy 0:4d2c4db9c88e 47 * @brief パース可能な最大パラメータ数。
kcy 0:4d2c4db9c88e 48 */
kcy 0:4d2c4db9c88e 49 #define NTOPT_TEXT_MAXARGS (NTCONF_EDITOR_MAXLEN / 2)
kcy 0:4d2c4db9c88e 50
kcy 0:4d2c4db9c88e 51 /**
kcy 0:4d2c4db9c88e 52 * @brief コールバック関数。
kcy 0:4d2c4db9c88e 53 *
kcy 0:4d2c4db9c88e 54 * @param argc パラメータの数。
kcy 0:4d2c4db9c88e 55 * @param argv パラメータ。
kcy 0:4d2c4db9c88e 56 * @param extobj 外部オブジェクト。
kcy 0:4d2c4db9c88e 57 *
kcy 0:4d2c4db9c88e 58 * @return 返値。
kcy 0:4d2c4db9c88e 59 */
kcy 0:4d2c4db9c88e 60 typedef int (*NTOPT_CALLBACK)(int argc, char **argv, void *extobj);
kcy 0:4d2c4db9c88e 61
kcy 0:4d2c4db9c88e 62 #ifdef __cplusplus
kcy 0:4d2c4db9c88e 63 extern "C" {
kcy 0:4d2c4db9c88e 64 #endif
kcy 0:4d2c4db9c88e 65
kcy 0:4d2c4db9c88e 66 /**
kcy 0:4d2c4db9c88e 67 * @brief 与えられた文字列をデリミタで分割する。
kcy 0:4d2c4db9c88e 68 *
kcy 0:4d2c4db9c88e 69 * @param str 文字列。
kcy 0:4d2c4db9c88e 70 * @param func コールバック関数。
kcy 0:4d2c4db9c88e 71 * @param extobj 拡張オブジェクト。
kcy 0:4d2c4db9c88e 72 *
kcy 0:4d2c4db9c88e 73 * @return コールバック関数が返した値。
kcy 0:4d2c4db9c88e 74 */
kcy 0:4d2c4db9c88e 75 int ntopt_parse(const char *str, NTOPT_CALLBACK func, void *extobj);
kcy 0:4d2c4db9c88e 76
kcy 0:4d2c4db9c88e 77 #ifdef __cplusplus
kcy 0:4d2c4db9c88e 78 }
kcy 0:4d2c4db9c88e 79 #endif
kcy 0:4d2c4db9c88e 80
kcy 0:4d2c4db9c88e 81 #endif
kcy 0:4d2c4db9c88e 82
kcy 0:4d2c4db9c88e 83