/**/ /***************************************************************************/ /** **/ /** © 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:26:59 by OpenVMS SDL EV3-3 */ /* Source: 23-OCT-2002 11:41:37 $1$DGA7274:[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 */