From 3fd3ce2c6946e6162a2895f7e031231f64ebf6f3 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 2 Dec 2007 18:18:59 +0000 Subject: Add TELNET front end to NSH git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@421 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/examples/nsh/nsh.h | 61 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 14 deletions(-) (limited to 'nuttx/examples/nsh/nsh.h') diff --git a/nuttx/examples/nsh/nsh.h b/nuttx/examples/nsh/nsh.h index fc9f807d2..7d0179b8e 100644 --- a/nuttx/examples/nsh/nsh.h +++ b/nuttx/examples/nsh/nsh.h @@ -41,23 +41,30 @@ ****************************************************************************/ #include +#ifdef CONFIG_EXAMPLES_NSH_TELNET +#else +# include +#endif /**************************************************************************** * Definitions ****************************************************************************/ +#define NSH_MAX_ARGUMENTS 6 + #define errno (*get_errno_ptr()) /**************************************************************************** * Public Types ****************************************************************************/ -typedef void (*cmd_t)(int argc, char **argv); +typedef void (*cmd_t)(FAR void *handle, int argc, char **argv); /**************************************************************************** * Public Data ****************************************************************************/ +extern const char g_nshprompt[]; extern const char g_fmtargrequired[]; extern const char g_fmtarginvalid[]; extern const char g_fmtcmdnotfound[]; @@ -71,30 +78,56 @@ extern const char g_fmtcmdoutofmemory[]; * Public Function Prototypes ****************************************************************************/ +/* Message handler */ + +extern int nsh_parse(FAR void *handle, char *cmdline); + +/* I/O interfaces */ + +#ifdef CONFIG_EXAMPLES_NSH_TELNET + +extern int nsh_telnetmain(void); +extern int nsh_telnetout(FAR void *handle, const char *fmt, ...); + +# define nsh_main() nsh_telnetmain() +# define nsh_output(handle, ...) nsh_telnetout(handle, __VA_ARGS__) + +#else + +extern int nsh_serialmain(void); + +# define nsh_main() nsh_serialmain() +# define nsh_output(handle, ...) printf(__VA_ARGS__) + +#endif + +/* Shell command handlers */ + #if CONFIG_NFILE_DESCRIPTORS > 0 -extern void cmd_cat(int argc, char **argv); -extern void cmd_cp(int argc, char **argv); +extern void cmd_cat(FAR void *handle, int argc, char **argv); +extern void cmd_cp(FAR void *handle, int argc, char **argv); #endif -extern void cmd_echo(int argc, char **argv); -extern void cmd_exec(int argc, char **argv); +extern void cmd_echo(FAR void *handle, int argc, char **argv); +extern void cmd_exec(FAR void *handle, int argc, char **argv); +extern void cmd_exit(FAR void *handle, int argc, char **argv); #if CONFIG_NFILE_DESCRIPTORS > 0 -extern void cmd_ls(int argc, char **argv); +extern void cmd_ls(FAR void *handle, int argc, char **argv); #endif #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 -extern void cmd_mkdir(int argc, char **argv); -extern void cmd_mount(int argc, char **argv); +extern void cmd_mkdir(FAR void *handle, int argc, char **argv); +extern void cmd_mount(FAR void *handle, int argc, char **argv); #endif -extern void cmd_ps(int argc, char **argv); +extern void cmd_ps(FAR void *handle, int argc, char **argv); #ifndef CONFIG_DISABLE_ENVIRON -extern void cmd_set(int argc, char **argv); +extern void cmd_set(FAR void *handle, int argc, char **argv); #endif #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 -extern void cmd_rm(int argc, char **argv); -extern void cmd_rmdir(int argc, char **argv); -extern void cmd_umount(int argc, char **argv); +extern void cmd_rm(FAR void *handle, int argc, char **argv); +extern void cmd_rmdir(FAR void *handle, int argc, char **argv); +extern void cmd_umount(FAR void *handle, int argc, char **argv); #endif #ifndef CONFIG_DISABLE_ENVIRON -extern void cmd_unset(int argc, char **argv); +extern void cmd_unset(FAR void *handle, int argc, char **argv); #endif #endif /* __NSH_H */ -- cgit v1.2.3