/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $LADEF ***/ #ifndef __LADEF_LOADED #define __LADEF_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 /*+ */ /* */ /* LPA-11 CHARACTERISTICS DEFINITIONS */ /* */ /*- */ /*MICROCODE TYPE VALUES */ #define LA$K_MRMCODE 1 /* MULTIREQUEST MICROCODE */ #define LA$K_ADMCODE 2 /* DEDICATED A/D MICROCODE */ #define LA$K_DAMCODE 3 /* DEDICATED D/A MICROCODE */ #define LA$M_MCVALID 0x1 #define LA$M_CLOCKA 0x8 #define LA$M_CLOCKB 0x10 #define LA$M_AD1 0x20 #define LA$M_AD2 0x40 #define LA$M_DA 0x80 #define LA$M_DIO1 0x100 #define LA$M_DIO2 0x200 #define LA$M_DIO3 0x400 #define LA$M_DIO4 0x800 #define LA$M_DIO5 0x1000 #define LA$M_BFROVRN 0x800000 #ifdef __NEW_STARLET typedef union _ladef { __struct { unsigned la$v_mcvalid : 1; /* MICROCODE VALID */ unsigned la$v_mctype : 2; /* MICROCODE TYPE */ unsigned la$v_config : 10; /* DEVICE CONFIGURATION BITS */ unsigned la$v_rate : 3; /* CLOCK RATE */ unsigned la$v_preset : 16; /* CLOCK PRESET */ } la$r_ladef_bits0; __struct { unsigned ladef$$_fill_1 : 3; /* SKIP OVER MICROCODE VALID AND TYPE */ unsigned la$v_clocka : 1; /* CLOCK A */ unsigned la$v_clockb : 1; /* CLOCK B */ unsigned la$v_ad1 : 1; /* A/D ! 1 */ unsigned la$v_ad2 : 1; /* A/D ! 2 */ unsigned la$v_da : 1; /* D/A */ unsigned la$v_dio1 : 1; /* DIGITAL I/O ! 1 */ unsigned la$v_dio2 : 1; /* DIGITAL I/O ! 2 */ unsigned la$v_dio3 : 1; /* DIGITAL I/O ! 3 */ unsigned la$v_dio4 : 1; /* DIGITAL I/O ! 4 */ unsigned la$v_dio5 : 1; /* DIGITAL I/O ! 5 */ unsigned la$v_fill_73_ : 3; } la$r_ladef_bits1; __struct { unsigned ladef$$_fill_2 : 23; /*(IN USER'S COMMAND TABLE) */ unsigned la$v_bfrovrn : 1; /* BUFFER OVERRUN NON-FATAL BIT */ } la$r_ladef_bits2; } LADEF; #if !defined(__VAXC) #define la$v_mcvalid la$r_ladef_bits0.la$v_mcvalid #define la$v_mctype la$r_ladef_bits0.la$v_mctype #define la$v_config la$r_ladef_bits0.la$v_config #define la$v_rate la$r_ladef_bits0.la$v_rate #define la$v_preset la$r_ladef_bits0.la$v_preset #define la$v_clocka la$r_ladef_bits1.la$v_clocka #define la$v_clockb la$r_ladef_bits1.la$v_clockb #define la$v_ad1 la$r_ladef_bits1.la$v_ad1 #define la$v_ad2 la$r_ladef_bits1.la$v_ad2 #define la$v_da la$r_ladef_bits1.la$v_da #define la$v_dio1 la$r_ladef_bits1.la$v_dio1 #define la$v_dio2 la$r_ladef_bits1.la$v_dio2 #define la$v_dio3 la$r_ladef_bits1.la$v_dio3 #define la$v_dio4 la$r_ladef_bits1.la$v_dio4 #define la$v_dio5 la$r_ladef_bits1.la$v_dio5 #define la$v_bfrovrn la$r_ladef_bits2.la$v_bfrovrn #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union ladef { __struct { unsigned la$v_mcvalid : 1; /* MICROCODE VALID */ unsigned la$v_mctype : 2; /* MICROCODE TYPE */ unsigned la$v_config : 10; /* DEVICE CONFIGURATION BITS */ unsigned la$v_rate : 3; /* CLOCK RATE */ unsigned la$v_preset : 16; /* CLOCK PRESET */ } la$r_ladef_bits0; __struct { unsigned ladef$$_fill_1 : 3; /* SKIP OVER MICROCODE VALID AND TYPE */ unsigned la$v_clocka : 1; /* CLOCK A */ unsigned la$v_clockb : 1; /* CLOCK B */ unsigned la$v_ad1 : 1; /* A/D ! 1 */ unsigned la$v_ad2 : 1; /* A/D ! 2 */ unsigned la$v_da : 1; /* D/A */ unsigned la$v_dio1 : 1; /* DIGITAL I/O ! 1 */ unsigned la$v_dio2 : 1; /* DIGITAL I/O ! 2 */ unsigned la$v_dio3 : 1; /* DIGITAL I/O ! 3 */ unsigned la$v_dio4 : 1; /* DIGITAL I/O ! 4 */ unsigned la$v_dio5 : 1; /* DIGITAL I/O ! 5 */ unsigned la$v_fill_73_ : 3; } la$r_ladef_bits1; __struct { unsigned ladef$$_fill_2 : 23; /*(IN USER'S COMMAND TABLE) */ unsigned la$v_bfrovrn : 1; /* BUFFER OVERRUN NON-FATAL BIT */ } la$r_ladef_bits2; } ; #if !defined(__VAXC) #define la$v_mcvalid la$r_ladef_bits0.la$v_mcvalid #define la$v_mctype la$r_ladef_bits0.la$v_mctype #define la$v_config la$r_ladef_bits0.la$v_config #define la$v_rate la$r_ladef_bits0.la$v_rate #define la$v_preset la$r_ladef_bits0.la$v_preset #define la$v_clocka la$r_ladef_bits1.la$v_clocka #define la$v_clockb la$r_ladef_bits1.la$v_clockb #define la$v_ad1 la$r_ladef_bits1.la$v_ad1 #define la$v_ad2 la$r_ladef_bits1.la$v_ad2 #define la$v_da la$r_ladef_bits1.la$v_da #define la$v_dio1 la$r_ladef_bits1.la$v_dio1 #define la$v_dio2 la$r_ladef_bits1.la$v_dio2 #define la$v_dio3 la$r_ladef_bits1.la$v_dio3 #define la$v_dio4 la$r_ladef_bits1.la$v_dio4 #define la$v_dio5 la$r_ladef_bits1.la$v_dio5 #define la$v_bfrovrn la$r_ladef_bits2.la$v_bfrovrn #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #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 /* __LADEF_LOADED */