|
@@ -16,25 +16,6 @@
|
|
|
#ifndef __DIGI_H
|
|
|
#define __DIGI_H
|
|
|
|
|
|
-/************************************************************************
|
|
|
- *** Definitions for Digi ditty(1) command.
|
|
|
- ************************************************************************/
|
|
|
-
|
|
|
-
|
|
|
-/*
|
|
|
- * Copyright (c) 1988-96 Digi International Inc., All Rights Reserved.
|
|
|
- */
|
|
|
-
|
|
|
-/************************************************************************
|
|
|
- * This module provides application access to special Digi
|
|
|
- * serial line enhancements which are not standard UNIX(tm) features.
|
|
|
- ************************************************************************/
|
|
|
-
|
|
|
-#if !defined(TIOCMODG)
|
|
|
-
|
|
|
-#define TIOCMODG (('d'<<8) | 250) /* get modem ctrl state */
|
|
|
-#define TIOCMODS (('d'<<8) | 251) /* set modem ctrl state */
|
|
|
-
|
|
|
#ifndef TIOCM_LE
|
|
|
#define TIOCM_LE 0x01 /* line enable */
|
|
|
#define TIOCM_DTR 0x02 /* data terminal ready */
|
|
@@ -49,8 +30,6 @@
|
|
|
#define TIOCM_CD TIOCM_CAR /* carrier detect (alt) */
|
|
|
#endif
|
|
|
|
|
|
-#endif
|
|
|
-
|
|
|
#if !defined(TIOCMSET)
|
|
|
#define TIOCMSET (('d'<<8) | 252) /* set modem ctrl state */
|
|
|
#define TIOCMGET (('d'<<8) | 253) /* set modem ctrl state */
|
|
@@ -61,83 +40,19 @@
|
|
|
#define TIOCMBIS (('d'<<8) | 255) /* set modem ctrl state */
|
|
|
#endif
|
|
|
|
|
|
-
|
|
|
-#if !defined(TIOCSDTR)
|
|
|
-#define TIOCSDTR (('e'<<8) | 0) /* set DTR */
|
|
|
-#define TIOCCDTR (('e'<<8) | 1) /* clear DTR */
|
|
|
-#endif
|
|
|
-
|
|
|
-/************************************************************************
|
|
|
- * Ioctl command arguments for DIGI parameters.
|
|
|
- ************************************************************************/
|
|
|
#define DIGI_GETA (('e'<<8) | 94) /* Read params */
|
|
|
-
|
|
|
#define DIGI_SETA (('e'<<8) | 95) /* Set params */
|
|
|
#define DIGI_SETAW (('e'<<8) | 96) /* Drain & set params */
|
|
|
#define DIGI_SETAF (('e'<<8) | 97) /* Drain, flush & set params */
|
|
|
-
|
|
|
-#define DIGI_KME (('e'<<8) | 98) /* Read/Write Host */
|
|
|
- /* Adapter Memory */
|
|
|
-
|
|
|
-#define DIGI_GETFLOW (('e'<<8) | 99) /* Get startc/stopc flow */
|
|
|
- /* control characters */
|
|
|
-#define DIGI_SETFLOW (('e'<<8) | 100) /* Set startc/stopc flow */
|
|
|
- /* control characters */
|
|
|
-#define DIGI_GETAFLOW (('e'<<8) | 101) /* Get Aux. startc/stopc */
|
|
|
- /* flow control chars */
|
|
|
-#define DIGI_SETAFLOW (('e'<<8) | 102) /* Set Aux. startc/stopc */
|
|
|
- /* flow control chars */
|
|
|
-
|
|
|
-#define DIGI_GEDELAY (('d'<<8) | 246) /* Get edelay */
|
|
|
-#define DIGI_SEDELAY (('d'<<8) | 247) /* Set edelay */
|
|
|
-
|
|
|
-struct digiflow_t {
|
|
|
- unsigned char startc; /* flow cntl start char */
|
|
|
- unsigned char stopc; /* flow cntl stop char */
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
-#ifdef FLOW_2200
|
|
|
-#define F2200_GETA (('e'<<8) | 104) /* Get 2x36 flow cntl flags */
|
|
|
-#define F2200_SETAW (('e'<<8) | 105) /* Set 2x36 flow cntl flags */
|
|
|
-#define F2200_MASK 0x03 /* 2200 flow cntl bit mask */
|
|
|
-#define FCNTL_2200 0x01 /* 2x36 terminal flow cntl */
|
|
|
-#define PCNTL_2200 0x02 /* 2x36 printer flow cntl */
|
|
|
-#define F2200_XON 0xf8
|
|
|
-#define P2200_XON 0xf9
|
|
|
-#define F2200_XOFF 0xfa
|
|
|
-#define P2200_XOFF 0xfb
|
|
|
-
|
|
|
-#define FXOFF_MASK 0x03 /* 2200 flow status mask */
|
|
|
-#define RCVD_FXOFF 0x01 /* 2x36 Terminal XOFF rcvd */
|
|
|
-#define RCVD_PXOFF 0x02 /* 2x36 Printer XOFF rcvd */
|
|
|
-#endif
|
|
|
-
|
|
|
-/************************************************************************
|
|
|
- * Values for digi_flags
|
|
|
- ************************************************************************/
|
|
|
-#define DIGI_IXON 0x0001 /* Handle IXON in the FEP */
|
|
|
#define DIGI_FAST 0x0002 /* Fast baud rates */
|
|
|
#define RTSPACE 0x0004 /* RTS input flow control */
|
|
|
#define CTSPACE 0x0008 /* CTS output flow control */
|
|
|
-#define DSRPACE 0x0010 /* DSR output flow control */
|
|
|
-#define DCDPACE 0x0020 /* DCD output flow control */
|
|
|
-#define DTRPACE 0x0040 /* DTR input flow control */
|
|
|
#define DIGI_COOK 0x0080 /* Cooked processing done in FEP */
|
|
|
#define DIGI_FORCEDCD 0x0100 /* Force carrier */
|
|
|
#define DIGI_ALTPIN 0x0200 /* Alternate RJ-45 pin config */
|
|
|
-#define DIGI_AIXON 0x0400 /* Aux flow control in fep */
|
|
|
#define DIGI_PRINTER 0x0800 /* Hold port open for flow cntrl*/
|
|
|
-#define DIGI_PP_INPUT 0x1000 /* Change parallel port to input*/
|
|
|
#define DIGI_DTR_TOGGLE 0x2000 /* Support DTR Toggle */
|
|
|
-#define DIGI_422 0x4000 /* for 422/232 selectable panel */
|
|
|
#define DIGI_RTS_TOGGLE 0x8000 /* Support RTS Toggle */
|
|
|
-
|
|
|
-/************************************************************************
|
|
|
- * These options are not supported on the comxi.
|
|
|
- ************************************************************************/
|
|
|
-#define DIGI_COMXI (DIGI_FAST|DIGI_COOK|DSRPACE|DCDPACE|DTRPACE)
|
|
|
-
|
|
|
#define DIGI_PLEN 28 /* String length */
|
|
|
#define DIGI_TSIZ 10 /* Terminal string len */
|
|
|
|
|
@@ -156,76 +71,6 @@ struct digi_t {
|
|
|
char digi_term[DIGI_TSIZ]; /* terminal string */
|
|
|
};
|
|
|
|
|
|
-/************************************************************************
|
|
|
- * KME definitions and structures.
|
|
|
- ************************************************************************/
|
|
|
-#define RW_IDLE 0 /* Operation complete */
|
|
|
-#define RW_READ 1 /* Read Concentrator Memory */
|
|
|
-#define RW_WRITE 2 /* Write Concentrator Memory */
|
|
|
-
|
|
|
-struct rw_t {
|
|
|
- unsigned char rw_req; /* Request type */
|
|
|
- unsigned char rw_board; /* Host Adapter board number */
|
|
|
- unsigned char rw_conc; /* Concentrator number */
|
|
|
- unsigned char rw_reserved; /* Reserved for expansion */
|
|
|
- unsigned int rw_addr; /* Address in concentrator */
|
|
|
- unsigned short rw_size; /* Read/write request length */
|
|
|
- unsigned char rw_data[128]; /* Data to read/write */
|
|
|
-};
|
|
|
-
|
|
|
-/***********************************************************************
|
|
|
- * Shrink Buffer and Board Information definitions and structures.
|
|
|
-
|
|
|
- ************************************************************************/
|
|
|
- /* Board type return codes */
|
|
|
-#define PCXI_TYPE 1 /* Board type at the designated port is a PC/Xi */
|
|
|
-#define PCXM_TYPE 2 /* Board type at the designated port is a PC/Xm */
|
|
|
-#define PCXE_TYPE 3 /* Board type at the designated port is a PC/Xe */
|
|
|
-#define MCXI_TYPE 4 /* Board type at the designated port is a MC/Xi */
|
|
|
-#define COMXI_TYPE 5 /* Board type at the designated port is a COM/Xi */
|
|
|
-
|
|
|
- /* Non-Zero Result codes. */
|
|
|
-#define RESULT_NOBDFND 1 /* A Digi product at that port is not config installed */
|
|
|
-#define RESULT_NODESCT 2 /* A memory descriptor was not obtainable */
|
|
|
-#define RESULT_NOOSSIG 3 /* FEP/OS signature was not detected on the board */
|
|
|
-#define RESULT_TOOSML 4 /* Too small an area to shrink. */
|
|
|
-#define RESULT_NOCHAN 5 /* Channel structure for the board was not found */
|
|
|
-
|
|
|
-struct shrink_buf_struct {
|
|
|
- unsigned int shrink_buf_vaddr; /* Virtual address of board */
|
|
|
- unsigned int shrink_buf_phys; /* Physical address of board */
|
|
|
- unsigned int shrink_buf_bseg; /* Amount of board memory */
|
|
|
- unsigned int shrink_buf_hseg; /* '186 Beginning of Dual-Port */
|
|
|
-
|
|
|
- unsigned int shrink_buf_lseg; /* '186 Beginning of freed memory */
|
|
|
- unsigned int shrink_buf_mseg; /* Linear address from start of
|
|
|
- dual-port were freed memory
|
|
|
- begins, host viewpoint. */
|
|
|
-
|
|
|
- unsigned int shrink_buf_bdparam; /* Parameter for xxmemon and
|
|
|
- xxmemoff */
|
|
|
-
|
|
|
- unsigned int shrink_buf_reserva; /* Reserved */
|
|
|
- unsigned int shrink_buf_reservb; /* Reserved */
|
|
|
- unsigned int shrink_buf_reservc; /* Reserved */
|
|
|
- unsigned int shrink_buf_reservd; /* Reserved */
|
|
|
-
|
|
|
- unsigned char shrink_buf_result; /* Reason for call failing
|
|
|
- Zero is Good return */
|
|
|
- unsigned char shrink_buf_init; /* Non-Zero if it caused an
|
|
|
- xxinit call. */
|
|
|
-
|
|
|
- unsigned char shrink_buf_anports; /* Number of async ports */
|
|
|
- unsigned char shrink_buf_snports; /* Number of sync ports */
|
|
|
- unsigned char shrink_buf_type; /* Board type 1 = PC/Xi,
|
|
|
- 2 = PC/Xm,
|
|
|
- 3 = PC/Xe
|
|
|
- 4 = MC/Xi
|
|
|
- 5 = COMX/i */
|
|
|
- unsigned char shrink_buf_card; /* Card number */
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
/************************************************************************
|
|
|
* Structure to get driver status information
|
|
|
************************************************************************/
|
|
@@ -257,52 +102,6 @@ struct digi_info {
|
|
|
|
|
|
#define DIGI_GETBD (('d'<<8) | 249) /* get board info */
|
|
|
|
|
|
-struct digi_stat {
|
|
|
- unsigned int info_chan; /* Channel number (0 based) */
|
|
|
- unsigned int info_brd; /* Board number (0 based) */
|
|
|
- unsigned int info_cflag; /* cflag for channel */
|
|
|
- unsigned int info_iflag; /* iflag for channel */
|
|
|
- unsigned int info_oflag; /* oflag for channel */
|
|
|
- unsigned int info_mstat; /* mstat for channel */
|
|
|
- unsigned int info_tx_data; /* tx_data for channel */
|
|
|
- unsigned int info_rx_data; /* rx_data for channel */
|
|
|
- unsigned int info_hflow; /* hflow for channel */
|
|
|
- unsigned int info_reserved[8]; /* for future expansion */
|
|
|
-};
|
|
|
-
|
|
|
-#define DIGI_GETSTAT (('d'<<8) | 244) /* get board info */
|
|
|
-/************************************************************************
|
|
|
- *
|
|
|
- * Structure used with ioctl commands for per-channel information
|
|
|
- *
|
|
|
- ************************************************************************/
|
|
|
-struct digi_ch {
|
|
|
- unsigned int info_bdnum; /* Board number (0 based) */
|
|
|
- unsigned int info_channel; /* Channel index number */
|
|
|
- unsigned int info_ch_cflag; /* Channel cflag */
|
|
|
- unsigned int info_ch_iflag; /* Channel iflag */
|
|
|
- unsigned int info_ch_oflag; /* Channel oflag */
|
|
|
- unsigned int info_chsize; /* Channel structure size */
|
|
|
- unsigned int info_sleep_stat; /* sleep status */
|
|
|
- dev_t info_dev; /* device number */
|
|
|
- unsigned char info_initstate; /* Channel init state */
|
|
|
- unsigned char info_running; /* Channel running state */
|
|
|
- int reserved[8]; /* reserved for future use */
|
|
|
-};
|
|
|
-
|
|
|
-/*
|
|
|
-* This structure is used with the DIGI_FEPCMD ioctl to
|
|
|
-* tell the driver which port to send the command for.
|
|
|
-*/
|
|
|
-struct digi_cmd {
|
|
|
- int cmd;
|
|
|
- int word;
|
|
|
- int ncmds;
|
|
|
- int chan; /* channel index (zero based) */
|
|
|
- int bdid; /* board index (zero based) */
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
struct digi_getbuffer /* Struct for holding buffer use counts */
|
|
|
{
|
|
|
unsigned long tIn;
|
|
@@ -322,63 +121,9 @@ struct digi_getcounter {
|
|
|
unsigned long tbytes; /* number of bytes transmitted fully */
|
|
|
};
|
|
|
|
|
|
-/*
|
|
|
-* info_sleep_stat defines
|
|
|
-*/
|
|
|
-#define INFO_RUNWAIT 0x0001
|
|
|
-#define INFO_WOPEN 0x0002
|
|
|
-#define INFO_TTIOW 0x0004
|
|
|
-#define INFO_CH_RWAIT 0x0008
|
|
|
-#define INFO_CH_WEMPTY 0x0010
|
|
|
-#define INFO_CH_WLOW 0x0020
|
|
|
-#define INFO_XXBUF_BUSY 0x0040
|
|
|
-
|
|
|
-#define DIGI_GETCH (('d'<<8) | 245) /* get board info */
|
|
|
-
|
|
|
-/* Board type definitions */
|
|
|
-
|
|
|
-#define SUBTYPE 0007
|
|
|
-#define T_PCXI 0000
|
|
|
-#define T_PCXM 0001
|
|
|
-#define T_PCXE 0002
|
|
|
-#define T_PCXR 0003
|
|
|
-#define T_SP 0004
|
|
|
-#define T_SP_PLUS 0005
|
|
|
-# define T_HERC 0000
|
|
|
-# define T_HOU 0001
|
|
|
-# define T_LON 0002
|
|
|
-# define T_CHA 0003
|
|
|
-#define FAMILY 0070
|
|
|
-#define T_COMXI 0000
|
|
|
-#define T_PCXX 0010
|
|
|
-#define T_CX 0020
|
|
|
-#define T_EPC 0030
|
|
|
-#define T_PCLITE 0040
|
|
|
-#define T_SPXX 0050
|
|
|
-#define T_AVXX 0060
|
|
|
-#define T_DXB 0070
|
|
|
-#define T_A2K_4_8 0070
|
|
|
-#define BUSTYPE 0700
|
|
|
-#define T_ISABUS 0000
|
|
|
-#define T_MCBUS 0100
|
|
|
-#define T_EISABUS 0200
|
|
|
-#define T_PCIBUS 0400
|
|
|
-
|
|
|
/* Board State Definitions */
|
|
|
-
|
|
|
#define BD_RUNNING 0x0
|
|
|
-#define BD_REASON 0x7f
|
|
|
-#define BD_NOTFOUND 0x1
|
|
|
-#define BD_NOIOPORT 0x2
|
|
|
-#define BD_NOMEM 0x3
|
|
|
-#define BD_NOBIOS 0x4
|
|
|
#define BD_NOFEP 0x5
|
|
|
-#define BD_FAILED 0x6
|
|
|
-#define BD_ALLOCATED 0x7
|
|
|
-#define BD_TRIBOOT 0x8
|
|
|
-#define BD_BADKME 0x80
|
|
|
-
|
|
|
-#define DIGI_SPOLL (('d'<<8) | 254) /* change poller rate */
|
|
|
|
|
|
#define DIGI_SETCUSTOMBAUD _IOW('e', 106, int) /* Set integer baud rate */
|
|
|
#define DIGI_GETCUSTOMBAUD _IOR('e', 107, int) /* Get integer baud rate */
|
|
@@ -390,20 +135,8 @@ struct digi_getcounter {
|
|
|
|
|
|
#define EV_OPU 0x0001 /* !<Output paused by client */
|
|
|
#define EV_OPS 0x0002 /* !<Output paused by reqular sw flowctrl */
|
|
|
-#define EV_OPX 0x0004 /* !<Output paused by extra sw flowctrl */
|
|
|
-#define EV_OPH 0x0008 /* !<Output paused by hw flowctrl */
|
|
|
-#define EV_OPT 0x0800 /* !<Output paused for RTS Toggle predelay */
|
|
|
-
|
|
|
#define EV_IPU 0x0010 /* !<Input paused unconditionally by user */
|
|
|
#define EV_IPS 0x0020 /* !<Input paused by high/low water marks */
|
|
|
-#define EV_IPA 0x0400 /* !<Input paused by pattern alarm module */
|
|
|
-
|
|
|
#define EV_TXB 0x0040 /* !<Transmit break pending */
|
|
|
-#define EV_TXI 0x0080 /* !<Transmit immediate pending */
|
|
|
-#define EV_TXF 0x0100 /* !<Transmit flowctrl char pending */
|
|
|
-#define EV_RXB 0x0200 /* !<Break received */
|
|
|
-
|
|
|
-#define EV_OPALL 0x080f /* !<Output pause flags */
|
|
|
-#define EV_IPALL 0x0430 /* !<Input pause flags */
|
|
|
|
|
|
#endif /* DIGI_H */
|