blob: a8b09195ebba8b8d4c4a089fc23ef805d829ade0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * rocket.h --- the exported interface of the rocket driver to its configuration program.
3 *
4 * Written by Theodore Ts'o, Copyright 1997.
5 * Copyright 1997 Comtrol Corporation.
6 *
7 */
8
9/* Model Information Struct */
10typedef struct {
11 unsigned long model;
12 char modelString[80];
13 unsigned long numPorts;
14 int loadrm2;
15 int startingPortNumber;
16} rocketModel_t;
17
18struct rocket_config {
19 int line;
20 int flags;
21 int closing_wait;
22 int close_delay;
23 int port;
24 int reserved[32];
25};
26
27struct rocket_ports {
28 int tty_major;
29 int callout_major;
30 rocketModel_t rocketModel[8];
31};
32
33struct rocket_version {
34 char rocket_version[32];
35 char rocket_date[32];
36 char reserved[64];
37};
38
39/*
40 * Rocketport flags
41 */
42#define ROCKET_CALLOUT_NOHUP 0x00000001
43#define ROCKET_FORCE_CD 0x00000002
44#define ROCKET_HUP_NOTIFY 0x00000004
45#define ROCKET_SPLIT_TERMIOS 0x00000008
46#define ROCKET_SPD_MASK 0x00000070
47#define ROCKET_SPD_HI 0x00000010 /* Use 56000 instead of 38400 bps */
48#define ROCKET_SPD_VHI 0x00000020 /* Use 115200 instead of 38400 bps */
49#define ROCKET_SPD_SHI 0x00000030 /* Use 230400 instead of 38400 bps */
50#define ROCKET_SPD_WARP 0x00000040 /* Use 460800 instead of 38400 bps */
51#define ROCKET_SAK 0x00000080
52#define ROCKET_SESSION_LOCKOUT 0x00000100
53#define ROCKET_PGRP_LOCKOUT 0x00000200
54#define ROCKET_RTS_TOGGLE 0x00000400
55#define ROCKET_MODE_MASK 0x00003000
56#define ROCKET_MODE_RS232 0x00000000
57#define ROCKET_MODE_RS485 0x00001000
58#define ROCKET_MODE_RS422 0x00002000
59#define ROCKET_FLAGS 0x00003FFF
60
61#define ROCKET_USR_MASK 0x0071 /* Legal flags that non-privileged
62 * users can set or reset */
63
64/*
65 * For closing_wait and closing_wait2
66 */
Alan Cox44b7d1b2008-07-16 21:57:18 +010067#define ROCKET_CLOSING_WAIT_NONE ASYNC_CLOSING_WAIT_NONE
68#define ROCKET_CLOSING_WAIT_INF ASYNC_CLOSING_WAIT_INF
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
70/*
71 * Rocketport ioctls -- "RP"
72 */
73#define RCKP_GET_STRUCT 0x00525001
74#define RCKP_GET_CONFIG 0x00525002
75#define RCKP_SET_CONFIG 0x00525003
76#define RCKP_GET_PORTS 0x00525004
77#define RCKP_RESET_RM2 0x00525005
78#define RCKP_GET_VERSION 0x00525006
79
80/* Rocketport Models */
81#define MODEL_RP32INTF 0x0001 /* RP 32 port w/external I/F */
82#define MODEL_RP8INTF 0x0002 /* RP 8 port w/external I/F */
83#define MODEL_RP16INTF 0x0003 /* RP 16 port w/external I/F */
84#define MODEL_RP8OCTA 0x0005 /* RP 8 port w/octa cable */
85#define MODEL_RP4QUAD 0x0004 /* RP 4 port w/quad cable */
86#define MODEL_RP8J 0x0006 /* RP 8 port w/RJ11 connectors */
87#define MODEL_RP4J 0x0007 /* RP 4 port w/RJ45 connectors */
88#define MODEL_RP8SNI 0x0008 /* RP 8 port w/ DB78 SNI connector */
89#define MODEL_RP16SNI 0x0009 /* RP 16 port w/ DB78 SNI connector */
90#define MODEL_RPP4 0x000A /* RP Plus 4 port */
91#define MODEL_RPP8 0x000B /* RP Plus 8 port */
92#define MODEL_RP2_232 0x000E /* RP Plus 2 port RS232 */
93#define MODEL_RP2_422 0x000F /* RP Plus 2 port RS232 */
94
95/* Rocketmodem II Models */
96#define MODEL_RP6M 0x000C /* RM 6 port */
97#define MODEL_RP4M 0x000D /* RM 4 port */
98
99/* Universal PCI boards */
100#define MODEL_UPCI_RP32INTF 0x0801 /* RP UPCI 32 port w/external I/F */
101#define MODEL_UPCI_RP8INTF 0x0802 /* RP UPCI 8 port w/external I/F */
102#define MODEL_UPCI_RP16INTF 0x0803 /* RP UPCI 16 port w/external I/F */
103#define MODEL_UPCI_RP8OCTA 0x0805 /* RP UPCI 8 port w/octa cable */
104#define MODEL_UPCI_RM3_8PORT 0x080C /* RP UPCI Rocketmodem III 8 port */
105#define MODEL_UPCI_RM3_4PORT 0x080C /* RP UPCI Rocketmodem III 4 port */
106
107/* Compact PCI 16 port */
108#define MODEL_CPCI_RP16INTF 0x0903 /* RP Compact PCI 16 port w/external I/F */
109
110/* All ISA boards */
111#define MODEL_ISA 0x1000