summaryrefslogtreecommitdiff
path: root/nuttx/examples/nsh/nsh.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-16 20:52:06 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-08-16 20:52:06 +0000
commit332a8cdade9fa5609a57b162d7a7e6d52ff91073 (patch)
tree998ebc23e7a2900bb8690820e21cc840a02ef406 /nuttx/examples/nsh/nsh.h
parent07656e5f84288c96e871a522bb48e050ceec8551 (diff)
downloadpx4-nuttx-332a8cdade9fa5609a57b162d7a7e6d52ff91073.tar.gz
px4-nuttx-332a8cdade9fa5609a57b162d7a7e6d52ff91073.tar.bz2
px4-nuttx-332a8cdade9fa5609a57b162d7a7e6d52ff91073.zip
Concurrent telnet+serial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@824 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/examples/nsh/nsh.h')
-rw-r--r--nuttx/examples/nsh/nsh.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/nuttx/examples/nsh/nsh.h b/nuttx/examples/nsh/nsh.h
index 77877908b..4855ea366 100644
--- a/nuttx/examples/nsh/nsh.h
+++ b/nuttx/examples/nsh/nsh.h
@@ -96,8 +96,9 @@
#define nsh_addref(v) (v)->addref(v)
#define nsh_release(v) (v)->release(v)
#define nsh_linebuffer(v) (v)->linebuffer(v)
-#define nsh_redirect(v,f) (v)->redirect(v,f)
-#define nsh_undirect(v,d) (v)->undirect(v,d)
+#define nsh_redirect(v,f,s) (v)->redirect(v,f,s)
+#define nsh_undirect(v,s) (v)->undirect(v,s)
+#define nsh_exit(v) (v)->exit(v)
#ifdef CONFIG_CPP_HAVE_VARARGS
# define nsh_output(v, fmt...) (v)->output(v, ##fmt)
@@ -105,6 +106,8 @@
# define nsh_output vtbl->output
#endif
+#define SAVE_SIZE (sizeof(int) + sizeof(FILE*) + sizeof(boolean))
+
/****************************************************************************
* Public Types
****************************************************************************/
@@ -116,8 +119,9 @@ struct nsh_vtbl_s
void (*release)(FAR struct nsh_vtbl_s *vtbl);
int (*output)(FAR struct nsh_vtbl_s *vtbl, const char *fmt, ...);
FAR char *(*linebuffer)(FAR struct nsh_vtbl_s *vtbl);
- FAR void *(*redirect)(FAR struct nsh_vtbl_s *vtbl, int fd);
- void (*undirect)(FAR struct nsh_vtbl_s *vtbl, FAR void *direct);
+ void (*redirect)(FAR struct nsh_vtbl_s *vtbl, int fd, FAR ubyte *save);
+ void (*undirect)(FAR struct nsh_vtbl_s *vtbl, FAR ubyte *save);
+ void (*exit)(FAR struct nsh_vtbl_s *vtbl);
};
typedef void (*cmd_t)(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
@@ -158,7 +162,6 @@ extern int nsh_telnetmain(int argc, char *argv[]);
extern void cmd_echo(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
extern void cmd_exec(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
-extern void cmd_exit(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
extern void cmd_ps(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#if CONFIG_NFILE_DESCRIPTORS > 0