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/command_common.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/command_common.h')
-rw-r--r-- | lib/command_common.h | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/lib/command_common.h b/lib/command_common.h index 3621a4b6..4dd26753 100644 --- a/lib/command_common.h +++ b/lib/command_common.h @@ -42,7 +42,7 @@ enum node_type ENABLE_NODE, /* aka privileged EXEC */ MIN_DO_SHORTCUT_NODE = ENABLE_NODE, - /* May not "do xxx" at any node lower */ + /* May not "do xx" at any node lower */ MAX_NON_CONFIG_NODE = ENABLE_NODE, /* May not be higher than this without owning * the configuration symbol of power */ @@ -117,8 +117,10 @@ enum cmd_return_code /* Return codes suitable for command execution functions */ - CMD_WARNING = 1, - CMD_ERROR, + CMD_WARNING = 1, /* command: not 100% successful */ + CMD_ERROR, /* command: failed badly */ + + CMD_CLOSE, /* command: finish up and close vty */ /* Return codes from the command parser */ @@ -129,25 +131,26 @@ enum cmd_return_code CMD_ERR_AMBIGUOUS, /* parser: more than on command matches */ CMD_ERR_INCOMPLETE, - CMD_CLOSE, /* command: used by "exit" */ + /* Return codes used in command loop */ + + CMD_HIATUS, /* loop: something requires attention */ + CMD_STOP, /* loop: stop and close vty (final) */ + CMD_CANCEL, /* loop: stop and close down to base + * vin/vout and discard output. */ + /* Return codes from I/O layers */ CMD_WAITING, /* I/O: waiting for more input */ CMD_EOF, /* I/O: nothing more to come */ - - CMD_HIATUS, /* Something requires attention */ - - CMD_IO_ERROR, /* I/O -- failed :-( */ - CMD_IO_TIMEOUT, /* I/O -- timed out :-( */ + CMD_IO_ERROR, /* I/O: error or time-out */ /* For the chop ???? */ - - CMD_COMPLETE_FULL_MATCH, /* cmd_completion returns */ - CMD_COMPLETE_MATCH, - CMD_COMPLETE_LIST_MATCH, - CMD_COMPLETE_ALREADY, +//CMD_COMPLETE_FULL_MATCH, /* cmd_completion returns */ +//CMD_COMPLETE_MATCH, +//CMD_COMPLETE_LIST_MATCH, +//CMD_COMPLETE_ALREADY, CMD_SUCCESS_DAEMON, /* parser: success & command is for vtysh ? */ |