#ident "$Id: fr.h,v 1.4 1997/09/23 16:38:10 gary Exp $"
/*****************************************************************************
 * Copyright (c) 1988-95 Digi International Inc., All Rights Reserved
 * 
 * This  software  contains  proprietary  and  confidential   information   of
 * Digi International  Inc.   By  accepting  transfer  of this copy, Recipient
 * agrees to retain this software in  confidence,  to  prevent  disclosure  to
 * others,  and  to make no  use of this software other than that for which it
 * was delivered.  This is an unpublished copyright work  Digi   International
 * Inc.    Except   as   permitted   by  federal  law,  17 USC 117, copying is
 * strictly prohibited.
 * 
 * Digi  International  Inc.  CONFIDENTIAL  -   (Digi    International    Inc.
 * Confidential  when   combined   with   the   aggregated  modules  for  this
 * product) OBJECT CODE ONLY SOURCE MATERIALS
 * 
 * (C) COPYRIGHT Digi International Inc. 1995
 * 
 * All Rights Reserved
 * 
 * US   Government   Users   Restricted   Rights   -   Use,   duplication   or
 * disclosure  restricted by GSA ADP Schedule Contract with Digi International
 * Inc.
 * 
 *****************************************************************************/

#include "frs.h"

/* Frame Relay slot counts */

#define NDEVS		     FRS_MAX_CHANNELS + 4  /* Total number of clone slots		    */
#define NWANS		     FRS_MAX_LINKS  /* Number of WAN devices supported          */

#define	NLCBS			NWANS			
#define	NCCBS			FRS_MAX_CHANNELS 
#define	NLMICCBS 		NLCBS	
#define	NFRS_PROTOCOL_ENTRYS 	(NCCBS*4)
#define	NMULTIPROTOCOLS	     	NCCBS
#define	NEVENTS		     	100
#define NFRTIMERS		((NCCBS*4)+(NLCBS*2)+NLMICCBS+2)

#define	SIG_VARIABLE		17 /* A prime number for Device Signatures */
#define	MSG_TIME_TO_LIVE	100 /* Let it live 100 milliseconds */ 


/* fr device structure */
typedef struct frlink {
    queue_t    *downq;
    queue_t    *upq;
    u_long		index ;
    int		connected ;	
    u_long	snid ;
    int		state ;
    int		upstatus ;
    int		upcmd ;
#ifndef NO_WAN_CONTROL
    uint8	WAN_state;
    uint8	WAN_remsize;
    uint8	WAN_remaddr[12];
#endif
    uint8	trace_active;
    queue_t    *trace_queue;
    LCB		*pLCB ;
} fr_t;

typedef struct frdev {
	int	signature ;
} frdev_t ;

typedef struct fr_upward_msg {
	queue_t	*queue ;
	int	signature ;
	uint32	time_future ;
} FR_UPWARD_MSG_t ;
