diff options
author | ajs <ajs> | 2004-11-05 01:25:55 +0000 |
---|---|---|
committer | ajs <ajs> | 2004-11-05 01:25:55 +0000 |
commit | 5a64665039dc98c341fd8d50458ec2a72c5ebbf5 (patch) | |
tree | e89689f085b7b8eed09a0558e2a80dadb4826033 /lib | |
parent | f3ae74cdf0768d0bd35f26f728f72439f2d8bd6f (diff) |
2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
capabilities (that were used only in bgpd/bgp_route.c and are now
removed). Also remove some other fields that were not being
used at all.
* vty.c: (vty_execute) Do not test for obsolete status values VTY_START
and VTY_CONTINUE.
(vty_read) Remove calls to vty->output_func since that was part
of the VTY_CONTINUE infrastructure that has been removed.
(vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
(vty_close) Remove code to cancel vty->t_output thread, since that
thread was never actually used.
* bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
is deprecated because the output did not represent a single point
in time. All output needs to be generated inline and buffered
by the library code.
(route_vty_out,route_vty_out_tag,damp_route_vty_out,
flap_route_vty_out) Remove code to count number of lines of output,
since this was only useful for VTY_CONTINUE behavior.
(bgp_show_callback) Removed.
(bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
As a result, there's a new output_arg argument to this function.
Make function static.
(bgp_show) Make function static and add a new output_arg argument.
Change all functions that call bgp_show or bgp_show_table to
pass the new output_arg argument (that used to be passed inside
vty->output_arg).
* bgp_mplsvpn.c: Remove declarations of functions defined in
bgp_route.c; these declarations belong in bgp_route.h.
* bgp_route.h: Declare 3 global functions used in both bgp_route.c
and in bgp_mplsvpn.c.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ChangeLog | 14 | ||||
-rw-r--r-- | lib/vty.c | 60 | ||||
-rw-r--r-- | lib/vty.h | 22 |
3 files changed, 16 insertions, 80 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 75ff444b..7fd36d24 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,19 @@ 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> + * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE + capabilities (that were used only in bgpd/bgp_route.c and are now + removed). Also remove some other fields that were not being + used at all. + * vty.c: (vty_execute) Do not test for obsolete status values VTY_START + and VTY_CONTINUE. + (vty_read) Remove calls to vty->output_func since that was part + of the VTY_CONTINUE infrastructure that has been removed. + (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. + (vty_close) Remove code to cancel vty->t_output thread, since that + thread was never actually used. + +2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> + * vty.c: Vtysh connections to daemons should use buffering. (vty_out) Remove exception for vty_shell_serv, just use buffer_write. (vty_new) Increase output buffer size to 4096 rounded up to a @@ -1206,9 +1206,7 @@ vty_execute (struct vty *vty) vty->cp = vty->length = 0; vty_clear_buf (vty); - if (vty->status != VTY_CLOSE - && vty->status != VTY_START - && vty->status != VTY_CONTINUE) + if (vty->status != VTY_CLOSE ) vty_prompt (vty); return ret; @@ -1310,8 +1308,6 @@ vty_read (struct thread *thread) case CONTROL('C'): case 'q': case 'Q': - if (vty->output_func) - (*vty->output_func) (vty, 1); vty_buffer_reset (vty); break; #if 0 /* More line does not work for "show ip bgp". */ @@ -1321,8 +1317,6 @@ vty_read (struct thread *thread) break; #endif default: - if (vty->output_func) - (*vty->output_func) (vty, 0); break; } continue; @@ -1472,55 +1466,6 @@ vty_flush (struct thread *thread) } /* Function execution continue. */ - if (vty->status == VTY_START || vty->status == VTY_CONTINUE) - { - if (vty->status == VTY_CONTINUE) - erase = 1; - else - erase = 0; - - if (vty->output_func == NULL) - dont_more = 1; - else - dont_more = 0; - - if (vty->lines == 0) - { - erase = 0; - dont_more = 1; - } - - buffer_flush_vty_all (vty->obuf, vty->fd, erase, dont_more); - - if (vty->status == VTY_CLOSE) - { - vty_close (vty); - return 0; - } - - if (vty->output_func == NULL) - { - vty->status = VTY_NORMAL; - vty_prompt (vty); - vty_event (VTY_WRITE, vty_sock, vty); - } - else - vty->status = VTY_MORE; - - if (vty->lines == 0) - { - if (vty->output_func == NULL) - vty_event (VTY_READ, vty_sock, vty); - else - { - if (vty->output_func) - (*vty->output_func) (vty, 0); - vty_event (VTY_WRITE, vty_sock, vty); - } - } - } - else - { if (vty->status == VTY_MORE || vty->status == VTY_MORELINE) erase = 1; else @@ -1554,7 +1499,6 @@ vty_flush (struct thread *thread) if (vty->lines == 0) vty_event (VTY_WRITE, vty_sock, vty); } - } return 0; } @@ -2075,8 +2019,6 @@ vty_close (struct vty *vty) thread_cancel (vty->t_write); if (vty->t_timeout) thread_cancel (vty->t_timeout); - if (vty->t_output) - thread_cancel (vty->t_output); /* Flush buffer. */ if (! buffer_empty (vty->obuf)) @@ -41,9 +41,6 @@ struct vty /* What address is this vty comming from. */ char *address; - /* Privilege level of this vty. */ - int privilege; - /* Failure count */ int fail; @@ -82,8 +79,7 @@ struct vty unsigned char escape; /* Current vty status. */ - enum {VTY_NORMAL, VTY_CLOSE, VTY_MORE, VTY_MORELINE, - VTY_START, VTY_CONTINUE} status; + enum {VTY_NORMAL, VTY_CLOSE, VTY_MORE, VTY_MORELINE} status; /* IAC handling */ unsigned char iac; @@ -96,14 +92,9 @@ struct vty int width; int height; - int scroll_one; - /* Configure lines. */ int lines; - /* Current executing function pointer. */ - int (*func) (struct vty *, void *arg); - /* Terminal monitor. */ int monitor; @@ -117,17 +108,6 @@ struct vty /* Timeout seconds and thread. */ unsigned long v_timeout; struct thread *t_timeout; - - /* Thread output function. */ - struct thread *t_output; - - /* Output data pointer. */ - int (*output_func) (struct vty *, int); - void (*output_clean) (struct vty *); - void *output_rn; - unsigned long output_count; - int output_type; - void *output_arg; }; /* Integrated configuration file. */ |