1 1.8 kalvisd /* $NetBSD: nma.c,v 1.8 2024/12/03 05:57:02 kalvisd Exp $ */ 2 1.2 thorpej 3 1.1 cjs /* 4 1.1 cjs * Copyright (c) 1995 Mats O Jansson. All rights reserved. 5 1.1 cjs * 6 1.1 cjs * Redistribution and use in source and binary forms, with or without 7 1.1 cjs * modification, are permitted provided that the following conditions 8 1.1 cjs * are met: 9 1.1 cjs * 1. Redistributions of source code must retain the above copyright 10 1.1 cjs * notice, this list of conditions and the following disclaimer. 11 1.1 cjs * 2. Redistributions in binary form must reproduce the above copyright 12 1.1 cjs * notice, this list of conditions and the following disclaimer in the 13 1.1 cjs * documentation and/or other materials provided with the distribution. 14 1.1 cjs * 15 1.1 cjs * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 1.1 cjs * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 1.1 cjs * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 1.1 cjs * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 1.1 cjs * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 1.1 cjs * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 1.1 cjs * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 1.1 cjs * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 1.1 cjs * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 1.1 cjs * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 1.1 cjs */ 26 1.1 cjs 27 1.8 kalvisd #if defined (HAVE_NBTOOL_CONFIG_H) 28 1.8 kalvisd # include "nbtool_config.h" 29 1.8 kalvisd #else 30 1.8 kalvisd # include "port.h" 31 1.8 kalvisd #endif /* defined (HAVE_NBTOOL_CONFIG_H) */ 32 1.3 lukem #ifndef lint 33 1.8 kalvisd __RCSID("$NetBSD: nma.c,v 1.8 2024/12/03 05:57:02 kalvisd Exp $"); 34 1.1 cjs #endif 35 1.1 cjs 36 1.3 lukem #include "os.h" 37 1.3 lukem #include "nma.h" 38 1.3 lukem #include "nmadef.h" 39 1.1 cjs 40 1.1 cjs struct commDev { 41 1.1 cjs int val; 42 1.4 lukem const char *sname; 43 1.4 lukem const char *name; 44 1.1 cjs }; 45 1.1 cjs 46 1.1 cjs struct commDev nmaCommDev[] = { 47 1.1 cjs { NMA_C_SOFD_DP , "DP ", "DP11-DA" }, 48 1.1 cjs { NMA_C_SOFD_UNA, "UNA", "DEUNA" }, 49 1.1 cjs { NMA_C_SOFD_DU , "DU ", "DU11-DA" }, 50 1.1 cjs { NMA_C_SOFD_CNA, "CNA", "DECNA" }, 51 1.1 cjs { NMA_C_SOFD_DL , "DL ", "DL11-C, -E, or -WA" }, 52 1.1 cjs { NMA_C_SOFD_QNA, "QNA", "DEQNA" }, 53 1.1 cjs { NMA_C_SOFD_DQ , "DQ ", "DQ11-DA" }, 54 1.1 cjs { NMA_C_SOFD_CI , "CI ", "Computer Interconnect" }, 55 1.1 cjs { NMA_C_SOFD_DA , "DA ", "DA11-B or -AL" }, 56 1.1 cjs { NMA_C_SOFD_PCL, "PCL", "PCL11-B" }, 57 1.1 cjs { NMA_C_SOFD_DUP, "DUP", "DUP11-DA" }, 58 1.1 cjs { NMA_C_SOFD_LUA, "LUA", "DELUA" }, 59 1.1 cjs { NMA_C_SOFD_DMC, "DMC", "DMC11-DA/AR, -FA/AR, -MA/AL or -MD/AL" }, 60 1.1 cjs { NMA_C_SOFD_LNA, "LNA", "MicroServer Lance" }, 61 1.1 cjs { NMA_C_SOFD_DN , "DN ", "DN11-BA or -AA" }, 62 1.1 cjs { NMA_C_SOFD_DLV, "DLV", "DLV11-E, -F, -J, MXV11-A or -B" }, 63 1.1 cjs { NMA_C_SOFD_LCS, "LCS", "DECServer 100" }, 64 1.1 cjs { NMA_C_SOFD_DMP, "DMP", "DMP11" }, 65 1.1 cjs { NMA_C_SOFD_AMB, "AMB", "AMBER" }, 66 1.1 cjs { NMA_C_SOFD_DTE, "DTE", "DTE20" }, 67 1.1 cjs { NMA_C_SOFD_DBT, "DBT", "DEBET" }, 68 1.1 cjs { NMA_C_SOFD_DV , "DV ", "DV11-AA/BA" }, 69 1.1 cjs { NMA_C_SOFD_BNA, "BNA", "DEBNA" }, 70 1.1 cjs { NMA_C_SOFD_BNT, "BNT", "DEBNT" }, 71 1.1 cjs { NMA_C_SOFD_DZ , "DZ ", "DZ11-A, -B, -C, -D" }, 72 1.1 cjs { NMA_C_SOFD_LPC, "LPC", "PCXX" }, 73 1.1 cjs { NMA_C_SOFD_DSV, "DSV", "DSV11" }, 74 1.1 cjs { NMA_C_SOFD_CEC, "CEC", "3-COM/IBM-PC" }, 75 1.1 cjs { NMA_C_SOFD_KDP, "KDP", "KMC11/DUP11-DA" }, 76 1.1 cjs { NMA_C_SOFD_IEC, "IEC", "Interlan/IBM-PC" }, 77 1.1 cjs { NMA_C_SOFD_KDZ, "KDZ", "KMC11/DZ11-A, -B, -C, or -D" }, 78 1.1 cjs { NMA_C_SOFD_UEC, "UEC", "Univation/RAINBOW-100" }, 79 1.1 cjs { NMA_C_SOFD_KL8, "KL8", "KL8-J" }, 80 1.1 cjs { NMA_C_SOFD_DS2, "DS2", "DECServer 200" }, 81 1.1 cjs { NMA_C_SOFD_DMV, "DMV", "DMV11" }, 82 1.1 cjs { NMA_C_SOFD_DS5, "DS5", "DECServer 500" }, 83 1.1 cjs { NMA_C_SOFD_DPV, "DPV", "DPV11" }, 84 1.1 cjs { NMA_C_SOFD_LQA, "LQA", "DELQA" }, 85 1.1 cjs { NMA_C_SOFD_DMF, "DMF", "DMF32" }, 86 1.1 cjs { NMA_C_SOFD_SVA, "SVA", "DESVA" }, 87 1.1 cjs { NMA_C_SOFD_DMR, "DMR", "DMR11-AA, -AB, -AC, or -AE" }, 88 1.1 cjs { NMA_C_SOFD_MUX, "MUX", "MUXserver" }, 89 1.1 cjs { NMA_C_SOFD_KMY, "KMY", "KMS11-PX" }, 90 1.1 cjs { NMA_C_SOFD_DEP, "DEP", "DEPCA PCSG/IBM-PC" }, 91 1.1 cjs { NMA_C_SOFD_KMX, "KMX", "KMS11-BD/BE" }, 92 1.1 cjs { NMA_C_SOFD_LTM, "LTM", "LTM Ethernet monitor" }, 93 1.1 cjs { NMA_C_SOFD_DMB, "DMB", "DMB-32" }, 94 1.1 cjs { NMA_C_SOFD_DES, "DES", "DESNC" }, 95 1.1 cjs { NMA_C_SOFD_KCP, "KCP", "KCP" }, 96 1.1 cjs { NMA_C_SOFD_MX3, "MX3", "MUXServer 300" }, 97 1.1 cjs { NMA_C_SOFD_SYN, "SYN", "MicroServer" }, 98 1.1 cjs { NMA_C_SOFD_MEB, "MEB", "DEMEB" }, 99 1.1 cjs { NMA_C_SOFD_DSB, "DSB", "DSB32" }, 100 1.1 cjs { NMA_C_SOFD_BAM, "BAM", "DEBAM LANBridge-200" }, 101 1.1 cjs { NMA_C_SOFD_DST, "DST", "DST-32 TEAMmate" }, 102 1.1 cjs { NMA_C_SOFD_FAT, "FAT", "DEFAT" }, 103 1.1 cjs { NMA_C_SOFD_RSM, "RSM", "DERSM - Remote Segment Monitor" }, 104 1.1 cjs { NMA_C_SOFD_RES, "RES", "DERES - Remote Environmental Sensor" }, 105 1.1 cjs { NMA_C_SOFD_3C2, "3C2", "3COM Etherlink II (3C503)" }, 106 1.1 cjs { NMA_C_SOFD_3CM, "3CM", "3COM Etherlink/MC (3C523)" }, 107 1.1 cjs { NMA_C_SOFD_DS3, "DS3", "DECServer 300" }, 108 1.1 cjs { NMA_C_SOFD_MF2, "MF2", "Mayfair-2" }, 109 1.1 cjs { NMA_C_SOFD_MMR, "MMR", "DEMMR" }, 110 1.1 cjs { NMA_C_SOFD_VIT, "VIT", "Vitalink TransLAN III/IV (NP3A) Bridge " }, 111 1.1 cjs { NMA_C_SOFD_VT5, "VT5", "Vitalink TransLAN 350 (NPC25) Bridge " }, 112 1.1 cjs { NMA_C_SOFD_BNI, "BNI", "DEBNI" }, 113 1.1 cjs { NMA_C_SOFD_MNA, "MNA", "DEMNA" }, 114 1.1 cjs { NMA_C_SOFD_PMX, "PMX", "PMAX (KN01)" }, 115 1.1 cjs { NMA_C_SOFD_NI5, "NI5", "Interlan NI5210-8" }, 116 1.1 cjs { NMA_C_SOFD_NI9, "NI9", "Interlan NI9210" }, 117 1.1 cjs { NMA_C_SOFD_KMK, "KMK", "KMS11-K" }, 118 1.1 cjs { NMA_C_SOFD_3CP, "3CP", "3COM Etherlink Plus (3C505) " }, 119 1.1 cjs { NMA_C_SOFD_DP2, "DP2", "DPNserver-200" }, 120 1.1 cjs { NMA_C_SOFD_ISA, "ISA", "SGEC" }, 121 1.1 cjs { NMA_C_SOFD_DIV, "DIV", "DIV-32 DEC WAN controller-100" }, 122 1.1 cjs { NMA_C_SOFD_QTA, "QTA", "DEQTA" }, 123 1.1 cjs { NMA_C_SOFD_B15, "B15", "LANbridge-150" }, 124 1.1 cjs { NMA_C_SOFD_WD8, "WD8", "WD8003 Family" }, 125 1.1 cjs { NMA_C_SOFD_ILA, "ILA", "BICC ISOLAN 4110-2" }, 126 1.1 cjs { NMA_C_SOFD_ILM, "ILM", "BICC ISOLAN 4110-3" }, 127 1.1 cjs { NMA_C_SOFD_APR, "APR", "Apricot Xen-S and Qi" }, 128 1.1 cjs { NMA_C_SOFD_ASN, "ASN", "AST EtherNode" }, 129 1.1 cjs { NMA_C_SOFD_ASE, "ASE", "AST Ethernet" }, 130 1.1 cjs { NMA_C_SOFD_TRW, "TRW", "TRW HC-2001" }, 131 1.1 cjs { NMA_C_SOFD_EDX, "EDX", "Ethernet-XT/AT" }, 132 1.1 cjs { NMA_C_SOFD_EDA, "EDA", "Ethernet-AT" }, 133 1.1 cjs { NMA_C_SOFD_DR2, "DR2", "DECrouter-250" }, 134 1.1 cjs { NMA_C_SOFD_SCC, "SCC", "DECrouter-250 DUSCC" }, 135 1.1 cjs { NMA_C_SOFD_DCA, "DCA", "DCA Series 300" }, 136 1.1 cjs { NMA_C_SOFD_TIA, "TIA", "LANcard/E" }, 137 1.1 cjs { NMA_C_SOFD_FBN, "FBN", "DEFEB DECbridge-500" }, 138 1.1 cjs { NMA_C_SOFD_FEB, "FEB", "DEFEB DECbridge-500 FDDI" }, 139 1.1 cjs { NMA_C_SOFD_FCN, "FCN", "DEFCN DECconcentrator-500" }, 140 1.1 cjs { NMA_C_SOFD_MFA, "MFA", "DEMFA" }, 141 1.1 cjs { NMA_C_SOFD_MXE, "MXE", "MIPS workstation family" }, 142 1.1 cjs { NMA_C_SOFD_CED, "CED", "Cabletron Ethernet Desktop" }, 143 1.1 cjs { NMA_C_SOFD_C20, "C20", "3Com CS/200" }, 144 1.1 cjs { NMA_C_SOFD_CS1, "CS1", "3Com CS/1" }, 145 1.1 cjs { NMA_C_SOFD_C2M, "C2M", "3Com CS/210, CS/2000, CS/2100" }, 146 1.1 cjs { NMA_C_SOFD_ACA, "ACA", "ACA/32000 system" }, 147 1.1 cjs { NMA_C_SOFD_GSM, "GSM", "Gandalf StarMaster" }, 148 1.1 cjs { NMA_C_SOFD_DSF, "DSF", "DSF32" }, 149 1.1 cjs { NMA_C_SOFD_CS5, "CS5", "3Com CS/50" }, 150 1.1 cjs { NMA_C_SOFD_XIR, "XIR", "XIRCOM PE10B2" }, 151 1.1 cjs { NMA_C_SOFD_KFE, "KFE", "KFE52" }, 152 1.1 cjs { NMA_C_SOFD_RT3, "RT3", "rtVAX-300" }, 153 1.1 cjs { NMA_C_SOFD_SPI, "SPI", "Spiderport M250" }, 154 1.1 cjs { NMA_C_SOFD_FOR, "FOR", "LAT gateway" }, 155 1.1 cjs { NMA_C_SOFD_MER, "MER", "Meridian" }, 156 1.1 cjs { NMA_C_SOFD_PER, "PER", "Persoft" }, 157 1.1 cjs { NMA_C_SOFD_STR, "STR", "AT&T StarLan-10" }, 158 1.1 cjs { NMA_C_SOFD_MPS, "MPS", "MIPSfair" }, 159 1.1 cjs { NMA_C_SOFD_L20, "L20", "LPS20 print server" }, 160 1.1 cjs { NMA_C_SOFD_VT2, "VT2", "Vitalink TransLAN 320 Bridge" }, 161 1.1 cjs { NMA_C_SOFD_DWT, "DWT", "VT-1000" }, 162 1.1 cjs { NMA_C_SOFD_WGB, "WGB", "DEWGB" }, 163 1.1 cjs { NMA_C_SOFD_ZEN, "ZEN", "Zenith Z-LAN4000, Z-LAN" }, 164 1.1 cjs { NMA_C_SOFD_TSS, "TSS", "Thursby Software Systems" }, 165 1.1 cjs { NMA_C_SOFD_MNE, "MNE", "3MIN (KN02-BA)" }, 166 1.1 cjs { NMA_C_SOFD_FZA, "FZA", "DEFZA" }, 167 1.1 cjs { NMA_C_SOFD_90L, "90L", "DS90L" }, 168 1.1 cjs { NMA_C_SOFD_CIS, "CIS", "Cisco Systems" }, 169 1.1 cjs { NMA_C_SOFD_STC, "STC", "STRTC" }, 170 1.1 cjs { NMA_C_SOFD_UBE, "UBE", "Ungermann-Bass PC2030, PC3030" }, 171 1.1 cjs { NMA_C_SOFD_DW2, "DW2", "DECwindows terminal II" }, 172 1.1 cjs { NMA_C_SOFD_FUE, "FUE", "Fujitsu Etherstar MB86950" }, 173 1.1 cjs { NMA_C_SOFD_M38, "M38", "MUXServer 380" }, 174 1.1 cjs { NMA_C_SOFD_NTI, "NTI", "NTI Group PC Ethernet Card" }, 175 1.1 cjs { NMA_C_SOFD_RAD, "RAD", "RADLINX LAN Gateway" }, 176 1.1 cjs { NMA_C_SOFD_INF, "INF", "Infotron Commix" }, 177 1.1 cjs { NMA_C_SOFD_XMX, "XMX", "Xyplex MAXserver" }, 178 1.1 cjs { NMA_C_SOFD_NDI, "NDI", "NDIS data link driver for MS/DOS systems" }, 179 1.1 cjs { NMA_C_SOFD_ND2, "ND2", "NDIS data link driver for OS/2 systems" }, 180 1.1 cjs { NMA_C_SOFD_TRN, "TRN", "DEC LANcontroller 520" }, 181 1.1 cjs { NMA_C_SOFD_DEV, "DEV", "Develcon Electronics Ltd. LAT gateway" }, 182 1.1 cjs { NMA_C_SOFD_ACE, "ACE", "Acer 5220, 5270 adapter" }, 183 1.1 cjs { NMA_C_SOFD_PNT, "PNT", "ProNet-4/18 #1390" }, 184 1.1 cjs { NMA_C_SOFD_ISE, "ISE", "Network Integration Server 600" }, 185 1.1 cjs { NMA_C_SOFD_IST, "IST", "Network Integration Server 600 T1" }, 186 1.1 cjs { NMA_C_SOFD_ISH, "ISH", "Network Integration Server 64 kb HDLC" }, 187 1.1 cjs { NMA_C_SOFD_ISF, "ISF", "Network Integration Server 600 FDDI" }, 188 1.1 cjs { NMA_C_SOFD_DSW, "DSW", "DSW-21" }, 189 1.1 cjs { NMA_C_SOFD_DW4, "DW4", "DSW-41/42" }, 190 1.1 cjs { NMA_C_SOFD_TRA, "TRA", "DETRA-AA" }, 191 1.1 cjs { 0, 0, 0 }, 192 1.1 cjs }; 193 1.1 cjs 194 1.4 lukem const char * 195 1.6 joerg nmaGetShort(int devno) 196 1.1 cjs { 197 1.1 cjs struct commDev *current; 198 1.1 cjs 199 1.1 cjs current = nmaCommDev; 200 1.1 cjs 201 1.1 cjs while (current->sname != NULL) { 202 1.1 cjs if (current->val == devno) 203 1.1 cjs break; 204 1.1 cjs current++; 205 1.1 cjs } 206 1.1 cjs 207 1.1 cjs return(current->sname); 208 1.1 cjs } 209 1.1 cjs 210 1.4 lukem const char * 211 1.6 joerg nmaGetDevice(int devno) 212 1.1 cjs { 213 1.1 cjs struct commDev *current; 214 1.1 cjs 215 1.1 cjs current = nmaCommDev; 216 1.1 cjs 217 1.1 cjs while (current->name != NULL) { 218 1.1 cjs if (current->val == devno) 219 1.1 cjs break; 220 1.1 cjs current++; 221 1.1 cjs } 222 1.1 cjs 223 1.1 cjs return(current->name); 224 1.1 cjs } 225