/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:37:52 by OpenVMS SDL EV3-3 */ /* Source: 14-JUL-2009 20:09:00 $1$DGA7274:[LIB_H.SRC]DMPDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $DMPDEF ***/ #ifndef __DMPDEF_LOADED #define __DMPDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif #include /* */ /* The invocation context block is defined in STARLET, and may materialize */ /* as a typedef or as a struct, depending on whether or not the user of this */ /* module has defined __NEW_STARLET. However, the DMP_IMGDMP_ICB structure */ /* in which it is embedded is declared here as a typedef, meaning that SDL */ /* will generate a reference to the typedef name INVO_CONTEXT_BLK. If */ /* __NEW_STARLET is not enabled, we define the missing INVO_CONTEXT_BLK */ /* to be the equivalent struct reference. */ /* */ #include #ifndef __NEW_STARLET typedef struct invo_context_blk INVO_CONTEXT_BLK; #endif /* */ /* LAYOUT OF THE HEADER BLOCK OF THE SYSTEM DUMP FILE */ /* (WHICH IS THE FIRST TWO DISK BLOCKS OF SYS$SYSTEM:SYSDUMP.DMP) */ /* */ #define DMP$M_OLDDUMP 0x1 #define DMP$M_EMPTY 0x2 #define DMP$M_HDRBLK 0x4 #define DMP$M_ERRLOG 0x8 #define DMP$M_MEMORY 0x10 #define DMP$M_STUB 0x20 #define DMP$M_WRITECOMP 0x40 #define DMP$M_ERRLOGCOMP 0x80 #define DMP$M_TRAP_VALID 0x100 #define DMP$M_ORIGINAL 0x200 #define DMP$M_COLLECT 0x400 #define DMP$M_PARTIAL 0x800 #define DMP$M_BITS_12_14 0x7000 #define DMP$M_I64DUMP 0x8000 #define DMP$M_COMPRESSED 0x10000 #define DMP$M_NOTSAVED 0x20000 #define DMP$M_VAXDUMP 0x40000 #define DMP$M_ALPHADUMP 0x80000 #define DMP$M_BAD4GBDUMP 0x100000 #define DMP$M_MODIFIED 0x200000 #define DMP$M_SHMEMDUMP 0x400000 #define DMP$M_PROCDUMP 0x800000 #define DMP$M_BITS_24_28 0x1F000000 #define DMP$M_EXCLDATA 0x20000000 #define DMP$M_FEN 0xC0000000 #define DMP$M_FEN_MFL 1 #define DMP$M_FEN_MFH 2 #define DMP$M_DUMPSTYLE 0x1 #define DMP$M_FULL_MESSAGES 0x2 #define DMP$M_DO_DOSD 0x4 #define DMP$M_COMPRESS 0x8 #define DMP$M_SKIP_SHARED 0x10 #define DMP$M_KEY_ONLY 0x20 #define DMP$M_BITS_6_9 0x3C0 #define DMP$M_SUPER_VERBOSE 0x400 #define DMP$M_SKIP_SYSDISK 0x800 #define DMP$M_DO_GLXFATAL 0x1000 #define DMP$M_DISABLE_GLXRMTPFN 0x2000 #define DMP$M_ALLOW_HBVS_DUMPDEV 0x4000 #define DMP$M_DATACHECK 0x8000 #define DMP$M_SKIP_INIT 0x10000 #define DMP$M_BITS_17_23 0xFE0000 #define DMP$M_MEM_STACK_PAGES 0xF000000 #define DMP$M_REG_STACK_PAGES 0xF0000000 #define DMP$K_DEFAULT_MEM_STACK_PAGES 1 /* Default stack size for Alpha */ #define DMP$K_DUMPVER 2561 /* DUMP FILE VERSION NUMBER */ #define DMP$K_PROCVER 769 /* PROCESS DUMP FILE VERSION NUMBER */ #define DMP$K_SHMEMVER 769 /* SHARED MEMORY DUMP FILE VERSION NUMBER */ #define DMP$K_LENGTH 1024 /* Length of dump header */ typedef struct _dmp { unsigned int dmp$l_errseq; /* LAST ERROR LOG SEQ. NUMBER */ __union { unsigned int dmp$l_flags; /* DUMP FILE FLAGS **** KEEP AT OFFSET 4. **** */ __struct { unsigned dmp$v_olddump : 1; /* SET IF DUMP ALREADY ANALYZED */ unsigned dmp$v_empty : 1; /* SET IF DUMP HAS NO DATA BLOCKS */ unsigned dmp$v_hdrblk : 1; /* SET IF ERROR WRITING DUMP HEADER */ unsigned dmp$v_errlog : 1; /* SET IF ERROR WRITING ERROR LOGS TO DUMP FILE */ unsigned dmp$v_memory : 1; /* SET IF ERROR WRITING MEMORY CONTENTS TO DUMP FILE */ unsigned dmp$v_stub : 1; /* SET IF SYS$ERRLOG.DMP BEING WRITTEN */ unsigned dmp$v_writecomp : 1; /* SET IF DUMP WRITE WAS COMPLETED */ unsigned dmp$v_errlogcomp : 1; /* SET IF HEADER/ERROR LOGS WRITE WAS COMPLETED */ unsigned dmp$v_trap_valid : 1; /* Set if a trap happened */ unsigned dmp$v_original : 1; /* Set by BUGCHECK, cleared by SDA COPY */ unsigned dmp$v_collect : 1; /* Set if a COLLECT/SAVE file */ unsigned dmp$v_partial : 1; /* Set if a partial dump not including error logs, PT space, etc, */ unsigned dmp$v_bits_12_14 : 3; /* Spare to keep bits in old FLAGS2 in matching positions */ unsigned dmp$v_i64dump : 1; /* Set for IA64 dumps **** KEEP AT BIT 15. **** */ unsigned dmp$v_compressed : 1; /* SET IF DUMP DATA IS COMPRESSED (in this copy) */ unsigned dmp$v_notsaved : 1; /* Set by SYSINIT if SAVEDUMP not set and dump in PAGEFILE.SYS */ unsigned dmp$v_vaxdump : 1; /* Never set **** KEEP AT BIT 18. **** */ unsigned dmp$v_alphadump : 1; /* Set for Alpha dumps **** KEEP AT BIT 19. **** */ unsigned dmp$v_bad4gbdump : 1; /* Set if memory above 4GB written directly (no buffer pages available) */ unsigned dmp$v_modified : 1; /* Dump has been modified with /OVERRIDE */ unsigned dmp$v_shmemdump : 1; /* Galaxy Shared Memory Dump **** KEEP AT BIT 22. **** */ unsigned dmp$v_procdump : 1; /* Process dump **** KEEP AT BIT 23. **** */ unsigned dmp$v_bits_24_28 : 5; /* Spare */ /* Remaining bits are specific to process dumps */ unsigned dmp$v_excldata : 1; /* Set if data wasn't saved because of insufficient privilege */ unsigned dmp$v_fen : 2; /* Set if FEN was set in the process */ /* (Only 1 bit used on Alpha, both bits on IPF) */ } dmp$r_flags_bits; } dmp$r_flags_overlay; __union { unsigned int dmp$l_dumpstyle; /* Setting of SYSGEN parameter DUMPSTYLE when dump written */ __struct { /* (handcrafted value for process dumps) */ unsigned dmp$v_dumpstyle : 1; /* Full vs. Selective */ unsigned dmp$v_full_messages : 1; /* Minimal console output vs. Verbose */ unsigned dmp$v_do_dosd : 1; /* System disk vs. DOSD disk */ unsigned dmp$v_compress : 1; /* Raw vs. Compressed (when writing the original dump) */ unsigned dmp$v_skip_shared : 1; /* Dump shared memory vs. Don't dump it */ unsigned dmp$v_key_only : 1; /* Only dump system space, key processes, key global pages */ unsigned dmp$v_bits_6_9 : 4; /* Spare bits for future documented features */ unsigned dmp$v_super_verbose : 1; /* Diagnostics */ unsigned dmp$v_skip_sysdisk : 1; /* Don't touch system disk */ unsigned dmp$v_do_glxfatal : 1; /* Force Galaxy-wide crash */ unsigned dmp$v_disable_glxrmtpfn : 1; /* Disable Galaxy remote PFN checks */ unsigned dmp$v_allow_hbvs_dumpdev : 1; /* Allow DOSD to be shadow set member */ unsigned dmp$v_datacheck : 1; /* Do a datacheck read after each write I/O */ unsigned dmp$v_skip_init : 1; /* Don't fill in the SCB/IDT (i.e. primitive exception display) */ /* **** Note: SKIP_INIT is not dynamic in SYSGEN!!!! **** */ unsigned dmp$v_bits_17_23 : 7; /* Spare bits for future undocumented features */ unsigned dmp$v_mem_stack_pages : 4; /* Additional pages for BUGCHECK's stack */ unsigned dmp$v_reg_stack_pages : 4; /* Additional pages for BUGCHECK's stack (only useful on IA64) */ } dmp$r_style_bits; } dmp$r_style_overlay; unsigned short int dmp$w_memmap_entries; /* Entries in memory map (full dump) */ unsigned short int dmp$w_erlbufpages; /* # pagelets / S0 error log buffer */ unsigned __int64 dmp$q_ptbr; /* PAGE TABLE BASE REGISTER (SYSPTBR if VIRBND or IA64) */ unsigned __int64 dmp$q_ksp; /* KERNEL STACK POINTER */ unsigned __int64 dmp$q_esp; /* EXECUTIVE STACK POINTER */ unsigned __int64 dmp$q_ssp; /* SUPERVISOR STACK POINTER */ unsigned __int64 dmp$q_usp; /* USER STACK POINTER */ unsigned __int64 dmp$q_sysident; /* TEXT ident for SYS.EXE **** KEEP AT OFFSET 56. **** */ void *dmp$l_erlbufadr; /* Address of S0 error log buffers */ unsigned short int dmp$w_pagebits; /* NUMBER OF BITS IN PAGE INDEX */ unsigned short int dmp$w_va_bits; /* NUMBER OF BITS IN VIRTUAL ADDRESS */ void *dmp$l_symvect_va; /* ABSOLUTE VIRTUAL ADDRESS OF SYMBOL VECTOR IN MEMORY */ void *dmp$l_symvect_end; /* ABSOLUTE VIRTUAL ADDRESS OF END OF SYMBOL VECTOR IN MEMORY */ unsigned int dmp$l_dumpblockcnt; /* COUNT OF BLOCKS DUMPED */ unsigned int dmp$l_nocompblockcnt; /* As DUMPBLOCKCNT with no compression */ unsigned int dmp$l_sysver; /* SYSTEM VERSION NUMBER **** KEEP AT OFFSET 88. **** */ unsigned int dmp$l_check; /* ONES COMPLEMENT OF SYSVER **** KEEP AT OFFSET 92. **** */ unsigned short int dmp$w_dumpver; /* DUMP FILE VERSION NUMBER **** KEEP AT OFFSET 96. **** */ unsigned short int dmp$w_erlbufcnt; /* # S0 error log buffers */ unsigned short int dmp$w_erlbufhead; /* Index of next S0 error log buffer to be written to file */ unsigned short int dmp$w_erlbuftail; /* Index of next available S0 error log buffer */ unsigned __int64 dmp$q_l2_base; /* Crash-time contents of mmg$gq_l2_base */ unsigned __int64 dmp$q_l1_base; /* Crash-time contents of mmg$gq_l1_base */ unsigned __int64 dmp$q_pt_base; /* Crash-time contents of mmg$gq_pt_base */ unsigned __int64 dmp$q_crashtime; /* Crash date/time */ unsigned __int64 dmp$q_linktime; /* Link date/time of base image in system dumped */ void *dmp$l_chfctxadr; /* Base address of CHFCTX block (process dumps) */ void *dmp$l_call_handl; /* Address of SYS$GL_CALL_HANDL (process dumps) */ void *dmp$l_astdel; /* Address of SYS$GL_ASTDEL (process dumps) */ void *dmp$l_astdel_k; /* Address of SYS$GL_ASTDEL_K (process dumps) */ unsigned int dmp$l_errstatus; /* LAST ERROR STATUS FROM DUMP WRITE */ unsigned int dmp$l_dumperrs; /* COUNT OF ERRORS DURING DUMP WRITE */ unsigned int dmp$l_maxcompentries; /* Worst case count of compression map entries in dump */ unsigned int dmp$l_shortblockcnt; /* THE NUMBER OF ADDITIONAL BLOCKS NEEDED FOR COMPLETE DUMP */ unsigned int dmp$l_compentrypages; /* Max # pages mapped by a data compression map entry */ unsigned int dmp$l_saveprccnt; /* Count of saved processes (subset dump) */ unsigned short int dmp$w_saveradcnt; /* Count of saved RADs (selective dump) */ unsigned short int dmp$w_regioncnt; /* Count of regions dumped (shared memory) */ void *dmp$l_pcbvec; /* Pointer to PCB vector (Process dumps) */ int dmp$l_teb_addr; /* Address of thread environment block (Process dumps) */ unsigned int dmp$l_maxpix; /* Highest process index (Process dumps) */ unsigned int dmp$l_l1_index; unsigned int dmp$l_level_width; void *dmp$l_npagedyn; void *dmp$l_balbase; void *dmp$l_bal_end; unsigned int dmp$l_bslotsz; void *dmp$l_pixbas; void *dmp$l_ktb_address; void *dmp$l_sysphd; void *dmp$l_hpdesc; unsigned __int64 dmp$q_sys_virt_base; unsigned __int64 dmp$q_shared_va_ptes; unsigned __int64 dmp$q_gpt_base; unsigned __int64 dmp$q_max_gpte; unsigned __int64 dmp$q_pfn_database; unsigned char dmp$b_astsr_asten; /* AST summary register and AST enable bits (process dumps only) */ unsigned char dmp$b_trapinfo_blks; /* # blocks set aside for trap data */ unsigned char dmp$b_crasherl_blks; /* # blocks for crash error log entry */ unsigned char dmp$b_imgdmp_icb_blks; /* # blocks used for invocation context (process dumps only) */ unsigned char dmp$b_imgdmp_reg_blks; /* # blocks used for internal registers (process dumps only) */ char dmp$t_spare_bytes [2]; char dmp$t_nodename [9]; /* ASCIC node name */ char dmp$t_procname [16]; /* ASCIC process name */ char dmp$t_modelname [32]; /* ASCIC model name */ unsigned int dmp$l_bugcode; /* The bugcheck code */ void *dmp$l_mch_array; /* Address of the mechanism array (process dumps) */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *dmp$q_erlbufadr_s2; /* Address of S2 error log buffers */ #else unsigned __int64 dmp$q_erlbufadr_s2; #endif unsigned int dmp$l_erlbufpages_s2; /* # pagelets / S2 error log buffer */ unsigned int dmp$l_erlbufcnt_s2; /* # S2 error log buffers */ unsigned int dmp$l_erlbufhead_s2; /* Index of next S2 error log buffer to be written to file */ unsigned int dmp$l_erlbuftail_s2; /* Index of next available S2 error log buffer */ unsigned int dmp$l_collect_total; /* The total size of the file-ID + unwind-data collection */ unsigned int dmp$l_collect_disk; /* The size of the disk portion of the collection */ /* (a subset of and the final blocks of COLLECT_TOTAL) */ unsigned int dmp$l_keyblockcnt; /* Count of blocks dumped for system space, key processes, key globals */ unsigned int dmp$l_nocompkeycnt; /* As KEYBLOCKCNT with no compression */ unsigned int dmp$l_compentries; /* Count of compression map entries in this (partial copy of a) dump */ unsigned int dmp$l_fragblocks; /* Number of blocks BUGCHECK could use because file too fragmented */ int dmp$l_add_pcb_astcnt; /* ASTCNT adjustment required to take process dump */ int dmp$l_add_pcb_biocnt; /* BIOCNT adjustment required to take process dump */ int dmp$l_add_pcb_diocnt; /* DIOCNT adjustment required to take process dump */ int dmp$l_add_jib_bytcnt; /* BYTCNT adjustment required to take process dump */ int dmp$l_add_jib_filcnt; /* FILCNT adjustment required to take process dump */ int dmp$l_add_jib_tqcnt; /* TQCNT adjustment required to take process dump */ int dmp$l_add_jib_pgflcnt; /* PGFLCNT adjustment required to take process dump */ int dmp$l_add_jib_enqcnt; /* ENQCNT adjustment required to take process dump */ unsigned __int64 dmp$q_add_phd_cpulim; /* CPULIM adjustment required to take process dump */ /* (not yet used, but would be recorded as a delta time) */ unsigned __int64 dmp$q_wslbase; /* Base address of working set pages in S2 space (process dumps) */ unsigned __int64 dmp$q_wsl_end; /* End address of working set pages in S2 space (process dumps) */ char dmp$t_extra_space [564]; unsigned int dmp$l_checksum; /* Last longword of 2-block header **** KEEP AT OFFSET 1020. **** */ } DMP; #if !defined(__VAXC) #define dmp$l_flags dmp$r_flags_overlay.dmp$l_flags #define dmp$v_olddump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_olddump #define dmp$v_empty dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_empty #define dmp$v_hdrblk dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_hdrblk #define dmp$v_errlog dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_errlog #define dmp$v_memory dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_memory #define dmp$v_stub dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_stub #define dmp$v_writecomp dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_writecomp #define dmp$v_errlogcomp dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_errlogcomp #define dmp$v_trap_valid dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_trap_valid #define dmp$v_original dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_original #define dmp$v_collect dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_collect #define dmp$v_partial dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_partial #define dmp$v_bits_12_14 dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_bits_12_14 #define dmp$v_i64dump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_i64dump #define dmp$v_compressed dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_compressed #define dmp$v_notsaved dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_notsaved #define dmp$v_vaxdump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_vaxdump #define dmp$v_alphadump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_alphadump #define dmp$v_bad4gbdump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_bad4gbdump #define dmp$v_modified dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_modified #define dmp$v_shmemdump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_shmemdump #define dmp$v_procdump dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_procdump #define dmp$v_bits_24_28 dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_bits_24_28 #define dmp$v_excldata dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_excldata #define dmp$v_fen dmp$r_flags_overlay.dmp$r_flags_bits.dmp$v_fen #define dmp$l_dumpstyle dmp$r_style_overlay.dmp$l_dumpstyle #define dmp$v_dumpstyle dmp$r_style_overlay.dmp$r_style_bits.dmp$v_dumpstyle #define dmp$v_full_messages dmp$r_style_overlay.dmp$r_style_bits.dmp$v_full_messages #define dmp$v_do_dosd dmp$r_style_overlay.dmp$r_style_bits.dmp$v_do_dosd #define dmp$v_compress dmp$r_style_overlay.dmp$r_style_bits.dmp$v_compress #define dmp$v_skip_shared dmp$r_style_overlay.dmp$r_style_bits.dmp$v_skip_shared #define dmp$v_key_only dmp$r_style_overlay.dmp$r_style_bits.dmp$v_key_only #define dmp$v_bits_6_9 dmp$r_style_overlay.dmp$r_style_bits.dmp$v_bits_6_9 #define dmp$v_super_verbose dmp$r_style_overlay.dmp$r_style_bits.dmp$v_super_verbose #define dmp$v_skip_sysdisk dmp$r_style_overlay.dmp$r_style_bits.dmp$v_skip_sysdisk #define dmp$v_do_glxfatal dmp$r_style_overlay.dmp$r_style_bits.dmp$v_do_glxfatal #define dmp$v_disable_glxrmtpfn dmp$r_style_overlay.dmp$r_style_bits.dmp$v_disable_glxrmtpfn #define dmp$v_allow_hbvs_dumpdev dmp$r_style_overlay.dmp$r_style_bits.dmp$v_allow_hbvs_dumpdev #define dmp$v_datacheck dmp$r_style_overlay.dmp$r_style_bits.dmp$v_datacheck #define dmp$v_skip_init dmp$r_style_overlay.dmp$r_style_bits.dmp$v_skip_init #define dmp$v_bits_17_23 dmp$r_style_overlay.dmp$r_style_bits.dmp$v_bits_17_23 #define dmp$v_mem_stack_pages dmp$r_style_overlay.dmp$r_style_bits.dmp$v_mem_stack_pages #define dmp$v_reg_stack_pages dmp$r_style_overlay.dmp$r_style_bits.dmp$v_reg_stack_pages #endif /* #if !defined(__VAXC) */ #define DMP$K_VAX_EMB_LENGTH 12 /* Length of EMB header on VAX */ typedef struct _dmp_compat { char dmp$t_compat_fill_1 [48]; __union { unsigned __int64 dmp$q_v731_sysident; /* TEXT ident for SYS.EXE **** KEEP AT OFFSET 48. **** */ unsigned __int64 dmp$q_vax_embcr_swvers; /* SOFTWARE VERSION IN VAX CRASH ERRLOG **** KEEP AT OFFSET 48. **** */ } dmp$r_compat_overlay_1; char dmp$t_compat_fill_2 [12]; unsigned int dmp$l_pre_v731_sysver; /* SYSTEM VERSION NUMBER **** KEEP AT OFFSET 68. **** */ unsigned int dmp$l_pre_v731_check; /* ONES COMPLEMENT OF SYSVER **** KEEP AT OFFSET 72. **** */ unsigned short int dmp$w_pre_v731_dumpver; /* DUMP FILE VERSION NUMBER **** KEEP AT OFFSET 76. **** */ char dmp$t_compat_fill_3 [26]; __union { unsigned __int64 dmp$q_pre_v731_sysident; /* TEXT ident for SYS.EXE **** KEEP AT OFFSET 104. **** */ __struct { unsigned int dmp$l_compat_fill_4; unsigned short int dmp$w_vax_dumpver; /* DUMP FILE VERSION NUMBER ON VAX **** KEEP AT OFFSET 108. **** */ unsigned short int dmp$w_compat_fill_5; } dmp$r_compat_struct_1; } dmp$r_compat_overlay_2; char dmp$t_compat_fill_4 [20]; unsigned int dmp$l_vax_crasherl; /* SYSTEM CRASH ERR LOG ENTRY ON VAX **** KEEP AT OFFSET 132. **** */ } DMP_COMPAT; #if !defined(__VAXC) #define dmp$q_v731_sysident dmp$r_compat_overlay_1.dmp$q_v731_sysident #define dmp$q_vax_embcr_swvers dmp$r_compat_overlay_1.dmp$q_vax_embcr_swvers #define dmp$q_pre_v731_sysident dmp$r_compat_overlay_2.dmp$q_pre_v731_sysident #define dmp$l_compat_fill_4 dmp$r_compat_overlay_2.dmp$r_compat_struct_1.dmp$l_compat_fill_4 #define dmp$w_vax_dumpver dmp$r_compat_overlay_2.dmp$r_compat_struct_1.dmp$w_vax_dumpver #define dmp$w_compat_fill_5 dmp$r_compat_overlay_2.dmp$r_compat_struct_1.dmp$w_compat_fill_5 #endif /* #if !defined(__VAXC) */ #define DMP$K_TRAPINFO_LENGTH 512 /* Length of trap entry buffer */ typedef struct _dmp_trapinfo_entry { INTSTK dmp$t_trapinfo; unsigned __int64 dmp$q_trap_va; /* trap VA */ unsigned __int64 dmp$q_trap_mmf; /* trap MMF */ char dmp$t_trapinfo_fill [432]; } DMP_TRAPINFO_ENTRY; #define DMP$K_CRASHERL_LENGTH 1024 /* Length of crash error log buffer */ typedef struct _dmp_crasherl_entry { char dmp$t_crasherl_header_fill [16]; char dmp$t_crasherl_crash_fill [600]; char dmp$t_crasherl_entry_fill [408]; } DMP_CRASHERL_ENTRY; #define DMP$K_IMGDMP_ICB_LENGTH 1024 /* Length of invo context block */ typedef struct _dmp_imgdmp_icb { INVO_CONTEXT_BLK dmp$r_imgdmp_icb; char dmp$t_spare_icb [480]; /* filler to end of block */ } DMP_IMGDMP_ICB; #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef struct _dmp_imgdmp_icb * DMP_IMGDMP_ICB_PQ; /* Pointer to a ICB structure. */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 DMP_IMGDMP_ICB_PQ; #endif /* __INITIAL_POINTER_SIZE */ #define DMP$K_IMGDMP_REGS_LENGTH 512 /* Length of general registers */ typedef struct _dmp_imgdmp_regs { unsigned __int64 dmp$q_imgdmp_keep_sdl_happy; /* Currently unused on Alpha */ /* this entry can be deleted if a use is found */ char dmp$t_spare_regs [504]; /* filler to end of block */ } DMP_IMGDMP_REGS; #define DMP$M_NODUMP 0x1 #define DMP$M_POWEROFF 0x2 #define DMP$M_BADMEMORY 0x4 #define DMP$M_BIB_STATE 0x8 #define DMP$M_LONG_FILL 0xFFFFFFF0 typedef struct _dumpmask { unsigned dmp$v_nodump : 1; /* Do not write dumpfile */ unsigned dmp$v_poweroff : 1; /* Request power off of system */ unsigned dmp$v_badmemory : 1; /* Memory is too broken to try dumping it */ unsigned dmp$v_bib_state : 1; /* Request shutdown to BIB state */ unsigned dmp$v_long_fill : 28; /* Longword filler */ } DUMPMASK; #define DMP$C_FRAG_GCT -1 /* if all bits set then GCT fragment */ #define DMP$K_FRAG_MAP_LENGTH 32 #define DMP$C_FRAG_MAP_LENGTH 32 typedef struct _dmp_memmap { int dmp$l_frag_map_length; /* Size of structure */ unsigned int dmp$l_frag_flags; /* See [STARLET]PMMDEF.SDL for these */ unsigned __int64 dmp$q_frag_start_pfn; /* Start PFN of fragment */ unsigned __int64 dmp$q_frag_length; /* Actual block count for memory fragment */ unsigned __int64 dmp$q_frag_nocomp_length; /* As FRAG_LENGTH without compression */ } DMP_MEMMAP; #define DMP$M_SPARE 0x7FF #define DMP$M_LMBHDR 0x800 #define DMP$M_UNCOMP 0x1000 #define DMP$M_OVERRUN 0x2000 #define DMP$M_IO_ERROR 0x4000 #define DMP$M_NOCOMP 0x8000 #define DMP$K_REPEAT 0 /* Repeated character sequence */ #define DMP$K_REENCODE_1 1 /* 1-bit re-encoding */ #define DMP$K_REENCODE_2 2 /* 2-bit re-encoding */ #define DMP$K_REENCODE_3 3 /* 3-bit re-encoding */ #define DMP$K_REENCODE_4 4 /* 4-bit re-encoding */ #define DMP$K_REENCODE_5 5 /* 5-bit re-encoding */ #define DMP$K_REENCODE_6 6 /* 6-bit re-encoding */ #define DMP$K_BITMAP_1 7 /* Bitmap (one dominant character) */ #define DMP$K_BITMAP_3 8 /* Bitmap (2-3 dominant characters) */ #define DMP$K_BITMAP_7 9 /* Bitmap (4-7 dominant characters) */ #define DMP$K_INCREMENT 10 /* Incrementing character sequence */ #define DMP$K_DECREMENT 11 /* Decrementing character sequence */ #define DMP$K_NOCOMP 12 /* No compression */ #define DMP$K_COMPRESSION_TYPES 13 /* Number of types */ #define DMP$M_RECOMP 32 /* Recompressed section */ #define DMP$M_FINAL 64 /* Final section to restore */ #define DMP$M_FIRST 128 /* Section is first in a "raw" read */ typedef struct _dmp_cblock { __union { __struct { unsigned __int64 dmp$q_comp_entry; /* An entire entry */ } dmp$r_comp_fields_1; __struct { unsigned int dmp$l_comp_ending_vbn; /* Final uncompressed VBN from this section */ unsigned short int dmp$w_comp_blocks; /* The count of compressed blocks in this section */ __union { __struct { unsigned short int dmp$w_comp_flags; /* Flags for this section */ } dmp$r_comp_fields_3; __struct { unsigned dmp$v_spare : 11; /* Bits are used from the top down */ unsigned dmp$v_lmbhdr : 1; /* LMB header (so we can distinguish from map entries for holes) */ unsigned dmp$v_uncomp : 1; /* Uncompressed data section */ unsigned dmp$v_overrun : 1; /* Dumpfile filled while writing this section */ unsigned dmp$v_io_error : 1; /* I/O error occurred while writing this section */ unsigned dmp$v_nocomp : 1; /* Non-compressed section (LMB header, holes) */ } dmp$r_comp_fields_4; } dmp$r_comp_overlay_2; } dmp$r_comp_fields_2; } dmp$r_comp_overlay_1; /* Compression types */ } DMP_CBLOCK; #if !defined(__VAXC) #define dmp$q_comp_entry dmp$r_comp_overlay_1.dmp$r_comp_fields_1.dmp$q_comp_entry #define dmp$l_comp_ending_vbn dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$l_comp_ending_vbn #define dmp$w_comp_blocks dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$w_comp_blocks #define dmp$w_comp_flags dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_3.dmp$w_comp_flags #define dmp$v_lmbhdr dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_4.dmp$v_lmbhdr #define dmp$v_uncomp dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_4.dmp$v_uncomp #define dmp$v_overrun dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_4.dmp$v_overrun #define dmp$v_io_error dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_4.dmp$v_io_error #define dmp$v_nocomp dmp$r_comp_overlay_1.dmp$r_comp_fields_2.dmp$r_comp_overlay_2.dmp$r_comp_fields_4.dmp$v_nocomp #endif /* #if !defined(__VAXC) */ #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef struct _dmp_cblock * DMP_CBLOCK_PQ; /* Pointer to a compression block structure. */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 DMP_CBLOCK_PQ; #endif /* __INITIAL_POINTER_SIZE */ #define DMP$K_SQUEEZE_LENGTH 72 #define DMP$K_MAX_COMPRESSIONS 4 #define DMP$K_MAX_IO_RAW 32768 #define DMP$K_MAX_IO_112 57344 /* max full-page I/O without split */ #define DMP$K_MAX_IO_124 63488 /* max raw data when no compression possible */ #define DMP$K_MAX_IO_127 65024 /* max regular I/O without split */ #define DMP$K_MAX_IO 65536 #define DMP$K_COMP_LENGTH 2048 #define DMP$K_MIN_REPEAT 16 #define DMP$K_ERROR_COUNT 156 #define DMP$K_OVERRUN_COUNT 159 #define DMP$K_STATS_ENTRIES 162 #define DMP$K_SHORT_STATS 39 typedef struct _dmp_squeeze { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ char *dmp$pq_output_start; /* The output buffer being filled */ #else unsigned __int64 dmp$pq_output_start; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ char *dmp$pq_squeeze_work; /* Address of the work area into which data is initially compressed */ #else unsigned __int64 dmp$pq_squeeze_work; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ int *dmp$pq_byte_table; /* Address of array where byte values are counted */ #else unsigned __int64 dmp$pq_byte_table; #endif int dmp$l_output_used; /* How much of the output buffer has been used */ int dmp$l_prior_uncomp; /* Length of prior uncompressed section in output buffer */ int dmp$l_current_uncomp; /* Offset to start of current uncompressed section in output buffer */ int dmp$l_squeeze_flags; /* DMP$M_UNCOMP gets set in here when an uncompressible section is created */ int dmp$l_base_vbn; /* Raw VBN of base of LMB (always zero in full dumps) */ char dmp$t_squeeze_align [4]; /* filler to quadword */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ int (*dmp$pq_write_compressed_blocks)(); #else unsigned __int64 dmp$pq_write_compressed_blocks; #endif /* Callback routine to write buffer contents */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ unsigned __int64 *dmp$pq_squeeze_stats; #else unsigned __int64 dmp$pq_squeeze_stats; #endif /* Pointer to statistics array - 3 quadwords for each compression type */ /* for each compression attempt */ unsigned int dmp$l_squeeze_uncomp_count; unsigned int dmp$l_squeeze_merge_count; } DMP_SQUEEZE; #define DMP$K_EXPLODE_LENGTH 40 typedef struct _dmp_explode { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif char *dmp$ps_input_start; /* The input buffer being processed */ char *dmp$ps_explode_work; /* Address of the work area into which data is initially decompressed */ int dmp$l_input_used; /* How much of the input buffer has been used */ int dmp$l_explode_flags; /* DMP$M_UNCOMP gets set in here when an uncompressible section is processed */ int dmp$l_lowest_vbn; /* Lowest VBN exploded left in the output buffer */ int dmp$l_highest_vbn; /* Highest VBN exploded left in the output buffer */ int (*dmp$ps_read_compressed_blocks)(); /* Callback routine to read more compressed data into the input buffer */ unsigned __int64 *dmp$ps_explode_stats; /* Pointer to statistics array - 3 quadwords for each compression type */ /* for each decompression pass */ unsigned int dmp$l_explode_uncomp_count; char *dmp$ps_explode_filedata; /* Pointer to the file_data stucture for the file being processed */ } DMP_EXPLODE; #define DMP_DISK$M_NO_ACCESS 0x1 #define DMP_DISK$M_SEPARATE 0x2 #define DMP_DISK$M_UNCOMBINED 0x4 #define DMP_DISK$K_LENGTH 45 /* Base length of DMP_DISK_DATA */ #ifdef __cplusplus /* Define structure prototypes */ struct _dmp_file_data; #endif /* #ifdef __cplusplus */ typedef struct _dmp_disk_data { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_disk_data *dmp_disk$pq_next; /* Pointer to next DMP_DISK_DATA structure */ #else unsigned __int64 dmp_disk$pq_next; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_file_data *dmp_disk$pq_file; /* Pointer to first DMP_FILE_DATA for this disk */ #else unsigned __int64 dmp_disk$pq_file; #endif unsigned int dmp_disk$l_vbn; /* Relative VBN in collection for this disk's file/code/etc data */ unsigned int dmp_disk$l_blocks; /* Count of blocks for this disk's file/code/etc data */ __int64 dmp_disk$q_disk_data_length; /* Length of this DMP_DISK_DATA structure */ __int64 dmp_disk$q_disk_data_total; /* Total length of all this disk's file/code/etc structures */ __union { unsigned short int dmp_disk$w_flags; __struct { unsigned dmp_disk$v_no_access : 1; /* Unable to access the disk */ unsigned dmp_disk$v_separate : 1; /* This DMP_DISK_DATA was allocated separately (pre-reorg) */ unsigned dmp_disk$v_uncombined : 1; /* The attached file/code/etc were allocated separately */ unsigned dmp_disk$v_fill_0_ : 5; } dmp_disk$r_flags_bits; } dmp_disk$r_flags_overlay; unsigned short int dmp_disk$w_name_length; /* Length of the disk name */ char dmp_disk$t_name [1]; /* Start of the disk name */ } DMP_DISK_DATA; #if !defined(__VAXC) #define dmp_disk$w_flags dmp_disk$r_flags_overlay.dmp_disk$w_flags #define dmp_disk$v_no_access dmp_disk$r_flags_overlay.dmp_disk$r_flags_bits.dmp_disk$v_no_access #define dmp_disk$v_separate dmp_disk$r_flags_overlay.dmp_disk$r_flags_bits.dmp_disk$v_separate #define dmp_disk$v_uncombined dmp_disk$r_flags_overlay.dmp_disk$r_flags_bits.dmp_disk$v_uncombined #endif /* #if !defined(__VAXC) */ #define DMP_FILE$M_NO_ACCESS 0x1 #define DMP_FILE$M_NO_UNWIND 0x2 #define DMP_FILE$M_SEPARATE 0x4 #define DMP_FILE$M_COUNTED 0x8 #define DMP_FILE$K_LENGTH 53 /* Base length of DMP_FILE_DATA */ #ifdef __cplusplus /* Define structure prototypes */ struct _dmp_code_data; struct _dmp_unwind_data; #endif /* #ifdef __cplusplus */ typedef struct _dmp_file_data { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_file_data *dmp_file$pq_next; /* Pointer to next DMP_FILE_DATA for this disk */ #else unsigned __int64 dmp_file$pq_next; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_code_data *dmp_file$pq_code; /* Pointer to first DMP_CODE_DATA for this file */ #else unsigned __int64 dmp_file$pq_code; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_unwind_data *dmp_file$pq_unwind; /* Pointer to first DMP_UNWIND_DATA for this file */ #else unsigned __int64 dmp_file$pq_unwind; #endif unsigned short int dmp_file$w_fid_num; /* File number */ unsigned short int dmp_file$w_fid_seq; /* File sequence number */ unsigned char dmp_file$b_fid_rvn; /* Short form relative volume number */ unsigned char dmp_file$b_fid_nmx; /* File number extension */ short int dmp_file$w_filler; __int64 dmp_file$q_file_data_length; /* Length of this DMP_FILE_DATA structure */ unsigned int dmp_file$l_status; /* Status when we tried to open the file */ unsigned int dmp_file$l_stv; /* Corresponding STV if relevant */ __union { unsigned short int dmp_file$w_flags; __struct { unsigned dmp_file$v_no_access : 1; /* Unable to access the file */ unsigned dmp_file$v_no_unwind : 1; /* An image file but no unwind data (e.g. message file) */ unsigned dmp_file$v_separate : 1; /* This DMP_FILE_DATA was allocated separately (pre-reorg) */ unsigned dmp_file$v_counted : 1; /* Any DMP_UNWIND_DATAs for this file have been counted */ unsigned dmp_file$v_fill_1_ : 4; } dmp_file$r_flags_bits; } dmp_file$r_flags_overlay; unsigned short int dmp_file$w_name_length; /* Length of the file name */ char dmp_file$t_name [1]; /* Start of the file name */ } DMP_FILE_DATA; #if !defined(__VAXC) #define dmp_file$w_flags dmp_file$r_flags_overlay.dmp_file$w_flags #define dmp_file$v_no_access dmp_file$r_flags_overlay.dmp_file$r_flags_bits.dmp_file$v_no_access #define dmp_file$v_no_unwind dmp_file$r_flags_overlay.dmp_file$r_flags_bits.dmp_file$v_no_unwind #define dmp_file$v_separate dmp_file$r_flags_overlay.dmp_file$r_flags_bits.dmp_file$v_separate #define dmp_file$v_counted dmp_file$r_flags_overlay.dmp_file$r_flags_bits.dmp_file$v_counted #endif /* #if !defined(__VAXC) */ #define DMP_CODE$M_SEPARATE 0x1 #define DMP_CODE$K_LENGTH 64 /* Length of DMP_CODE_DATA */ #ifdef __cplusplus /* Define structure prototypes */ struct _dmp_unwind_data; #endif /* #ifdef __cplusplus */ typedef struct _dmp_code_data { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_code_data *dmp_code$pq_next; /* Pointer to next DMP_CODE_DATA for this file */ #else unsigned __int64 dmp_code$pq_next; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_unwind_data *dmp_code$pq_unwind; /* Pointer to DMP_UNWIND_DATA for this code segment */ #else unsigned __int64 dmp_code$pq_unwind; #endif __int64 dmp_code$q_segnum; /* Code segment number */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *dmp_code$pq_code_offset; /* Start offset of this code segment within the image */ #else unsigned __int64 dmp_code$pq_code_offset; #endif __int64 dmp_code$q_code_size; /* Size of this code segment */ __int64 dmp_code$q_info_offset; /* Start offset within unwind segment for this code segment */ __int64 dmp_code$q_info_size; /* Size of unwind data for this code segment */ __union { unsigned short int dmp_code$w_flags; __struct { unsigned dmp_code$v_separate : 1; /* This DMP_CODE_DATA was allocated separately (pre-reorg) */ unsigned dmp_code$v_fill_2_ : 7; } dmp_code$r_flags_bits; } dmp_code$r_flags_overlay; char dmp_code$t_fill [6]; /* filler to octaword */ } DMP_CODE_DATA; #if !defined(__VAXC) #define dmp_code$w_flags dmp_code$r_flags_overlay.dmp_code$w_flags #define dmp_code$v_separate dmp_code$r_flags_overlay.dmp_code$r_flags_bits.dmp_code$v_separate #endif /* #if !defined(__VAXC) */ #define DMP_UNWIND$M_NOT_HERE 0x1 #define DMP_UNWIND$M_SEPARATE 0x2 #define DMP_UNWIND$K_LENGTH 80 /* Length of DMP_UNWIND_DATA */ typedef struct _dmp_unwind_data { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _dmp_unwind_data *dmp_unwind$pq_next; /* Pointer to next DMP_UNWIND_DATA for this file */ #else unsigned __int64 dmp_unwind$pq_next; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *dmp_unwind$pq_segment; /* Address of in-memory copy of actual unwind segment */ #else unsigned __int64 dmp_unwind$pq_segment; #endif __int64 dmp_unwind$q_seglen; /* Length of in-memory copy of the unwind segment */ __int64 dmp_unwind$q_segnum; /* Unwind segment number */ __int64 dmp_unwind$q_image_offset; /* Start offset of this unwind segment within the image */ __int64 dmp_unwind$q_image_seglen; /* Size of unwind segment in image file */ unsigned __int64 dmp_unwind$q_unwtab_length; /* Size (in bytes) of unwind table portion of this segment */ unsigned int dmp_unwind$l_codeseg_count; /* Number of code segments described by this segment */ unsigned int dmp_unwind$l_vbn; /* Relative VBN in collection for this unwind segment */ unsigned int dmp_unwind$l_blocks; /* Count of blocks for this unwind segment */ __union { unsigned short int dmp_unwind$w_flags; __struct { unsigned dmp_unwind$v_not_here : 1; /* The unwind segment wasn't kept in memory during dump copy */ unsigned dmp_unwind$v_separate : 1; /* This DMP_UNWIND_DATA was allocated separately (pre-reorg) */ unsigned dmp_unwind$v_fill_3_ : 6; } dmp_unwind$r_flags_bits; } dmp_unwind$r_flags_overlay; char dmp_unwind$t_fill [10]; /* filler to octaword */ } DMP_UNWIND_DATA; #if !defined(__VAXC) #define dmp_unwind$w_flags dmp_unwind$r_flags_overlay.dmp_unwind$w_flags #define dmp_unwind$v_not_here dmp_unwind$r_flags_overlay.dmp_unwind$r_flags_bits.dmp_unwind$v_not_here #define dmp_unwind$v_separate dmp_unwind$r_flags_overlay.dmp_unwind$r_flags_bits.dmp_unwind$v_separate #endif /* #if !defined(__VAXC) */ #pragma __required_pointer_size __save #pragma __required_pointer_size __long typedef DMP_DISK_DATA * DMP_DISK_DATA_PQ; typedef DMP_DISK_DATA ** DMP_DISK_DATA_PPQ; typedef DMP_FILE_DATA * DMP_FILE_DATA_PQ; typedef DMP_FILE_DATA ** DMP_FILE_DATA_PPQ; typedef DMP_CODE_DATA * DMP_CODE_DATA_PQ; typedef DMP_CODE_DATA ** DMP_CODE_DATA_PPQ; typedef DMP_UNWIND_DATA * DMP_UNWIND_DATA_PQ; typedef DMP_UNWIND_DATA ** DMP_UNWIND_DATA_PPQ; #pragma __required_pointer_size __restore #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __DMPDEF_LOADED */