/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:06:54 by OpenVMS SDL V3.7 */ /* Source: 23-OCT-2002 11:41:37 $1$DGA8345:[LIB_H.SRC]ISACFGDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $ISACFGDEF ***/ #ifndef __ISACFGDEF_LOADED #define __ISACFGDEF_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 /* */ /* This file describes the layout of the configuration data blocks */ /* for ISA devices. There are two data structures described in this */ /* file. The first is the ISA_CFG_DATA block that VMS uses to store */ /* ISA configuration information for ISA devices. There is an */ /* ISA_CFG_DATA block for each ISA device in the system. The second data */ /* structure described in this file is the console supplied ISA config */ /* information, stored in nvram. The console ISA configuration */ /* information actually consists of a header and a number of entries. */ /* The console ISA config header is defined as ISACFG_HDR and the console */ /* ISA config entries are defined as ISACFG_ENTRY. */ /* */ /* During ISA configuration, data is read from the console ISA config */ /* information and stored in ISA_CFG_DATA blocks. Then, data is also */ /* read from the user-editable file SYS$MANAGER:ISA_CONFIG.DAT and stored */ /* in ISA_CFG_DATA blocks. Then the drivers are loaded for the ISA */ /* devices. */ /* */ /* The ISA_CFG_DATA block contains ISA Bus resource information */ /* for each device, sych as IRQ, DMA channels, IO Ports, Memory addr, */ /* slot number. */ /* */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _isa_cfg_data { #pragma __nomember_alignment struct _isa_cfg_data *isacfg$ps_flink; struct _isa_cfg_data *isacfg$ps_blink; unsigned short int isacfg$w_size; unsigned char isacfg$b_type; unsigned char isacfg$b_subtype; unsigned int isacfg$l_irq; unsigned int isacfg$l_membuff0; unsigned int isacfg$l_memlen0; unsigned int isacfg$l_membuff1; unsigned int isacfg$l_memlen1; unsigned int isacfg$l_membuff2; unsigned int isacfg$l_memlen2; unsigned int isacfg$l_membuff3; unsigned int isacfg$l_memlen3; unsigned int isacfg$l_dmachan0; unsigned int isacfg$l_dmachan1; unsigned int isacfg$l_dmachan2; unsigned int isacfg$l_dmachan3; unsigned short int isacfg$w_io_port0; unsigned short int isacfg$w_io_len0; unsigned short int isacfg$w_io_port1; unsigned short int isacfg$w_io_len1; unsigned short int isacfg$w_io_port2; unsigned short int isacfg$w_io_len2; unsigned short int isacfg$w_io_port3; unsigned short int isacfg$w_io_len3; unsigned short int isacfg$w_io_port4; unsigned short int isacfg$w_io_len4; unsigned short int isacfg$w_io_port5; unsigned short int isacfg$w_io_len5; unsigned short int isacfg$w_io_port6; unsigned short int isacfg$w_io_len6; unsigned short int isacfg$w_io_port7; unsigned short int isacfg$w_io_len7; unsigned short int isacfg$w_io_port8; unsigned short int isacfg$w_io_len8; unsigned char isacfg$b_dev_name [4]; unsigned char isacfg$b_driver [16]; unsigned int isacfg$l_flags; unsigned int isacfg$l_node; unsigned char isacfg$b_user_param [72]; __union { unsigned int isacfg$l_irq2; unsigned int isacfg$l_rsv1; } isacfg$r_irq_overlay; unsigned int isacfg$l_rsv2; } ISA_CFG_DATA; #if !defined(__VAXC) #define isacfg$l_irq2 isacfg$r_irq_overlay.isacfg$l_irq2 #define isacfg$l_rsv1 isacfg$r_irq_overlay.isacfg$l_rsv1 #endif /* #if !defined(__VAXC) */ #define ISA$K_ISA_CFG_DATA_LENGTH 208 #define ISACFG$K_PORT 0 #define ISACFG$K_MEM 1 #define ISACFG$K_IRQ 2 #define ISACFG$K_NAME 3 #define ISACFG$K_NODE 4 #define ISACFG$K_DRIVER 5 #define ISACFG$K_DMA 6 #define ISACFG$K_USER_PARAM 7 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _isacfg_hdr { #pragma __nomember_alignment unsigned char isacfg_hdr$b_identifier [8]; unsigned short int isacfg_hdr$w_major_version; unsigned short int isacfg_hdr$w_minor_version; unsigned int isacfg_hdr$l_fill1; unsigned int isacfg_hdr$l_num_entries; unsigned int isacfg_hdr$l_first_entry_offset; unsigned int isacfg_hdr$l_table_checksum; unsigned int isacfg_hdr$l_header_checksum; } ISACFG_HDR; #define ISACFG_HDR$K_LENGTH 32 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _isacfg_entry { #pragma __nomember_alignment unsigned int isacfg_entry$l_entry_type; unsigned int isacfg_entry$l_reserved0; unsigned int isacfg_entry$l_isa_slot; unsigned int isacfg_entry$l_reserved1; unsigned int isacfg_entry$l_dev_num; unsigned int isacfg_entry$l_reserved2; unsigned int isacfg_entry$l_total_devices; unsigned int isacfg_entry$l_reserved3; unsigned __int64 isacfg_entry$q_io_base_addr0; unsigned __int64 isacfg_entry$q_io_base_addr1; unsigned __int64 isacfg_entry$q_io_base_addr2; unsigned __int64 isacfg_entry$q_io_base_addr3; unsigned __int64 isacfg_entry$q_io_base_addr4; unsigned __int64 isacfg_entry$q_io_base_addr5; unsigned __int64 isacfg_entry$q_mem0_base_addr; unsigned __int64 isacfg_entry$q_mem0_length; unsigned __int64 isacfg_entry$q_mem1_base_addr; unsigned __int64 isacfg_entry$q_mem1_length; unsigned __int64 isacfg_entry$q_mem2_base_addr; unsigned __int64 isacfg_entry$q_mem2_length; unsigned __int64 isacfg_entry$q_rom_base_addr; unsigned __int64 isacfg_entry$q_rom_length; unsigned int isacfg_entry$l_device_enable; unsigned int isacfg_entry$l_reserved4; unsigned int isacfg_entry$l_dma0; unsigned int isacfg_entry$l_dma1; unsigned int isacfg_entry$l_dma2; unsigned int isacfg_entry$l_dma3; unsigned int isacfg_entry$l_irq0_assignment; unsigned int isacfg_entry$l_irq1_assignment; unsigned int isacfg_entry$l_irq2_assignment; unsigned int isacfg_entry$l_irq3_assignment; unsigned char isacfg_entry$b_handle [16]; } ISACFG_ENTRY; #define ISACFG_ENTRY$K_LENGTH 200 #define ISACFG$K_NOT_USED 0 #define ISACFG$K_SINGLE_DEV 1 #define ISACFG$K_MULTI_EMBED_DEV 2 #define ISACFG$K_MULTI_DEV 3 #define ISACFG$K_ISACFG_HDR_SIZE 32 #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 /* __ISACFGDEF_LOADED */