rpvar.h revision 28868
1/* 2 * Copyright (c) Comtrol Corporation <support@comtrol.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted prodived that the follwoing conditions 7 * are met. 8 * 1. Redistributions of source code must retain the above copyright 9 * notive, this list of conditions and the following disclainer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials prodided with the distribution. 13 * 3. All advertising materials mentioning features or use of this software 14 * must display the following acknowledgement: 15 * This product includes software developed by Comtrol Corporation. 16 * 4. The name of Comtrol Corporation may not be used to endorse or 17 * promote products derived from this software without specific 18 * prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY COMTROL CORPORATION ``AS IS'' AND ANY 21 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 * ARE DISCLAIMED. IN NO EVENT SHALL COMTROL CORPORATION BE LIABLE FOR 24 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 */ 32 33/* 34 * rpvar.h --- RocketPort data structure includes for FreeBSD 35 */ 36 37#define RP_UNIT(x) dv_unit(x) 38#define RP_PORT(x) (minor(x) & 0x3f) 39#define MAX_RP_PORTS 128 40 41 42struct rp_port { 43 struct tty * rp_tty; /* cross reference */ 44 45/* Initial state */ 46 struct termios it_in; 47 struct termios it_out; 48 49/* Lock state */ 50 struct termios lt_in; 51 struct termios lt_out; 52 53/* Nonzero if callout device is open */ 54 unsigned char active_out; 55 unsigned char state; /* state of dtr */ 56 57/* Time to hold DTR down on close */ 58 int dtr_wait; 59 int wopeners; /* processes waiting for DCD */ 60 61 int rp_port; 62 int rp_flags; 63 int rp_unit:2; 64 int rp_aiop:2; 65 int rp_chan:3; 66 int rp_intmask; 67 int rp_imask; /* Input mask */ 68 int rp_fifo_lw; 69 int rp_restart; 70 int rp_overflows; 71 int rp_rts_iflow:1; 72 int rp_disable_writes:1; 73 int rp_cts:1; 74 int rp_waiting:1; 75 int rp_xmit_stopped:1; 76 CONTROLLER_t * rp_ctlp; 77 CHANNEL_t rp_channel; 78}; 79 80struct termios deftermios = { 81 TTYDEF_IFLAG, 82 TTYDEF_OFLAG, 83 TTYDEF_CFLAG, 84 TTYDEF_LFLAG, 85 { CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, 86 _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, 87 CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE }, 88 TTYDEF_SPEED, 89 TTYDEF_SPEED 90}; 91