| #define XEMPORTS 0xC02 | |
| #define XEPORTS 0xC22 | |
| #define MAX_ALLOC 0x100 | |
| #define MAXBOARDS 12 | |
| #define FEPCODESEG 0x0200L | |
| #define FEPCODE 0x2000L | |
| #define BIOSCODE 0xf800L | |
| #define MISCGLOBAL 0x0C00L | |
| #define NPORT 0x0C22L | |
| #define MBOX 0x0C40L | |
| #define PORTBASE 0x0C90L | |
| /* Begin code defines used for epca_setup */ | |
| #define INVALID_BOARD_TYPE 0x1 | |
| #define INVALID_NUM_PORTS 0x2 | |
| #define INVALID_MEM_BASE 0x4 | |
| #define INVALID_PORT_BASE 0x8 | |
| #define INVALID_BOARD_STATUS 0x10 | |
| #define INVALID_ALTPIN 0x20 | |
| /* End code defines used for epca_setup */ | |
| #define FEPCLR 0x00 | |
| #define FEPMEM 0x02 | |
| #define FEPRST 0x04 | |
| #define FEPINT 0x08 | |
| #define FEPMASK 0x0e | |
| #define FEPWIN 0x80 | |
| #define PCXE 0 | |
| #define PCXEVE 1 | |
| #define PCXEM 2 | |
| #define EISAXEM 3 | |
| #define PC64XE 4 | |
| #define PCXI 5 | |
| #define PCIXEM 7 | |
| #define PCICX 8 | |
| #define PCIXR 9 | |
| #define PCIXRJ 10 | |
| #define EPCA_NUM_TYPES 6 | |
| static char *board_desc[] = | |
| { | |
| "PC/Xe", | |
| "PC/Xeve", | |
| "PC/Xem", | |
| "EISA/Xem", | |
| "PC/64Xe", | |
| "PC/Xi", | |
| "unknown", | |
| "PCI/Xem", | |
| "PCI/CX", | |
| "PCI/Xr", | |
| "PCI/Xrj", | |
| }; | |
| #define STARTC 021 | |
| #define STOPC 023 | |
| #define IAIXON 0x2000 | |
| #define TXSTOPPED 0x1 | |
| #define LOWWAIT 0x2 | |
| #define EMPTYWAIT 0x4 | |
| #define RXSTOPPED 0x8 | |
| #define TXBUSY 0x10 | |
| #define DISABLED 0 | |
| #define ENABLED 1 | |
| #define OFF 0 | |
| #define ON 1 | |
| #define FEPTIMEOUT 200000 | |
| #define SERIAL_TYPE_NORMAL 1 | |
| #define SERIAL_TYPE_INFO 3 | |
| #define EPCA_EVENT_HANGUP 1 | |
| #define EPCA_MAGIC 0x5c6df104L | |
| struct channel | |
| { | |
| long magic; | |
| unchar boardnum; | |
| unchar channelnum; | |
| unchar omodem; /* FEP output modem status */ | |
| unchar imodem; /* FEP input modem status */ | |
| unchar modemfake; /* Modem values to be forced */ | |
| unchar modem; /* Force values */ | |
| unchar hflow; | |
| unchar dsr; | |
| unchar dcd; | |
| unchar m_rts ; /* The bits used in whatever FEP */ | |
| unchar m_dcd ; /* is indiginous to this board to */ | |
| unchar m_dsr ; /* represent each of the physical */ | |
| unchar m_cts ; /* handshake lines */ | |
| unchar m_ri ; | |
| unchar m_dtr ; | |
| unchar stopc; | |
| unchar startc; | |
| unchar stopca; | |
| unchar startca; | |
| unchar fepstopc; | |
| unchar fepstartc; | |
| unchar fepstopca; | |
| unchar fepstartca; | |
| unchar txwin; | |
| unchar rxwin; | |
| ushort fepiflag; | |
| ushort fepcflag; | |
| ushort fepoflag; | |
| ushort txbufhead; | |
| ushort txbufsize; | |
| ushort rxbufhead; | |
| ushort rxbufsize; | |
| int close_delay; | |
| int count; | |
| int blocked_open; | |
| ulong event; | |
| int asyncflags; | |
| uint dev; | |
| ulong statusflags; | |
| ulong c_iflag; | |
| ulong c_cflag; | |
| ulong c_lflag; | |
| ulong c_oflag; | |
| unchar *txptr; | |
| unchar *rxptr; | |
| unchar *tmp_buf; | |
| struct board_info *board; | |
| volatile struct board_chan *brdchan; | |
| struct digi_struct digiext; | |
| struct tty_struct *tty; | |
| wait_queue_head_t open_wait; | |
| wait_queue_head_t close_wait; | |
| struct work_struct tqueue; | |
| volatile struct global_data *mailbox; | |
| }; | |
| struct board_info | |
| { | |
| unchar status; | |
| unchar type; | |
| unchar altpin; | |
| ushort numports; | |
| unchar *port; | |
| unchar *membase; | |
| unchar __iomem *re_map_port; | |
| unchar *re_map_membase; | |
| ulong memory_seg; | |
| void ( * memwinon ) (struct board_info *, unsigned int) ; | |
| void ( * memwinoff ) (struct board_info *, unsigned int) ; | |
| void ( * globalwinon ) (struct channel *) ; | |
| void ( * txwinon ) (struct channel *) ; | |
| void ( * rxwinon ) (struct channel *) ; | |
| void ( * memoff ) (struct channel *) ; | |
| void ( * assertgwinon ) (struct channel *) ; | |
| void ( * assertmemoff ) (struct channel *) ; | |
| unchar poller_inhibited ; | |
| }; | |