%DEFINE Elf64_vms_dni32_fmt3 Elf64_Word %DEFINE Elf64_vms_dni32_fmt4 Elf64_Word %DEFINE Elf64_vms_dni64_fmt3 Elf64_Xword %DEFINE Elf64_vms_dni64_fmt4 Elf64_Xword ! *** PREDECLARED TYPES %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$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_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_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF DECLARE LONG CONSTANT EHDR$K_EI_NIDENT = 16 DECLARE LONG CONSTANT EHDR$SC_EF_VMS_COMCOD = 0 DECLARE LONG CONSTANT ehdr$m_ef_vms_comcod = x'00000003' DECLARE LONG CONSTANT EHDR$SC_EF_VMS_LINKAGES = 2 DECLARE LONG CONSTANT ehdr$m_ef_vms_linkages = x'00000004' DECLARE LONG CONSTANT ehdr$m_ef_fill_1 = x'00000008' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_ABI64 = 4 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_abi64 = x'00000010' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_REDUCEDFP = 5 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_reducedfp = x'00000020' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_CONS_GP = 6 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_cons_gp = x'00000040' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_NOFD_CONS_GP = 7 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_nofd_cons_gp = x'00000080' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_ABSOLUTE = 8 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_absolute = x'00000100' DECLARE LONG CONSTANT ehdr$m_ef_fill_2 = x'00FFFE00' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_ARCH = 24 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_arch = x'FF000000' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_LOOS = 0 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_loos = x'0000000F' DECLARE LONG CONSTANT ehdr$m_ef_fill_1a = x'0000FFF0' DECLARE LONG CONSTANT EHDR$SC_EF_IA_64_HIOS = 16 DECLARE LONG CONSTANT ehdr$m_ef_ia_64_hios = x'00FF0000' DECLARE LONG CONSTANT ELF64_EHDR$K_E_SIZE = 64 DECLARE LONG CONSTANT ELF64_EHDR$C_E_SIZE = 64 DECLARE LONG CONSTANT ELF64_EHDR$S_VMS_OBJECT_V1 = 64 DECLARE LONG CONSTANT ELF64_EHDR$S_VMS_IMAGE_V1 = 72 DECLARE LONG CONSTANT ehdr$S_Elf64_Ehdr = 72 record Elf64_Ehdr group ehdr$r_ident variant case BYTE ehdr$t_e_ident ( 1 to 16 ) case group ehdr$r_bytes BYTE ehdr$b_ei_mag0 BYTE ehdr$b_ei_mag1 BYTE ehdr$b_ei_mag2 BYTE ehdr$b_ei_mag3 BYTE ehdr$b_ei_class BYTE ehdr$b_ei_data BYTE ehdr$b_ei_version BYTE ehdr$b_ei_osabi BYTE ehdr$b_ei_abiversion BYTE ehdr$b_ei_pad ( 1 to 7 ) end group ehdr$r_bytes end variant end group ehdr$r_ident Elf64_Half ehdr$w_e_type Elf64_Half ehdr$w_e_machine Elf64_Word ehdr$l_e_version Elf64_Addr ehdr$pq_e_entry Elf64_Off ehdr$q_e_phoff Elf64_Off ehdr$q_e_shoff group ehdr$r_flags_overlay variant case Elf64_Word ehdr$l_e_flags case group ehdr$r_model_masks LONG ef_vms_comcod_bits ! COMMENT ADDED BY SDL - ef_vms_comcod_bits contains bits ef_vms_comcod through & ! ef_ia_64_arch end group ehdr$r_model_masks case group ehdr$r_os_specific LONG ef_ia_64_loos_bits ! COMMENT ADDED BY SDL - ef_ia_64_loos_bits contains bits ef_ia_64_loos through & ! ef_ia_64_hios end group ehdr$r_os_specific end variant end group ehdr$r_flags_overlay Elf64_Half ehdr$w_e_ehsize Elf64_Half ehdr$w_e_phentsize Elf64_Half ehdr$w_e_phnum Elf64_Half ehdr$w_e_shentsize Elf64_Half ehdr$w_e_shnum Elf64_Half ehdr$w_e_shstrndx Elf64_Xword ehdr$q_e_vms_needed_cnt end record Elf64_Ehdr DECLARE LONG CONSTANT EHDR$K_EI_MAG0 = 0 DECLARE LONG CONSTANT EHDR$K_EI_MAG1 = 1 DECLARE LONG CONSTANT EHDR$K_EI_MAG2 = 2 DECLARE LONG CONSTANT EHDR$K_EI_MAG3 = 3 DECLARE LONG CONSTANT EHDR$K_EI_CLASS = 4 DECLARE LONG CONSTANT EHDR$K_EI_DATA = 5 DECLARE LONG CONSTANT EHDR$K_EI_VERSION = 6 DECLARE LONG CONSTANT EHDR$K_EI_OSABI = 7 DECLARE LONG CONSTANT EHDR$K_EI_ABIVERSION = 8 DECLARE LONG CONSTANT EHDR$K_EI_PAD = 9 DECLARE LONG CONSTANT EHDR$K_ELFMAG0 = 127 DECLARE LONG CONSTANT EHDR$K_ELFMAG1 = 69 DECLARE LONG CONSTANT EHDR$K_ELFMAG2 = 76 DECLARE LONG CONSTANT EHDR$K_ELFMAG3 = 70 DECLARE LONG CONSTANT EHDR$K_ELFCLASSNONE = 0 DECLARE LONG CONSTANT EHDR$K_ELFCLASS32 = 1 DECLARE LONG CONSTANT EHDR$K_ELFCLASS64 = 2 DECLARE LONG CONSTANT EHDR$K_ELFDATANONE = 0 DECLARE LONG CONSTANT EHDR$K_ELFDATA2LSB = 1 DECLARE LONG CONSTANT EHDR$K_ELFDATA2MSB = 2 DECLARE LONG CONSTANT EHDR$K_ELFOSABI_NONE = 0 DECLARE LONG CONSTANT EHDR$K_ELFOSABI_OPENVMS = 13 DECLARE LONG CONSTANT EHDR$K_ELFABIVERSION_VMS_CURR = 2 DECLARE LONG CONSTANT EHDR$K_ELFABIVERSION_VMS_OBJ = 2 DECLARE LONG CONSTANT EHDR$K_ELFABIVERSION_VMS_IMG = 2 DECLARE LONG CONSTANT EHDR$K_ET_NONE = 0 DECLARE LONG CONSTANT EHDR$K_ET_REL = 1 DECLARE LONG CONSTANT EHDR$K_ET_EXEC = 2 DECLARE LONG CONSTANT EHDR$K_ET_DYN = 3 DECLARE LONG CONSTANT EHDR$K_ET_CORE = 4 DECLARE LONG CONSTANT EHDR$K_ET_LOOS = 65024 DECLARE LONG CONSTANT EHDR$K_ET_HIOS = 65279 DECLARE LONG CONSTANT EHDR$K_ET_LOPROC = 65280 DECLARE LONG CONSTANT EHDR$K_ET_HIPROC = 65535 DECLARE LONG CONSTANT EHDR$K_ET_VMS_LINK_STB = 65024 DECLARE LONG CONSTANT EHDR$K_ET_VMS_DSF = 65025 DECLARE LONG CONSTANT EHDR$K_EM_NONE = 0 DECLARE LONG CONSTANT EHDR$K_EM_IA_64 = 50 DECLARE LONG CONSTANT IIHA$K_VMSXFER_SIZE = 48 DECLARE LONG CONSTANT IIHA$C_VMSXFER_SIZE = 48 DECLARE LONG CONSTANT iiha$s_transfer_address = 48 record transfer_address Elf64_Word iiha$l_size Elf64_Word iiha$l_spare group iiha$r_tfr_overlay variant case Elf64_Addr iiha$ar_tfradr ( 1 to 5 ) case group iiha$r_tfrnamed Elf64_Addr iiha$pq_tfradr1 Elf64_Addr iiha$pq_tfradr2 Elf64_Addr iiha$pq_tfradr3 Elf64_Addr iiha$pq_tfradr4 Elf64_Addr iiha$pq_tfradr5 end group iiha$r_tfrnamed end variant end group iiha$r_tfr_overlay end record transfer_address DECLARE LONG CONSTANT IIHA$C_INIT = 1 DECLARE LONG CONSTANT IIHA$C_MAIN = 2 DECLARE LONG CONSTANT IIHA$C_EXE_INIT = 3 DECLARE LONG CONSTANT EHDR$K_EV_NONE = 0 DECLARE LONG CONSTANT EHDR$K_EV_CURRENT = 1 DECLARE LONG CONSTANT EHDR$K_VMS_COMCOD_SUCCESS = 0 DECLARE LONG CONSTANT EHDR$K_VMS_COMCOD_WARNING = 1 DECLARE LONG CONSTANT EHDR$K_VMS_COMCOD_ERROR = 2 DECLARE LONG CONSTANT EHDR$K_VMS_COMCOD_ABORT = 3 DECLARE LONG CONSTANT EHDR$K_EF_IA_64_MASKOS = 16711695 DECLARE LONG CONSTANT EHDR$K_EF_IA_64_ARCHVERSION = 1 DECLARE LONG CONSTANT SHDR$SC_SHF_WRITE = 0 DECLARE LONG CONSTANT shdr$m_shf_write = x'00000001' DECLARE LONG CONSTANT SHDR$SC_SHF_ALLOC = 1 DECLARE LONG CONSTANT shdr$m_shf_alloc = x'00000002' DECLARE LONG CONSTANT SHDR$SC_SHF_EXECINSTR = 2 DECLARE LONG CONSTANT shdr$m_shf_execinstr = x'00000004' DECLARE LONG CONSTANT shdr$m_shf_f64_bitfill_1 = x'00000008' DECLARE LONG CONSTANT SHDR$SC_SHF_MERGE = 4 DECLARE LONG CONSTANT shdr$m_shf_merge = x'00000010' DECLARE LONG CONSTANT SHDR$SC_SHF_STRINGS = 5 DECLARE LONG CONSTANT shdr$m_shf_strings = x'00000020' DECLARE LONG CONSTANT SHDR$SC_SHF_INFO_LINK = 6 DECLARE LONG CONSTANT shdr$m_shf_info_link = x'00000040' DECLARE LONG CONSTANT SHDR$SC_SHF_LINK_ORDER = 7 DECLARE LONG CONSTANT shdr$m_shf_link_order = x'00000080' DECLARE LONG CONSTANT SHDR$SC_SHF_OS_NONCONFORMING = 8 DECLARE LONG CONSTANT shdr$m_shf_os_nonconforming = x'00000100' DECLARE LONG CONSTANT SHDR$SC_SHF_GROUP = 9 DECLARE LONG CONSTANT shdr$m_shf_group = x'00000200' DECLARE LONG CONSTANT SHDR$SC_SHF_TLS = 10 DECLARE LONG CONSTANT shdr$m_shf_tls = x'00000400' DECLARE LONG CONSTANT shdr$m_shf_f64_bitfill_2 = x'0FFFF800' DECLARE LONG CONSTANT SHDR$SC_SHF_IA_64_SHORT = 28 DECLARE LONG CONSTANT shdr$m_shf_ia_64_short = x'10000000' DECLARE LONG CONSTANT SHDR$SC_SHF_IA_64_NORECOV = 29 DECLARE LONG CONSTANT shdr$m_shf_ia_64_norecov = x'20000000' DECLARE LONG CONSTANT shdr$m_shf_f64_bitfill_3 = x'C0000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_GLOBAL = 32 DECLARE LONG CONSTANT shdr$m_shf_vms_global = x'00000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_OVERLAID = 33 DECLARE LONG CONSTANT shdr$m_shf_vms_overlaid = x'00000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_SHARED = 34 DECLARE LONG CONSTANT shdr$m_shf_vms_shared = x'00000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_VECTOR = 35 DECLARE LONG CONSTANT shdr$m_shf_vms_vector = x'00000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_ALLOC_64BIT = 36 DECLARE LONG CONSTANT shdr$m_shf_vms_alloc_64bit = x'00000000' DECLARE LONG CONSTANT SHDR$SC_SHF_VMS_PROTECTED = 37 DECLARE LONG CONSTANT shdr$m_shf_vms_protected = x'00000000' DECLARE LONG CONSTANT shdr$m_shf_f64_bitfill_4 = x'00000000' DECLARE LONG CONSTANT shdr$m_shf_f64_osfill_1 = x'000FFFFF' DECLARE LONG CONSTANT SHDR$SC_SHF_MASK_LOOS = 20 DECLARE LONG CONSTANT shdr$m_shf_mask_loos = x'0FF00000' DECLARE LONG CONSTANT shdr$m_shf_f64_osfill_2 = x'F0000000' DECLARE LONG CONSTANT SHDR$SC_SHF_MASK_HIOS = 32 DECLARE LONG CONSTANT shdr$m_shf_mask_hios = x'00000000' DECLARE LONG CONSTANT shdr$m_shf_f64_procfill_1 = x'0FFFFFFF' DECLARE LONG CONSTANT SHDR$SC_SHF_MASKLOPROC = 28 DECLARE LONG CONSTANT shdr$m_shf_maskloproc = x'F0000000' DECLARE LONG CONSTANT SHDR$SC_SHF_MASKHIPROC = 32 DECLARE LONG CONSTANT shdr$m_shf_maskhiproc = x'00000000' DECLARE LONG CONSTANT ELF64_SHDR$K_SH_SIZE = 64 DECLARE LONG CONSTANT ELF64_SHDR$C_SH_SIZE = 64 DECLARE LONG CONSTANT shdr$S_Elf64_Shdr = 64 record Elf64_Shdr Elf64_Word shdr$l_sh_name Elf64_Word shdr$l_sh_type group shdr$r_flags_overlay variant case Elf64_Xword shdr$q_sh_flags case group shdr$r_flags64_bits BYTE shf_write_bits ( 8 ) ! COMMENT ADDED BY SDL - shf_write_bits contains bits shf_write through & ! shf_f64_bitfill_4 end group shdr$r_flags64_bits case group shdr$r_flags64_osmask BYTE shf_f64_osfill_1_bits ( 8 ) ! COMMENT ADDED BY SDL - shf_f64_osfill_1_bits contains bits & ! shf_f64_osfill_1 through shf_mask_hios end group shdr$r_flags64_osmask case group shdr$r_flags64_procmask BYTE shf_f64_procfill_1_bits ( 8 ) ! COMMENT ADDED BY SDL - shf_f64_procfill_1_bits contains bits & ! shf_f64_procfill_1 through shf_maskhiproc end group shdr$r_flags64_procmask end variant end group shdr$r_flags_overlay Elf64_Addr shdr$pq_sh_addr Elf64_Off shdr$q_sh_offset Elf64_Xword shdr$q_sh_size Elf64_Word shdr$l_sh_link Elf64_Word shdr$l_sh_info Elf64_Xword shdr$q_sh_addralign Elf64_Xword shdr$q_sh_entsize end record Elf64_Shdr DECLARE LONG CONSTANT SHDR$K_SHN_UNDEF = 0 DECLARE LONG CONSTANT SHDR$K_SHN_LORESERVE = 65280 DECLARE LONG CONSTANT SHDR$K_SHN_LOPROC = 65280 DECLARE LONG CONSTANT SHDR$K_SHN_HIPROC = 65311 DECLARE LONG CONSTANT SHDR$K_SHN_LOOS = 65312 DECLARE LONG CONSTANT SHDR$K_SHN_VMS_SYMVEC = 65312 DECLARE LONG CONSTANT SHDR$K_SHN_HIOS = 65343 DECLARE LONG CONSTANT SHDR$K_SHN_ABS = 65521 DECLARE LONG CONSTANT SHDR$K_SHN_COMMON = 65522 DECLARE LONG CONSTANT SHDR$K_SHN_XINDEX = 65535 DECLARE LONG CONSTANT SHDR$K_SHN_HIRESERVE = 65535 DECLARE LONG CONSTANT SHDR$K_SHT_NULL = 0 DECLARE LONG CONSTANT SHDR$K_SHT_PROGBITS = 1 DECLARE LONG CONSTANT SHDR$K_SHT_SYMTAB = 2 DECLARE LONG CONSTANT SHDR$K_SHT_STRTAB = 3 DECLARE LONG CONSTANT SHDR$K_SHT_RELA = 4 DECLARE LONG CONSTANT SHDR$K_SHT_HASH = 5 DECLARE LONG CONSTANT SHDR$K_SHT_DYNAMIC = 6 DECLARE LONG CONSTANT SHDR$K_SHT_NOTE = 7 DECLARE LONG CONSTANT SHDR$K_SHT_NOBITS = 8 DECLARE LONG CONSTANT SHDR$K_SHT_REL = 9 DECLARE LONG CONSTANT SHDR$K_SHT_SHLIB = 10 DECLARE LONG CONSTANT SHDR$K_SHT_DYNSYM = 11 DECLARE LONG CONSTANT SHDR$K_SHT_UNUSED_12 = 12 DECLARE LONG CONSTANT SHDR$K_SHT_UNUSED_13 = 13 DECLARE LONG CONSTANT SHDR$K_SHT_INIT_ARRAY = 14 DECLARE LONG CONSTANT SHDR$K_SHT_FINI_ARRAY = 15 DECLARE LONG CONSTANT SHDR$K_SHT_PREINIT_ARRAY = 16 DECLARE LONG CONSTANT SHDR$K_SHT_GROUP = 17 DECLARE LONG CONSTANT SHDR$K_SHT_SYMTAB_SHNDX = 18 DECLARE LONG CONSTANT GRPSEC$M_COMDAT_FLAG = 1 DECLARE LONG CONSTANT SHDR$K_SHT_LOOS = 1610612736 DECLARE LONG CONSTANT SHDR$K_SHT_HIOS = 1879048191 DECLARE LONG CONSTANT SHDR$K_SHT_LOPROC = 1879048192 DECLARE LONG CONSTANT SHDR$K_SHT_HIPROC = 2147483647 DECLARE LONG CONSTANT SHDR$K_SHT_LOUSER = X"80000000"L DECLARE LONG CONSTANT SHDR$K_SHT_HIUSER = -1 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_TRACE = 1610612736 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_TIE_SIGNATURES = 1610612737 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_DEBUG = 1610612738 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_DEBUG_STR = 1610612739 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_LINKAGES = 1610612740 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_SYMBOL_VECTOR = 1610612741 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_FIXUP = 1610612742 DECLARE LONG CONSTANT SHDR$K_SHT_VMS_DISPLAY_NAME_INF = 1610612743 DECLARE LONG CONSTANT SHDR$K_SHT_IA_64_LOPSREG = 2013265920 DECLARE LONG CONSTANT SHDR$K_SHT_IA_64_HIPSREG = 2147483647 DECLARE LONG CONSTANT SHDR$K_SHT_IA_64_EXT = 1879048192 DECLARE LONG CONSTANT SHDR$K_SHT_IA_64_UNWIND = 1879048193 DECLARE LONG CONSTANT SHDR$K_SHT_IA_64_PRIORITY_INIT = 2030043136 DECLARE LONG CONSTANT VMSSIG$$K_SIZE = 8 DECLARE LONG CONSTANT VMSSIG$$C_SIZE = 8 DECLARE LONG CONSTANT vmssig$S_VMSSigEntry = 8 record VMSSigEntry Elf64_Word vmssig$l_se_symbol Elf64_Word vmssig$l_se_offset end record VMSSigEntry DECLARE LONG CONSTANT UNWIND$K_SIZE = 24 DECLARE LONG CONSTANT UNWIND$C_SIZE = 24 DECLARE LONG CONSTANT unwind$S_IA_64_Unwind_Entry = 24 record IA_64_Unwind_Entry Elf64_Addr unwind$pq_ue_start Elf64_Addr unwind$pq_ue_end Elf64_Addr unwind$pq_ue_info end record IA_64_Unwind_Entry DECLARE LONG CONSTANT ELF64_NHDR$K_NH_SIZE = 24 DECLARE LONG CONSTANT ELF64_NHDR$C_NH_SIZE = 24 DECLARE LONG CONSTANT nhdr$S_Elf64_Nhdr = 24 record Elf64_Nhdr Elf64_Xword nhdr$q_nh_namesz Elf64_Xword nhdr$q_nh_descsz Elf64_Xword nhdr$q_nh_type end record Elf64_Nhdr DECLARE LONG CONSTANT ELF64_MHDR$K_MH_SIZE = 34 DECLARE LONG CONSTANT ELF64_MHDR$C_MH_SIZE = 34 DECLARE LONG CONSTANT mhdr$S_Elf64_Mhdr = 40 record Elf64_Mhdr BYTE mhdr$b_mh_create_date ( 1 to 17 ) BYTE mhdr$b_mh_patch_date ( 1 to 17 ) BYTE mhdr$b_mh_name_version BYTE mhdr$b_fill_123_ ( 4 ) end record Elf64_Mhdr DECLARE LONG CONSTANT ELF64_ORIGDYN$K_MAJOR_ID = 1 DECLARE LONG CONSTANT ELF64_ORIGDYN$K_MINOR_ID = 3 DECLARE LONG CONSTANT origdyn$S_Elf64_OrigDyn = 40 record Elf64_OrigDyn LONG origdyn$l_major_id LONG origdyn$l_minor_id BASIC$QUADWORD origdyn$q_manipulation_date BASIC$QUADWORD origdyn$q_link_flags LONG origdyn$l_elf_flags LONG origdyn$l_filler BYTE origdyn$b_imgid ( 1 to 1 ) BYTE origdyn$b_fill_124_ ( 6 ) end record Elf64_OrigDyn DECLARE LONG CONSTANT NHDR$K_NT_VMS_MHD = 1 DECLARE LONG CONSTANT NHDR$K_NT_VMS_LNM = 2 DECLARE LONG CONSTANT NHDR$K_NT_VMS_SRC = 3 DECLARE LONG CONSTANT NHDR$K_NT_VMS_TITLE = 4 DECLARE LONG CONSTANT NHDR$K_NT_VMS_EIDC = 5 DECLARE LONG CONSTANT NHDR$K_NT_VMS_FPMODE = 6 DECLARE LONG CONSTANT NHDR$K_NT_VMS_LINKTIME = 101 DECLARE LONG CONSTANT NHDR$K_NT_VMS_IMGNAM = 102 DECLARE LONG CONSTANT NHDR$K_NT_VMS_IMGID = 103 DECLARE LONG CONSTANT NHDR$K_NT_VMS_LINKID = 104 DECLARE LONG CONSTANT NHDR$K_NT_VMS_IMGBID = 105 DECLARE LONG CONSTANT NHDR$K_NT_VMS_GSTNAM = 106 DECLARE LONG CONSTANT NHDR$K_NT_VMS_ORIG_DYN = 107 DECLARE LONG CONSTANT NHDR$K_NT_VMS_PATCHTIME = 108 DECLARE LONG CONSTANT NHDR$K_VMS_EIDC_ERRSEV_WARNING = 0 DECLARE LONG CONSTANT NHDR$K_VMS_EIDC_ERRSEV_SUCCESS = 1 DECLARE LONG CONSTANT NHDR$K_VMS_EIDC_ERRSEV_ERROR = 2 DECLARE LONG CONSTANT NHDR$K_VMS_EIDC_ERRSEV_SEVERE = 4 DECLARE LONG CONSTANT ELF64_SYM$K_ST_SIZE = 24 DECLARE LONG CONSTANT ELF64_SYM$C_ST_SIZE = 24 DECLARE LONG CONSTANT symtab$S_Elf64_Sym = 24 record Elf64_Sym Elf64_Word symtab$l_st_name BYTE symtab$b_st_info BYTE symtab$b_st_other Elf64_Half symtab$w_st_shndx Elf64_Addr symtab$pq_st_value Elf64_Xword symtab$q_st_size end record Elf64_Sym DECLARE LONG CONSTANT SYMTAB$K_STB_LOCAL = 0 DECLARE LONG CONSTANT SYMTAB$K_STB_GLOBAL = 1 DECLARE LONG CONSTANT SYMTAB$K_STB_WEAK = 2 DECLARE LONG CONSTANT SYMTAB$K_STB_LOOS = 10 DECLARE LONG CONSTANT SYMTAB$K_STB_VMS_WEAK = 11 DECLARE LONG CONSTANT SYMTAB$K_STB_VMS_SYSTEM = 12 DECLARE LONG CONSTANT SYMTAB$K_STB_HIOS = 12 DECLARE LONG CONSTANT SYMTAB$K_STB_LOPROC = 13 DECLARE LONG CONSTANT SYMTAB$K_STB_HIPROC = 15 DECLARE LONG CONSTANT SYMTAB$K_STT_NOTYPE = 0 DECLARE LONG CONSTANT SYMTAB$K_STT_OBJECT = 1 DECLARE LONG CONSTANT SYMTAB$K_STT_FUNC = 2 DECLARE LONG CONSTANT SYMTAB$K_STT_SECTION = 3 DECLARE LONG CONSTANT SYMTAB$K_STT_FILE = 4 DECLARE LONG CONSTANT SYMTAB$K_STT_COMMON = 5 DECLARE LONG CONSTANT SYMTAB$K_STT_TLS = 6 DECLARE LONG CONSTANT SYMTAB$K_STT_LOOS = 10 DECLARE LONG CONSTANT SYMTAB$K_STT_HIOS = 12 DECLARE LONG CONSTANT SYMTAB$K_STT_LOPROC = 13 DECLARE LONG CONSTANT SYMTAB$K_STT_HIPROC = 15 DECLARE LONG CONSTANT SYMTAB$K_STV_DEFAULT = 0 DECLARE LONG CONSTANT SYMTAB$K_STV_INTERNAL = 1 DECLARE LONG CONSTANT SYMTAB$K_STV_HIDDEN = 2 DECLARE LONG CONSTANT SYMTAB$K_STV_PROTECTED = 3 DECLARE LONG CONSTANT SYMTAB$K_STV_UNIVERSAL = 3 DECLARE LONG CONSTANT SYMTAB$K_VMS_STO_VISIBILITY = 3 DECLARE LONG CONSTANT SYMTAB$K_VMS_STO_FUNC_TYPE = 48 DECLARE LONG CONSTANT SYMTAB$K_VMS_STO_LINKAGE = 192 DECLARE LONG CONSTANT SYMTAB$K_VMS_SFT_CODE_ADDR = 0 DECLARE LONG CONSTANT SYMTAB$K_VMS_SFT_SYMV_IDX = 1 DECLARE LONG CONSTANT SYMTAB$K_VMS_SFT_FD = 2 DECLARE LONG CONSTANT SYMTAB$K_VMS_SFT_RESERVE = 3 DECLARE LONG CONSTANT SYMTAB$K_VMS_STL_IGNORE = 0 DECLARE LONG CONSTANT SYMTAB$K_VMS_STL_RESERVED = 1 DECLARE LONG CONSTANT SYMTAB$K_VMS_STL_STD = 2 DECLARE LONG CONSTANT SYMTAB$K_VMS_STL_LNK = 3 DECLARE LONG CONSTANT ELF64_RELA64$K_R_SIZE = 24 DECLARE LONG CONSTANT ELF64_RELA64$C_R_SIZE = 24 DECLARE LONG CONSTANT rela$S_Elf64_Rela64 = 24 record Elf64_Rela64 Elf64_Addr rela$pq_r_offset group rela$r_info_olay variant case Elf64_Xword rela$q_r_info case group rela$r_symtyp Elf64_Word rela$l_r_type Elf64_Word rela$l_r_sym end group rela$r_symtyp end variant end group rela$r_info_olay Elf64_Sxword rela$q_r_addend end record Elf64_Rela64 DECLARE LONG CONSTANT RELA$K_R_IA_64_NONE = 0 DECLARE LONG CONSTANT RELA$K_R_IA_64_IMM14 = 33 DECLARE LONG CONSTANT RELA$K_R_IA_64_IMM22 = 34 DECLARE LONG CONSTANT RELA$K_R_IA_64_IMM64 = 35 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR32MSB = 36 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR32LSB = 37 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR64MSB = 38 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR64LSB = 39 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL22 = 42 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL64I = 43 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL32MSB = 44 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL32LSB = 45 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL64MSB = 46 DECLARE LONG CONSTANT RELA$K_R_IA_64_GPREL64LSB = 47 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF22 = 50 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF64I = 51 DECLARE LONG CONSTANT RELA$K_R_IA_64_PLTOFF22 = 58 DECLARE LONG CONSTANT RELA$K_R_IA_64_PLTOFF64I = 59 DECLARE LONG CONSTANT RELA$K_R_IA_64_PLTOFF64MSB = 62 DECLARE LONG CONSTANT RELA$K_R_IA_64_PLTOFF64LSB = 63 DECLARE LONG CONSTANT RELA$K_R_IA_64_FPTR64I = 67 DECLARE LONG CONSTANT RELA$K_R_IA_64_FPTR32MSB = 68 DECLARE LONG CONSTANT RELA$K_R_IA_64_FPTR32LSB = 69 DECLARE LONG CONSTANT RELA$K_R_IA_64_FPTR64MSB = 70 DECLARE LONG CONSTANT RELA$K_R_IA_64_FPTR64LSB = 71 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL60B = 72 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL21B = 73 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL21M = 74 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL21F = 75 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL32MSB = 76 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL32LSB = 77 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL64MSB = 78 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL64LSB = 79 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR22 = 82 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR64I = 83 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR32MSB = 84 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR32LSB = 85 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR64MSB = 86 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_FPTR64LSB = 87 DECLARE LONG CONSTANT RELA$K_R_IA_64_SEGREL32MSB = 92 DECLARE LONG CONSTANT RELA$K_R_IA_64_SEGREL32LSB = 93 DECLARE LONG CONSTANT RELA$K_R_IA_64_SEGREL64MSB = 94 DECLARE LONG CONSTANT RELA$K_R_IA_64_SEGREL64LSB = 95 DECLARE LONG CONSTANT RELA$K_R_IA_64_SECREL32MSB = 100 DECLARE LONG CONSTANT RELA$K_R_IA_64_SECREL32LSB = 101 DECLARE LONG CONSTANT RELA$K_R_IA_64_SECREL64MSB = 102 DECLARE LONG CONSTANT RELA$K_R_IA_64_SECREL64LSB = 103 DECLARE LONG CONSTANT RELA$K_R_IA_64_REL32MSB = 108 DECLARE LONG CONSTANT RELA$K_R_IA_64_REL32LSB = 109 DECLARE LONG CONSTANT RELA$K_R_IA_64_REL64MSB = 110 DECLARE LONG CONSTANT RELA$K_R_IA_64_REL64LSB = 111 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTV32MSB = 116 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTV32LSB = 117 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTV64MSB = 118 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTV64LSB = 119 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL21BI = 121 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL22 = 122 DECLARE LONG CONSTANT RELA$K_R_IA_64_PCREL64I = 123 DECLARE LONG CONSTANT RELA$K_R_IA_64_IPLTMSB = 128 DECLARE LONG CONSTANT RELA$K_R_IA_64_IPLTLSB = 129 DECLARE LONG CONSTANT RELA$K_R_IA_64_COPY = 132 DECLARE LONG CONSTANT RELA$K_R_IA_64_SUB = 133 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF22X = 134 DECLARE LONG CONSTANT RELA$K_R_IA_64_LDXMOV = 135 DECLARE LONG CONSTANT RELA$K_R_IA_64_TPREL14 = 145 DECLARE LONG CONSTANT RELA$K_R_IA_64_TPREL22 = 146 DECLARE LONG CONSTANT RELA$K_R_IA_64_TPREL64I = 147 DECLARE LONG CONSTANT RELA$K_R_IA_64_TPREL64MSB = 150 DECLARE LONG CONSTANT RELA$K_R_IA_64_TPREL64LSB = 151 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_TP22 = 154 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPMOD64MSB = 166 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPMOD64LSB = 167 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_DTPMOD22 = 170 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL14 = 177 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL22 = 178 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL64I = 179 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL32MSB = 180 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL32LSB = 181 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL64MSB = 182 DECLARE LONG CONSTANT RELA$K_R_IA_64_DTPREL64LSB = 183 DECLARE LONG CONSTANT RELA$K_R_IA_64_LTOFF_DTPREL22 = 186 DECLARE LONG CONSTANT RELA$K_R_IA_64_LOOS = 1879048192 DECLARE LONG CONSTANT RELA$K_R_IA_64_HIOS = -1 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR8 = 1879048192 DECLARE LONG CONSTANT RELA$K_R_IA_64_DIR16LSB = 1879048193 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_CALL_SIG = 1879048194 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_EXECLET_FUNC = 1879048195 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_EXECLET_DATA = 1879048196 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_FIX8 = 1879048197 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_FIX16 = 1879048198 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_FIX32 = 1879048199 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_FIX64 = 1879048200 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_FIXFD = 1879048201 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_LOAD = 1879048202 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_ADD = 1879048203 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_SUB = 1879048204 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_MUL = 1879048205 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_DIV = 1879048206 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_AND = 1879048207 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_IOR = 1879048208 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_EOR = 1879048209 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_ASH = 1879048210 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_STO8 = 1879048212 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_STO16LSB = 1879048213 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_STO32LSB = 1879048214 DECLARE LONG CONSTANT RELA$K_R_IA_64_VMS_ACC_STO64LSB = 1879048215 ! Display Name Info (dni) - aka Demangler info - entries ! Internally some more structures and names are used. However, a ! developer should only use the types Elf64_vms_dni32 and ! Elf64_vms_dni64, both contain all necessary fields. In C notation ! all the necesary 32 bit fields are: ! dni32$l_dni_format ! dni32$l_fmt1_info[i].fmt1$l_dni_demangler ! dni32$l_fmt1_info[i].fmt1$l_dni_symbol ! dni32$l_fmt1_info[i].fmt1$l_dni_data ! dni32$l_fmt2_info[i].fmt2$l_dni_symbol ! dni32$l_fmt2_info[i].fmt2$l_dni_data ! dni32$l_fmt3.fmt3$l_dni_demangler ! dni32$l_fmt4.fmt4$l_dni_demangler ! dni32$l_fmt4_info[i].fmt4$l_dni_symbol ! dni32$l_fmt4_info[i].fmt4$l_dni_data DECLARE LONG CONSTANT DNI$_SUCCESS = 1 DECLARE LONG CONSTANT DNI$_NORMAL = 1 ! demangled string is in result buffer DECLARE LONG CONSTANT DNI$_ERROR = 2 ! error in demangling DECLARE LONG CONSTANT DNI$_ALTERNATE_SUCCESS = 9 DECLARE LONG CONSTANT DNI$_SAME = 9 ! demangled string identical to input string ! Data representations (0,4,8) DECLARE LONG CONSTANT DNI$_DATA_ULEB = 0 ! ULEBs (see DWARF spec) DECLARE LONG CONSTANT DNI$_DATA_WORD = 4 ! ELF64_Word, VMS Longword DECLARE LONG CONSTANT DNI$_DATA_XWORD = 8 ! ELF64_Xword, VMS Quadword ! DNI formats (1, ..., 4) DECLARE LONG CONSTANT DNI$_FMT1 = 1 DECLARE LONG CONSTANT DNI$_FMT2 = 2 DECLARE LONG CONSTANT DNI$_FMT3 = 3 DECLARE LONG CONSTANT DNI$_FMT4 = 4 ! ! 32 bit variants ! DECLARE LONG CONSTANT fmt1$S_Elf64_vms_dni32_fmt1 = 12 record Elf64_vms_dni32_fmt1 Elf64_Word fmt1$l_dni_demangler Elf64_Word fmt1$l_dni_symbol Elf64_Word fmt1$l_dni_data end record Elf64_vms_dni32_fmt1 DECLARE LONG CONSTANT fmt2$S_Elf64_vms_dni32_fmt2 = 8 record Elf64_vms_dni32_fmt2 Elf64_Word fmt2$l_dni_symbol Elf64_Word fmt2$l_dni_data end record Elf64_vms_dni32_fmt2 DECLARE LONG CONSTANT fmt3$S_Elf64_vms_dni32_fmt3 = 4 DECLARE LONG CONSTANT fmt4$S_Elf64_vms_dni32_fmt4 = 4 DECLARE LONG CONSTANT fmt4$S_Elf64_vms_dni32_fmt4_sub = 8 record Elf64_vms_dni32_fmt4_sub Elf64_Word fmt4$l_dni_symbol Elf64_Word fmt4$l_dni_data end record Elf64_vms_dni32_fmt4_sub DECLARE LONG CONSTANT dni32$S_Elf64_vms_dni32 = 16 record Elf64_vms_dni32 Elf64_Word dni32$l_dni_format group dni32$r_entry32 variant case group dni32$r_format_l1 Elf64_vms_dni32_fmt1 dni32$l_fmt1_info ( 1 to 1 ) end group dni32$r_format_l1 case group dni32$r_format_l2 Elf64_vms_dni32_fmt2 dni32$l_fmt2_info ( 1 to 1 ) end group dni32$r_format_l2 case group dni32$r_format_l3 Elf64_vms_dni32_fmt3 dni32$l_fmt3 end group dni32$r_format_l3 case group dni32$r_format_l4 Elf64_vms_dni32_fmt4 dni32$l_fmt4 Elf64_vms_dni32_fmt4_sub dni32$l_fmt4_info ( 1 to 1 ) end group dni32$r_format_l4 end variant end group dni32$r_entry32 end record Elf64_vms_dni32 ! ! 64 bit variants ! DECLARE LONG CONSTANT fmt1$S_Elf64_vms_dni64_fmt1 = 24 record Elf64_vms_dni64_fmt1 Elf64_Xword fmt1$q_dni_demangler Elf64_Xword fmt1$q_dni_symbol Elf64_Xword fmt1$q_dni_data end record Elf64_vms_dni64_fmt1 DECLARE LONG CONSTANT fmt2$S_Elf64_vms_dni64_fmt2 = 16 record Elf64_vms_dni64_fmt2 Elf64_Xword fmt2$q_dni_symbol Elf64_Xword fmt2$q_dni_data end record Elf64_vms_dni64_fmt2 DECLARE LONG CONSTANT fmt3$S_Elf64_vms_dni64_fmt3 = 8 DECLARE LONG CONSTANT fmt4$S_Elf64_vms_dni64_fmt4 = 8 DECLARE LONG CONSTANT fmt4$S_Elf64_vms_dni64_fmt4_sub = 16 record Elf64_vms_dni64_fmt4_sub Elf64_Xword fmt4$q_dni_symbol Elf64_Xword fmt4$q_dni_data end record Elf64_vms_dni64_fmt4_sub DECLARE LONG CONSTANT dni64$S_Elf64_vms_dni64 = 32 record Elf64_vms_dni64 Elf64_Xword dni64$q_dni_format group dni64$r_entry64 variant case group dni64$r_format_q1 Elf64_vms_dni64_fmt1 dni64$q_fmt1_info ( 1 to 1 ) end group dni64$r_format_q1 case group dni64$r_format_q2 Elf64_vms_dni64_fmt2 dni64$q_fmt2_info ( 1 to 1 ) end group dni64$r_format_q2 case group dni64$r_format_q3 Elf64_vms_dni64_fmt3 dni64$q_fmt3 end group dni64$r_format_q3 case group dni64$r_format_q4 Elf64_vms_dni64_fmt4 dni64$q_fmt4 Elf64_vms_dni64_fmt4_sub dni64$q_fmt4_info ( 1 to 1 ) end group dni64$r_format_q4 end variant end group dni64$r_entry64 end record Elf64_vms_dni64 DECLARE LONG CONSTANT PHDR$SC_PF_X = 0 DECLARE LONG CONSTANT phdr$m_pf_x = x'00000001' DECLARE LONG CONSTANT PHDR$SC_PF_W = 1 DECLARE LONG CONSTANT phdr$m_pf_w = x'00000002' DECLARE LONG CONSTANT PHDR$SC_PF_R = 2 DECLARE LONG CONSTANT phdr$m_pf_r = x'00000004' DECLARE LONG CONSTANT phdr$m_pf_fill_3to19 = x'000FFFF8' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_NOWRIT_RELOC = 20 DECLARE LONG CONSTANT phdr$m_pf_vms_nowrit_reloc = x'00100000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_INITIALCODE = 21 DECLARE LONG CONSTANT phdr$m_pf_vms_initialcode = x'00200000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_RESIDENT = 22 DECLARE LONG CONSTANT phdr$m_pf_vms_resident = x'00400000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_VECTOR = 23 DECLARE LONG CONSTANT phdr$m_pf_vms_vector = x'00800000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_PROTECT = 24 DECLARE LONG CONSTANT phdr$m_pf_vms_protect = x'01000000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_NOWRIT_FIXUP = 25 DECLARE LONG CONSTANT phdr$m_pf_vms_nowrit_fixup = x'02000000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_SHORT = 26 DECLARE LONG CONSTANT phdr$m_pf_vms_short = x'04000000' DECLARE LONG CONSTANT PHDR$SC_PF_VMS_SHARED = 27 DECLARE LONG CONSTANT phdr$m_pf_vms_shared = x'08000000' DECLARE LONG CONSTANT PHDR$SC_PF_IA_64_NORECOV = 31 DECLARE LONG CONSTANT phdr$m_pf_ia_64_norecov = x'80000000' DECLARE LONG CONSTANT phdr$m_fill_1 = x'000FFFFF' DECLARE LONG CONSTANT PHDR$SC_PF_MASKOS = 20 DECLARE LONG CONSTANT phdr$m_pf_maskos = x'0FF00000' DECLARE LONG CONSTANT PHDR$SC_PF_MASKPROC = 28 DECLARE LONG CONSTANT phdr$m_pf_maskproc = x'F0000000' DECLARE LONG CONSTANT ELF64_PHDR$K_SIZE = 56 DECLARE LONG CONSTANT ELF64_PHDR$C_SIZE = 56 DECLARE LONG CONSTANT phdr$S_Elf64_Phdr = 56 record Elf64_Phdr Elf64_Word phdr$l_p_type group phdr$r_flags variant case Elf64_Word phdr$l_p_flags case group phdr$r_flagbits LONG pf_x_bits ! COMMENT ADDED BY SDL - pf_x_bits contains bits pf_x through pf_ia_64_norecov end group phdr$r_flagbits case group phdr$r_flagmasks LONG fill_1_bits ! COMMENT ADDED BY SDL - fill_1_bits contains bits fill_1 through pf_maskproc end group phdr$r_flagmasks end variant end group phdr$r_flags Elf64_Off phdr$q_p_offset Elf64_Addr phdr$pq_p_vaddr Elf64_Addr phdr$pq_p_paddr Elf64_Xword phdr$q_p_filesz Elf64_Xword phdr$q_p_memsz Elf64_Xword phdr$q_p_align end record Elf64_Phdr DECLARE LONG CONSTANT PHDR$K_PT_NULL = 0 DECLARE LONG CONSTANT PHDR$K_PT_LOAD = 1 DECLARE LONG CONSTANT PHDR$K_PT_DYNAMIC = 2 DECLARE LONG CONSTANT PHDR$K_PT_INTERP = 3 DECLARE LONG CONSTANT PHDR$K_PT_NOTE = 4 DECLARE LONG CONSTANT PHDR$K_PT_SHLIB = 5 DECLARE LONG CONSTANT PHDR$K_PT_PHDR = 6 DECLARE LONG CONSTANT PHDR$K_PT_TLS = 7 DECLARE LONG CONSTANT PHDR$K_PT_LOOS = 1610612736 DECLARE LONG CONSTANT PHDR$K_PT_HIOS = 1879048191 DECLARE LONG CONSTANT PHDR$K_PT_LOPROC = 1879048192 DECLARE LONG CONSTANT PHDR$K_PT_HIPROC = 2147483647 DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_CALL_DEBUG = 0 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_call_debug = x'00000001' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_NOP0BUFS = 1 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_nop0bufs = x'00000002' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_P0IMAGE = 2 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_p0image = x'00000004' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_MKTHREADS = 3 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_mkthreads = x'00000008' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_UPCALLS = 4 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_upcalls = x'00000010' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_IMGSTA = 5 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_imgsta = x'00000020' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_INITIALIZE = 6 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_initialize = x'00000040' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_MAIN = 7 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_main = x'00000080' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_UNUSED = 8 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_unused = x'00000100' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_EXE_INIT = 9 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_exe_init = x'00000200' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_TBK_IN_IMG = 10 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_tbk_in_img = x'00000400' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_DBG_IN_IMG = 11 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_dbg_in_img = x'00000800' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_TBK_IN_DSF = 12 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_tbk_in_dsf = x'00001000' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_DBG_IN_DSF = 13 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_dbg_in_dsf = x'00002000' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_SIGNATURES = 14 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_signatures = x'00004000' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_REL_SEG_OFF = 15 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_rel_seg_off = x'00008000' DECLARE LONG CONSTANT DYNSEG$SC_DT_VMS_LF_SSI_INCAP = 16 DECLARE LONG CONSTANT dynseg$m_dt_vms_lf_ssi_incap = x'00010000' DECLARE LONG CONSTANT DYNSEG$K_SIZE = 16 DECLARE LONG CONSTANT DYNSEG$C_SIZE = 16 DECLARE LONG CONSTANT dynseg$S_Elf64_Dyn = 16 record Elf64_Dyn Elf64_Sxword dynseg$q_d_tag group dynseg$r_d_un variant case Elf64_Xword dynseg$q_d_val case Elf64_Addr dynseg$pq_d_ptr case group dynseg$r_d_vms_lnkflags LONG dt_vms_lf_call_debug_bits ! COMMENT ADDED BY SDL - dt_vms_lf_call_debug_bits contains bits & ! dt_vms_lf_call_debug through fill_125_ end group dynseg$r_d_vms_lnkflags end variant end group dynseg$r_d_un end record Elf64_Dyn DECLARE LONG CONSTANT DYNSEG$K_DT_NULL = 0 DECLARE LONG CONSTANT DYNSEG$K_DT_NEEDED = 1 DECLARE LONG CONSTANT DYNSEG$K_DT_STRSZ = 10 DECLARE LONG CONSTANT DYNSEG$K_DT_IA_64_PLT_RESERVE = 1879048192 DECLARE LONG CONSTANT DYNSEG$K_DT_LOOS = 1610612749 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SUBTYPE = 1610612749 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_1 = 1610612750 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_IMGIOCNT = 1610612751 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_3 = 1610612752 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_4 = 1610612753 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_5 = 1610612754 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_6 = 1610612755 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_7 = 1610612756 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_LNKFLAGS = 1610612757 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_9 = 1610612758 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_VIR_MEM_BLK_SIZ = 1610612759 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_11 = 1610612760 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_IDENT = 1610612761 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_13 = 1610612762 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_14 = 1610612763 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_15 = 1610612764 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_NEEDED_IDENT = 1610612765 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_17 = 1610612766 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_IMG_RELA_CNT = 1610612767 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_19 = 1610612768 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SEG_RELA_CNT = 1610612769 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_21 = 1610612770 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_FIXUP_RELA_CNT = 1610612771 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_23 = 1610612772 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_FIXUP_NEEDED = 1610612773 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_25 = 1610612774 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SYMVEC_CNT = 1610612775 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_27 = 1610612776 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_28 = 1610612777 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_29 = 1610612778 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_XLATED = 1610612779 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_31 = 1610612780 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_STACKSIZE = 1610612781 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_33 = 1610612782 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_UNWINDSZ = 1610612783 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_35 = 1610612784 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_UNWIND_CODSEG = 1610612785 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_37 = 1610612786 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_UNWIND_INFOSEG = 1610612787 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_39 = 1610612788 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_LINKTIME = 1610612789 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_41 = 1610612790 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SEG_NO = 1610612791 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_43 = 1610612792 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SYMVEC_OFFSET = 1610612793 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_45 = 1610612794 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SYMVEC_SEG = 1610612795 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_47 = 1610612796 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_UNWIND_OFFSET = 1610612797 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_49 = 1610612798 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_UNWIND_SEG = 1610612799 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_51 = 1610612800 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_STRTAB_OFFSET = 1610612801 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_53 = 1610612802 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SYSVER_OFFSET = 1610612803 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_55 = 1610612804 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_IMG_RELA_OFF = 1610612805 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_57 = 1610612806 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SEG_RELA_OFF = 1610612807 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_59 = 1610612808 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_FIXUP_RELA_OFF = 1610612809 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_61 = 1610612810 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_PLTGOT_OFFSET = 1610612811 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_63 = 1610612812 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_PLTGOT_SEG = 1610612813 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_DTLOOSPLUS_65 = 1610612814 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_FPMODE = 1610612815 DECLARE LONG CONSTANT DYNSEG$K_DT_VMS_SUBTYPE_CLI = 1 DECLARE LONG CONSTANT IDENTs_vms_ident = 8 record vms_ident LONG IDENTl_minor_id WORD IDENTw_major_id BYTE IDENTb_match BYTE IDENTb_unused end record vms_ident DECLARE LONG CONSTANT TBK$K_RECTYPE_HDR32 = 1 DECLARE LONG CONSTANT TBK$K_RECTYPE_RTN32 = 2 DECLARE LONG CONSTANT TBK$K_RECTYPE_FIL = 3 DECLARE LONG CONSTANT TBK$K_RECTYPE_LN1 = 4 DECLARE LONG CONSTANT TBK$K_RECTYPE_LN2 = 5 DECLARE LONG CONSTANT TBK$K_RECTYPE_LN4 = 6 DECLARE LONG CONSTANT TBK$K_RECTYPE_PC1 = 7 DECLARE LONG CONSTANT TBK$K_RECTYPE_PC2 = 8 DECLARE LONG CONSTANT TBK$K_RECTYPE_PC4 = 9 DECLARE LONG CONSTANT TBK$K_RECTYPE_VERSION = 10 DECLARE LONG CONSTANT TBK$K_RECTYPE_HDR64 = 11 DECLARE LONG CONSTANT TBK$K_RECTYPE_RTN64 = 12 DECLARE LONG CONSTANT TBK$K_RECTYPE_PC8 = 13 DECLARE LONG CONSTANT sysver$s_system_version_array = 132 record system_version_array ! Bit mask of valid array entries LONG subsystem_mask_bits ! COMMENT ADDED BY SDL - subsystem_mask_bits contains bits subsystem_mask through & ! subsystem_mask sysver_majmin sysver$r_system_ver ! Version of sys$base_image subsys_majmin sysver$r_subsys_ver ( 1 to 31 ) ! Version of various subsystems end record system_version_array DECLARE LONG CONSTANT SYSVER$K_LENGTH = 33 DECLARE LONG CONSTANT SYSVER$C_LENGTH = 33 DECLARE LONG CONSTANT IMF$K_SIZE = 32 DECLARE LONG CONSTANT IMF$C_SIZE = 32 DECLARE LONG CONSTANT imf$s_image_fixup = 32 record image_fixup Elf64_Xword imf$q_fixup_offset Elf64_Word imf$l_type Elf64_Word imf$l_fixup_seg Elf64_Sxword imf$q_addend Elf64_Word imf$l_symvec_index Elf64_Word imf$l_data_type end record image_fixup DECLARE LONG CONSTANT IMR$K_SIZE = 40 DECLARE LONG CONSTANT IMR$C_SIZE = 40 DECLARE LONG CONSTANT imr$s_image_rela = 40 record image_rela Elf64_Xword imr$q_rela_offset Elf64_Word imr$l_type Elf64_Word imr$l_rela_seg Elf64_Sxword imr$q_addend Elf64_Xword imr$q_sym_offset Elf64_Word imr$l_sym_seg Elf64_Word imr$l_fill_1 end record image_rela DECLARE LONG CONSTANT SGR$K_SIZE = 32 DECLARE LONG CONSTANT SGR$C_SIZE = 32 DECLARE LONG CONSTANT sgr$s_segment_rela = 32 record segment_rela Elf64_Xword sgr$q_rela_offset Elf64_Word sgr$l_type Elf64_Word sgr$l_rela_seg Elf64_Sxword sgr$q_addend group sgr$r_symbol_overlay variant case Elf64_Sxword sgr$q_gp_offset case group sgr$r_needed_sym Elf64_Word sgr$l_symvec_index Elf64_Word sgr$l_needed_index end group sgr$r_needed_sym end variant end group sgr$r_symbol_overlay end record segment_rela DECLARE LONG CONSTANT VMS_FIXUP$K_SIZE = 24 DECLARE LONG CONSTANT VMS_FIXUP$C_SIZE = 24 DECLARE LONG CONSTANT vms_fixup$s_vms_fixup = 24 record vms_fixup Elf64_Addr vms_fixup$pq_offset Elf64_Sxword vms_fixup$q_addend Elf64_Word vms_fixup$l_symindx Elf64_Word vms_fixup$l_type end record vms_fixup DECLARE LONG CONSTANT LNKG$K_SIZE = 8 DECLARE LONG CONSTANT LNKG$C_SIZE = 8 DECLARE LONG CONSTANT lnkg$s_vms_linkages_header = 8 record vms_linkages_header Elf64_Word lnkg$l_type Elf64_Word lnkg$l_decl_count end record vms_linkages_header DECLARE LONG CONSTANT LNKG_ENTRY1$K_SIZE = 12 DECLARE LONG CONSTANT LNKG_ENTRY1$C_SIZE = 12 DECLARE LONG CONSTANT lnkg_entry1$s_vms_lnkg_entry1 = 12 record vms_lnkg_entry1 Elf64_Word lnkg_entry1$l_symidx group lnkg_entry1$r_lnkg_desc variant case vms_lnkg_desc1 lnkg_entry1$ps_desc case Elf64_Xword lnkg_entry1$q_vms_linkage_qw end variant end group lnkg_entry1$r_lnkg_desc end record vms_lnkg_entry1 DECLARE LONG CONSTANT VMSLNKG$K_VMS_LINKAGE_TYPE1 = 1 DECLARE LONG CONSTANT VMSLNKG$K_REG_POL_VOL = 0 DECLARE LONG CONSTANT VMSLNKG$K_REG_POL_SCR = 1 DECLARE LONG CONSTANT VMSLNKG$K_REG_POL_OUT = 2 DECLARE LONG CONSTANT VMSLNKG$K_REG_POL_PRE = 3 DECLARE LONG CONSTANT fd$s_func_descr = 16 record func_descr Elf64_Addr fd$pq_entryVA Elf64_Addr fd$pq_GPtr end record func_descr DECLARE LONG CONSTANT UNWIND$K_DESC_VERSION = 1 DECLARE LONG CONSTANT unwind$m_unw_length = x'FFFFFFFF' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_EHANDLER = 32 DECLARE LONG CONSTANT unwind$m_unw_flag_ehandler = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_UHANDLER = 33 DECLARE LONG CONSTANT unwind$m_unw_flag_uhandler = x'00000000' DECLARE LONG CONSTANT unwind$m_unw_flag_rsvd_43_34 = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_VMS_OSDA = 44 DECLARE LONG CONSTANT unwind$m_unw_flag_vms_osda = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_VMS_HANDLER = 45 DECLARE LONG CONSTANT unwind$m_unw_flag_vms_handler = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_MASK = 32 DECLARE LONG CONSTANT unwind$m_unw_flag_mask = x'00000000' DECLARE LONG CONSTANT unwind$m_osmask_unused = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_FLAG_OSMASK = 44 DECLARE LONG CONSTANT unwind$m_unw_flag_osmask = x'00000000' DECLARE LONG CONSTANT unwind$m_ivmsmode_unused = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_IVMS_MODE = 44 DECLARE LONG CONSTANT unwind$m_unw_ivms_mode = x'00000000' DECLARE LONG CONSTANT unwind$m_version_unused = x'00000000' DECLARE LONG CONSTANT UNWIND$SC_UNW_VERSION = 48 DECLARE LONG CONSTANT unwind$m_unw_version = x'00000000' DECLARE LONG CONSTANT UNWIND$K_DESC_SIZE = 8 DECLARE LONG CONSTANT UNWIND$C_DESC_SIZE = 8 DECLARE LONG CONSTANT unwind$s_exceptn_unwind = 8 record exceptn_unwind group unwind$r_unwind_desc variant case group unwind$r_unwind_generic group unwind$r_unwind_length variant case Elf64_Word unwind$l_unw_length case group unwind$r_unw_len_mask LONG unw_length_bits ! COMMENT ADDED BY SDL - unw_length_bits contains bits unw_length through & ! unw_length end group unwind$r_unw_len_mask end variant end group unwind$r_unwind_length Elf64_Half unwind$w_unw_flags Elf64_Half unwind$w_unw_version end group unwind$r_unwind_generic case group unwind$r_exc_unwnd_os variant case group unwind$r_unwind_flag BYTE unused_31_0_bits ( 6 ) ! COMMENT ADDED BY SDL - unused_31_0_bits contains bits unused_31_0 through & ! fill_126_ end group unwind$r_unwind_flag case group unwind$r_flags_mask BYTE mask_unused_bits ( 6 ) ! COMMENT ADDED BY SDL - mask_unused_bits contains bits mask_unused through & ! unw_flag_mask end group unwind$r_flags_mask case group unwind$r_flags_osmask BYTE osmask_unused_bits ( 6 ) ! COMMENT ADDED BY SDL - osmask_unused_bits contains bits osmask_unused & ! through unw_flag_osmask end group unwind$r_flags_osmask case group unwind$r_flags_ivms BYTE ivmsmode_unused_bits ( 6 ) ! COMMENT ADDED BY SDL - ivmsmode_unused_bits contains bits & ! ivmsmode_unused through fill_127_ end group unwind$r_flags_ivms case group unwind$r_version BYTE version_unused_bits ( 8 ) ! COMMENT ADDED BY SDL - version_unused_bits contains bits & ! version_unused through unw_version end group unwind$r_version end variant end group unwind$r_exc_unwnd_os end variant end group unwind$r_unwind_desc end record exceptn_unwind DECLARE LONG CONSTANT UNWIND$K_FLAGS_UNUSED0 = 0 DECLARE LONG CONSTANT UNWIND$K_FLAGS_UNUSED1 = 1 DECLARE LONG CONSTANT UNWIND$K_FLAGS_SEMANTICS = 2 DECLARE LONG CONSTANT UNWIND$K_FLAGS_SEMANTICS_DATA = 3 DECLARE LONG CONSTANT UNWIND$K_ABI_UNIX = 0 DECLARE LONG CONSTANT UNWIND$K_ABI_HPUX = 1 DECLARE LONG CONSTANT UNWIND$K_ABI_WNT = 2 DECLARE LONG CONSTANT UNWIND$K_ABI_VMS = 3 DECLARE LONG CONSTANT UNWIND$K_HDR_PATTERN = 0 DECLARE LONG CONSTANT UNWIND$M_HDR_MASK = 128 DECLARE LONG CONSTANT UNWIND$K_R1_PATTERN = 0 DECLARE LONG CONSTANT UNWIND$M_R1_MASK = 192 DECLARE LONG CONSTANT UNWIND$K_R2_PATTERN = 64 DECLARE LONG CONSTANT UNWIND$M_R2_MASK = 248 DECLARE LONG CONSTANT UNWIND$K_R3_PATTERN = 96 DECLARE LONG CONSTANT UNWIND$M_R3_MASK = 252 DECLARE LONG CONSTANT UNWIND$K_P1_PATTERN = 128 DECLARE LONG CONSTANT UNWIND$M_P1_MASK = 224 DECLARE LONG CONSTANT UNWIND$K_P2_PATTERN = 160 DECLARE LONG CONSTANT UNWIND$M_P2_MASK = 240 DECLARE LONG CONSTANT UNWIND$K_P3_PATTERN = 176 DECLARE LONG CONSTANT UNWIND$M_P3_MASK = 248 DECLARE LONG CONSTANT UNWIND$K_P4_PATTERN = 184 DECLARE LONG CONSTANT UNWIND$M_P4_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_P5_PATTERN = 185 DECLARE LONG CONSTANT UNWIND$M_P5_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_P6_PATTERN = 192 DECLARE LONG CONSTANT UNWIND$M_P6_MASK = 224 DECLARE LONG CONSTANT UNWIND$K_P7_PATTERN = 224 DECLARE LONG CONSTANT UNWIND$M_P7_MASK = 240 DECLARE LONG CONSTANT UNWIND$K_P8_PATTERN = 240 DECLARE LONG CONSTANT UNWIND$M_P8_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_P9_PATTERN = 241 DECLARE LONG CONSTANT UNWIND$M_P9_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_P10_PATTERN = 255 DECLARE LONG CONSTANT UNWIND$M_P10_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_B1_PATTERN = 128 DECLARE LONG CONSTANT UNWIND$M_B1_MASK = 192 DECLARE LONG CONSTANT UNWIND$K_B2_PATTERN = 192 DECLARE LONG CONSTANT UNWIND$M_B2_MASK = 224 DECLARE LONG CONSTANT UNWIND$K_B3_PATTERN = 224 DECLARE LONG CONSTANT UNWIND$M_B3_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_B4_PATTERN = 240 DECLARE LONG CONSTANT UNWIND$M_B4_MASK = 247 DECLARE LONG CONSTANT UNWIND$K_X1_PATTERN = 249 DECLARE LONG CONSTANT UNWIND$M_X1_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_X2_PATTERN = 250 DECLARE LONG CONSTANT UNWIND$M_X2_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_X3_PATTERN = 251 DECLARE LONG CONSTANT UNWIND$M_X3_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_X4_PATTERN = 252 DECLARE LONG CONSTANT UNWIND$M_X4_MASK = 255 DECLARE LONG CONSTANT UNWIND$K_P10_ABI_UNIX = 0 DECLARE LONG CONSTANT UNWIND$K_P10_ABI_HPUX = 1 DECLARE LONG CONSTANT UNWIND$K_P10_ABI_WNT = 2 DECLARE LONG CONSTANT UNWIND$K_P10_ABI_VMS = 3