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.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 75ff444..7fd36d2 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
diff --git a/lib/vty.c b/lib/vty.c
index e6bcb61..1ef552f 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1206,9 +1206,7 @@
   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 @@
 	    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 @@
 	      break;
 #endif
 	    default:
-	      if (vty->output_func)
-		(*vty->output_func) (vty, 0);
 	      break;
 	    }
 	  continue;
@@ -1472,55 +1466,6 @@
       }
 
   /* 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 @@
 	  if (vty->lines == 0)
 	    vty_event (VTY_WRITE, vty_sock, vty);
 	}
-    }
 
   return 0;
 }
@@ -2075,8 +2019,6 @@
     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))
diff --git a/lib/vty.h b/lib/vty.h
index c5c8c3b..c3221e2 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -41,9 +41,6 @@
   /* What address is this vty comming from. */
   char *address;
 
-  /* Privilege level of this vty. */
-  int privilege;
-
   /* Failure count */
   int fail;
 
@@ -82,8 +79,7 @@
   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 @@
   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 @@
   /* 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. */