linux/drivers/staging/dgnc/dpacompat.h
<<
>>
Prefs
   1/*
   2 * Copyright 2003 Digi International (www.digi.com)
   3 *      Scott H Kilau <Scott_Kilau at digi dot com>
   4 *
   5 * This program is free software; you can redistribute it and/or modify
   6 * it under the terms of the GNU General Public License as published by
   7 * the Free Software Foundation; either version 2, or (at your option)
   8 * any later version.
   9 *
  10 * This program is distributed in the hope that it will be useful,
  11 * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; without even the
  12 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  13 * PURPOSE.  See the GNU General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18 *
  19 *      NOTE: THIS IS A SHARED HEADER. DO NOT CHANGE CODING STYLE!!!
  20 */
  21
  22
  23/*
  24 * This structure holds data needed for the intelligent <--> nonintelligent
  25 * DPA translation
  26 */
  27struct ni_info {
  28        int board;
  29        int channel;
  30        int dtr;
  31        int rts;
  32        int cts;
  33        int dsr;
  34        int ri;
  35        int dcd;
  36        int curtx;
  37        int currx;
  38        unsigned short iflag;
  39        unsigned short oflag;
  40        unsigned short cflag;
  41        unsigned short lflag;
  42
  43        unsigned int mstat;
  44        unsigned char hflow;
  45
  46        unsigned char xmit_stopped;
  47        unsigned char recv_stopped;
  48
  49        unsigned int baud;
  50};
  51
  52#define RW_READ         1
  53#define RW_WRITE        2
  54#define DIGI_KME        (('e'<<8) | 98)         /* Read/Write Host */
  55
  56#define SUBTYPE         0007
  57#define T_PCXI          0000
  58#define T_PCXEM         0001
  59#define T_PCXE          0002
  60#define T_PCXR          0003
  61#define T_SP            0004
  62#define T_SP_PLUS       0005
  63
  64#define T_HERC   0000
  65#define T_HOU    0001
  66#define T_LON    0002
  67#define T_CHA    0003
  68
  69#define T_NEO    0000
  70#define T_NEO_EXPRESS  0001
  71#define T_CLASSIC 0002
  72
  73#define FAMILY          0070
  74#define T_COMXI         0000
  75#define T_NI            0000
  76#define T_PCXX          0010
  77#define T_CX            0020
  78#define T_EPC           0030
  79#define T_PCLITE        0040
  80#define T_SPXX          0050
  81#define T_AVXX          0060
  82#define T_DXB           0070
  83#define T_A2K_4_8       0070
  84
  85#define BUSTYPE         0700
  86#define T_ISABUS        0000
  87#define T_MCBUS         0100
  88#define T_EISABUS       0200
  89#define T_PCIBUS        0400
  90
  91/* Board State Definitions */
  92
  93#define BD_RUNNING      0x0
  94#define BD_REASON       0x7f
  95#define BD_NOTFOUND     0x1
  96#define BD_NOIOPORT     0x2
  97#define BD_NOMEM        0x3
  98#define BD_NOBIOS       0x4
  99#define BD_NOFEP        0x5
 100#define BD_FAILED       0x6
 101#define BD_ALLOCATED    0x7
 102#define BD_TRIBOOT      0x8
 103#define BD_BADKME       0x80
 104
 105#define DIGI_AIXON      0x0400          /* Aux flow control in fep */
 106
 107/* Ioctls needed for dpa operation */
 108
 109#define DIGI_GETDD      (('d'<<8) | 248)       /* get driver info      */
 110#define DIGI_GETBD      (('d'<<8) | 249)       /* get board info       */
 111#define DIGI_GET_NI_INFO (('d'<<8) | 250)       /* nonintelligent state snfo */
 112
 113/* Other special ioctls */
 114#define DIGI_TIMERIRQ (('d'<<8) | 251)          /* Enable/disable RS_TIMER use */
 115#define DIGI_LOOPBACK (('d'<<8) | 252)          /* Enable/disable UART internal loopback */
 116