/* Copyright 1984 by the Massachusetts Institute of Technology */


/* Per site static data. This includes hand initialized network
 * interface tables. By default, this also allocates the whole table.
 * Also, node name and various other stuff.
 */

/*
 *------------------------------------------------------------------
 *
 * $Source: /afs/net.mit.edu/project/cgw/conf/fmgc/RCS/fmgc.c,v $
 * $Revision: 1.7 $
 * $Date: 90/12/07 17:46:37 $
 * $State: Exp $
 * $Author: jon $
 * $Locker:  $
 *
 * $Log:	fmgc.c,v $
 * Revision 1.7  90/12/07  17:46:37  jon
 * static nip gateway
 * 
 * Revision 1.6  90/09/29  20:48:31  jon
 * *** empty log message ***
 * 
 * Revision 1.5  90/09/29  20:38:14  jon
 * cisco testing stuff
 * 
 * Revision 1.4  88/08/29  22:51:39  jon
 * Add another interface for net 44 slip.
 * 
 * Revision 1.3  88/06/07  15:22:05  jon
 * Add third interface (slip to Apollo)
 * 
 * Revision 1.2  88/05/31  22:13:25  jon
 * Use include file to get default flag values.
 * 
 *------------------------------------------------------------------
 */

#ifndef lint
static char *rcsid_fmgc_c = "$Header: /afs/net.mit.edu/project/cgw/conf/fmgc/RCS/fmgc.c,v 1.7 90/12/07 17:46:37 jon Exp $";
#endif	lint

#include	<types.h>
#include	<sys.h>
#include	<gw/src/const.h>
#include	<gw/src/param.h>
#include	<gw/src/defs.h>
#include	<gw/src/net.h>

#include	"netcnf.h"

#include	<gw/nets/vii.h>
#include	<gw/nets/ether.h>
#include        <gw/nets/slip.h>

/* Node name and type */

char	name[]	= "fmgc";
int	mach_type = M_uVAX2;

#define DEFINED_REDIRECT_FLAG

#define DEFINED_NIP_GATEWAY
int use_static_nip_gateway = TRUE;
byte static_nip_gateway_address[4] = {18, 71, 0, 1};

#ifndef FALSE
#define FALSE 0
#endif
int ip_send_redirects = FALSE;
#include "default_flag_values.h"

/* Actual network configuration table */

ext	vii_prinit(), vii_in();
ext word	vii_out();
ext	e10_prinit(), e10_in();
ext word	e10_out();
ext	slip_prinit(), slip_in();
ext word slip_out();

ext dct viidct[], qnadct[], dhidct[], dhodct[];

net	nets[NNETS] =	/* Make it explicit to prevent errors */
{ { NULL, vii_prinit, vii_out, NULL, vii_in, NULL, NULL, /* VII Ring Net */
    4, 4, 3, 0, VIIMAX, sizeof(struct viipkt), 0,
    viidct, &viidct[0], &viidct[1], T_VII, C_BRD },

  { NULL, e10_prinit, e10_out, NULL, e10_in, NULL, NULL, /* 10Mbit Ethernet */
    10, 4, 0, 0, EMAX, sizeof(e10pkt) + 4, 0,
    qnadct, &qnadct[0], &qnadct[1], T_E10, C_BRD },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[0], &dhodct[0], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[1], &dhodct[1], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[2], &dhodct[2], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[3], &dhodct[3], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[4], &dhodct[4], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[5], &dhodct[5], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[6], &dhodct[6], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[7], &dhodct[7], T_SLIP, 0 },
};


/* Various per site externals that can be set at compile time.
 * Do not touch anything here!
 */

unsw	nnets = NNETS;			/* Number of networks */
net	*lstnet	= &nets[NNETS];		/* Pointer after last net */
