! *** 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 ! ! 3271 DEVICE STATUS BLOCK ! ! THE DRIVER RETURNS N COPIES OF THIS BLOCK FOLLOWING THE LINE STATUS BLOCK ! IN THE USER'S BUFFER, WHERE N IS THE NUMBER OF ACTIVE DEVICES ON THE LINE. ! DECLARE LONG CONSTANT XKDEV$K_SIZE = 15 ! SIZE OF THE DEVICE STATUS BLOCK DECLARE LONG CONSTANT XKDEV$C_SIZE = 15 ! SIZE OF THE DEVICE STATUS BLOCK DECLARE LONG CONSTANT XKDEV$S_XKDEVDEF = 15 record XKDEVDEF BYTE XKDEV$B_DUEB ! DEVICE ADDRESS (DU - HEX EBCDIC) LONG XKDEV$L_DPID ! PROCESS ID OF PROCESS OWNING THIS DU WORD XKDEV$W_TBLK ! NUMBER OF BLOCKS TRANSMITTED WORD XKDEV$W_RBLK ! NUMBER OF BLOCKS RECEIVED WORD XKDEV$W_SPOL ! NUMBER OF SPECIFIC POLLS RECEIVED WORD XKDEV$W_ASEL ! NUMBER OF ADDRESS SELECTS RECEIVED WORD XKDEV$W_CREJ ! NUMBER OF COMMAND REJECTS SENT end record XKDEVDEF