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 ASYNC_CLOSING_WAIT_NONE 68 #define ROCKET_CLOSING_WAIT_INF ASYNC_CLOSING_WAIT_INF 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 112