/*
 * This is the include file for the interface
 * routines for the transceiver piggy-back VMOD-TRX.
 *
 * Written:  J.M. Belleman                      11-12-1995
 */

typedef struct {
    unsigned short data,
	stat;
    }trx;

trx *trx_open(int n);            /* Open TRX piggy-back, logical unit n */
void putd(trx *tp, int n, unsigned short *data);   /* Send an array */
int getd(trx *tp, unsigned short *data);           /* Receive and array */

void trx_putw(trx *tp, int d);                     /* Send a word */
int trx_getw(trx *tp, int *d);                     /* Receive a word */
int getstat(trx *tp);                              /* Read from status reg */
void putstat(trx *tp, int s);                      /* Write to status reg */

/*
 * Status register bit allocations
 */
#define RXIE         1  /* Rx interrupt enable */
#define TXIE         2  /* Tx interrupt enable */
#define RXB          4  /* Receiver busy */
#define TXB          8  /* Transmitter busy */
#define RXFE        16  /* Rx FIFO empty */
#define TXFE        32  /* Tx FIFO empty */
#define RXFF        64  /* Rx FIFO full */
#define TXFF       128  /* Tx FIFO full */
#define RXERR      256  /* Parity error */
#define RR         512  /* Receiver ready */
#define TR        1024  /* Transmitter ready */
#define CARRIER   2048  /* Carrier */
#define RXFC      4096  /* Rx FIFO clear */
#define TXFC      8192  /* Tx FIFO clear */
#define LOOPBACK 16384  /* Loopback mode */
#define RESET    32768  /* Master reset */