! *** 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 ! The following definitions are passed in the ctrl parameter. DECLARE LONG CONSTANT POSIX$C_BLOCK_FORK = 1 ! block fork execution DECLARE LONG CONSTANT POSIX$C_UNBLOCK_FORK = 2 ! unblock fork execution DECLARE LONG CONSTANT POSIX$C_DISABLE_FORK = 3 ! disable fork DECLARE LONG CONSTANT POSIX$C_SETUP_CALLBACK = 4 ! setup image callback DECLARE LONG CONSTANT POSIX$C_SYSTEM_CALLBACK = 5 ! setup system callback DECLARE LONG CONSTANT POSIX$C_PROCESS_CALLBACK = 6 ! setup process permanent callback DECLARE LONG CONSTANT POSIX$C_CANCEL_CALLBACK = 7 ! cancel a callback DECLARE LONG CONSTANT POSIX$C_CONTINUE = 8 ! continue callbacks DECLARE LONG CONSTANT POSIX$C_TEST_CALLS = 9 ! temporary value for testing DECLARE LONG CONSTANT POSIX$C_MAX_CNTRL = 9 DECLARE LONG CONSTANT POSIX$K_MAX_CNTRL = 9 ! ! The following definitions are for the 'when' mask. They define when ! callbacks are to be made. ! DECLARE LONG CONSTANT POSIX$V_CALL_BEFORE_COPY = 0 DECLARE LONG CONSTANT POSIX$V_CALL_IN_CHILD = 1 DECLARE LONG CONSTANT POSIX$V_CALL_AFTER_CHILD = 2 DECLARE LONG CONSTANT POSIX$V_CALL_ON_FAILURE = 3 DECLARE LONG CONSTANT POSIX$V_CALL_BEFORE_COPY_FAIL = 4 DECLARE LONG CONSTANT POSIX$V_CALL_IN_CHILD_FAIL = 5 DECLARE LONG CONSTANT POSIX$V_CALL_AFTER_CHILD_FAIL = 6 DECLARE LONG CONSTANT POSIX$M_CALL_BEFORE_COPY = 1 DECLARE LONG CONSTANT POSIX$M_CALL_IN_CHILD = 2 DECLARE LONG CONSTANT POSIX$M_CALL_AFTER_CHILD = 4 DECLARE LONG CONSTANT POSIX$M_CALL_ON_FAILURE = 8 DECLARE LONG CONSTANT POSIX$M_CALL_BEFORE_COPY_FAIL = 16 DECLARE LONG CONSTANT POSIX$M_CALL_IN_CHILD_FAIL = 32 DECLARE LONG CONSTANT POSIX$M_CALL_AFTER_CHILD_FAIL = 64