/*
 *------------------------------------------------------------------
 *
 * $Source: $
 * $Revision: 1.1 $
 * $Date: 87/06/24 14:09:52 $
 * $State: Exp $
 * $Author: jon $
 * $Locker: jon $
 *
 * $Log:	rvd.c,v $
 * 
 *------------------------------------------------------------------
 */

#ifndef lint
static char *rcsid_requests_c = "$Header: infwd.c,v 1.3 87/06/24 14:11:49 jon Exp $";
#endif	lint

#include "ss.h"
#include "gadmin.h"
#include "gw/in/gw_control.h"

extern gadmin_invocation_info *gii;  /* ugh */

reboot_gw (argc, argv, sci_idx)
     int argc;
     char **argv; 
     int sci_idx;
{
  static char usage[] = "reboot[gateway]";
  if (argc != 1) 
    {
      ss_perror (sci_idx, 0, usage);
      return;
    }
    do_request (gii, gii->default_gateway, gii->default_gateway_addr,
		REBOOT, TRUE, NULL, 0);
}

restart_gw (argc, argv, sci_idx)
     int argc;
     char **argv;
  int sci_idx;
{
  static char usage[] = "restart [gateway]";
  if (argc != 1) 
    {
      ss_perror (sci_idx, 0, usage); 
      return;
    }
    do_request (gii, gii->default_gateway, gii->default_gateway_addr,
		RESTART, TRUE, NULL, 0);
  
}

hose_gw (argc, argv, sci_idx)
     int argc;
     char **argv; 
     int sci_idx;
{
  static char usage[] = "hose [buffer]";
  char *buffer = NULL;
  int len;
  int extern errno;

  if (argc > 2) 
    {
      ss_perror (sci_idx, 0, usage);
      return;
    }
  if (argc == 2) 
    len = atoi (argv[1]);
  else 
    len = 1024;
  if (len > 64000) len = 1024;
  buffer = (char *) malloc (len);
  if (buffer == NULL) ss_perror (sci_idx, errno, "While malloc'ing packet.");
  bzero (buffer, len);
    do_request (gii, gii->default_gateway, gii->default_gateway_addr,
		REBOOT, FALSE, buffer, len);
  free (buffer);
}

dump_routes (argc, argv, sci_idx)
     int argc;
     char **argv;
     int sci_idx;
{
  static char usage[] = "dump_routes [gateway]";
  if (argc == 1) 
    {
      ss_perror (sci_idx, 0, usage);
      return;
    }
}

change_route (argc, argv, sci_idx)
     int argc;
     char **argv;
     int sci_idx;
{
  static char usage[] = "restart_gw [gateway]";
  if (argc == 1) 
    {
      ss_perror (sci_idx, 0, usage);
      return;
    }
}

status ()
{
  char *host_string ();

  printf ("gadmin version %s.\n", gii->version);
  if (gii->default_gateway)
    printf ("Using gateway %s.\n", 
	    host_string (gii->default_gateway, gii->default_gateway_addr));
}

