! *** 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) 1992, 1994, 1995, 1996, 1997, 2003, 2010 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. * ! * ! * ! *************************************************************************** ! LIB$ADAWI ! ! Add Aligned Word with Interlock ! ! The Add Aligned Word with Interlock routine allows the user to perform an ! interlocked add operation using an aligned word. ! EXTERNAL LONG FUNCTION lib$adawi & ( & WORD BY REF, & WORD BY REF, & WORD BY REF & ) ! LIB$ADDX ! ! Add Two Multiple-Precision Binary Numbers ! ! The Add Two Multiple-Precision Binary Numbers routine adds two signed ! two's complement integers of arbitrary length. ! EXTERNAL LONG FUNCTION lib$addx & ( & ANY BY REF, & ANY BY REF, & ANY BY REF, & OPTIONAL LONG BY REF & ) ! LIB$ADD_TIMES ! ! Add Two Quadword Times ! ! The Add Two Quadword Times routine adds two VMS internal time format ! times. ! EXTERNAL LONG FUNCTION lib$add_times & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$ANALYZE_SDESC ! ! Analyze String Descriptors ! ! The Analyze String Descriptors routine extracts the length and the ! address at which the data starts for a variety of string descriptor ! classes. ! EXTERNAL LONG FUNCTION lib$analyze_sdesc & ( & BASIC$QUADWORD BY REF, & WORD BY REF, & LONG BY REF & ) ! LIB$ANALYZE_SDESC_64 ! ! Analyze String Descriptors ! ! The Analyze String Descriptors routine extracts the length and the ! address at which the data starts for a variety of string descriptor ! classes. ! EXTERNAL LONG FUNCTION lib$analyze_sdesc_64 & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & LONG BY REF, & OPTIONAL WORD BY REF & ) ! LIB$ASCII_TO_UID ! ! Convert Text To UID ! ! The Convert Text to UID routine converts a standard representation ! of a UID in an ASCII text string to a binary UID. ! EXTERNAL LONG FUNCTION lib$ascii_to_uid & ( & STRING BY DESC, & BASIC$OCTAWORD BY REF & ) ! LIB$ASN_WTH_MBX ! ! Assign Channel with Mailbox ! ! The Assign Channel with Mailbox routine assigns a channel to a specified ! device and associates a mailbox with the device. It returns both the ! device channel and the mailbox channel. ! EXTERNAL LONG FUNCTION lib$asn_wth_mbx & ( & STRING BY DESC, & LONG BY REF, & LONG BY REF, & WORD BY REF, & WORD BY REF & ) ! LIB$AST_IN_PROG ! ! AST in Progress ! ! The AST in Progress routine indicates whether an AST is currently in ! progress. ! EXTERNAL BYTE FUNCTION lib$ast_in_prog ! LIB$ATTACH ! ! Attach Terminal to Process ! ! The Attach Terminal to Process routine requests the calling process's ! Command Language Interpreter (CLI) to detach the terminal of the calling ! process and to reattach it to a different process. ! EXTERNAL LONG FUNCTION lib$attach & ( & LONG BY REF & ) ! LIB$BBCCI ! ! Test and Clear Bit with Interlock ! ! The Test and Clear Bit with Interlock routine tests and clears a ! selected bit under memory interlock. ! EXTERNAL LONG FUNCTION lib$bbcci & ( & LONG BY REF, & LONG BY VALUE & ) ! LIB$BBSSI ! ! Test and Set Bit with Interlock ! ! The Test and Set Bit with Interlock routine tests and sets a ! selected bit under memory interlock. ! EXTERNAL LONG FUNCTION lib$bbssi & ( & LONG BY REF, & LONG BY VALUE & ) ! LIB$BUILD_NODESPEC ! ! Build a Node-Name Specification ! ! The Build a Node-Name Specification routine builds a node-name ! specification from the primary node name. ! EXTERNAL LONG FUNCTION lib$build_nodespec & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL STRING BY DESC, & STRING BY DESC, & WORD BY REF & ) ! LIB$CALLG ! ! Call Routine with General Argument List (longword argument list) ! ! The Call Routine with General Argument List routine calls a routine with ! an argument list specified as an array of longwords, the first of which ! is a count of the remaining longwords. LIB$CALLG is a callable version ! of the VAX CALLG instruction. ! EXTERNAL LONG FUNCTION lib$callg & ( & ANY BY REF, & LONG BY VALUE & ) ! LIB$CALLG_64 ! ! Call Routine with General Argument List (quadword argument list) ! ! The Call Routine with General Argument List routine calls a routine with ! an argument list specified as an array of quadwords, the first of which ! is a count of the remaining quadwords. LIB$CALLG_64 is a callable ! version of the VAX CALLG instruction. ! EXTERNAL LONG FUNCTION lib$callg_64 & ( & BASIC$QUADWORD DIM() BY REF, & LONG BY VALUE & ) ! LIB$CHAR ! ! Transform Byte to First Character of String ! ! The Transform Byte to First Character of String routine transforms a ! single 8-bit ASCII character to an ASCII string consisting of a single ! character followed by trailing spaces, if needed, to fill out the string. ! The range of the input byte is 0 through 255. ! EXTERNAL LONG FUNCTION lib$char & ( & STRING BY DESC, & BYTE BY REF & ) ! LIB$COMPARE_NODENAME ! ! Compare Two Node Names ! ! The Compare Node Name routine compares two node names ! to see if they resolve to the same full name. ! EXTERNAL LONG FUNCTION lib$compare_nodename & ( & STRING BY DESC, & STRING BY DESC, & LONG BY REF & ) ! LIB$COMPARE_UID ! ! Compare Two UIDs ! ! The Compare Two UIDs routine compares the contents ! of two UIDs for total lexical ordering. ! EXTERNAL LONG FUNCTION lib$compare_uid & ( & BASIC$OCTAWORD BY REF, & BASIC$OCTAWORD BY REF, & LONG BY REF & ) ! LIB$COMPRESS_NODENAME ! ! Compress a Node Name to its Short Form ! ! The Compress a Node Name routine compresses a node name to an ! unambiguous short form usable within the naming environment ! where the compression is performed. ! EXTERNAL LONG FUNCTION lib$compress_nodename & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$CONVERT_DATE_STRING ! ! Convert Date String to Quadword ! ! The Convert Date String to Quadword routine converts an absolute date ! string into a VMS internal format date-time quadword. That is, given ! an input date/time string of a specified format, ! LIB$CONVERT_DATE_STRING converts this string to a VMS internal format ! time. ! EXTERNAL LONG FUNCTION lib$convert_date_string & ( & STRING BY DESC, & BASIC$QUADWORD BY REF, & OPTIONAL LONG BY REF, & LONG BY REF, & WORD DIM() BY REF, & LONG BY REF & ) ! LIB$CRC ! ! Calculate a Cyclic Redundancy Check (CRC) ! ! The Calculate a Cyclic Redundancy Check routine calculates the cyclic ! redundancy check (CRC) for a data stream. ! EXTERNAL LONG FUNCTION lib$crc & ( & LONG DIM() BY REF, & LONG BY REF, & STRING BY DESC & ) ! LIB$CRC_TABLE ! ! Construct a Cyclic Redundancy Check (CRC) Table ! ! The Construct a Cyclic Redundancy Check Table routine constructs a ! 16-longword table that uses a cyclic redundancy check polynomial ! specification as a bit mask. ! EXTERNAL SUB lib$crc_table & ( & LONG BY REF, & LONG DIM() BY REF & ) ! LIB$CREATE_DIR ! ! Create a Directory ! ! The Create a Directory routine creates a directory or subdirectory. ! EXTERNAL LONG FUNCTION lib$create_dir & ( & STRING BY DESC, & OPTIONAL LONG BY REF, & WORD BY REF, & WORD BY REF, & WORD BY REF, & WORD BY REF & ) ! LIB$CREATE_USER_VM_ZONE ! ! Create User-Defined Storage Zone ! ! The Create User-Defined Storage Zone routine creates a new user-defined ! storage zone. ! EXTERNAL LONG FUNCTION lib$create_user_vm_zone & ( & LONG BY REF, & OPTIONAL LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & STRING BY DESC & ) ! LIB$CREATE_USER_VM_ZONE_64 ! ! Create User-Defined Storage Zone ! ! The Create User-Defined Storage Zone routine creates a new user-defined ! storage zone. ! EXTERNAL LONG FUNCTION lib$create_user_vm_zone_64 & ( & BASIC$QUADWORD BY REF, & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & STRING BY DESC & ) ! LIB$CREATE_VM_ZONE ! ! Create a New Zone ! ! The Create a New Zone routine creates a new storage zone according to ! specified arguments. ! EXTERNAL LONG FUNCTION lib$create_vm_zone & ( & LONG BY REF, & OPTIONAL LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & STRING BY DESC, & LONG BY VALUE, & LONG BY VALUE & ) ! LIB$CREATE_VM_ZONE_64 ! ! Create a New Zone ! ! The Create a New Zone routine creates a new storage zone according to ! specified arguments. ! EXTERNAL LONG FUNCTION lib$create_vm_zone_64 & ( & BASIC$QUADWORD BY REF, & OPTIONAL BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & STRING BY DESC, & LONG BY VALUE, & LONG BY VALUE & ) ! LIB$CRF_INS_KEY ! ! Insert Key in Cross-Reference Table ! ! The Insert Key in Cross-Reference Table routine inserts information ! about a key into a cross-reference table. ! EXTERNAL SUB lib$crf_ins_key & ( & LONG DIM() BY REF, & STRING BY DESC, & LONG BY REF, & LONG BY REF & ) ! LIB$CRF_INS_REF ! ! Insert Reference to a Key in the Cross-Reference Table ! ! The Insert Reference to a Key in the Cross-Reference Table routine ! inserts a reference to a key in a cross-reference symbol table. ! EXTERNAL SUB lib$crf_ins_ref & ( & LONG DIM() BY REF, & LONG BY REF, & STRING BY DESC, & LONG BY REF, & LONG BY REF & ) ! LIB$CRF_OUTPUT ! ! Output Cross-Reference Table Information ! ! The Output Cross-Reference Table Information routine extracts the ! information from the cross-reference tables and formats the output pages. ! EXTERNAL SUB lib$crf_output & ( & LONG DIM() BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF & ) ! LIB$CURRENCY ! ! Get System Currency Symbol ! ! The Get System Currency Symbol routine returns the system's currency ! symbol. ! EXTERNAL LONG FUNCTION lib$currency & ( & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$CVTS_FROM_INTERNAL_TIME ! ! Convert Internal Time to External Time (S-Floating Point Value) ! ! The Convert Internal Time to External Time (S-Floating Point Value) ! routine converts a delta internal VMS system time into an external ! S-floating time. ! EXTERNAL LONG FUNCTION lib$cvts_from_internal_time & ( & LONG BY REF, & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVTF_FROM_INTERNAL_TIME ! ! Convert Internal Time to External Time (F-Floating Point Value) ! ! The Convert Internal Time to External Time (F-Floating Point Value) ! routine converts a delta internal VMS system time into an external ! F-floating time. ! EXTERNAL LONG FUNCTION lib$cvtf_from_internal_time & ( & LONG BY REF, & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVTS_TO_INTERNAL_TIME ! ! Convert External Time to Internal Time (S-Floating Point Value) ! ! The Convert External Time to Internal Time (S-Floating Point Value) ! routine converts an external time interval into a VMS internal format ! S-floating delta time. ! ! EXTERNAL LONG FUNCTION lib$cvts_to_internal_time & ( & LONG BY REF, & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVTF_TO_INTERNAL_TIME ! ! Convert External Time to Internal Time (F-Floating Point Value) ! ! The Convert External Time to Internal Time (F-Floating Point Value) ! routine converts an external time interval into a VMS internal format ! F-floating delta time. ! EXTERNAL LONG FUNCTION lib$cvtf_to_internal_time & ( & LONG BY REF, & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVT_DTB ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 32-bit binary ! representation of the ASCII text string representation of a decimal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_dtb & ( & LONG BY VALUE, & STRING BY REF, & LONG BY REF & ) ! LIB$CVT_DTB_64 ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 64-bit binary ! representation of the ASCII text string representation of a decimal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_dtb_64 & ( & LONG BY VALUE, & STRING BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVT_DX_DX ! ! General Data Type Conversion Routine ! ! The General Data Type Conversion routine converts a VMS standard atomic ! or string datum described by a source descriptor to another VMS standard ! atomic or string datum described by a destination descriptor. This ! conversion is supported over a subset of the VMS standard data types. ! EXTERNAL LONG FUNCTION lib$cvt_dx_dx & ( & ANY BY REF, & ANY BY REF, & OPTIONAL WORD BY REF & ) ! LIB$CVT_FROM_INTERNAL_TIME ! ! Convert Internal Time to External Time ! ! The Convert Internal Time to External Time routine converts an internal ! VMS system time (either absolute or delta) into an external time. ! EXTERNAL LONG FUNCTION lib$cvt_from_internal_time & ( & LONG BY REF, & LONG BY REF, & OPTIONAL BASIC$QUADWORD BY REF & ) ! LIB$CVT_HTB ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 32-bit binary ! representation of the ASCII text string representation of a hexadecimal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_htb & ( & LONG BY VALUE, & STRING BY REF, & LONG BY REF & ) ! LIB$CVT_HTB_64 ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 64-bit binary ! representation of the ASCII text string representation of a hexadecimal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_htb_64 & ( & LONG BY VALUE, & STRING BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVT_OTB ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 32-bit binary ! representation of the ASCII text string representation of an octal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_otb & ( & LONG BY VALUE, & STRING BY REF, & LONG BY REF & ) ! LIB$CVT_OTB_64 ! ! Convert Numeric Text to Binary ! ! The Convert Numeric Text to Binary routine returns a 64-bit binary ! representation of the ASCII text string representation of an octal ! number. ! EXTERNAL LONG FUNCTION lib$cvt_otb_64 & ( & LONG BY VALUE, & STRING BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVT_TO_INTERNAL_TIME ! ! Convert External Time to Internal Time ! ! The Convert External Time to Internal Time routine converts an ! external time interval into a VMS internal format delta time. ! EXTERNAL LONG FUNCTION lib$cvt_to_internal_time & ( & LONG BY REF, & LONG BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$CVT_VECTIM ! ! Convert Seven-Word Vector to Internal Time ! ! The Convert Seven-Word Vector to Internal Time routine converts a ! seven-word vector into a VMS internal format delta or absolute time. ! EXTERNAL LONG FUNCTION lib$cvt_vectim & ( & WORD DIM() BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$DATE_TIME ! ! Date and Time Returned as a String ! ! The Date and Time Returned as a String routine returns the VMS system ! date and time in the semantics of a user-provided string. ! EXTERNAL LONG FUNCTION lib$date_time & ( & STRING BY DESC & ) ! LIB$DAY ! ! Day Number Returned as a Longword Integer ! ! The Day Number Returned as a Longword Integer routine returns the number ! of days since the system zero date of November 17, 1858, or the number ! of days from November 17, 1858, to a user-supplied date. ! EXTERNAL LONG FUNCTION lib$day & ( & LONG BY REF, & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY REF & ) ! LIB$DAY_OF_WEEK ! ! Show Numeric Day of Week ! ! The Show Numeric Day of Week routine returns the numeric day of the week ! for an input time value. If 0 is the input time value, the current day ! of the week is returned. The days are numbered 1 through 7, with Monday ! as day 1 and Sunday as day 7. ! EXTERNAL LONG FUNCTION lib$day_of_week & ( & BASIC$QUADWORD BY REF, & LONG BY REF & ) ! LIB$DECODE_FAULT ! ! Decode Instruction Stream During Fault ! ! The Decode Instruction Stream During Fault routine is a tool for building ! condition handlers that process instruction fault exceptions. It is ! called from a condition handler. ! ! This routine is not available to native Alpha VMS programs, but is ! available to translated VAX images. ! EXTERNAL LONG FUNCTION lib$decode_fault & ( & ANY BY REF, & ANY BY REF, & LONG BY DESC, & OPTIONAL ANY BY VALUE, & BYTE DIM() BY REF & ) ! LIB$DEC_OVER ! ! Enable or Disable Decimal Overflow Detection ! ! The Enable or Disable Decimal Overflow Detection routine enables or ! disables decimal overflow detection for the calling routine activation. ! The previous decimal overflow setting is returned. ! ! This routine is available on Alpha VMS systems in translated form ! and is applicable to translated VAX images only. ! EXTERNAL LONG FUNCTION lib$dec_over & ( & LONG BY REF & ) ! LIB$DELETE_FILE ! ! Delete One or More Files ! ! The Delete One or More Files routine deletes one or more files. The ! specification of the file(s) to be deleted may include wildcards. ! LIB$DELETE_FILE is similar in function to the DCL command DELETE. ! EXTERNAL LONG FUNCTION lib$delete_file & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & STRING BY DESC, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & ANY BY VALUE, & STRING BY DESC, & LONG BY REF, & LONG BY REF & ) ! LIB$DELETE_LOGICAL ! ! Delete Logical Name ! ! The Delete Logical Name routine requests the calling process's Command ! Language Interpreter (CLI) to delete a supervisor-mode process logical ! name. LIB$DELETE_LOGICAL provides the same function as the DCL command ! DEASSIGN. ! EXTERNAL LONG FUNCTION lib$delete_logical & ( & STRING BY DESC, & OPTIONAL STRING BY DESC & ) ! LIB$DELETE_SYMBOL ! ! Delete CLI Symbol ! ! The Delete CLI Symbol routine requests the calling process's Command ! Language Interpreter (CLI) to delete an existing CLI symbol. ! EXTERNAL LONG FUNCTION lib$delete_symbol & ( & STRING BY DESC, & OPTIONAL LONG BY REF & ) ! LIB$DELETE_VM_ZONE ! ! Delete Virtual Memory Zone ! ! The Delete Virtual Memory Zone routine deletes a zone and ! returns all pages on VAX or pagelets on Alpha owned by the ! zone to the processwide page pool. ! EXTERNAL LONG FUNCTION lib$delete_vm_zone & ( & LONG BY REF & ) ! LIB$DELETE_VM_ZONE_64 ! ! Delete Virtual Memory Zone ! ! The Delete Virtual Memory Zone routine deletes a zone and ! returns all pages on VAX or pagelets on Alpha owned by the ! zone to the processwide page pool. ! EXTERNAL LONG FUNCTION lib$delete_vm_zone_64 & ( & BASIC$QUADWORD BY REF & ) ! LIB$DIGIT_SEP ! ! Get Digit Separator Symbol ! ! The Get Digit Separator Symbol routine returns the system's digit ! separator symbol. ! EXTERNAL LONG FUNCTION lib$digit_sep & ( & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$DISABLE_CTRL ! ! Disable CLI Interception of Control Characters ! ! The Disable CLI Interception of Control Characters routine requests the ! calling process's Command Language Interpreter (CLI) to not intercept ! the selected control characters when they are typed during an interactive ! terminal session. LIB$DISABLE_CTRL provides the same function as the ! DCL command SET NOCONTROL. ! EXTERNAL LONG FUNCTION lib$disable_ctrl & ( & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$DO_COMMAND ! ! Execute Command ! ! The Execute Command routine stops program execution and directs the ! Command Language Interpreter to execute a command which you supply as ! the argument. If successful, LIB$DO_COMMAND does not return control ! to the calling program. Instead, LIB$DO_COMMAND begins execution of ! the specified command. If you want control to return to the caller, ! use LIB$SPAWN instead. ! EXTERNAL LONG FUNCTION lib$do_command & ( & STRING BY DESC & ) ! LIB$EDIV ! ! Extended-Precision Divide ! ! The Extended-Precision Divide routine performs extended-precision ! division. LIB$EDIV makes the VAX EDIV instruction available as a ! callable routine. ! EXTERNAL LONG FUNCTION lib$ediv & ( & LONG BY REF, & BASIC$QUADWORD BY REF, & LONG BY REF, & LONG BY REF & ) ! LIB$EMODD ! ! Extended Multiply and Integerize Routines for D-Floating Point Values ! ! The Extended Multiply and Integerize routine (D-Floating Point Values) ! allows higher-level language users to perform accurate range reduction ! of D-floating arguments. ! ! D-floating point values are not supported in full precision on Alpha ! systems. They are precise to 56 bits on VAX systems, 53 bits on Alpha ! systems. ! EXTERNAL LONG FUNCTION lib$emodd & ( & DOUBLE BY REF, & BYTE BY REF, & DOUBLE BY REF, & LONG BY REF, & DOUBLE BY REF & ) ! LIB$EMODT ! ! Extended Multiply and Integerize Routines for T-Floating Point Values ! ! The Extended Multiply and Integerize routine (T-Floating Point Values) ! allows higher-level language users to perform accurate range reduction ! of T-floating arguments. ! ! EXTERNAL LONG FUNCTION lib$emodt & ( & DOUBLE BY REF, & BYTE BY REF, & DOUBLE BY REF, & LONG BY REF, & DOUBLE BY REF & ) ! LIB$EMODS ! ! Extended Multiply and Integerize Routines for S-Floating Point Values ! ! The Extended Multiply and Integerize routine (S-Floating Point Values) ! allows higher-level language users to perform accurate range reduction ! of S-floating arguments. ! EXTERNAL LONG FUNCTION lib$emods & ( & SINGLE BY REF, & BYTE BY REF, & SINGLE BY REF, & LONG BY REF, & SINGLE BY REF & ) ! LIB$EMODF ! ! Extended Multiply and Integerize Routines for F-Floating Point Values ! ! The Extended Multiply and Integerize routine (F-Floating Point Values) ! allows higher-level language users to perform accurate range reduction ! of F-floating arguments. ! EXTERNAL LONG FUNCTION lib$emodf & ( & SINGLE BY REF, & BYTE BY REF, & SINGLE BY REF, & LONG BY REF, & SINGLE BY REF & ) ! LIB$EMODG ! ! Extended Multiply and Integerize Routines for G-Floating Point Values ! ! The Extended Multiply and Integerize routine (G-Floating Point Values) ! allows higher-level language users to perform accurate range reduction ! of G-floating arguments. ! EXTERNAL LONG FUNCTION lib$emodg & ( & GFLOAT BY REF, & WORD BY REF, & GFLOAT BY REF, & LONG BY REF, & GFLOAT BY REF & ) ! LIB$EMODH ! ! Extended Multiply and Integerize Routines for H-Floating Point Values ! ! On VAX VMS, the Extended Multiply and Integerize routine (H-Floating ! Point Values) allows higher-level language users to perform accurate ! range reduction of H-floating arguments. ! EXTERNAL LONG FUNCTION lib$emodh & ( & BASIC$HFLOAT_AXP BY REF, & WORD BY REF, & BASIC$HFLOAT_AXP BY REF, & LONG BY REF, & BASIC$HFLOAT_AXP BY REF & ) ! LIB$EMUL ! ! Extended-Precision Multiply ! ! The Extended-Precision Multiply routine performs extended-precision ! multiplication. LIB$EMUL makes the VAX EMUL instruction available as ! a callable routine. ! EXTERNAL LONG FUNCTION lib$emul & ( & LONG BY REF, & LONG BY REF, & LONG BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$ENABLE_CTRL ! ! Enable CLI Interception of Control Characters ! ! The Enable CLI Interception of Control Characters routine requests the ! calling process's Command Language Interpreter (CLI) to resume ! interception of the selected control characters when they are typed ! during an interactive terminal session. LIB$ENABLE_CTRL provides the ! same function as the DCL command SET CONTROL. ! EXTERNAL LONG FUNCTION lib$enable_ctrl & ( & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$ESTABLISH ! ! Establish a Condition Handler ! ! The Establish a Condition Handler routine moves the address of a ! condition handling routine (which can be a user-written or a library ! routine) to longword 0 of the stack frame of the caller of LIB$ESTABLISH. ! ! ENTRY lib$establish ALIAS $lib_establish PARAMETER ( ! ADDRESS (ENTRY) NAMED new_handler IN ! TYPENAME procedure VALUE ) ! RETURNS ADDRESS (ENTRY) NAMED RESULT TYPENAME routine; ! LIB$EXPAND_NODENAME ! ! Expand a Node Name to its Full Name equivalent ! ! The Expand a Node Name to its Full Name equivalent routine ! expands a node name to its full name equivalent. ! EXTERNAL LONG FUNCTION lib$expand_nodename & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$EXTV ! ! Extract a Field and Sign-Extend ! ! The Extract a Field and Sign-Extend routine returns a sign-extended ! longword field that has been extracted from the specified variable bit ! field. LIB$EXTV makes the VAX EXTV instruction available as a callable ! routine. ! EXTERNAL LONG FUNCTION lib$extv & ( & LONG BY REF, & BYTE BY REF, & LONG BY VALUE & ) ! LIB$EXTZV ! ! Extract a Zero-Extended Field ! ! The Extract a Zero-Extended Field routine returns a longword ! zero-extended field that has been extracted from the specified ! variable bit field. LIB$EXTZV makes the VAX EXTZV instruction ! available as a callable routine. ! EXTERNAL LONG FUNCTION lib$extzv & ( & LONG BY REF, & BYTE BY REF, & LONG BY VALUE & ) ! LIB$FFC ! ! Find First Clear or Set Bit ! ! The Find First Clear or Set Bit routines search the field specified by ! the start position, size, and base for the first clear or set bit. ! LIB$FFC and LIB$FFS make the VAX FFC and VAX FFS instructions available ! as callable routines. ! ! On Alpha VMS systems, Alpha instructions perform the ! equivalent operations. ! EXTERNAL LONG FUNCTION lib$ffc & ( & LONG BY REF, & BYTE BY REF, & LONG BY REF, & LONG BY REF & ) ! LIB$FFS ! ! Find First Clear or Set Bit ! ! The Find First Clear or Set Bit routines search the field specified by ! the start position, size, and base for the first clear or set bit. ! LIB$FFC and LIB$FFS make the VAX FFC and VAX FFS instructions available ! as callable routines. ! ! On Alpha VMS systems, Alpha instructions perform the ! equivalent operations. ! EXTERNAL LONG FUNCTION lib$ffs & ( & LONG BY REF, & BYTE BY REF, & LONG BY REF, & LONG BY REF & ) ! LIB$FID_TO_NAME ! ! Convert Device and File ID to File Specification ! ! The Convert Device and File ID to File Specification routine converts a ! disk device name and file identifier to a file specification. ! EXTERNAL LONG FUNCTION lib$fid_to_name & ( & STRING BY DESC, & WORD DIM() BY REF, & STRING BY DESC, & OPTIONAL WORD BY REF, & WORD DIM() BY REF, & LONG BY REF & ) ! LIB$FILE_SCAN ! ! File Scan ! ! The File Scan routine searches an area, such as a directory, for all ! files matching the file specification given and transfers program ! execution to the specified user-written routine. Wildcards are ! acceptable. An action routine is called for each file and/or error ! found. LIB$FILE_SCAN allows the search sequence to continue even if ! an error occurs while processing a particular file. ! CP120606 - Changed fab type from unsigned int * to struct _fabdef * ! and data types of arguments to user_success_procedure and ! user_error_procedure from void to __unknown_params ! EXTERNAL LONG FUNCTION lib$file_scan & ( & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & OPTIONAL LONG BY REF & ) ! LIB$FILE_SCAN_END ! ! End-of-File Scan ! ! The End-of-File Scan routine is called after each sequence of calls to ! LIB$FILE_SCAN. LIB$FILE_SCAN_END deallocates any saved Record Management ! Service (RMS) context and/or deallocates the virtual memory that had been ! allocated for holding the related file specification information. ! CP - Changed fab type from unsigned int * to struct _fabdef * ! EXTERNAL LONG FUNCTION lib$file_scan_end & ( & OPTIONAL LONG BY REF, & LONG BY REF & ) ! LIB$FIND_FILE ! ! Find File ! ! The Find File routine is called with a wildcard file specification for ! which it searches. LIB$FIND_FILE returns all file specifications that ! satisfy that wildcard file specification. ! EXTERNAL LONG FUNCTION lib$find_file & ( & STRING BY DESC, & STRING BY DESC, & LONG BY REF, & OPTIONAL STRING BY DESC, & STRING BY DESC, & LONG BY REF, & LONG BY REF & ) ! LIB$FIND_FILE_END ! ! End of Find File ! ! The End of Find File routine is called once after each sequence of calls ! to LIB$FIND_FILE. LIB$FIND_FILE_END deallocates any saved Record ! Management Service (RMS) context and deallocates the virtual memory used ! to hold the allocated context block. ! EXTERNAL LONG FUNCTION lib$find_file_end & ( & LONG BY REF & ) ! LIB$FIND_IMAGE_SYMBOL ! ! Find Universal Symbol in Shareable Image File ! ! The Find Universal Symbol in Shareable Image File routine reads ! universal symbols from the shareable image file. This routine then ! dynamically activates a shareable image into the P0 address space of ! a process. ! EXTERNAL LONG FUNCTION lib$find_image_symbol & ( & STRING BY DESC, & STRING BY DESC, & LONG BY REF, & OPTIONAL STRING BY DESC, & LONG BY VALUE & ) ! LIB$FIND_VM_ZONE ! ! Return the Next Valid Zone Identifier ! ! The Return the Next Valid Zone Identifier routine returns the ! zone identifier of the next valid zone in the heap management ! database. ! EXTERNAL LONG FUNCTION lib$find_vm_zone & ( & LONG BY REF, & LONG BY REF & ) ! LIB$FIND_VM_ZONE_64 ! ! Return the Next Valid Zone Identifier ! ! The Return the Next Valid Zone Identifier routine returns the ! zone identifier of the next valid zone in the heap management ! database. ! EXTERNAL LONG FUNCTION lib$find_vm_zone_64 & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$FIT_NODENAME ! ! Fit a Node Name into an output field ! ! The Fit a Node Name into an output field routine ! fits a Node Name into an output field. ! EXTERNAL LONG FUNCTION lib$fit_nodename & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF, & WORD BY REF & ) ! LIB$FIXUP_FLT ! ! Fix Floating Reserved Operand ! ! The Fix Floating Reserved Operand routine finds the reserved operand of ! any F-floating, D-floating, G-floating, or H-floating instruction (with ! some exceptions) after a reserved operand fault has been signaled. ! LIB$FIXUP_FLT changes the reserved operand from --0.0 to the value of ! the new-operand argument, if present; or to +0.0 if new-operand is ! absent. ! ! This routine is available on Alpha VMS systems in translated form ! and is applicable to translated VAX images only. ! EXTERNAL LONG FUNCTION lib$fixup_flt & ( & ANY BY REF, & ANY BY REF, & OPTIONAL SINGLE BY REF & ) ! LIB$FLT_UNDER ! ! Floating-Point Underflow Detection ! ! The Floating-Point Underflow Detection routine enables or disables ! floating-point underflow detection for the calling routine activation. ! The previous setting is returned as a function value. ! ! This routine is available on Alpha VMS systems in translated form ! and is applicable to translated VAX images only. ! EXTERNAL LONG FUNCTION lib$flt_under & ( & LONG BY REF & ) ! LIB$FORMAT_DATE_TIME ! ! Format Date and/or Time ! ! The Format Date and/or Time routine allows the user to select at run time ! a specific output language and format for a date or time, or both. ! EXTERNAL LONG FUNCTION lib$format_date_time & ( & STRING BY DESC, & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY REF, & LONG BY REF, & LONG BY REF & ) ! LIB$FORMAT_SOGW_PROT ! ! Format Protection Mask ! ! The Format Protection Mask routine translates a protection mask ! into a formatted string. ! EXTERNAL LONG FUNCTION lib$format_sogw_prot & ( & WORD BY REF, & BASIC$QUADWORD DIM() BY REF, & BASIC$QUADWORD DIM() BY REF, & STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$FREE_DATE_TIME_CONTEXT ! ! Free the Context Area Used When Formatting Dates and Times for Input or ! Output ! ! The Free the Context Area Used When Formatting Dates and Times for Input ! or Output routine frees the virtual memory associated with the context ! area used by the date/time input and output Formatting Routines. ! EXTERNAL LONG FUNCTION lib$free_date_time_context & ( & OPTIONAL LONG BY REF & ) ! LIB$FREE_EF ! ! Free Event Flag ! ! The Free Event Flag routine frees a local event flag previously allocated ! by LIB$GET_EF. LIB$FREE_EF is the complement of LIB$GET_EF. ! EXTERNAL LONG FUNCTION lib$free_ef & ( & LONG BY REF & ) ! LIB$FREE_LUN ! ! Free Logical Unit Number ! ! The Free Logical Unit Number routine releases a logical unit number ! allocated by LIB$GET_LUN to the pool of available numbers. LIB$FREE_LUN ! is the complement of LIB$GET_LUN. ! EXTERNAL LONG FUNCTION lib$free_lun & ( & LONG BY REF & ) ! LIB$FREE_TIMER ! ! Free Timer Storage ! ! The Free Timer Storage routine frees the storage allocated ! by LIB$INIT_TIMER. ! EXTERNAL LONG FUNCTION lib$free_timer & ( & LONG BY REF & ) ! LIB$FREE_VM ! ! Free Virtual Memory from Program Region ! ! The Free Virtual Memory from Program Region routine deallocates an ! entire block of contiguous bytes that were allocated by a previous call ! to LIB$GET_VM. The arguments passed are the same as for LIB$GET_VM. ! EXTERNAL LONG FUNCTION lib$free_vm & ( & LONG BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$FREE_VM_64 ! ! Free Virtual Memory from Program Region ! ! The Free Virtual Memory from Program Region routine deallocates an ! entire block of contiguous bytes that were allocated by a previous call ! to LIB$GET_VM_64. The arguments passed are the same as for ! LIB$GET_VM_64. ! EXTERNAL LONG FUNCTION lib$free_vm_64 & ( & BASIC$QUADWORD BY REF, & LONG BY REF, & OPTIONAL BASIC$QUADWORD BY REF & ) ! LIB$FREE_VM_PAGE ! ! Free Virtual Memory Page ! ! The Free Virtual Memory Page routine deallocates a block of ! contiguous pages on VAX or pagelets on Alpha that were allocated ! by previous calls to LIB$GET_VM_PAGE. ! EXTERNAL LONG FUNCTION lib$free_vm_page & ( & LONG BY REF, & LONG BY REF & ) ! LIB$FREE_VM_PAGE_64 ! ! Free Virtual Memory Page ! ! The Free Virtual Memory Page routine deallocates a block of ! contiguous pages on VAX or pagelets on Alpha that were allocated ! by previous calls to LIB$GET_VM_PAGE_64. ! EXTERNAL LONG FUNCTION lib$free_vm_page_64 & ( & BASIC$QUADWORD BY REF, & LONG BY REF & ) ! LIB$GETDVI ! ! Get Device/Volume Information ! ! The Get Device/Volume Information routine provides a simplified interface ! to the $GETDVI system service. It returns information about the primary ! and secondary device characteristics of an I/O device. The calling ! process need not have a channel assigned to the device about which it ! wants information. ! EXTERNAL LONG FUNCTION lib$getdvi & ( & LONG BY REF, & OPTIONAL WORD BY REF, & STRING BY DESC, & LONG BY REF, & STRING BY DESC, & WORD BY REF, & STRING BY DESC & ) ! LIB$GETJPI ! ! Get Job/Process Information ! ! The Get Job/Process Information routine provides a simplified interface ! to the $GETJPI system service. It provides accounting, status, and ! identification information about a specified process. ! LIB$GETJPI obtains only one item of information in a single call. ! EXTERNAL LONG FUNCTION lib$getjpi & ( & LONG BY REF, & OPTIONAL LONG BY REF, & STRING BY DESC, & ANY BY REF, & STRING BY DESC, & WORD BY REF & ) ! LIB$GETQUI ! ! Get Queue Information ! ! The Get Queue Information routine provides a simplified interface to the ! $GETQUI system service. It provides queue, job, file, characteristic, ! and form information about a specified process. ! LIB$GETQUI obtains only one item of information in a single call. ! EXTERNAL LONG FUNCTION lib$getqui & ( & LONG BY REF, & OPTIONAL LONG BY REF, & LONG BY REF, & STRING BY DESC, & LONG BY REF, & ANY BY REF, & STRING BY DESC, & WORD BY REF & ) ! LIB$GETSYI ! ! Get Systemwide Information ! ! The Get Systemwide Information routine provides a simplified interface ! to the $GETSYI system service. The $GETSYI system service obtains status ! and identification information about the system. ! LIB$GETSYI returns only one item of information in a single call. ! EXTERNAL LONG FUNCTION lib$getsyi & ( & LONG BY REF, & OPTIONAL ANY BY REF, & STRING BY DESC, & WORD BY REF, & LONG BY REF, & STRING BY DESC & ) ! LIB$GET_ACCNAM ! ! Get Access Name Table for Protected Object Class ! ! The Get Access Name Table for Protected Object Class routine returns ! a pointer to the access name table for a protected object class that ! is specified by name. ! EXTERNAL LONG FUNCTION lib$get_accnam & ( & STRING BY DESC, & STRING BY DESC, & LONG BY REF & ) ! LIB$GET_ACCNAM_BY_CONTEXT ! ! Get Access Name Table for Protected Object Class ! ! The Get Access Name Table for Protected Object Class routine returns ! a pointer to the access name table for a protected object class that ! is specified by a context. ! EXTERNAL LONG FUNCTION lib$get_accnam_by_context & ( & LONG BY REF, & LONG BY REF & ) ! LIB$GET_COMMAND ! ! Get Line from SYS$COMMAND ! ! The Get Line from SYS$COMMAND routine gets one record of ASCII text from ! the current controlling input device, specified by the logical name ! SYS$COMMAND. ! EXTERNAL LONG FUNCTION lib$get_command & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & WORD BY REF & ) ! LIB$GET_COMMON ! ! Get String from Common ! ! The Get String from Common routine copies a string in the common area to ! the destination string. (The common area is an area of storage which ! remains defined across multiple image activations in a process.) The ! string length is taken from the first longword of the common area. ! EXTERNAL LONG FUNCTION lib$get_common & ( & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$GET_CURR_INVO_CONTEXT ** Alpha only ** ! ! Get Current Invocation Context ! ! The Get Current Invocation Context routine gets the current invocation ! context of any active procedure. ! EXTERNAL SUB lib$get_curr_invo_context & ( & LONG BY REF & ) ! LIB$GET_CURR_INVO_HANDLE ** Alpha only ** ! ! Get Current Invocation Handle ! ! The Get Current Invocation Handle routine gets the current invocation ! handle of any active procedure. ! EXTERNAL LONG FUNCTION lib$get_curr_invo_handle ! LIB$GET_DATE_FORMAT ! ! Get the User's Date Input Format ! ! The Get The User's Date Input Format routine returns information about ! the user's choice of a date/time input format. ! EXTERNAL LONG FUNCTION lib$get_date_format & ( & STRING BY DESC, & OPTIONAL LONG BY REF & ) ! LIB$GET_EF ! ! Get Event Flag ! ! The Get Event Flag routine allocates one local event flag from a ! process-wide pool and returns the number of the allocated flag to the ! caller. If no flags are available, LIB$GET_EF returns an error as its ! function value. ! EXTERNAL LONG FUNCTION lib$get_ef & ( & LONG BY REF & ) ! LIB$GET_FOREIGN ! ! Get Foreign Command Line ! ! The Get Foreign Command Line routine requests the calling image's ! Command Language Interpreter (CLI) to return the contents of the ! foreign command line that activated the current image. ! EXTERNAL LONG FUNCTION lib$get_foreign & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & WORD BY REF, & LONG BY REF & ) ! LIB$GET_FULLNAME_OFFSET ! ! Get the Offset to the Starting Position of the Most Significant ! Part of a Full Name ! ! The Get the Offset to the Starting Position of the Most Significant ! Part of a Full Name routine gets the offset to the starting ! position of the most significant part of a full name. ! EXTERNAL LONG FUNCTION lib$get_fullname_offset & ( & STRING BY DESC, & WORD BY REF & ) ! LIB$GET_HOSTNAME ! ! Get Host Node Name ! ! The Get Host Node Name routine returns the host node name of ! the local system. ! EXTERNAL LONG FUNCTION lib$get_hostname & ( & STRING BY DESC, & OPTIONAL WORD BY REF, & LONG BY REF & ) ! LIB$GET_INPUT ! ! Get Line from SYS$INPUT ! ! The Get Line from SYS$INPUT routine gets one record of ASCII text from ! the current controlling input device, specified by SYS$INPUT. ! EXTERNAL LONG FUNCTION lib$get_input & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & WORD BY REF & ) ! LIB$GET_INVO_CONTEXT ** Alpha only ** ! ! Get Invocation Context ! ! The Get Invocation Context routine gets the invocation context ! of any active procedure. ! EXTERNAL LONG FUNCTION lib$get_invo_context & ( & LONG BY VALUE, & LONG BY REF & ) ! LIB$GET_INVO_HANDLE ** Alpha only ** ! ! Get Invocation Handle ! ! The Get Invocation Handle routine gets the invocation handle ! of any active procedure. ! EXTERNAL LONG FUNCTION lib$get_invo_handle & ( & LONG BY REF & ) ! LIB$GET_LOGICAL ! ! Get Logical ! ! The Get Logical routine gets the logical name information by calling ! the system service routine SYS$TRNLNM. ! EXTERNAL LONG FUNCTION lib$get_logical & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & WORD BY REF, & STRING BY DESC, & LONG BY REF, & LONG BY REF, & BYTE BY REF, & LONG BY REF & ) ! LIB$GET_LUN ! ! Get Logical Unit Number ! ! The Get Logical Unit Number routine allocates one logical unit number ! from a process-wide pool. If a unit is available, its number is returned ! to the caller. Otherwise, an error is returned as the function value. ! EXTERNAL LONG FUNCTION lib$get_lun & ( & LONG BY REF & ) ! LIB$GET_MAXIMUM_DATE_LENGTH ! ! Retrieve the Maximum Length of a Date/Time String ! ! Given an output format and language, the Retrieve the Maximum Length ! of a Date/Time String routine determines the maximum possible length for ! the date-string string returned by LIB$FORMAT_DATE_TIME. ! EXTERNAL LONG FUNCTION lib$get_maximum_date_length & ( & LONG BY REF, & OPTIONAL LONG BY REF, & LONG BY REF & ) ! LIB$GET_PREV_INVO_CONTEXT ** Alpha only ** ! ! Get Previous Invocation Context ! ! The Get Previous Invocation Context routine gets the previous invocation ! context of any active procedure. ! EXTERNAL LONG FUNCTION lib$get_prev_invo_context & ( & LONG BY REF & ) ! LIB$GET_PREV_INVO_HANDLE ** Alpha only ** ! ! Get Previous Invocation Handle ! ! The Get Previous Invocation Handle routine gets the previous invocation ! handle of any active procedure. ! EXTERNAL LONG FUNCTION lib$get_prev_invo_handle & ( & LONG BY VALUE & ) ! LIB$GET_SYMBOL ! ! Get Value of CLI Symbol ! ! The Get Value of CLI Symbol routine requests the calling process's ! Command Language Interpreter (CLI) to return the value of a CLI symbol ! as a string. LIB$GET_SYMBOL then returns the string to the caller. ! Optionally, LIB$GET_SYMBOL can return the length of the returned value ! and the table in which the symbol was found. ! EXTERNAL LONG FUNCTION lib$get_symbol & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF, & LONG BY REF & ) ! LIB$GET_USERS_LANGUAGE ! ! Return the User's Language ! ! The Return the User's Language routine determines the user's choice of ! a natural language. The choice is determined by translating the logical ! SYS$LANGUAGE. ! EXTERNAL LONG FUNCTION lib$get_users_language & ( & STRING BY DESC & ) ! LIB$GET_VM ! ! Allocate Virtual Memory ! ! The Allocate Virtual Memory routine allocates a specified number of ! contiguous bytes in the program region and returns the virtual address ! of the first byte allocated. ! EXTERNAL LONG FUNCTION lib$get_vm & ( & LONG BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$GET_VM_64 ! ! Allocate Virtual Memory ! ! The Allocate Virtual Memory routine allocates a specified number of ! contiguous bytes in the program region and returns the virtual address ! of the first byte allocated. ! EXTERNAL LONG FUNCTION lib$get_vm_64 & ( & BASIC$QUADWORD BY REF, & LONG BY REF, & OPTIONAL BASIC$QUADWORD BY REF & ) ! LIB$GET_VM_PAGE ! ! Get Virtual Memory Page ! ! The Get Virtual Memory Page routine allocates a specified number of ! contiguous pages on VAX and pagelets on Alpha of memory in the program ! region and returns the virtual address of the first allocated page on ! VAX and pagelet on Alpha. ! EXTERNAL LONG FUNCTION lib$get_vm_page & ( & LONG BY REF, & LONG BY REF & ) ! LIB$GET_VM_PAGE_64 ! ! Get Virtual Memory Page ! ! The Get Virtual Memory Page routine allocates a specified number of ! contiguous pages on VAX and pagelets on Alpha of memory in the program ! region and returns the virtual address of the first allocated page on ! VAX and pagelet on Alpha. ! EXTERNAL LONG FUNCTION lib$get_vm_page_64 & ( & BASIC$QUADWORD BY REF, & LONG BY REF & ) ! LIB$ICHAR ! ! Convert First Character of String to Integer ! ! The Convert First Character of String to Integer routine converts the ! first character of a source string to an 8-bit ASCII integer extended ! to a longword. ! EXTERNAL LONG FUNCTION lib$ichar & ( & STRING BY DESC & ) ! LIB$INDEX ! ! Index to Relative Position of Substring ! ! The Index to Relative Position of Substring routine returns an index, ! which is the relative position of the first occurrence of a substring ! in the source string. ! EXTERNAL LONG FUNCTION lib$index & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$INIT_DATE_TIME_CONTEXT ! ! Initialize the Context Area Used in Formatting Dates and Times for Input ! or Output ! ! The Initialize the Context Area Used in Formatting Dates and Times for ! Input or Output routine allows the user to initialize the context area ! used by LIB$FORMAT_DATE_TIME or LIB$CONVERT_DATE_STRING with specific ! strings, instead of through logical name translation. ! EXTERNAL LONG FUNCTION lib$init_date_time_context & ( & LONG BY REF, & LONG BY REF, & STRING BY DESC & ) ! LIB$INIT_TIMER ! ! Initialize Times and Counts ! ! The Initialize Times and Counts routine stores the current values of ! specified times and counts for use by LIB$SHOW_TIMER or LIB$STAT_TIMER. ! EXTERNAL LONG FUNCTION lib$init_timer & ( & OPTIONAL LONG BY REF & ) ! LIB$INSERT_TREE ! ! Insert Entry in a Balanced Binary Tree ! ! The Insert Entry in a Balanced Binary Tree routine inserts a node in a ! balanced binary tree. ! EXTERNAL LONG FUNCTION lib$insert_tree & ( & LONG BY REF, & ANY BY REF, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY REF, & OPTIONAL LONG BY VALUE & ) ! LIB$INSERT_TREE_64 ! ! Insert Entry in a Balanced Binary Tree ! ! The Insert Entry in a Balanced Binary Tree routine inserts a node in a ! balanced binary tree. ! EXTERNAL LONG FUNCTION lib$insert_tree_64 & ( & LONG BY REF, & ANY BY REF, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY REF, & ! OPTIONAL BASIC$QUADWORD BY VALUE & ) ! LIB$INSQHI ! ! Insert Entry at Head of Queue ! ! The Insert Entry at Head of Queue routine inserts a queue entry at the ! head of the specified self-relative interlocked longword queue. ! LIB$INSQHI makes the VAX INSQHI instruction available as a callable ! routine. ! EXTERNAL LONG FUNCTION lib$insqhi & ( & ANY BY REF, & BASIC$QUADWORD BY REF, & OPTIONAL LONG BY REF & ) ! LIB$INSQHIQ ! ! Insert Entry at Head of Queue (Quadword) ! ! The Insert Entry at Head of Queue routine inserts a queue entry at the ! head of the specified self-relative interlocked quadword queue. ! LIB$INSQHIQ makes the Alpha unprivileged PALcode instruction INSQHIQ ! available as a callable routine. ! EXTERNAL LONG FUNCTION lib$insqhiq & ( & ANY BY REF, & BASIC$OCTAWORD BY REF, & OPTIONAL LONG BY REF & ) ! LIB$INSQTI ! ! Insert Entry at Tail of Queue ! ! The Insert Entry at Tail of Queue routine inserts a queue entry at the ! tail of the specified self-relative interlocked longword queue. ! LIB$INSQTI makes the VAX INSQTI instruction available as a callable ! routine. ! EXTERNAL LONG FUNCTION lib$insqti & ( & ANY BY REF, & BASIC$QUADWORD BY REF, & OPTIONAL LONG BY REF & ) ! LIB$INSQTIQ ! ! Insert Entry at Tail of Queue (Quadword) ! ! The Insert Entry at Tail of Queue routine inserts a queue entry at the ! tail of the specified self-relative interlocked quadword queue. ! LIB$INSQTIQ makes the Alpha unprivileged PALcode instruction INSQTIQ ! available as a callable routine. ! EXTERNAL LONG FUNCTION lib$insqtiq & ( & ANY BY REF, & BASIC$OCTAWORD BY REF, & OPTIONAL LONG BY REF & ) ! LIB$INSV ! ! Insert a Variable Bit Field ! ! The Insert a Variable Bit Field routine replaces the variable bit field ! specified by the base, position, and size arguments with bits 0 through ! of the source field. If the size of the bit field is zero, nothing is ! inserted. LIB$INSV makes the VAX INSV instruction available as a ! callable routine. ! EXTERNAL SUB lib$insv & ( & LONG BY REF, & LONG BY REF, & BYTE BY REF, & LONG BY VALUE & ) ! LIB$INT_OVER ! ! Integer Overflow Detection ! ! The Integer Overflow Detection routine enables or disables integer ! overflow detection for the calling routine activation. The previous ! integer overflow enable setting is returned. ! ! This routine is available on Alpha VMS systems in translated form ! and is applicable to translated VAX images only. ! EXTERNAL LONG FUNCTION lib$int_over & ( & LONG BY REF & ) ! LIB$LEN ! ! Length of String Returned as Longword Value ! ! The Length of String Returned as Longword Value routine returns the ! length of a string. ! EXTERNAL WORD FUNCTION lib$len & ( & STRING BY DESC & ) ! LIB$LOCC ! ! Locate a Character ! ! The Locate a Character routine locates a character in a string by ! comparing successive bytes in the string with the character specified. ! The search continues until the character is found or the string has no ! more characters. LIB$LOCC makes the VAX LOCC instruction available as ! a callable routine. ! EXTERNAL LONG FUNCTION lib$locc & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$LOCK_IMAGE ! ! Lock Image in working set ! ! Lock all address ranges associated with a specified image ! into the working set. ! EXTERNAL LONG FUNCTION lib$lock_image & ( & BASIC$QUADWORD BY REF & ) ! LIB$LOOKUP_KEY ! ! Look Up Keyword in Table ! ! The Look Up Keyword In Table routine scans a table of keywords to find ! one that matches the keyword or keyword abbreviation specified by ! search-string. ! EXTERNAL LONG FUNCTION lib$lookup_key & ( & STRING BY DESC, & ANY BY REF, & OPTIONAL LONG BY REF, & STRING BY DESC, & WORD BY REF & ) ! LIB$LOOKUP_TREE ! ! Look Up an Entry in a Balanced Binary Tree ! ! The Look Up an Entry in a Balanced Binary Tree routine looks up an ! entry in a balanced binary tree. ! EXTERNAL LONG FUNCTION lib$lookup_tree & ( & LONG BY REF, & ANY BY REF, & LONG BY VALUE, & LONG BY REF & ) ! LIB$LOOKUP_TREE_64 ! ! Look Up an Entry in a Balanced Binary Tree ! ! The Look Up an Entry in a Balanced Binary Tree routine looks up an ! entry in a balanced binary tree. ! EXTERNAL LONG FUNCTION lib$lookup_tree_64 & ( & LONG BY REF, & ANY BY REF, & LONG BY VALUE, & LONG BY REF & ) ! LIB$LP_LINES ! ! Lines on Each Printer Page ! ! The Lines on Each Printer Page routine computes the default number of ! lines on a printer page. This routine can be used by native-mode VMS ! utilities that produce listing files and paginate files. ! EXTERNAL LONG FUNCTION lib$lp_lines ! LIB$MATCHC ! ! Match Characters, Return Relative Position ! ! The Match Characters and Return Relative Position routine searches a ! source string for a specified substring and returns an index, which is ! the relative position of the first occurrence of a substring in the ! source string. The relative character positions returned by LIB$MATCHC ! are numbered 1, 2, , n. Thus, zero means that the substring was not ! found. ! EXTERNAL LONG FUNCTION lib$matchc & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$MATCH_COND ! ! Match Condition Values ! ! The Match Condition Values routine checks to see if a given condition ! value matches a list of condition values that you supply. ! EXTERNAL LONG FUNCTION lib$match_cond & ( & LONG BY REF, & LONG BY REF, OPTIONAL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ) ! LIB$MOVC3 ! ! Move Characters ! ! The Move Characters routine makes the VAX MOVC3 instruction available ! as a callable routine. The source item is moved to the destination item. ! Overlap of the source and destination items does not affect the result. ! EXTERNAL SUB lib$movc3 & ( & WORD BY REF, & ANY BY REF, & ANY BY REF & ) ! LIB$MOVC5 ! ! Move Characters with Fill ! ! The Move Characters with Fill routine makes the VAX MOVC5 instruction ! available as a callable routine. The source item is moved to the ! destination item. Overlap of the source and destination items does not ! affect the result. ! EXTERNAL SUB lib$movc5 & ( & WORD BY REF, & ANY BY REF, & BYTE BY REF, & WORD BY REF, & ANY BY REF & ) ! LIB$MOVTC ! ! Move Translated Characters ! ! The Move Translated Characters routine moves the source string, ! character by character, to the destination string after translating ! each character using the specified translation table. ! LIB$MOVTC makes the VAX MOVTC instruction available as a callable ! routine. ! EXTERNAL LONG FUNCTION lib$movtc & ( & STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & STRING BY DESC & ) ! LIB$MOVTUC ! ! Move Translated Until Character ! ! The Move Translated Until Character routine moves the source string, ! character by character, to the destination string after translating each ! character using the specified translation table until the stop character ! is encountered. LIB$MOVTUC makes the VAX MOVTUC instruction available ! as a callable routine. ! EXTERNAL LONG FUNCTION lib$movtuc & ( & STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & OPTIONAL STRING BY DESC & ) ! LIB$MT_DENSITY_CONVERSION ! ! Convert the DCL command line qualifiers specfied for ! /DENSITY, /COMPACTION, /MEDIA_FORMAT=DENSITY= and ! /MEDIA_FORMAT=COMPACTION to a OpenVMS density/compression ! code (MT3DEF or MTDEF symbols) and return value indicating ! the tape driver owning the device is MTD enhanced or not. ! EXTERNAL LONG FUNCTION lib$mt_density_conversion & ( & LONG BY VALUE, & LONG BY REF, & LONG BY REF & ) ! ! LIB$MT_DENSITY_VERIFICATION ! ! Verify a OpenVMS density/compression code (MT3DEF or MTDEF ! symbols) is indeed an acceptable density/compression code ! for both MTD enhanced tape device drivers and non enhanced ! tape device drivers. Also return a value indicating ! the driver owning the device is MTD enhanced or not. ! EXTERNAL LONG FUNCTION lib$mt_density_verification & ( & LONG BY VALUE, & LONG BY VALUE, & LONG BY REF & ) ! ! ! LIB$MT_DENSITY_STRCVT ! ! Copies the string equivalent of a OpenVMS density/compression ! code into a user supplied buffer. This works for both MT3DEF ! symbols and MTDEF symbols. ! ! EXTERNAL LONG FUNCTION lib$mt_density_strcvt & ( & LONG BY VALUE, & STRING BY REF & ) ! LIB$MULTF_DELTA_TIME ! ! Multiply Delta Time by an F_Floating Scalar ! ! The Multiply Delta Time by an F-Floating Scalar routine multiplies a ! delta time by an F-floating scalar. ! EXTERNAL LONG FUNCTION lib$multf_delta_time & ( & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$MULTS_DELTA_TIME ! ! Multiply Delta Time by an S_Floating Scalar ! ! The Multiply Delta Time by an S-Floating Scalar routine multiplies a ! delta time by an S-floating scalar. ! EXTERNAL LONG FUNCTION lib$mults_delta_time & ( & SINGLE BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$MULT_DELTA_TIME ! ! Multiply Delta Time by Scalar ! ! The Multiply Delta Time by Scalar routine multiplies a delta time by ! a longword integer scalar. ! EXTERNAL LONG FUNCTION lib$mult_delta_time & ( & LONG BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$PARSE_ACCESS_CODE ! ! Parse Access Encoded Name String ! ! The Parse Access Encoded Name String routine parses and translates ! a string of access names into a mask for a particular ownership ! category. ! EXTERNAL LONG FUNCTION lib$parse_access_code & ( & STRING BY DESC, & BASIC$QUADWORD DIM() BY REF, & WORD BY REF, & WORD BY REF, & OPTIONAL WORD BY REF & ) ! LIB$PARSE_SOGW_PROT ! ! Parse Protection String ! ! The Parse Protection String routine parses and translates ! a protection string into a protection mask. ! EXTERNAL LONG FUNCTION lib$parse_sogw_prot & ( & STRING BY DESC, & BASIC$QUADWORD DIM() BY REF, & WORD BY REF, & WORD BY REF, & OPTIONAL WORD BY REF & ) ! LIB$PAUSE ! ! Pause Program Execution ! ! The Pause Program Execution routine suspends program execution and ! returns control to the calling command level. ! EXTERNAL LONG FUNCTION lib$pause ! LIB$POLYD ! ! Evaluate Polynomials ! ! The Evaluate Polynomials routine (D-floating point values) allows ! higher-level language users to evaluate D-floating point value ! polynomials. ! EXTERNAL LONG FUNCTION lib$polyd & ( & DOUBLE BY REF, & WORD BY REF, & DOUBLE DIM() BY REF, & DOUBLE BY REF & ) ! LIB$POLYF ! ! Evaluate Polynomials ! ! The Evaluate Polynomials routine (F-floating point values) allows ! higher-level language users to evaluate F-floating point ! polynomials. ! EXTERNAL LONG FUNCTION lib$polyf & ( & SINGLE BY REF, & WORD BY REF, & SINGLE DIM() BY REF, & SINGLE BY REF & ) ! LIB$POLYT ! ! Evaluate Polynomials ! ! The Evaluate Polynomials routine (T-floating point values) allows ! higher-level language users to evaluate T-floating point value ! polynomials. ! EXTERNAL LONG FUNCTION lib$polyt & ( & DOUBLE BY REF, & WORD BY REF, & DOUBLE DIM() BY REF, & DOUBLE BY REF & ) ! LIB$POLYS ! ! Evaluate Polynomials ! ! The Evaluate Polynomials routine (S-floating point values) allows ! higher-level language users to evaluate S-floating point ! polynomials. ! EXTERNAL LONG FUNCTION lib$polys & ( & SINGLE BY REF, & WORD BY REF, & SINGLE DIM() BY REF, & SINGLE BY REF & ) ! LIB$POLYG ! ! Evaluate Polynomials ! ! The Evaluate Polynomials routine (G-floating point values) allows ! higher-level language users to evaluate G-floating point value ! polynomials. ! EXTERNAL LONG FUNCTION lib$polyg & ( & GFLOAT BY REF, & WORD BY REF, & GFLOAT DIM() BY REF, & GFLOAT BY REF & ) ! LIB$POLYH ! ! Evaluate Polynomials ! ! On VAX VMS, the Evaluate Polynomials routine (H-floating point values) ! allows higher-level language users to evaluate H-floating point value ! polynomials. ! ! This routine is not available to native Alpha VMS programs, but is ! available to translated VAX images. ! ! This routine is not available to native Alpha VMS programs, but is ! recognized and handled appropriately by most Digital high-level language ! compilers. ! EXTERNAL LONG FUNCTION lib$polyh & ( & BASIC$HFLOAT_AXP BY REF, & WORD BY REF, & BASIC$HFLOAT_AXP DIM() BY REF, & BASIC$HFLOAT_AXP BY REF & ) ! LIB$PUT_COMMON ! ! Put String to Common ! ! The Put String to Common routine copies the contents of a string into ! the common area. The common area is an area of storage which remains ! defined across multiple image activations in a process. Optionally, ! LIB$PUT_COMMON returns the actual number of characters copied. ! The maximum number of characters that can be copied is 252. ! EXTERNAL LONG FUNCTION lib$put_common & ( & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$PUT_INVO_REGISTERS ** Alpha only ** ! ! Put Invocation Registers ! ! The Put Invocation Registers routine updates a given procedure invocation ! context's fields with new register contents. ! EXTERNAL LONG FUNCTION lib$put_invo_registers & ( & LONG BY VALUE, & LONG BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$PUT_OUTPUT ! ! Put Line to SYS$OUTPUT ! ! The Put Line to SYS$OUTPUT routine writes a record to the current ! controlling output device, specified by SYS$OUTPUT using the RMS $PUT ! service. ! EXTERNAL LONG FUNCTION lib$put_output & ( & STRING BY DESC & ) ! LIB$RADIX_POINT ! ! Radix Point Symbol ! ! The Radix Point Symbol routine returns the system's radix point symbol. ! This symbol is used inside a digit string to separate the integer part ! from the fraction part. This routine works by attempting to translate ! the logical name SYS$RADIX_POINT as a process, group, or system logical ! name. ! EXTERNAL LONG FUNCTION lib$radix_point & ( & STRING BY DESC, & OPTIONAL WORD BY REF & ) ! LIB$REMQHI ! ! Remove Entry from Head of Queue ! ! The Remove Entry from Head of Queue routine removes an entry from the ! head of the specified self-relative interlocked longword queue. ! LIB$REMQHI makes the VAX REMQHI instruction available as ! a callable routine. ! EXTERNAL LONG FUNCTION lib$remqhi & ( & BASIC$QUADWORD BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$REMQHIQ ! ! Remove Entry from Head of Queue (Quadword) ! ! The Remove Entry from Head of Queue routine removes an entry from the ! head of the specified self-relative interlocked quadword queue. ! LIB$REMQHIQ makes the Alpha unprivileged PALcode instruction REMQHIQ ! available as a callable routine. ! EXTERNAL LONG FUNCTION lib$remqhiq & ( & BASIC$OCTAWORD BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$REMQTI ! ! Remove Entry from Tail of Queue ! ! The Remove Entry from Tail of Queue routine removes an entry from the ! tail of the specified self-relative interlocked longword queue. ! LIB$REMQTI makes the VAX REMQTI instruction available as a ! callable routine. ! EXTERNAL LONG FUNCTION lib$remqti & ( & BASIC$QUADWORD BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$REMQTIQ ! ! Remove Entry from Tail of Queue (Quadword) ! ! The Remove Entry from Tail of Queue routine removes an entry from the ! tail of the specified self-relative interlocked quadword queue. ! LIB$REMQTIQ makes the Alpha unprivileged PALcode instruction REMQTIQ ! available as a callable routine. ! EXTERNAL LONG FUNCTION lib$remqtiq & ( & BASIC$OCTAWORD BY REF, & LONG BY REF, & OPTIONAL LONG BY REF & ) ! LIB$RENAME_FILE ! ! Rename One or More Files ! ! The Rename One or More Files routine changes the names of one or more ! files. The specification of the files to be renamed may include ! wildcards. LIB$RENAME_FILE is similar in function to the DCL command ! RENAME. ! EXTERNAL LONG FUNCTION lib$rename_file & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL STRING BY DESC, & STRING BY DESC, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & LONG BY VALUE, & STRING BY DESC, & STRING BY DESC, & LONG BY REF & ) ! LIB$RESERVE_EF ! ! Reserve Event Flag ! ! The Reserve Event Flag routine allocates a local event flag number ! specified by event-flag-number. ! EXTERNAL LONG FUNCTION lib$reserve_ef & ( & LONG BY REF & ) ! LIB$RESET_VM_ZONE ! ! Reset Virtual Memory Zone ! ! The Reset Virtual Memory Zone routine frees all blocks of memory that ! were previously allocated from the zone. ! EXTERNAL LONG FUNCTION lib$reset_vm_zone & ( & LONG BY REF & ) ! LIB$RESET_VM_ZONE_64 ! ! Reset Virtual Memory Zone ! ! The Reset Virtual Memory Zone routine frees all blocks of memory that ! were previously allocated from the zone. ! EXTERNAL LONG FUNCTION lib$reset_vm_zone_64 & ( & BASIC$QUADWORD BY REF & ) ! LIB$REVERT ! ! Revert to the Handler of the Routine Activator ! ! The Revert to the Handler of the Routine Activator routine deletes the ! condition handler established by LIB$ESTABLISH by clearing the address ! pointing to the condition handler from the activated routine's stack ! frame. ! ! ENTRY lib$revert ALIAS $lib_revert ! RETURNS ADDRESS NAMED RESULT TYPENAME address; ! LIB$RUN_PROGRAM ! ! Run New Program ! ! The Run New Program routine causes the current program to stop running ! and begins execution of another program. ! EXTERNAL LONG FUNCTION lib$run_program & ( & STRING BY DESC & ) ! LIB$SCANC ! ! Scan for Characters and Return Relative Position ! ! The Scan for Characters and Return Relative Position routine is used to ! find a specified set of characters in the source string. ! LIB$SCANC makes the VAX SCANC instruction available as a ! callable routine. ! EXTERNAL LONG FUNCTION lib$scanc & ( & STRING BY DESC, & BYTE DIM() BY REF, & BYTE BY REF & ) ! LIB$SCOPY_DXDX ! ! Copy Source String Passed by Descriptor to Destination ! ! The Copy Source String Passed by Descriptor to Destination routine ! copies a source string passed by descriptor to a destination string. ! EXTERNAL LONG FUNCTION lib$scopy_dxdx & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$SCOPY_R_DX ! ! Copy Source String Passed by Reference to Destination String ! ! The Copy Source String Passed by Reference to Destination String routine ! copies a source string passed by reference to a destination string. ! EXTERNAL LONG FUNCTION lib$scopy_r_dx & ( & WORD BY REF, & STRING BY REF, & STRING BY DESC & ) ! LIB$SCOPY_R_DX_64 ! ! Copy Source String Passed by Reference to Destination String ! ! The Copy Source String Passed by Reference to Destination String routine ! copies a source string passed by reference to a destination string. ! EXTERNAL LONG FUNCTION lib$scopy_r_dx_64 & ( & BASIC$QUADWORD BY REF, & STRING BY REF, & STRING BY DESC & ) ! LIB$SET_LOGICAL ! ! Set Logical Name ! ! The Set Logical Name routine requests the calling process's Command ! Language Interpreter (CLI) to define or redefine a supervisor-mode ! process logical name. It provides the same function as the DCL DEFINE ! command. ! EXTERNAL LONG FUNCTION lib$set_logical & ( & STRING BY DESC, & OPTIONAL STRING BY DESC, & STRING BY DESC, & LONG BY REF, & ANY BY REF & ) ! LIB$SET_SYMBOL ! ! Set Value of CLI Symbol ! ! The Set Value of CLI Symbol routine requests the calling process's ! Command Language Interpreter (CLI) to define or redefine a CLI symbol. ! EXTERNAL LONG FUNCTION lib$set_symbol & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL LONG BY REF & ) ! LIB$SFREE1_DD ! ! Free One Dynamic String ! ! The Free One Dynamic String routine returns the dynamically allocated ! storage for a dynamic string. ! EXTERNAL LONG FUNCTION lib$sfree1_dd & ( & BASIC$QUADWORD BY REF & ) ! LIB$SFREEN_DD ! ! Free One or More Dynamic Strings ! ! The Free One or More Dynamic Strings routine returns one or more dynamic ! strings to free storage. ! EXTERNAL LONG FUNCTION lib$sfreen_dd & ( & LONG BY REF, & BASIC$QUADWORD DIM() BY REF & ) ! LIB$SGET1_DD ! ! Get One Dynamic String ! ! The Get One Dynamic String routine allocates dynamic virtual memory to ! the string descriptor you specify. ! EXTERNAL LONG FUNCTION lib$sget1_dd & ( & WORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$SGET1_DD_64 ! ! Get One Dynamic String ! ! The Get One Dynamic String routine allocates dynamic virtual memory to ! the string descriptor you specify. ! EXTERNAL LONG FUNCTION lib$sget1_dd_64 & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$SHOW_TIMER ! ! Show Accumulated Times and Counts ! ! The Show Accumulated Times and Counts routine returns times and counts ! accumulated since the last call to LIB$INIT_TIMER and displays them on ! SYS$OUTPUT. (LIB$INIT_TIMER must be called prior to invoking this ! routine.) A user-supplied action routine may change this default ! behavior. ! EXTERNAL LONG FUNCTION lib$show_timer & ( & OPTIONAL LONG BY REF, & LONG BY REF, & LONG BY VALUE, & LONG BY VALUE & ) ! LIB$SHOW_VM ! ! Show Virtual Memory Statistics ! ! The Show Virtual Memory Statistics routine returns the statistics ! accumulated from calls to LIB$GET_VM, LIB$FREE_VM, LIB$GET_VM_PAGE, ! and LIB$FREE_VM_PAGE. ! EXTERNAL LONG FUNCTION lib$show_vm & ( & OPTIONAL LONG BY REF, & LONG BY VALUE, & LONG BY VALUE & ) ! LIB$SHOW_VM_64 ! ! Show Virtual Memory Statistics ! ! The Show Virtual Memory Statistics routine returns the statistics ! accumulated from calls to LIB$GET_VM_64, LIB$FREE_VM_64, ! LIB$GET_VM_PAGE_64, and LIB$FREE_VM_PAGE_64. ! EXTERNAL LONG FUNCTION lib$show_vm_64 & ( & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY VALUE, & ! BASIC$QUADWORD BY VALUE & ) ! LIB$SHOW_VM_ZONE ! ! Return Information About a Zone ! ! The Return Information About a Zone routine returns formatted information ! about the specified zone, detailing such information as the zone's name, ! characteristics, and areas, and then passes the information to the ! specified or default action routine. ! EXTERNAL LONG FUNCTION lib$show_vm_zone & ( & LONG BY REF, & OPTIONAL LONG BY REF, & LONG BY VALUE, & LONG BY VALUE & ) ! LIB$SHOW_VM_ZONE_64 ! ! Return Information About a Zone ! ! The Return Information About a Zone routine returns formatted information ! about the specified zone, detailing such information as the zone's name, ! characteristics, and areas, and then passes the information to the ! specified or default action routine. ! EXTERNAL LONG FUNCTION lib$show_vm_zone_64 & ( & BASIC$QUADWORD BY REF, & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY VALUE, & ! BASIC$QUADWORD BY VALUE & ) ! LIB$SIGNAL ! ! Signal Exception Condition ! ! The Signal Exception Condition routine generates a signal that indicates ! that an exception condition has occurred in your program. If a condition ! handler does not take corrective action and the condition is severe, then ! your program will exit. ! EXTERNAL SUB lib$signal & ( & LONG BY VALUE, & OPTIONAL LONG BY VALUE, & ANY BY VALUE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,, & ) ! LIB$SIG_TO_RET ! ! Signal Converted to a Return Status ! ! The Signal Converted to a Return Status routine converts any signaled ! condition value to a value returned as a function. The signaled condition ! is returned to the caller of the user routine that established the ! handler that is calling LIB$SIG_TO_RET. This routine may be established ! as or called from a condition handler. ! EXTERNAL LONG FUNCTION lib$sig_to_ret & ( & ANY BY REF, & ANY BY REF & ) ! LIB$SIG_TO_STOP ! ! Convert a Signaled Condition to a Signaled Stop ! ! The Convert a Signaled Condition to a Signaled Stop routine converts a ! signaled condition to a signaled condition that cannot be continued. ! EXTERNAL LONG FUNCTION lib$sig_to_stop & ( & ANY BY REF, & ANY BY REF & ) ! LIB$SIM_TRAP ! ! Simulate Floating Trap ! ! The Simulate Floating Trap routine converts floating faults to floating ! traps. It can be enabled as a condition handler or can be called by one. ! ! This routine is not available to native Alpha VMS programs, but is ! available to translated VAX images. ! EXTERNAL LONG FUNCTION lib$sim_trap & ( & ANY BY REF, & ANY BY REF & ) ! LIB$SKPC ! ! Skip Equal Characters ! ! The Skip Equal Characters routine compares each character of a given ! string with a given character and returns the relative position of the ! first nonequal character as an index. LIB$SKPC makes the VAX SKPC ! instruction available as a callable routine. ! EXTERNAL LONG FUNCTION lib$skpc & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$SPANC ! ! Skip Selected Characters ! ! The Skip Selected Characters routine is used to skip a specified set of ! characters in the source string. LIB$SPANC makes the VAX SPANC ! instruction available as a callable routine. ! EXTERNAL LONG FUNCTION lib$spanc & ( & STRING BY DESC, & BYTE DIM() BY REF, & BYTE BY REF & ) ! LIB$SPAWN ! ! Spawn Subprocess ! ! The Spawn Subprocess routine requests the command language interpreter ! (CLI) of the calling process to spawn a subprocess for executing CLI ! commands. LIB$SPAWN provides the same function as the DCL SPAWN command. ! EXTERNAL LONG FUNCTION lib$spawn & ( & OPTIONAL STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & LONG BY REF, & STRING BY DESC, & LONG BY REF, & LONG BY VALUE, & BYTE BY REF, & LONG BY VALUE, & ANY BY VALUE, & STRING BY DESC, & STRING BY DESC, & STRING BY DESC, & LONG BY REF & ) ! LIB$STAT_TIMER ! ! Statistics, Return Accumulated Times and Counts ! ! The Statistics, Return Accumulated Times and Counts routine returns ! to its caller one of five available statistics accumulated since the ! last call to LIB$INIT_TIMER. Unlike LIB$SHOW_TIMER, which formats the ! values for output, LIB$STAT_TIMER returns the value as an unsigned ! longword or quadword. ! EXTERNAL LONG FUNCTION lib$stat_timer & ( & LONG BY REF, & ANY BY REF, & OPTIONAL LONG BY REF & ) ! LIB$STAT_VM ! ! Return Virtual Memory Statistics ! ! The Return Virtual Memory Statistics routine returns to its caller one ! of six statistics available from calls to LIB$GET_VM/LIB$FREE_VM and ! LIB$GET_VM_PAGE/LIB$FREE_VM_PAGE. Unlike LIB$SHOW_VM, which formats ! the values for output and displays them on SYS$OUTPUT, LIB$STAT_VM ! returns the statistic in the value-argument argument. Only one of the ! statistics is returned by each call to LIB$STAT_VM. ! EXTERNAL LONG FUNCTION lib$stat_vm & ( & LONG BY REF, & ANY BY REF & ) ! LIB$STAT_VM_64 ! ! Return Virtual Memory Statistics ! ! The Return Virtual Memory Statistics routine returns to its caller one of ! six statistics available from calls to LIB$GET_VM_64/LIB$FREE_VM_64 and ! LIB$GET_VM_PAGE_64/LIB$FREE_VM_PAGE_64. Unlike LIB$SHOW_VM, which formats ! the values for output and displays them on SYS$OUTPUT, LIB$STAT_VM_64 ! returns the statistic in the value-argument argument. Only one of the ! statistics is returned by each call to LIB$STAT_VM_64. ! EXTERNAL LONG FUNCTION lib$stat_vm_64 & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$STAT_VM_ZONE ! ! Return Information About a Zone ! ! The Return Information About a Zone routine returns a single piece of ! information about the specified zone. ! ! Edit: Routine LIB$STAT_VM_ZONE is not yet implemented. ! ! ENTRY lib$stat_vm_zone ALIAS $lib_stat_vm_zone PARAMETER ( ! LONGWORD UNSIGNED NAMED zone_id IN ! TYPENAME identifier REFERENCE, ! LONGWORD NAMED item_code IN ! TYPENAME longword_signed REFERENCE, ! LONGWORD NAMED resultant_value OUT OPTIONAL ! TYPENAME longword_signed REFERENCE, ! CHARACTER RTL_STR_DESC NAMED resultant_string OUT OPTIONAL ! TYPENAME char_string, ! WORD UNSIGNED NAMED resultant_length OUT OPTIONAL ! TYPENAME word_unsigned REFERENCE ) ! RETURNS LONGWORD UNSIGNED TYPENAME cond_value; ! LIB$STOP ! ! Stop Execution and Signal the Condition ! ! The Stop Execution and Signal the Condition routine generates a signal ! that indicates that an exception condition has occurred in your program. ! Exception conditions signaled by LIB$STOP cannot be continued from the ! point of the signal. ! EXTERNAL SUB lib$stop & ( & LONG BY VALUE, & OPTIONAL LONG BY VALUE, & ANY BY VALUE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,, & ) ! LIB$SUBX ! ! Multiple-Precision Binary Subtraction ! ! The Multiple-Precision Binary Subtraction routine performs subtraction ! on signed two's complement integers of arbitrary length. ! EXTERNAL LONG FUNCTION lib$subx & ( & ANY BY REF, & ANY BY REF, & ANY BY REF, & OPTIONAL LONG BY REF & ) ! LIB$SUB_TIMES ! ! Subtract Two Quadword Times ! ! The Subtract Two Quadword Times routine subtracts two VMS ! internal-time-format times. ! EXTERNAL LONG FUNCTION lib$sub_times & ( & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF, & BASIC$QUADWORD BY REF & ) ! LIB$SYS_ASCTIM ! ! Invoke $ASCTIM to Convert Binary Time to ASCII String ! ! The Invoke $ASCTIM to Convert Binary Time to ASCII String routine calls the ! system service $ASCTIM to convert a binary date and time value, returning the ! ASCII string using the semantics of the caller's string. ! EXTERNAL LONG FUNCTION lib$sys_asctim & ( & WORD BY REF, & STRING BY DESC, & OPTIONAL BASIC$QUADWORD BY REF, & LONG BY REF & ) ! LIB$SYS_FAO ! ! Invoke $FAO System Service to Format Output ! ! The Invoke $FAO System Service to Format Output routine calls $FAO, ! returning a string in the semantics you provide. If called with other ! than a fixed-length string for output, the length of the resultant ! string is limited to 256 bytes and truncation will occur. ! EXTERNAL LONG FUNCTION lib$sys_fao & ( & STRING BY DESC, & WORD BY REF, & STRING BY DESC, & OPTIONAL ANY BY REF,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, & ) ! LIB$SYS_FAOL ! ! Invoke $FAOL System Service to Format Output ! ! The Invoke $FAOL System Service to Format Output routine calls the ! system service routine $FAOL, returning the string in the semantics ! you provide. If called with other than a fixed-length string for ! output, the length of the resultant string is limited to 256 bytes ! and truncation will occur. ! EXTERNAL LONG FUNCTION lib$sys_faol & ( & STRING BY DESC, & WORD BY REF, & STRING BY DESC, & LONG BY REF & ) ! LIB$SYS_FAOL_64 ! ! Invoke $FAOL System Service to Format Output ! ! The Invoke $FAOL System Service to Format Output routine calls the ! system service routine $FAOL, returning the string in the semantics ! you provide. If called with other than a fixed-length string for ! output, the length of the resultant string is limited to 256 bytes ! and truncation will occur. ! EXTERNAL LONG FUNCTION lib$sys_faol_64 & ( & STRING BY DESC, & WORD BY REF, & STRING BY DESC, & BASIC$QUADWORD BY REF & ) ! LIB$SYS_GETMSG ! ! Invoke $GETMSG System Service to Get Message Text ! ! The Invoke $GETMSG System Service to Get Message Text routine calls ! the System Service $GETMSG and returns a message string into ! destination-string using the semantics of the caller's string. ! EXTERNAL LONG FUNCTION lib$sys_getmsg & ( & LONG BY REF, & WORD BY REF, & STRING BY DESC, & OPTIONAL LONG BY REF, & ANY BY REF & ) ! LIB$SYS_TRNLOG ! ! Invoke $TRNLOG System Service to Translate Logical Name ! ! The Invoke $TRNLOG System Service to Translate Logical Name routine ! uses the system service $TRNLOG to translate a logical name. ! LIB$SYS_TRNLOG returns the logical name's translation using the ! semantics of the caller's string. ! EXTERNAL LONG FUNCTION lib$sys_trnlog & ( & STRING BY DESC, & WORD BY REF, & STRING BY DESC, & OPTIONAL BYTE BY REF, & BYTE BY REF, & BYTE BY REF & ) ! LIB$TPARSE/LIB$TABLE_PARSE ! ! Table-Driven Finite-State Parser ! ! The Table-Driven Finite State Parser routine is a general-purpose, ! table-driven parser implemented as a finite-state automaton, with ! extensions that make it suitable for a wide range of applications. ! It parses a string and returns a message indicating whether or not ! the input string is valid. ! ! LIB$TPARSE performs this function on VAX VMS. ! ! LIB$TABLE_PARSE performs this function on Alpha VMS and is available ! only on Alpha VMS. LIB$TPARSE is available in translated form on Alpha ! VMS. LIB$TABLE_PARSE differs from LIB$TPARSE only in the way that user ! specified action routines are called. ! EXTERNAL LONG FUNCTION lib$table_parse & ( & ANY BY REF, & ANY BY REF, & ANY BY REF & ) ! ENTRY lib$tparse ALIAS $lib_tparse PARAMETER ( ! ANY NAMED argument_block IN OUT ! TYPENAME any REFERENCE, ! ANY NAMED state_table IN ! TYPENAME any REFERENCE, ! ANY NAMED key_table IN ! TYPENAME any REFERENCE ) ! RETURNS LONGWORD UNSIGNED TYPENAME cond_value; ! LIB$TRAVERSE_TREE ! ! Traverse a Balanced Binary Tree ! ! The Traverse a Balanced Binary Tree routine calls an action routine ! for each node in a binary tree. ! EXTERNAL LONG FUNCTION lib$traverse_tree & ( & LONG BY REF, & LONG BY VALUE, & OPTIONAL ANY BY REF & ) ! LIB$TRAVERSE_TREE_64 ! ! Traverse a Balanced Binary Tree ! ! The Traverse a Balanced Binary Tree routine calls an action routine ! for each node in a binary tree. ! EXTERNAL LONG FUNCTION lib$traverse_tree_64 & ( & LONG BY REF, & LONG BY VALUE, & OPTIONAL ANY BY REF & ) ! LIB$TRA_ASC_EBC ! ! Translate ASCII to EBCDIC ! ! The Translate ASCII to EBCDIC routine translates an ASCII string ! to an EBCDIC string. ! EXTERNAL LONG FUNCTION lib$tra_asc_ebc & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$TRA_EBC_ASC ! ! Translate EBCDIC to ASCII ! ! The Translate EBCDIC to ASCII routine translates an EBCDIC string ! to an ASCII string. ! EXTERNAL LONG FUNCTION lib$tra_ebc_asc & ( & STRING BY DESC, & STRING BY DESC & ) ! LIB$TRIM_FILESPEC ! ! Fit Long File Specification into Fixed Field ! ! The Fit Long File Specification into Fixed Field routine takes a file ! specification, such as an RMS resultant name string, and shortens it ! (if necessary) so that it fits into a field of fixed width. ! EXTERNAL LONG FUNCTION lib$trim_filespec & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF, & WORD BY REF & ) ! LIB$TRIM_FULLNAME ! ! Trim a Full Name to Fit into a Desired Output Field ! ! The Trim a Full Name to Fit into a Desired Output Field routine ! trims a full name to fit into a desired output field. ! EXTERNAL LONG FUNCTION lib$trim_fullname & ( & STRING BY DESC, & STRING BY DESC, & OPTIONAL WORD BY REF, & WORD BY REF & ) ! LIB$UID_TO_ASCII ! ! Convert a UID to Text ! ! The Convert a UID to Text routine converts a UID to ! standard representation ina an ASCII text string. ! EXTERNAL LONG FUNCTION lib$uid_to_ascii & ( & BASIC$OCTAWORD BY REF, & STRING BY DESC & ) ! LIB$UNLOCK_IMAGE ! ! Unlock Image from working set ! ! Unlock all address ranges associated with a specified image ! from the working set. ! EXTERNAL LONG FUNCTION lib$unlock_image & ( & BASIC$QUADWORD BY REF & ) ! LIB$VERIFY_VM_ZONE ! ! Verify a Zone ! ! The Verify a Zone routine performs verification of a zone. ! EXTERNAL LONG FUNCTION lib$verify_vm_zone & ( & LONG BY REF & ) ! LIB$VERIFY_VM_ZONE_64 ! ! Verify a Zone ! ! The Verify a Zone routine performs verification of a zone. ! EXTERNAL LONG FUNCTION lib$verify_vm_zone_64 & ( & BASIC$QUADWORD BY REF & ) ! LIB$WAIT ! ! Wait a Specified Period of Time ! ! The Wait a Specified Period of Time routine places the current process ! into hibernation for the number of seconds specified in its argument. ! EXTERNAL LONG FUNCTION lib$wait & ( & SINGLE BY REF, & OPTIONAL LONG BY REF, & LONG BY REF & )