⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mscp_msg.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
📖 第 1 页 / 共 4 页
字号:
/*	@(#)mscp_msg.h	4.1	(ULTRIX)	7/2/90	*//************************************************************************ *                                                                      * *                      Copyright (c) 1987, 1989 by                     * *              Digital Equipment Corporation, Maynard, MA              * *                      All rights reserved.                            * *                                                                      * *   This software is furnished under a license and may be used and     * *   copied  only  in accordance with the terms of such license and     * *   with the  inclusion  of  the  above  copyright  notice.   This     * *   software  or  any  other copies thereof may not be provided or     * *   otherwise made available to any other person.  No title to and     * *   ownership of the software is hereby transferred.                   * *                                                                      * *   The information in this software is subject to change  without     * *   notice  and should not be construed as a commitment by Digital     * *   Equipment Corporation.                                             * *                                                                      * *   Digital assumes no responsibility for the use  or  reliability     * *   of its software on equipment which is not supplied by Digital.     * *                                                                      * ************************************************************************ * * *   Facility:	Systems Communication Architecture *		MSCP-speaking Class Drivers * *   Abstract:	This module contains all the MSCP message definitions * *   Author:	David E. Eiche	Creation Date:	December 1, 1984 * *   History: * *   01-May-1990		Mike Thomas *	DECwest ANSI mt 1990 May 01 *	Replaced MSCP_def.H with MSCP_def_H for ANSI. * *   31-Oct-1989	Tim Burke *	Added MSCP_SC_AVAIL to the table of unit available subcode values. * *   21-Jul-1989	David E. Eiche		DEE0070 *	1.  Recode the MSLG structure to make it maintainable. *	2.  Change field names in the MSCP and MSLG structures to *	    conform to the T/MSCP specification preferred mnemonics *	    and provide additional field names for the convenience *	    of the error formatter program. *	3.  Eliminate defines starting with "tmscp". *	4.  Correct the offsets of the mscp_excl_lba, mscp_excl_lbc, *	    and mscp_dev_parm fields. *	5.  Add structures for the DISPLAY and FMT commands. *	6.  Add subcodes for additional media loader errors. *	7.  Incorporate other miscellaneous changes to reflect the *	    latest round of T/MSCP ECOs. *	8.  Reformatted previous audit trail entries so that the *	    audit trail editor macros can be used on them. * *   20-Jul-89		Mark A. Parenti *	Add KDM70 definition. Remove HSB50. * *   20-Jun-89		Tim Burke *	Spec updates mainly for loader support (TQK7L) changes include: *	Added MSCP_UF_LOADR to table A-5. *	In table B-1 change MSCP_ST_LOADR from x15 to x17, added *	MSCP_ST_IPARM.  Added MSCP_SC_LOADE to "Unit-Offline" Subcode *	values.  Added additional "media loader error" status subcodes *	to table B-10 (subcodes 0x5 to 0x12). * *   08-May-1989	Tim Burke *	Brought forward 3.1 changes into pu and isis pools. * *   28-Dec-1988	Tim Burke *	Updates to t/mscp specs for the following tables: *	A-9, A-10, B-1, B-10, B-11 *	These changes mainly involve definitions for loader and *	informational error logs. * *   07-May-1988	Robin *	Changed the define value for MSCP_TF_NOR from 0 to the *	correct value of 1. * *   15-Feb-1988	Robin *	Changed the define of mslg_position to mslg_tape_position to *	resolve a multi-define problem seen in eribld.c * *   02-Feb-1988	Robin *	Added new mscp devices like RF30 * *   02-Jan-1988	Robin *	Changed the name for RV80 to RV20, the real name was changed. * *   16-Dec-1986	Robin *	Fixed the error log macro for position and vol_ser *	mslg_position changed to Mslg_position. *//**//* If included previously don't include it again. * Test a known define (MSCP_def_H) and if it's NOT defined, define everything, * otherwise don't define anything. */#ifndef MSCP_def_H#define MSCP_def_H	0/* mscp.h Mass Storage Control Protocol 84/12/01 */#define	MSCP_VERSION	0	/* Current MSCP protocol version	     *//* MSCP control message opcodes (from MSCP specification Table A-1) */#define MSCP_OP_ABORT	0x01	/* ABORT 				     */#define MSCP_OP_ACCESS	0x10	/* ACCESS 				     */#define MSCP_OP_ACCNM	0x05	/* ACCESS NON-VOLATILE MEMORY 		     */#define MSCP_OP_AVAIL	0x08	/* AVAILABLE 				     */#define MSCP_OP_CMPCD	0x11	/* COMPARE CONTROLLER DATA 		     */#define MSCP_OP_COMP	0x20	/* COMPARE HOST DATA 			     */#define MSCP_OP_DTACP	0x0b	/* DETERMINE ACCESS PATHS 		     */#define MSCP_OP_ERASE	0x12	/* ERASE 				     */#define MSCP_OP_ERGAP	0x16	/* ERASE GAP (T)			     */#define MSCP_OP_FLUSH	0x13	/* FLUSH 				     */#define MSCP_OP_FMT	0x18	/* FORMAT				     */#define MSCP_OP_GTCMD	0x02	/* GET COMMAND STATUS 			     */#define MSCP_OP_GTUNT	0x03	/* GET UNIT STATUS 			     */#define MSCP_OP_ONLIN	0x09	/* ONLINE 				     */#define MSCP_OP_RCEDC	0x23	/* READ CONTROLLER ENCRYPTION/DECRYPTION				    CODE 				     */#define MSCP_OP_READ	0x21	/* READ 				     */#define MSCP_OP_REPLC	0x14	/* REPLACE 				     */#define MSCP_OP_REPOS	0x25	/* REPOSITION (T)			     */#define MSCP_OP_SPEC1	0x28	/* Manufacturing reserved command 1	     */#define MSCP_OP_SPEC2	0x29	/* Manufacturing reserved command 2	     */#define MSCP_OP_SPEC3	0x2a	/* Manufacturing reserved command 3	     */#define MSCP_OP_SPEC4	0x2b	/* Manufacturing reserved command 4	     */#define MSCP_OP_SPEC5	0x2c	/* Manufacturing reserved command 5	     */#define MSCP_OP_SPEC6	0x2d	/* Manufacturing reserved command 6	     */#define MSCP_OP_SPEC7	0x2e	/* Manufacturing reserved command 7	     */#define MSCP_OP_SPEC8	0x2f	/* Manufacturing reserved command 8	     */#define MSCP_OP_STCON	0x04	/* SET CONTROLLER CHARACTERISTICS	     */#define MSCP_OP_STUNT	0x0a	/* SET UNIT CHARACTERISTICS 		     */#define MSCP_OP_WRITE	0x22	/* WRITE 				     */#define MSCP_OP_WRITM	0x24	/* WRITE TAPE MARK (T)			     */#define MSCP_OP_END	0x80	/* End message flag (endmsg == ctlmsg | END) */#define MSCP_OP_SEREX	0x07	/* Serious exception end message	     */#define MSCP_OP_AVATN	0x40	/* AVAILABLE attention message		     */#define MSCP_OP_DUPUN	0x41	/* DUPLICATE UNIT NUMBER attention message   */#define MSCP_OP_ACPTH	0x42	/* ACCESS PATH attention message	     */#define MSCP_OP_RWATN	0x43	/* REWIND attention message (T)		     *//* MSCP command modifiers (from MSCP specification Table A-2) *//* * Generic command modifiers */#define MSCP_MD_COMP	0x4000	/* Compare				     */#define MSCP_MD_EXPRS	0x8000	/* Express request			     */#define MSCP_MD_CLSEX	0x2000	/* Clear serious exception		     */#define MSCP_MD_CDATL	0x1000	/* Clear cache data lost exception	     */#define MSCP_MD_ERROR	0x1000	/* Force error				     */#define MSCP_MD_SCCHH	0x0800	/* Suppress caching (high speed)	     */#define MSCP_MD_SCCHL	0x0400	/* Suppress caching (low speed)		     */#define MSCP_MD_SECOR	0x0200	/* Suppress error correction		     */#define MSCP_MD_SEREC	0x0100	/* Suppress error recovery		     */#define MSCP_MD_WBKNV	0x0040	/* Write-back non volatile		     */#define MSCP_MD_WBKVL	0x0020	/* Write-back volatile memory		     */#define MSCP_MD_UNLOD	0x0010	/* Unload				     */#define MSCP_MD_REVRS	0x0008	/* Reverse				     */#define MSCP_MD_IMMED	0x0040	/* Immediate Completion			     *//* AVAILABLE command modifiers */#define MSCP_MD_DSOLV	0x0004	/* Dissolve shadow set			     */#define MSCP_MD_ALLCD	0x0002	/* All class drivers			     */#define MSCP_MD_SPNDW	0x0001	/* Spin-down				     *//* FLUSH command modifiers */#define MSCP_MD_VOLTL	0x0002	/* Volatile only			     */#define MSCP_MD_FLENU	0x0001	/* Flush entire unit			     *//* GET UNIT STATUS command modifiers */#define MSCP_MD_NXUNT	0x0001	/* Next unit				     *//* ONLINE command modifiers */#define MSCP_MD_IGNMF	0x0002	/* Ignore media format			     */#define MSCP_MD_RIP	0x0001	/* Allow self destruction		     *//* ONLINE and SET UNIT CHARACTERISTICS command modifiers */#define MSCP_MD_EXCAC	0x0020	/* Exclusive access			     */#define MSCP_MD_SHDSP	0x0010	/* Shadow unit specified		     */#define MSCP_MD_CLWBL	0x0008	/* Clear write-back data lost		     */#define MSCP_MD_STWRP	0x0004	/* Enable set write protect		     *//* REPLACE command modifiers */#define MSCP_MD_PRIMR	0x0001	/* Primary replacement block		     *//* REPOSITION command modifiers */#define MSCP_MD_DLEOT	0x0080	/* Detect LEOT				     */#define MSCP_MD_OBJCT	0x0004	/* Object count				     */#define MSCP_MD_REWND	0x0002	/* Rewind				     *//* SET CONTROLLER CHARACTERISTICS command modifiers */#define MSCP_MD_FKC	0x0001	/* Flush encryption/decryption key cache *//* WRITE command modifiers */#define MSCP_MD_ENRWR	0x0010	/* Enable Re-Write Error Recovery	     *//* MSCP End message flags (from MSCP specification Table A-3) */#define MSCP_EF_BBLKR	0x0080	/* Bad block reported (disks only)	     */#define MSCP_EF_BBLKU	0x0040	/* Bad block unreported (disks only)	     */#define MSCP_EF_ERLOG	0x0020	/* Error log generated			     */#define MSCP_EF_SEREX	0x0010	/* Serious Exception (tapes only)	     */#define MSCP_EF_EOT	0x0008	/* EOT encountered (tapes only)		     */#define MSCP_EF_PLS	0x0004	/* Position lost (tapes only)		     */#define MSCP_EF_DLS	0x0002	/* Cache Data Lost(tapes only)		     *//* MSCP Controller flags (from MSCP specification Table A-4) */#define MSCP_CF_REPLC	0x8000	/* Controller initiated BBR		     */#define MSCP_CF_EDCRP	0x4000	/* Data encrypt/decrypt			     */#define MSCP_CF_ATTN	0x0080	/* Enable attention messages		     */#define MSCP_CF_MISC	0x0040	/* Enable miscellaneous error log msgs	     */#define MSCP_CF_OTHER	0x0020	/* Enable other host's error log msgs	     */#define MSCP_CF_THIS	0x0010	/* Enable this host's error log msgs	     */#define MSCP_CF_MLTHS	0x0004	/* Multi-host support			     */#define MSCP_CF_SHADW	0x0002	/* Shadowing				     */#define MSCP_CF_576	0x0001	/* 576 byte sectors			     *//* MSCP unit flags (from MSCP specification Table A-5). */#define MSCP_UF_REPLC	0x8000	/* Controller initiated BBR		     */#define MSCP_UF_CACH	0x8000	/* Set if caching is there		     */#define MSCP_UF_SSMEM	0x4000	/* Shadow set member			     */#define MSCP_UF_WRTPH	0x2000	/* Write protect (hardware)		     */#define MSCP_UF_WRTPS	0x1000	/* Write protect (software)		     */#define MSCP_UF_SCCHH	0x0800	/* Suppress caching 			     */#define MSCP_UF_EXACC	0x0400	/* Exclusive access			     */#define MSCP_UF_SSMST	0X0200	/* Shadow set master			     */#define MSCP_UF_LOADR	0X0200	/* Media loader present (T)		     */#define MSCP_UF_WRTPD	0x0100	/* Write protect (data safety)		     */#define MSCP_UF_RMVBL	0x0080	/* Removable Media			     */#define MSCP_UF_WBKNV	0x0040	/* Write-back (non-volatile)		     */#define MSCP_UF_VSMSU	0x0020	/* Variable Speed Mode Suppression	     */#define MSCP_UF_VARSP	0x0010	/* Variable Speed Unit			     */#define MSCP_UF_EWRER	0x0008	/* Enhanced Write Error Recovery 	     */#define MSCP_UF_576	0x0004	/* 576 byte sectors			     */#define MSCP_UF_CACFL	0x0004	/* Write-back cache has been flushed	     */#define MSCP_UF_CMPWR	0x0002	/* Compare writes			     */#define MSCP_UF_CMPRD	0x0001	/* Compare reads			     *//* MSCP command, end, and attention message offsets * (from MSCP specification tables A-6 and A-7). */typedef union _mscp {    /* Generic command message offsets

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -