/*	@(#)xvc.h	13.1 (RC International) 91/02/02	*/

/*
 * This file contains the constants and structures used with the XVCPI
 */

/*
 * Constants:
 */

/* Signals: */

#define		SIGBAND		SIGURG  /* SIGBAND is mapped on to SIGURG */

/* Types of events: */

#define		EVXVCNOEVT	0	/* No event */
#define		EVXVCCLEAR	1	/* Incomming stream clear */
#define		EVXVCRESET	2	/* Incomming stream reset */
#define		EVXVCINTDT	4	/* Incomming interrupt packet */
#define		EVXVCINTCF	8	/* Interrupt packet transmitted */

/* States: */

#define 	STXVC_UNBOUND		0
#define		STXVC_CONNECTED 	1
#define		STXVC_RESETTING 	2
#define		STXVC_DISCONNECTED	3



/*
 * Structures:
 */

struct xvc_getsvc {			/* Used in ioctl XIOGETSVC */

        u_char		path [16];	/* The path name (NULL terminatet) */
};

struct xvc_call {			/* Used in ioctl's XIOINCALL, XIOCALL
                                           and XIOACCEPT */

	u_char		cause;		/* X25 cause field if refused*/
	u_char		diagnostic;	/* X25 diagnostic field if refused*/
	u_char		calledlgt;	/* Length of called, max 14 */
	u_char		called [14];	/* Address of called DTE */
	u_char		callinglgt;     /* Length of calling, max 14 */
	u_char		calling [14];	/* Address of calling DTE */
	u_char		faclgt;		/* Length of fac, max 109 */
	u_char		fac [109];	/* Facilities */
	u_char		cudlgt;		/* Length of cud, max 16 */
	u_char		cud [16];	/* Call user data */
};

struct xvc_event {			/* Used in ioctl's XIOCLEAR, XIOEVENT,
					   XIOINTRPT and XIORESET */

	u_char		event;		/* The type of event */
	u_char		cause;		/* X25 cause field */
	u_char		diagnostic;	/* X25 diagnostic field */
	u_char		faclgt;		/* Length of fac, max 109 */
	u_char		fac [109];	/* Facilities */
	u_char		datalgt;	/* Length of data, max 32 */
	u_char		data [32];	/* Interrupt user data */
};

struct xvc_status {			/* Used in ioctr XIOSTAT */

	u_char		state;		/* The state of the file */
	u_char		name [9];	/* The name of the XDAE */
};

	


