! *** 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 ! + ! Define I/O Status Block ! - DECLARE LONG CONSTANT IOSB$S_IOSB = 8 record IOSB group IOSB$R_IO_GET variant case group IOSB$R_IO_64 WORD IOSB$W_STATUS ! Final I/O status group IOSB$R_DEVDEPEND variant case group IOSB$R_BCNT_16 ! 16-bit byte count variant WORD IOSB$W_BCNT ! 16-bit byte count group IOSB$r_l variant case LONG IOSB$L_DEV_DEPEND ! 32-bit device dependent info case LONG IOSB$L_PID ! 32-bit pid end variant end group IOSB$r_l end group IOSB$R_BCNT_16 case group IOSB$R_BCNT_32 ! 32-bit byte count variant LONG IOSB$L_BCNT ! 32-bit byte count (unaligned) WORD IOSB$W_DEV_DEPEND_HIGH ! 16-bit device dependent info end group IOSB$R_BCNT_32 end variant end group IOSB$R_DEVDEPEND end group IOSB$R_IO_64 case group IOSB$R_GET_64 group IOSB$r_l_status variant case LONG IOSB$L_GETXXI_STATUS ! Final GETxxI status case LONG IOSB$L_REG_STATUS ! Final $Registry status end variant end group IOSB$r_l_status LONG IOSB$L_RESERVED ! Reserved field end group IOSB$R_GET_64 end variant end group IOSB$R_IO_GET end record IOSB DECLARE LONG CONSTANT IOSB$K_LENGTH = 8 ! Length of IOSB DECLARE LONG CONSTANT IOSB$C_LENGTH = 8 ! Length of IOSB