dpacompat.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. * This structure holds data needed for the intelligent <--> nonintelligent
  23. * DPA translation
  24. */
  25. struct ni_info {
  26. int board;
  27. int channel;
  28. int dtr;
  29. int rts;
  30. int cts;
  31. int dsr;
  32. int ri;
  33. int dcd;
  34. int curtx;
  35. int currx;
  36. unsigned short iflag;
  37. unsigned short oflag;
  38. unsigned short cflag;
  39. unsigned short lflag;
  40. unsigned int mstat;
  41. unsigned char hflow;
  42. unsigned char xmit_stopped;
  43. unsigned char recv_stopped;
  44. unsigned int baud;
  45. };
  46. #define RW_READ 1
  47. #define RW_WRITE 2
  48. #define DIGI_KME ('e'<<8) | 98 /* Read/Write Host */
  49. #define SUBTYPE 0007
  50. #define T_PCXI 0000
  51. #define T_PCXEM 0001
  52. #define T_PCXE 0002
  53. #define T_PCXR 0003
  54. #define T_SP 0004
  55. #define T_SP_PLUS 0005
  56. #define T_HERC 0000
  57. #define T_HOU 0001
  58. #define T_LON 0002
  59. #define T_CHA 0003
  60. #define T_NEO 0000
  61. #define T_NEO_EXPRESS 0001
  62. #define T_CLASSIC 0002
  63. #define FAMILY 0070
  64. #define T_COMXI 0000
  65. #define T_NI 0000
  66. #define T_PCXX 0010
  67. #define T_CX 0020
  68. #define T_EPC 0030
  69. #define T_PCLITE 0040
  70. #define T_SPXX 0050
  71. #define T_AVXX 0060
  72. #define T_DXB 0070
  73. #define T_A2K_4_8 0070
  74. #define BUSTYPE 0700
  75. #define T_ISABUS 0000
  76. #define T_MCBUS 0100
  77. #define T_EISABUS 0200
  78. #define T_PCIBUS 0400
  79. /* Board State Definitions */
  80. #define BD_RUNNING 0x0
  81. #define BD_REASON 0x7f
  82. #define BD_NOTFOUND 0x1
  83. #define BD_NOIOPORT 0x2
  84. #define BD_NOMEM 0x3
  85. #define BD_NOBIOS 0x4
  86. #define BD_NOFEP 0x5
  87. #define BD_FAILED 0x6
  88. #define BD_ALLOCATED 0x7
  89. #define BD_TRIBOOT 0x8
  90. #define BD_BADKME 0x80
  91. #define DIGI_AIXON 0x0400 /* Aux flow control in fep */
  92. /* Ioctls needed for dpa operation */
  93. #define DIGI_GETDD ('d'<<8) | 248 /* get driver info */
  94. #define DIGI_GETBD ('d'<<8) | 249 /* get board info */
  95. #define DIGI_GET_NI_INFO ('d'<<8) | 250 /* nonintelligent state snfo */
  96. /* Other special ioctls */
  97. #define DIGI_TIMERIRQ ('d'<<8) | 251 /* Enable/disable RS_TIMER use */
  98. #define DIGI_LOOPBACK ('d'<<8) | 252 /* Enable/disable UART internal loopback */