xref: /netbsd-src/usr.sbin/mopd/common/mopdef.h (revision 07ce40632e7aec9e3c738f3250b39f23d21c5437)
1*07ce4063Ssnj /*	$NetBSD: mopdef.h,v 1.4 2009/10/20 00:51:13 snj Exp $	*/
2fcab4c33Sthorpej 
3ed137f7cScjs /*
4ed137f7cScjs  * Copyright (c) 1993-95 Mats O Jansson.  All rights reserved.
5ed137f7cScjs  *
6ed137f7cScjs  * Redistribution and use in source and binary forms, with or without
7ed137f7cScjs  * modification, are permitted provided that the following conditions
8ed137f7cScjs  * are met:
9ed137f7cScjs  * 1. Redistributions of source code must retain the above copyright
10ed137f7cScjs  *    notice, this list of conditions and the following disclaimer.
11ed137f7cScjs  * 2. Redistributions in binary form must reproduce the above copyright
12ed137f7cScjs  *    notice, this list of conditions and the following disclaimer in the
13ed137f7cScjs  *    documentation and/or other materials provided with the distribution.
14ed137f7cScjs  *
15ed137f7cScjs  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16ed137f7cScjs  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17ed137f7cScjs  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18ed137f7cScjs  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19ed137f7cScjs  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20ed137f7cScjs  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21ed137f7cScjs  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22ed137f7cScjs  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23ed137f7cScjs  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24ed137f7cScjs  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25ed137f7cScjs  *
26*07ce4063Ssnj  *	$NetBSD: mopdef.h,v 1.4 2009/10/20 00:51:13 snj Exp $
27ed137f7cScjs  *
28ed137f7cScjs  */
29ed137f7cScjs 
30ed137f7cScjs #ifndef _MOPDEF_H_
31ed137f7cScjs #define _MOPDEF_H_
32ed137f7cScjs 
33ed137f7cScjs #define MOP_K_PROTO_DL          0x6001  /* MOP Load/Dump Protocol */
34ed137f7cScjs #define MOP_K_PROTO_RC          0x6002  /* MOP Remote Console Protocol */
35ed137f7cScjs #define MOP_K_PROTO_LP          0x9000  /* MOP Loopback Protocol */
36ed137f7cScjs 
37ed137f7cScjs #define MOP_K_PROTO_802_DL	{ 0x08, 0x00, 0x2b, 0x60, 0x01 }
38ed137f7cScjs #define MOP_K_PROTO_802_RC	{ 0x08, 0x00, 0x2b, 0x60, 0x02 }
39ed137f7cScjs #define MOP_K_PROTO_802_LP	{ 0x08, 0x00, 0x2b, 0x90, 0x00 }
40ed137f7cScjs 
41ed137f7cScjs #define MOP_K_PROTO_802_DSAP	0xaa
42ed137f7cScjs #define MOP_K_PROTO_802_SSAP	0xaa
43ed137f7cScjs #define MOP_K_PROTO_802_CNTL	0x03
44ed137f7cScjs 
45ed137f7cScjs #define TRANS_ETHER		1	/* Packet in Ethernet format */
46ed137f7cScjs #define TRANS_8023		2	/* Packet in 802.3 format */
47ed137f7cScjs #define TRANS_AND		0x1000	/* Both Ethernet and 802.3 */
48ed137f7cScjs 
49ed137f7cScjs /* The following constants are defined in module MOPDEF.SDL in MOM */
50ed137f7cScjs 
51ed137f7cScjs #define MOP_K_CODE_MIN          0
52ed137f7cScjs #define MOP_K_CODE_MLT          0       /* Memory Load with transfer address */
53ed137f7cScjs #define MOP_K_CODE_DCM          1       /* Dump Complete */
54ed137f7cScjs #define MOP_K_CODE_MLD          2       /* Memory Load */
55ed137f7cScjs #define MOP_K_CODE_ASV          3       /* Assistance volunteer (NI only */
56ed137f7cScjs #define MOP_K_CODE_RMD          4       /* Request memory dump */
57ed137f7cScjs #define MOP_K_CODE_RID          5       /* Request ID */
58ed137f7cScjs #define MOP_K_CODE_BOT          6       /* Boot */
59ed137f7cScjs #define MOP_K_CODE_SID          7       /* System ID */
60ed137f7cScjs #define MOP_K_CODE_RPR          8       /* Request program */
61ed137f7cScjs #define MOP_K_CODE_RQC          9       /* Request Counters */
62ed137f7cScjs #define MOP_K_CODE_RML          10      /* Request memory load */
63ed137f7cScjs #define MOP_K_CODE_CNT          11      /* Counters */
64ed137f7cScjs #define MOP_K_CODE_RDS          12      /* Request Dump Service */
65ed137f7cScjs #define MOP_K_CODE_MMR          12      /* MOP Mode Running */
66ed137f7cScjs #define MOP_K_CODE_RVC          13      /* Reserve Console */
67ed137f7cScjs #define MOP_K_CODE_MDD          14      /* Memory dump data */
68ed137f7cScjs #define MOP_K_CODE_RLC          15      /* Release Console */
69ed137f7cScjs #define MOP_K_CODE_CCP          17      /* Console Command and Poll */
70ed137f7cScjs #define MOP_K_CODE_CRA          19      /* Console Response and Acknnowledge */
71ed137f7cScjs #define MOP_K_CODE_PLT          20      /* Parameter load with transfer address*/
72ed137f7cScjs #define MOP_K_CODE_ALD          24      /* Active loop data */
73ed137f7cScjs #define MOP_K_CODE_PLD          26      /* Passive looped data */
74ed137f7cScjs #define MOP_K_CODE_MAX          26
75ed137f7cScjs 
76ed137f7cScjs #define MOP_K_PGTY_MIN          0
77ed137f7cScjs #define MOP_K_PGTY_SECLDR       0       /* Secondary Loader */
78ed137f7cScjs #define MOP_K_PGTY_TERLDR       1       /* Tertiary Loader */
79ed137f7cScjs #define MOP_K_PGTY_OPRSYS       2       /* Operating System */
80ed137f7cScjs #define MOP_K_PGTY_MGNTFL       3       /* Management File */
81ed137f7cScjs #define MOP_K_PGTY_MAX          3
82ed137f7cScjs 
83ed137f7cScjs #define MOP_K_BPTY_MIN          0
84ed137f7cScjs #define MOP_K_BPTY_SYS          0       /* System Processor */
85ed137f7cScjs #define MOP_K_BPTY_COM          1       /* Communication Processor */
86ed137f7cScjs #define MOP_K_BPTY_MAX          1
87ed137f7cScjs 
88ed137f7cScjs #define MOP_K_RML_ERROR_MIN     0
89ed137f7cScjs #define MOP_K_RML_ERROR_NONE    0       /* None */
90ed137f7cScjs #define MOP_K_RML_ERROR_NO_LOAD 1       /* Image data not properly loaded */
91ed137f7cScjs #define MOP_K_RML_ERROR_MAX     1
92ed137f7cScjs 
93ed137f7cScjs #define MOP_K_PLTP_MIN          0
94ed137f7cScjs #define MOP_K_PLTP_END          0       /* End Mark */
95ed137f7cScjs #define MOP_K_PLTP_TSN          1       /* Target System Name */
96ed137f7cScjs #define MOP_K_PLTP_TSA          2       /* Target System Address */
97ed137f7cScjs #define MOP_K_PLTP_HSN          3       /* Host System Name */
98ed137f7cScjs #define MOP_K_PLTP_HSA          4       /* Host System Address */
99ed137f7cScjs #define MOP_K_PLTP_HST          5       /* Host System Time */
100ed137f7cScjs #define MOP_K_PLTP_MAX          5
101ed137f7cScjs 
102ed137f7cScjs #define MOP_K_BOT_CNTL_MIN      0
103ed137f7cScjs #define MOP_K_BOT_CNTL_SERVER   0       /* Boot-Server */
104ed137f7cScjs #define MOP_K_BOT_CNTL_DEVICE   1       /* Boot-Device */
105ed137f7cScjs #define MOP_K_BOT_CNTL_MAX      1
106ed137f7cScjs 
107ed137f7cScjs #define MOP_K_INFO_VER          1       /* Maintenance Version */
108ed137f7cScjs #define MOP_K_INFO_MFCT         2       /* Maintenance Functions */
109ed137f7cScjs #define MOP_K_INFO_CNU          3       /* Console User */
110ed137f7cScjs #define MOP_K_INFO_RTM          4       /* Reservation Timer */
111ed137f7cScjs #define MOP_K_INFO_CSZ          5       /* Console Command Size */
112ed137f7cScjs #define MOP_K_INFO_RSZ          6       /* Console Response Size */
113ed137f7cScjs #define MOP_K_INFO_HWA          7       /* Hardware Address */
114ed137f7cScjs #define MOP_K_INFO_TIME         8       /* System Time */
115ed137f7cScjs #define MOP_K_INFO_SOFD         100     /* Communication Device */
116ed137f7cScjs #define MOP_K_INFO_SFID         200     /* Software ID */
117ed137f7cScjs #define MOP_K_INFO_PRTY         300     /* System Processor */
118ed137f7cScjs #define MOP_K_INFO_DLTY         400     /* Data Link Type */
119ed137f7cScjs #define MOP_K_INFO_DLBSZ        401     /* Data Link Buffer Size */
120ed137f7cScjs 
121ed137f7cScjs #define MOP_K_DLTY_MIN          1
122ed137f7cScjs #define MOP_K_DLTY_NI           1       /* Ethernet */
123ed137f7cScjs #define MOP_K_DLTY_DDCMP        2       /* DDCMP */
124ed137f7cScjs #define MOP_K_DLTY_LAPB         3       /* LAPB (frame level of X.25) */
125ed137f7cScjs #define MOP_K_DLTY_MAX          3
126ed137f7cScjs 
127ed137f7cScjs #define MOP_K_PRTY_MIN          0
128ed137f7cScjs #define MOP_K_PRTY_11           1       /* PDP-11 (UNIBUS) */
129ed137f7cScjs #define MOP_K_PRTY_CMSV         2       /* Communication Server */
130ed137f7cScjs #define MOP_K_PRTY_PRO          3       /* Professional */
131ed137f7cScjs #define MOP_K_PRTY_SCO          4       /* Scorpio */
132ed137f7cScjs #define MOP_K_PRTY_AMB          5       /* Amber */
133ed137f7cScjs #define MOP_K_PRTY_BRI          6       /* XLII Bridge */
134ed137f7cScjs #define MOP_K_PRTY_MAX          6
135ed137f7cScjs 
136ed137f7cScjs #define MOP_K_SFID_FORM_MIN     -2
137ed137f7cScjs #define MOP_K_SFID_FORM_MAINT   -2      /* Maintenance System */
138ed137f7cScjs #define MOP_K_SFID_FORM_OPRSYS  -1      /* Standard Operating System */
139ed137f7cScjs #define MOP_K_SFID_FORM_NONE    0       /* None */
140ed137f7cScjs #define MOP_K_SFID_FORM_MAX     0
141ed137f7cScjs 
142ed137f7cScjs #define MOP_K_SFID_CUST         'CP'    /* Customer product */
143ed137f7cScjs #define MOP_K_SFID_DEC          'DP'    /* DEC product */
144ed137f7cScjs #define MOP_K_SFID_DELIM_ID     '#'     /* Delimiter identifier */
145ed137f7cScjs 
146ed137f7cScjs #define MOP_K_DLBSZ_DEFAULT     262     /* Buffersize */
147ed137f7cScjs 
148ed137f7cScjs #define MOP_K_NILOOP_REPLY      1       /* Response */
149ed137f7cScjs #define MOP_K_NILOOP_FORWARD    2       /* Forward Data */
150ed137f7cScjs 
151ed137f7cScjs #define MOP_DL_MULTICAST	{ 0xab, 0x00, 0x00, 0x01, 0x00, 0x00 }
152ed137f7cScjs #define MOP_RC_MULTICAST	{ 0xab, 0x00, 0x00, 0x02, 0x00, 0x00 }
153ed137f7cScjs #define MOP_LP_MULTICAST	{ 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00 }
154ed137f7cScjs 
155ed137f7cScjs #define MOP_K_RPR_FORMAT_V3	1	/* Format Version of RPR */
156ed137f7cScjs #define MOP_K_RPR_FORMAT	4	/* Format Version of RPR */
157ed137f7cScjs 
158ed137f7cScjs #define IHD_C_MINCODE		-1	/* Low bound of ALIAS value */
159ed137f7cScjs #define IHD_C_NATIVE		-1	/* Native mode image */
160ed137f7cScjs #define IHD_C_RSX		0	/* RSX image produced by TKB */
161ed137f7cScjs #define IHD_C_BPA		1	/* BASIC plus analog */
162ed137f7cScjs #define IHD_C_ALIAS		2	/* Last 126 bytes contains ASCIC of image to activate */
163ed137f7cScjs #define IHD_C_CLI		3	/* Image is CLI, run LOGINOUT */
164ed137f7cScjs #define IHD_C_PMAX		4	/* PMAX system image */
165ed137f7cScjs #define IHD_C_ALPHA		5	/* ALPHA system image */
166ed137f7cScjs #define IHD_C_MAXCODE		5	/* High bound of ALIAS value */
167ed137f7cScjs 
168ed137f7cScjs #define IHD_W_SIZE		0
169ed137f7cScjs #define IHD_W_ACTIVOFF		2
170ed137f7cScjs #define IHD_B_HDRBLKCNT		16
171ed137f7cScjs #define IHD_W_ALIAS		510
172ed137f7cScjs #define	ISD_W_PAGCNT		2
173ed137f7cScjs #define ISD_V_VPN		4
174ed137f7cScjs #define ISD_M_VPN		0x1fffff
175ed137f7cScjs #define IHA_L_TFRADR1		0
176ed137f7cScjs #define EISD_L_SECSIZE		12
177ed137f7cScjs #define EIHD_L_ISDOFF		12
178ed137f7cScjs #define EIHD_L_HDRBLKCNT	76
179ed137f7cScjs 
180ed137f7cScjs #define L_BSA			0x08	/* RSX base address */
181ed137f7cScjs #define L_BLDZ			0x0e	/* RSX image size (* 64) */
182ed137f7cScjs #define L_BXFR			0xe8	/* RSX transfer address */
183ed137f7cScjs #define L_BBLK			0xf0	/* RSX header block count */
184ed137f7cScjs 
185ed137f7cScjs #ifndef MOPDEF_SUPRESS_EXTERN
186ed137f7cScjs extern char dl_mcst[];
187ed137f7cScjs extern char rc_mcst[];
188ed137f7cScjs extern char dl_802_proto[];
189ed137f7cScjs extern char rc_802_proto[];
190ed137f7cScjs extern char lp_802_proto[];
191d594ce93Scgd #endif	/* MOPDEF_SUPRESS_EXTERN */
192ed137f7cScjs 
193d594ce93Scgd #endif /* _MOPDEF_H_ */
194