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

📄 cippd.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
📖 第 1 页 / 共 2 页
字号:
/* @(#)cippd.h	4.1  (ULTRIX)        7/2/90  *//************************************************************************ *                                                                      * *                      Copyright (c) 1988 - 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 *		Computer Interconnect Port-to-Port Driver * *   Abstract:	This module contains Computer Interconnect Port-to-Port *		Driver(  CI PPD ) constants, data structure definitions, *		message definitions, and macros. * *   Creator:	Todd M. Katz	Creation Date:	April 22, 1985 * *   Modification History: * *   04-Jan-1989	Todd M. Katz		TMK0006 *	1. Add the message definition CIPPDH. *	2. Add padding when it is necessary to keep longword alignment.  While *	   some space is wasted such alignment is essential for ports of SCA to *	   hardware platforms which require field alignment and access type to *	   match( ie- only longword aligned entities may be longword accessed). *	3. Move the console logging format code CF_NONE to ../vaxscs/scs.h. * *   22-Sep-1988	Todd M. Katz		TMK0005 *	1. Add SE_BADPPDMTYPE( Unsupported CI PPD message type ) and update *	   SE_MAX_PPD appropriately. *	2. Add RE_BADPPDMTYPE( Unsupported CI PPD message type ). *	3. Add CF_RPORT( Remote port station address logged ) as a console *	   formatting code. * *   17-Aug-1988	Todd M. Katz		TMK0004 *	 1. SCA event codes have been completely revised.  CI PPD path crash *	    codes are now defined as error events( RHOST, PPDPROTOCOL ).  CI *	    PPD local port crash codes are now defined as severe error events( *	    NOPATH, BROKEN ).  The path and local port crash severity modifiers *	    are applied by cippd_crash_pb() and individual port driver local *	    port crash routines respectively. *	 2. Redefine the following informational events( ES_I ) as warning *	    events( ES_W ): TALKUP, BADSWTYPE. *	 3. Redefine the following informational events( ES_I ) as remote error *	    events( ES_RE ): DBCONFLICT, RERROR. * 	 4. Redefine the following informational events( ES_I ) as error *	    events( ES_E ): TALKDOWN, ALLOCFAIL, NORETRIES. *	 5. Rename E_PPDPROTOCOL -> E_RESTARTPATH and  *	    SE_BROKEN -> SE_PPDSANITY. *	 6. Define the informational event: NEW_PATH, the warning events: *	    ABORT_PATH and FAIL_PATH, the error event: PD, and the severe error *	    events: PD and PPDPROTOCOL. *	 7. E_MAX_PPD( formerly PC_MAX_PPDPC ) defines the maximum CI PPD error *	    event code and SE_MAX_PPD defines the maximum CI PPD severe error *	    code. *	 8. Delete IE_BADPORTADDR, LPC_POWER, LPC_POWERUP, CF_BADPORTNUM, *	    CF_PATH, and CF_SYSTEM.  Add CF_SYSAPNAME and CF_LPORTNAME. *	 9. Add Log_badportnum as a CI PPD mandatory PD function.  Also, delete *	    Log_packet and Map_reason as PD functions for the CI PPD. *	10. Add macros Elcippdnewpath() and Elcippdscommon() and delete macro *	    Elcippdrswtype().  Add shorthand notations Burst, Contact, and *	    Ppddgs; and, rename the shorthand notation Errorlogopt -> Elogopt. *	11. Define constants for the types of events( SYSTEM_EVENT, PATH_EVENT, *	    LPORT_EVENT, RPORT_EVENT ). *	12. Update macro Pinterval() to obtain port polling frequency and *	    burst sizes from CI PPD specific PCCB fields instead of from CI PPD *	    configuration variables.  This allows these parameters to vary on *	    a per local port basis( actually they vary on a per port driver *	    basis ). *	13. Moved definition of structures CLFTAB and CLSTAB to *	    ../vaxscs/sca.h. * *   17-May-1988	Todd M. Katz		TMK0003 *	1. Add the definitions PPDPANIC_REQPC, PPDPANIC_UNKSLC, IE_ALLOCFAIL, *	   IE_NORETRIES, IE_BADSWTYPE, CF_PATH, and CF_SWTYPE; and, the *	   shorthand notations Aflogmap, Slib, and Tmologmap while removing the *	   shorthand notations Dbcoll, Lpstatus, Ptdlogmap, Pstatus, and *	   Rport_status.  Also add the Common System Level Logging Options. *	2. Create new macros Test_map(), Clear_map(), and Set_map(); rename the *	   old macros to Test_lpinfomap(), Clear_lpinfomap(), and *	   Set_lpinfomap() respectively; and, change Mapbyte() to be a more *	   generic macro. *	3. Update macros Elcippdprotocol(), and Elcippddbcoll(); remove macro *	   Elcippdrswtype(); rename macro Elcippdpacket() -> Elcippdspacket(); *	   and add macros Elcippdppacket(), Elcippdpcommon(), Elcippdscommon(), *	   and Elcippdsysapnam() to reflect changes in CI PPD error logging *	   formats. *	4. Define the CI PPD data structures CIPPD_SLIB and cippd_slibq used *	   for keeping track of the logging of common system level conditions *	   on a per system basis. * *   11-Apr-1988	Todd M. Katz		TMK0002 *	Add macros Pccb_fork(), Pccb_fork_done(), Pb_fork(), and  *	Pb_fork_done(). * *   08-Jan-1988	Todd M. Katz		TMK0001 *	Formated module, revised comments, increased robustness, made CI *	PPD and GVP completely independent from underlying port drivers, and *	added SMP support. *//* CI PPD Constants. */					/* CI PPD Configuration Events	     */#define	CNFE_START_REC	        0	/* CI PPD START datagram received    */#define	CNFE_STACK_REC	        1	/* CI PPD STACK datagram received    */#define	CNFE_ACK_REC	        2	/* CI PPD ACK datagram received	     */#define	CNFE_ID_REC	        3 	/* ID received			     */#define	CNFE_SCSMSG_REC	        4	/* SCS CONN_REQ message received     */#define	CNFE_ERROR_REC	        5	/* CI PPD error datagram received    */#define	CNFE_STOP_REC	        6	/* CI PPD node stop datagram received*/#define	CNFE_TIMEOUT	        7	/* CI PPD timeout occurred	     */#define	CNFE_PATH_FAIL		8	/* CI PPD path failed		     */#define	CNFE_PROC_ERROR		9	/* CI PPD FSM error detected	     */#define	CNFE_MAX_EVENT	CNFE_PROC_ERROR	/* CI PPD maximum event number	     */					/* CI PPD Panic Strings		     */#define	PPDPANIC_BPATH	"ci ppd\t- removing unremovable path\n"#define	PPDPANIC_EVENT	"ci ppd\t- unknown finite state machine event\n"#define	PPDPANIC_FSM  "ci ppd\t- invalid state/event combination encountered\n"#define	PPDPANIC_NOPATH	"ci ppd\t- unretrievable path\n"#define	PPDPANIC_PBFB	"ci ppd\t- invalid pb fork block\n"#define	PPDPANIC_PCCBFB	"ci ppd\t- invalid pccb fork block\n"#define	PPDPANIC_PCR	"ci ppd\t- invalid/unknown path crash reason\n"#define	PPDPANIC_POPEN	"ci ppd\t- path is already enabled\n"#define	PPDPANIC_PSTATE	"ci ppd\t- invalid path state\n"#define	PPDPANIC_REQPC	"ci ppd\t- panic requested on all path failures\n"#define	PPDPANIC_TIMER	"ci ppd\t- broken traffic interval timer\n"#define	PPDPANIC_UNKCF	"ci ppd\t- unknown console logging formatting code\n"#define	PPDPANIC_UNKCOD	"ci ppd\t- unknown/invalid event code\n"#define	PPDPANIC_UNKSLC	"ci ppd\t- unknown/invalid system level event\n"					/* CI PPD Set Circuit Settings	     */#define	SET_VC_CLOSE		0	/* Close Set CI PPD virtual circuit  */#define	SET_VC_OPEN		1	/* Open CI PPD virtual circuit	     */					/* Types of CI PPD Messages	     */#define	START		 	0	/* START virtual circuit datagram    */#define	STACK			1	/* ACKnowledge START datagram	     */#define	ACK			2	/* ACKnowledge STACK datagram	     */					/* SCSDG( 3 ) is defined by SCS	     */					/* SCSMSG( 4 ) is defined by SCS     */#define	ERROR			5	/* ERROR datagram		     */#define	STOP			6	/* STOP datagram		     */					/* Console Logging Format Codes	     */				 	/* 0 - No optional information logged*/#define	CF_DBCONFLICT		1	/* Special db conflict info logged   */#define	CF_SWTYPE		2	/* Special rem system sw type logged */#define	CF_SYSAPNAME		3	/* Name of local SYSAP		     */#define	CF_LPORTNAME		4	/* Name of local port		     */#define	CF_RPORT		5	/* Remote port station address logged*/					/* Types of CI PPD Events	     */#define	SYSTEM_EVENT		0	/* System specific event	     */#define	PATH_EVENT		1	/* Path specific event		     */#define	RPORT_EVENT		2	/* Remote port specific event	     */#define	LPORT_EVENT		3	/* Local port specific event	     */					/* CI PPD Informational Event Codes  *//* CI PPD informational events are always path specific.  There are currently * no remote port, local port, or system specific informational events. * cippd_conlog(), cippd_log_path(), cippd_cli[], and cippd_cltab[][] must be * updated to reflect new additions. * * The following CI PPD informational events are path specific but may NOT have * the path crash severity modifier( ESM_PC ) applied: * *	NEW_PATH * * Path specific information is always displayed by default during console * logging of path specific CI PPD informational events. * * NOTE: Path specific CI PPD informational events may never be candidates for *	 application of the path crash severity modifier( ESM_PC ). * * NOTE: When updating cippd_cli[] with a new CI PPD warning event bear in mind *	 the information displayed by default when choosing an appropriate *	 console formatting code( CF ). */#define	I_NEW_PATH     ( PPDI | 0x01 )	/* PPD established new path	     */					/* CI PPD Warning Event Codes	     *//* CI PPD warning events are either path or system specific.  There are * currently no local or remote port specific CI PPD warning events. * cippd_conlog(), cippd_clw[], and cippd_cltab[][] must be updated to reflect * new additions.  cippd_log_path() must be updated when a new path specific CI * PPD warning event is added.  cippd_log_sys() must be updated when a new * system specific CI PPD warning event is added.  cippd_csyslev() also * requires updating when the new addition is also a common system level error * event. * * The following CI PPD warnings events are system specific and are also common * system level events: * * 	TALKUP, BADSWTYPE * * The following CI PPD wasrning events are path specific but may NOT have the * path crash severity modifier( ESM_PC ) applied: * *	ABORT_PATH, FAIL_PATH * * Path specific information is always displayed by default during console * logging of path specific CI PPD warning events.  The remote system name is * always displayed by default during console logging of system specific CI PPD * warning events. * * NOTE: Path specific CI PPD warning events may never be candidates for *	 application of the path crash severity modifier( ESM_PC ).  System *	 specific CI PPD warning events are ( currently ) always also common *	 system level events. * * NOTE: When updating cippd_clw[] with a new CI PPD warning event bear in mind *	 the information displayed by default when choosing an appropriate *	 console formatting code( CF ). */#define	W_TALKUP       ( PPDW | 0x01 )	/* PPD attempting to talk up	     */#define	W_BADSWTYPE   ( PPDAW | 0x02 )	/* Unsupported remote system sw type */#define	W_ABORT_PATH   ( PPDW | 0x03 )	/* Lport fail aborted path estabment */#define	W_FAIL_PATH    ( PPDW | 0x04 )	/* Local port failure terminated path*/					/* CI PPD Remote Error Event Codes   *//* CI PPD remote error events are either system or remote port specific.  There * are currently no local port or path specific CI PPD remote error events. * cippd_conlog(), cippd_clre[], and cippd_cltab[][] must be updated to reflect * new additions.  Currently, cippd_log_path() must be updated when a new * remote port specific CI PPD remote error event is added.  cippd_log_sys() * must be updated when a new system specific CI PPD remote error event is * added.  cippd_csyslev() also requires updating when the new addition is also * a common system level remote error event. * * The following CI PPD error events are remote port specific: * *	DBCONFLICT, BADPPDMTYPE * * The following CI PPD remote error events are system specific but are NOT * common system level events: * * 	RERROR * * The remote system name is always displayed by default during console logging * of system specific CI PPD remote error events. * * NOTE: System specific CI PPD remote error events are ( currently ) never *	 also common system level events. * * NOTE: When updating cippd_clre[] with a new CI PPD remote error event bear *	 in mind the information displayed by default when choosing an *	 appropriate console formatting code( CF ). */#define	RE_DBCONFLICT  ( PPDRE | 0x01 )	/* Configuration db conflict occurred*/#define	RE_RERROR      ( PPDRE | 0x02 )	/* Remote system reporting error     */#define	RE_BADPPDMTYPE ( PPDRE | 0x03 )	/* Unsupported CI PPD message type   */					/* CI PPD Error Event Codes	     *//* CI PPD error events are either path or system specific.  There are currently * no local or remote port specific CI PPD error events.  cippd_conlog(), * cippd_cle[], cippd_cltab[][], and cippd_map_pc[] must be updated to reflect * new additions.  cippd_log_path() must be updated when a new path specific CI * PPD error event is added.  cippd_log_sys() must be updated when a new system * specific CI PPD error event is added.  cippd_csyslev() also requires * updating when the new addition is also a common system level error event. * * The following CI PPD error events are system specific and are also common * system level events: * *	TALKDOWN * * The following CI PPD error events are path specific and may have the path * crash severity modifier( ESM_PC ) applied: * *	PD, RHOST, RRESTARTPATH * * The following CI PPD error events are path specific but may NOT have the * path crash severity modifier( ESM_PC ) applied: * *	ALLOCFAIL, NORETRIES * * Path specific information is always displayed by default during console * logging of path specific CI PPD error events.  The remote system name is * always displayed by default during console logging of system specific CI PPD * error events. * * NOTE: Not all path specific CI PPD error events are candidates for *	 application of the path crash severity modifier( ESM_PC ).  System *	 specific CI PPD error events are ( currently ) always also common *	 system level events. * * NOTE: Update cippd_map_pc[] with a NULL entry whenever a new CI PPD error *	 event is system specific and can never have the path crash severity *	 modifier( ESM_PC ) applied; or, is path specific but is not a *	 candidate for application of this severity modifier. * * NOTE: When updating cippd_cle[] with a new CI PPD error event bear in mind *	 the information displayed by default when choosing an appropriate

⌨️ 快捷键说明

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