! *** 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 ! *************************************************************************** ! * ! COPYRIGHT (c) 1988 BY * ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS. * ! ALL RIGHTS RESERVED. * ! * ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * ! TRANSFERRED. * ! * ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * ! CORPORATION. * ! * ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * ! * ! * ! *************************************************************************** ! ! SOR$BEGIN_MERGE ! ! Initialize a Merge Operation ! ! Initializes the merge operation by opening the input and output files ! and by providing the number of input files, the key specifications, ! and the merge options. ! EXTERNAL LONG FUNCTION SOR$BEGIN_MERGE & ( & OPTIONAL ANY BY REF, & WORD BY REF, & LONG BY REF, & BYTE BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & LONG BY REF & ) ! ! SOR$BEGIN_SORT ! ! Begin a Sort Operation ! ! Initializes a sort operation by opening input and output files and by ! passing the key information and any sort options. ! EXTERNAL LONG FUNCTION SOR$BEGIN_SORT & ( & OPTIONAL ANY BY REF, & WORD BY REF, & LONG BY REF, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & BYTE BY REF, & BYTE BY REF, & LONG BY REF & ) ! ! SOR$DO_MERGE ! ! Obsolete (from VMS V3) ! EXTERNAL LONG FUNCTION SOR$DO_MERGE ! ! SOR$END_SORT ! ! End a Sort Operation ! ! Does cleanup functions, such as closing files and releasing memory. ! EXTERNAL LONG FUNCTION SOR$END_SORT & ( & OPTIONAL LONG BY REF & ) ! ! SOR$INIT_MERGE ! ! Obsolete (from VMS V3) ! EXTERNAL LONG FUNCTION SOR$INIT_MERGE & ( & OPTIONAL BYTE BY REF, & ANY BY REF, & WORD BY REF, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE & ) ! ! SOR$INIT_SORT ! ! Obsolete (from VMS V3) ! EXTERNAL LONG FUNCTION SOR$INIT_SORT & ( & OPTIONAL ANY BY REF, & WORD BY REF, & LONG BY REF, & BYTE BY REF, & BYTE BY REF, & BYTE BY REF, & LONG BY VALUE, & LONG BY REF & ) ! ! SOR$PASS_FILES ! ! Pass File Names ! ! Passes the names of input and output files and output file ! characteristics to SORT or MERGE. ! EXTERNAL LONG FUNCTION SOR$PASS_FILES & ( & OPTIONAL STRING BY DESC, & STRING BY DESC, & BYTE BY REF, & BYTE BY REF, & BYTE BY REF, & WORD BY REF, & WORD BY REF, & LONG BY REF, & LONG BY REF, & BYTE BY REF, & LONG BY REF & ) ! ! SOR$RELEASE_REC ! ! Pass One Record to Sort ! ! Used with the record interface to pass one input record to SORT or ! MERGE. ! EXTERNAL LONG FUNCTION SOR$RELEASE_REC & ( & STRING BY DESC, & OPTIONAL LONG BY REF & ) ! ! SOR$RETURN_REC ! ! Return One Sorted Record ! ! Used with the record interface to return one sorted or merged ! record to a program. ! EXTERNAL LONG FUNCTION SOR$RETURN_REC & ( & STRING BY DESC, & OPTIONAL WORD BY REF, & LONG BY REF & ) ! ! SOR$SORT_MERGE ! ! Sort ! ! Sorts the input records. ! EXTERNAL LONG FUNCTION SOR$SORT_MERGE & ( & OPTIONAL LONG BY REF & ) ! ! SOR$SPEC_FILE ! ! Pass a Specification File Name ! ! Used to pass a specification file or specification text. ! EXTERNAL LONG FUNCTION SOR$SPEC_FILE & ( & OPTIONAL STRING BY DESC, & STRING BY DESC, & LONG BY REF & ) ! ! SOR$STAT ! ! Obtain Sorting Statistics ! ! Returns one statistic about the sort or merge operation to the user ! program. ! EXTERNAL LONG FUNCTION SOR$STAT & ( & LONG BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & )