
/* Copyright 1984 by the Massachusetts Institute of Technology */
/* See permission and disclaimer notice in file notice.h */
#include	"notice.h"

/* CHAOS external declarations. The second section is all initialized
 * at startup.
 */

ext	chia	chiatbl[];		/* CHAOS interface address table */
ext	chia	*chiatlst[];		/* Per network CHAOS addr tbls */
ext	unsb	nchaddr;		/* Number of CHAOS net addresses */
ext	chfre	chfretbl[];		/* CHAOS fixed route table */
ext	unsb	nchfre;			/* Number of CHAOS net fixed routes */

ext	iorbq	chq;		/* Chaos input packet queue */
ext	iorbq	chlpq;		/* Chaos local packet queue */

/* Routing tables. These are separate tables so that they
 * may be accessed more efficiently. The way these work is that
 * they are indexed by subnet. The interface table returns
 * the interface over which packets to this net can be sent,
 * and the associated type table tells whether or not the
 * connection is direct or through a gateway; if so, we get
 * the address of the gateway from the gateway address tables.
 * The assocated gateway table is used for entries that
 * are updated dynamically by the routing info received from the
 * net; see the CHAOS routing algorithm description.
 */

ext	net	*chitab[];		/* Network interface lists */
ext	unsb	chttab[];		/* Interface type tables */
ext	chaddr	chgatab[];		/* Gateway table for nets */
ext	unss	chgctab[];		/* Cost tables */
