| 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 |  */ | 
 | 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 |  */ | 
 | 67 | #define ROCKET_CLOSING_WAIT_NONE	65535 | 
 | 68 | #define ROCKET_CLOSING_WAIT_INF		0 | 
 | 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 |