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