%IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX HFLOAT REAL_PART HFLOAT IMAGINARY_PART END RECORD %LET %BASIC$H_FLOATING_COMPLEX_DECL = 1 %END %IF ! ! LAYOUT OF THE HEADER BLOCK OF THE SYSTEM DUMP FILE ! (WHICH IS THE FIRST DISK BLOCK OF SYS$SYSTEM:SYSDUMP.DMP) ! DECLARE LONG CONSTANT DMP$M_SELECT_DUMPSTYLE = x'00000001' DECLARE LONG CONSTANT DMP$M_FULL_MESSAGES = x'00000002' DECLARE LONG CONSTANT DMP$M_DO_DOSD = x'00000004' DECLARE LONG CONSTANT DMP$M_COMPRESSED_DUMP = x'00000008' DECLARE LONG CONSTANT DMP$M_IGN_DOSD_VOLLABEL_CHK = x'00000010' DECLARE LONG CONSTANT DMP$M_DOSD_IGNORE_SIZE_CHK = x'00000200' DECLARE LONG CONSTANT DMP$M_NO_DOTS = x'00000400' DECLARE LONG CONSTANT DMP$M_BUGCHECK_SQUARED = x'00000800' DECLARE LONG CONSTANT DMP$M_DOSD_7K_VALIDATE_PATHS = x'00008000' DECLARE LONG CONSTANT DMP$M_DOSD_7K = x'0FFF0000' DECLARE LONG CONSTANT DMP$M_OLDDUMP = x'00000001' DECLARE LONG CONSTANT DMP$M_EMPTY = x'00000002' DECLARE LONG CONSTANT DMP$M_HDRBLK = x'00000004' DECLARE LONG CONSTANT DMP$M_ERRLOG = x'00000008' DECLARE LONG CONSTANT DMP$M_MEMORY = x'00000010' DECLARE LONG CONSTANT DMP$M_SPT = x'00000020' DECLARE LONG CONSTANT DMP$M_WRITECOMP = x'00000040' DECLARE LONG CONSTANT DMP$M_ERRLOGCOMP = x'00000080' DECLARE LONG CONSTANT DMP$M_DUMP_STYLE = x'00000F00' DECLARE LONG CONSTANT DMP$M_DUMP_COPIED = x'00001000' DECLARE LONG CONSTANT DMP$M_DUMP_COPING = x'00002000' DECLARE LONG CONSTANT DMP$M_CLUE_SNAPDONE = x'00004000' DECLARE LONG CONSTANT DMP$M_DUMP_IN_USE = x'00008000' DECLARE LONG CONSTANT DMP$K_FULL_DUMP = 0 ! FULL PHYSICAL MEMORY DUMP ( OLD WAY ) DECLARE LONG CONSTANT DMP$K_SUBSET_DUMP = 1 ! SUBSETTED DUMP FILE ( NOT ALL INFO SAVED ) DECLARE LONG CONSTANT DMP$C_DUMP_LUMP = 127 ! NUMBER OF SPTES REQUIRED FOR SUBSET DUMPS DECLARE LONG CONSTANT DMP$M_COMPRESSED = x'00000001' DECLARE LONG CONSTANT DMP$M_NOTSAVED = x'00000002' DECLARE LONG CONSTANT DMP$M_VAXDUMP = x'00000004' DECLARE LONG CONSTANT DMP$M_ALPHADUMP = x'00000008' DECLARE LONG CONSTANT DMP$M_BITS_4_7 = x'000000F0' DECLARE LONG CONSTANT DMP$C_MEMDSCSIZ = 8 ! SIZE OF ONE MEMORY DESCRIPTOR DECLARE LONG CONSTANT DMP$C_NMEMDSC = 8 ! NUMBER OF MEMORY DESCRIPTORS DECLARE LONG CONSTANT DMP$K_DUMPVER = 1328 ! DUMP FILE VERSION NUMBER DECLARE LONG CONSTANT DMP$K_LENGTH = 132 ! LENGTH OF FILE HEADER DECLARE LONG CONSTANT DMP$C_LENGTH = 132 ! LENGTH OF FILE HEADER DECLARE LONG CONSTANT DMP$S_DMPDEF = 136 record DMPDEF group DMP$R_DUMPCONTROL_OVERLAY ! variant case LONG DMP$L_ERRSEQ ! LAST ERROR LOG SEQ. NUMBER case group DMP$R_DUMP_BITS ! Differentiate between full and subset dumps ! To keep the risc and cisc platforms in step ! Requests for Dump Off System Disk behaviour ! Over-ride volume label check on DOSD device ! Allow > 2Meg full dumps ! Disallow printing them ! Prevent recursive bugchecks ! For Neon systems only, validate both paths to system disk ! For Neon systems only dump device 1 -> FFF LONG SELECT_DUMPSTYLE_bits ! COMMENT ADDED BY SDL - SELECT_DUMPSTYLE_bits contains bits SELECT_DUMPSTYLE & ! through filler end group DMP$R_DUMP_BITS end variant end group DMP$R_DUMPCONTROL_OVERLAY group DMP$R_FLAGS_OVERLAY variant case group DMP$R_FLAGS_FIELDS WORD DMP$W_FLAGS ! DUMP FILE FLAGS end group DMP$R_FLAGS_FIELDS case group DMP$R_FLAGS_BITS ! SET IF DUMP ALREADY ANALYZED ! SET IF DUMP HAS NO DATA BLOCKS ! SET IF ERROR WRITING FIRST BLOCK OF DUMP HEADER ! SET IF ERROR WRITING BLOCKS 2-3 OF DUMP HEADER ! SET IF ERROR WRITING MEMORY CONTENTS TO DUMP FILE ! SET IF ERROR WRITING SYSTEM PAGE TABLE BLOCKS TO DUMP FILE ! SET IF DUMP WRITE WAS COMPLETED ! SET IF HEADER/ERROR LOGS WRITE WAS COMPLETED ! SET TO DIFFERENTIATE BETWEEN DIFFERENT STYLE DUMPS ! Set if SDA has successfully copied this dump ! Set if this dump is being copied ! Set if CLUE has taken a snapshot of this dump ! Set if this dump is being written WORD OLDDUMP_bits ! COMMENT ADDED BY SDL - OLDDUMP_bits contains bits OLDDUMP through DUMP_IN_USE end group DMP$R_FLAGS_BITS ! DUMP_STYLE BITFIELD SETTINGS end variant end group DMP$R_FLAGS_OVERLAY group DMP$R_FLAGS2_OVERLAY variant case group DMP$R_FLAGS2_FIELDS BYTE DMP$B_FLAGS2 ! More dump file flags end group DMP$R_FLAGS2_FIELDS case group DMP$R_FLAGS2_BITS ! SET IF DUMP DATA IS COMPRESSED ! Set by SYSINIT if SAVEDUMP not set and dump in PAGEFILE.SYS ! Never set ! Always set ! SPARE BYTE COMPRESSED_bits ! COMMENT ADDED BY SDL - COMPRESSED_bits contains bits COMPRESSED through BITS_4_7 end group DMP$R_FLAGS2_BITS end variant end group DMP$R_FLAGS2_OVERLAY BYTE DMP$B_ERLBUFPAGES ! PAGES PER ERL BUFFER; IF ZERO, CORRECT VALUE IS ONE LONG DMP$L_SBR ! SYSTEM BASE REGISTER LONG DMP$L_SLR ! SYSTEM LENGTH REGISTER LONG DMP$L_KSP ! KERNEL STACK POINTER LONG DMP$L_ESP ! EXECUTIVE STACK POINTER LONG DMP$L_SSP ! SUPERVISOR STACK POINTER LONG DMP$L_USP ! USER STACK POINTER LONG DMP$L_ISP ! INTERRUPT STACK POINTER group DMP$R_MEMORY_DESC variant case LONG DMP$L_MEMORY_DESC_SPACE ( 1 to 16 ) ! RESERVE SPACE FOR 8 MEMORY DESCRIPTORS (2 LONGWORDS EACH) case group DMP$R_MEMDSC_OVERLAY variant case LONG DMP$L_MEMDSC ! 8 MEMORY DESCRIPTORS case group DMP$R_MEMDSC_BITS ! NUMBER OF PAGES IN MEMORY ! TR NUMBER FOR MEMORY ! BASE PFN FOR MEMORY BYTE PAGCNT_bits ( 8 ) ! COMMENT ADDED BY SDL - PAGCNT_bits contains bits PAGCNT through BASEPFN end group DMP$R_MEMDSC_BITS end variant end group DMP$R_MEMDSC_OVERLAY end variant end group DMP$R_MEMORY_DESC LONG DMP$L_SYSVER ! SYSTEM VERSION NUMBER LONG DMP$L_CHECK ! ONES COMPLEMENT OF SYSVER WORD DMP$W_DUMPVER ! DUMP FILE VERSION NUMBER WORD DMP$W_ERLBUFCNT ! NUMBER OF ERROR LOG BUFFERS WORD DMP$W_ERLBUFHEAD ! RING BUFFER HEAD INDEX WORD DMP$W_ERLBUFTAIL ! RING BUFFER TAIL INDEX LONG DMP$L_ERRSTATUS ! LAST ERROR STATUS FROM DUMP WRITE LONG DMP$L_DUMPERRS ! COUNT OF ERRORS DURING DUMP WRITE LONG DMP$L_MEMPAGCNT ! COUNT OF MEMORY PAGES DUMPED LONG DMP$L_SAVEPRCCNT ! COUNT OF SAVED PROCESSES ( SUBSET DUMP ) LONG DMP$L_CRASHERL ! SYSTEM CRASH ERR LOG ENTRY end record DMPDEF