1 #define FEPCODESEG 0x0200L 2 #define FEPCODE 0x2000L 3 #define BIOSCODE 0xf800L 4 5 #define MISCGLOBAL 0x0C00L 6 #define NPORT 0x0C22L 7 #define MBOX 0x0C40L 8 #define PORTBASE 0x0C90L 9 10 #define FEPCLR 0x00 11 #define FEPMEM 0x02 12 #define FEPRST 0x04 13 #define FEPINT 0x08 14 #define FEPMASK 0x0e 15 #define FEPWIN 0x80 16 17 /* Maximum Number of Boards supported */ 18 #define MAX_DIGI_BOARDS 4 19 20 #define PCXX_NUM_TYPES 4 21 22 #define PCXI 0 23 #define PCXE 1 24 #define PCXEVE 2 25 #define PCXEM 3 26 27 static char *board_desc[] = { 28 "PC/Xi", 29 "PC/Xe", 30 "PC/Xeve", 31 "PC/Xem", 32 }; 33 34 static char *board_mem[] = { 35 "64k", 36 "64k", 37 "8k", 38 "32k", 39 }; 40 #define STARTC 021 41 #define STOPC 023 42 #define IAIXON 0x2000 43 44 45 struct board_info { 46 unchar status; 47 unchar type; 48 unchar altpin; 49 ushort numports; 50 ushort port; 51 ulong membase; 52 ulong memsize; 53 ushort first_minor; 54 void *region; 55 }; 56 57 58 #define TXSTOPPED 0x01 59 #define LOWWAIT 0x02 60 #define EMPTYWAIT 0x04 61 #define RXSTOPPED 0x08 62 #define TXBUSY 0x10 63 64 #define DISABLED 0 65 #define ENABLED 1 66 #define OFF 0 67 #define ON 1 68 69 #define FEPTIMEOUT 200000 70 #define SERIAL_TYPE_NORMAL 1 71 #define SERIAL_TYPE_CALLOUT 2 72 #define PCXE_EVENT_HANGUP 1 73 #define PCXX_MAGIC 0x5c6df104L 74 75 struct channel { 76 /* --------- Board/channel information ---------- */ 77 long magic; 78 unchar boardnum; 79 unchar channelnum; 80 uint dev; 81 long session; 82 long pgrp; 83 struct tty_struct *tty; 84 struct board_info *board; 85 volatile struct board_chan *brdchan; 86 volatile struct global_data *mailbox; 87 int asyncflags; 88 int count; 89 int blocked_open; 90 int close_delay; 91 int event; 92 wait_queue_head_t open_wait; 93 wait_queue_head_t close_wait; 94 struct tq_struct tqueue; 95 /* ------------ Async control data ------------- */ 96 unchar modemfake; /* Modem values to be forced */ 97 unchar modem; /* Force values */ 98 ulong statusflags; 99 unchar omodem; /* FEP output modem status */ 100 unchar imodem; /* FEP input modem status */ 101 unchar hflow; 102 unchar dsr; 103 unchar dcd; 104 unchar stopc; 105 unchar startc; 106 unchar stopca; 107 unchar startca; 108 unchar fepstopc; 109 unchar fepstartc; 110 unchar fepstopca; 111 unchar fepstartca; 112 ushort fepiflag; 113 ushort fepcflag; 114 ushort fepoflag; 115 /* ---------- Transmit/receive system ---------- */ 116 unchar txwin; 117 unchar rxwin; 118 ushort txbufsize; 119 ushort rxbufsize; 120 unchar *txptr; 121 unchar *rxptr; 122 unchar *tmp_buf; /* Temp buffer */ 123 struct semaphore tmp_buf_sem; 124 /* ---- Termios data ---- */ 125 ulong c_iflag; 126 ulong c_cflag; 127 ulong c_lflag; 128 ulong c_oflag; 129 struct termios normal_termios; 130 struct termios callout_termios; 131 struct digi_struct digiext; 132 ulong dummy[8]; 133 }; 134