| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 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 */ | 
|  | 10 | typedef struct { | 
|  | 11 | unsigned long model; | 
|  | 12 | char modelString[80]; | 
|  | 13 | unsigned long numPorts; | 
|  | 14 | int loadrm2; | 
|  | 15 | int startingPortNumber; | 
|  | 16 | } rocketModel_t; | 
|  | 17 |  | 
|  | 18 | struct 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 |  | 
|  | 27 | struct rocket_ports { | 
|  | 28 | int tty_major; | 
|  | 29 | int callout_major; | 
|  | 30 | rocketModel_t rocketModel[8]; | 
|  | 31 | }; | 
|  | 32 |  | 
|  | 33 | struct rocket_version { | 
|  | 34 | char rocket_version[32]; | 
|  | 35 | char rocket_date[32]; | 
|  | 36 | char reserved[64]; | 
|  | 37 | }; | 
|  | 38 |  | 
|  | 39 | /* | 
|  | 40 | * Rocketport flags | 
|  | 41 | */ | 
| Alan Cox | a129909 | 2009-01-02 13:45:44 +0000 | [diff] [blame] | 42 | /*#define ROCKET_CALLOUT_NOHUP    0x00000001 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 Cox | 44b7d1b | 2008-07-16 21:57:18 +0100 | [diff] [blame] | 67 | #define ROCKET_CLOSING_WAIT_NONE	ASYNC_CLOSING_WAIT_NONE | 
|  | 68 | #define ROCKET_CLOSING_WAIT_INF		ASYNC_CLOSING_WAIT_INF | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 |  | 
|  | 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 |