diff options
author | Chris Hall <chris.hall@highwayman.com> | 2011-07-21 19:53:02 +0100 |
---|---|---|
committer | Chris Hall <chris.hall@highwayman.com> | 2011-07-21 19:53:02 +0100 |
commit | 56da2a1c9b6361e302b7a39fe2740561a9012d88 (patch) | |
tree | 6b6543532133a0c618d0f4ec70a87cf3f96caf30 /lib/vty_command.h | |
parent | e535bc959729262480a9702e71334002edee3f8c (diff) | |
download | quagga-56da2a1c9b6361e302b7a39fe2740561a9012d88.tar.bz2 quagga-56da2a1c9b6361e302b7a39fe2740561a9012d88.tar.xz |
Update pipework and improve memory reporting.
Improve error handling for all new pipework inputs and outputs.
Change behaviour of ^C from VTY Terminal, so that will interrupt
output and terminate all running pipes -- including running
shell commands.
In pipe commands, recognise "~/..." and "~user/..." home directory
forms.
Changed "~/" to mean the usual home for the current user. "~~/"
now means the configuration file directory.
Introduced "shdir DIR" command to show what is (currently) what.
Changed "<|" so that if the command has a path, it is expanded
using Quagga's rules (including "~~/" and "~./") and the
"here" directory is set to that path.
Fixed collection of stderr output from all pipes so that is
separate from stdout output, and is always sent to the base
output (eg VTY Terminal).
Increase amount of information about the heap that "show mem"
shows -- particularly if the "memory_tracker" is enabled.
Tested and applied resulting fixes.
Diffstat (limited to 'lib/vty_command.h')
-rw-r--r-- | lib/vty_command.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/vty_command.h b/lib/vty_command.h index 38c95604..1f66f7a7 100644 --- a/lib/vty_command.h +++ b/lib/vty_command.h @@ -30,11 +30,14 @@ #include "vty_local.h" #include "vty_io.h" -extern void vty_cmd_loop_prepare(vty vty) ; -extern void uty_cmd_loop_enter(vty_io vio) ; +extern bool vty_cmd_config_loop_prepare(vty vty) ; +extern void uty_cmd_queue_loop_enter(vty_io vio) ; extern void uty_cmd_signal(vty_io vio, cmd_return_code_t ret) ; -extern void uty_cmd_loop_close(vty_io vio, bool curtains) ; +extern bool uty_cmd_loop_stop(vty_io vio, bool curtains) ; + extern void vty_cmd_loop_exit(vty vty) ; +extern void vty_cmd_set_stopped(vty vty) ; +extern void vty_cmd_check_stop(vty vty, cmd_return_code_t ret) ; extern cmd_return_code_t vty_cmd_fetch_line(vty vty) ; extern cmd_return_code_t vty_cmd_hiatus(vty vty, cmd_return_code_t ret) ; @@ -44,21 +47,22 @@ extern cmd_return_code_t vty_cmd_reflect_line(vty vty) ; extern cmd_return_code_t vty_cmd_out_push(vty vty) ; extern cmd_return_code_t uty_cmd_out_push(vio_vf vf, bool final) ; -extern void vty_cmd_set_full_lex(vty vty, bool full_lex) ; - extern cmd_return_code_t uty_cmd_open_in_pipe_file(vty_io vio, cmd_context context, qstring name, cmd_pipe_type_t type) ; extern cmd_return_code_t uty_cmd_open_in_pipe_shell(vty_io vio, cmd_context context, qstring command, cmd_pipe_type_t type) ; extern cmd_return_code_t uty_cmd_open_out_pipe_file(vty_io vio, - cmd_context context, qstring name, cmd_pipe_type_t type) ; -extern cmd_return_code_t uty_cmd_open_out_dev_null(vty_io vio) ; + cmd_context context, qstring name, cmd_pipe_type_t type, + bool after) ; +extern cmd_return_code_t uty_cmd_open_out_dev_null(vty_io vio, bool after) ; extern cmd_return_code_t uty_cmd_open_out_pipe_shell(vty_io vio, - cmd_context context, qstring command, cmd_pipe_type_t type) ; + cmd_context context, qstring command, cmd_pipe_type_t type, + bool after) ; extern qpath uty_cmd_path_name_complete(qpath dst, const char* name, cmd_context context) ; extern cmd_return_code_t vty_cmd_success(vty vty) ; +extern vio_fifo uty_cmd_get_ebuf(vty_io vio) ; extern cmd_return_code_t vty_cmd_config_lock (vty vty) ; extern void vty_cmd_config_lock_check(struct vty *vty, node_type_t node) ; |