! *** 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 ! + ! DEVICE INFORMATION BLOCK DEFINITIONS ! - DECLARE LONG CONSTANT DIB$K_LENGTH = 116 ! LENGTH OF TOTAL BUFFER DECLARE LONG CONSTANT DIB$C_LENGTH = 116 ! LENGTH OF TOTAL BUFFER DECLARE LONG CONSTANT DIB$S_DIBDEF = 116 record DIBDEF LONG DIB$L_DEVCHAR ! DEVICE CHARACTERISTICS BYTE DIB$B_DEVCLASS ! DEVICE CLASS BYTE DIB$B_DEVTYPE ! DEVICE TYPE WORD DIB$W_DEVBUFSIZ ! DEVICE BUFFER SIZE group DIB$R_DEVDEPEND_OVERLAY variant case LONG DIB$L_DEVDEPEND ! DEVICE DEPENDENT INFORMATION case group DIB$R_DEVDEPEND_FIELDS BYTE DIB$B_SECTORS ! (DISK ONLY) SECTORS PER TRACK BYTE DIB$B_TRACKS ! " TRACKS PER CYLINDER WORD DIB$W_CYLINDERS ! " NUMBER OF CYLINDERS end group DIB$R_DEVDEPEND_FIELDS end variant end group DIB$R_DEVDEPEND_OVERLAY WORD DIB$W_UNIT ! DEVICE UNIT NUMBER WORD DIB$W_DEVNAMOFF ! OFFSET TO DEVICE NAME COUNTED STRING LONG DIB$L_PID ! DEVICE OWNER PROCESS IDENTIFICATION LONG DIB$L_OWNUIC ! DEVICE OWNER USER IDENTIFICATION CODE WORD DIB$W_VPROT ! DEVICE PROTECTION MASK WORD DIB$W_ERRCNT ! DEVICE ERROR COUNT LONG DIB$L_OPCNT ! DEVICE OPERATIONS COUNT WORD DIB$W_VOLNAMOFF ! OFFSET TO VOLUME LABEL COUNTED STRING WORD DIB$W_RECSIZ ! BLOCKED RECORD SIZE STRING DIB$T_DEVNAME = 76 ! SPACE FOR DEVNAME AND LABEL (64+12) LONG DIB$L_MAXBLOCK ! DISK VOLUME SIZE IN BLOCKS end record DIBDEF