! *** 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 ! ! Print Symbiont Modification (PSM) Routines ! ! ! PSM$PRINT - Invoke VMS-Supplied Print Symbiont ! ! status = PSM$PRINT ([streams], [bufsiz], [worksiz]) ! ! streams - Maximum number of streams to support ! bufsiz - Maximum buffer size in bytes for output operations ! worksiz - Size in bytes of work area to be allocated ! EXTERNAL LONG FUNCTION PSM$PRINT & ( & OPTIONAL LONG BY REF, & LONG BY REF, & LONG BY REF & ) ! ! PSM$READ_ITEM_DX - Obtain Value of Message Items ! ! status = PSM$READ_ITEM_DX (request_id, item, buffer) ! ! request_id - Request identifier supplied by the symbiont to user routine ! item - Item code identifying message item to be returned ! buffer - Buffer into which data is returned ! EXTERNAL LONG FUNCTION PSM$READ_ITEM_DX & ( & LONG BY REF, & LONG BY REF, & STRING BY DESC & ) ! ! PSM$REPLACE - Declare User Service Routine ! ! status = PSM$REPLACE (code, routine) ! ! code - Code identifying symbiont routine to be replaced ! routine - User routine to replace symbiont routine ! EXTERNAL LONG FUNCTION PSM$REPLACE & ( & LONG BY REF, & LONG BY REF & ) ! ! PSM$REPORT - Report Completion Status ! ! status = PSM$REPORT (request_id [, status]) ! ! request_id - Request identifier supplied by the symbiont to user routine ! status - Completion status of asynchronous operation completed ! EXTERNAL LONG FUNCTION PSM$REPORT & ( & LONG BY REF, & OPTIONAL LONG BY REF & )