Library /sys$common/syshlp/helplib.hlb  —  MACRO  /ALPHA  Supplied Library Macros, $CALL  Parameters  /UL(1) Unsigned LDL STQ I64 U32 I32
           Longword   /ZAP
                      #^xF0
 _______________________________________________________________________
 (1)--Unsigned 32-bit integers are normally passed using the /L argument
 qualifier. Therefore, Digital does not recommend that you use the /UL
 argument qualifier.
 _______________________________________________________________________

 SET_ARG_INFO

    An optional argument to indicate whether $CALL should
    set the Argument Information (AI) register (R25) with
    the appropriate argument information or not. By default,
    or if you specify SET_ARG_INFO=TRUE, $CALL stores the
    appropriate argument information in R25. If you specify
    SET_ARG_INFO=FALSE, $CALL does not affect R25.

    If you want to conform to the OpenVMS Calling Standard, you
    must store the appropriate information in R25 yourself before
    invoking $CALL. If you do not need to conform to the OpenVMS
    Calling Standard, and if the called routine does not need
    argument information in R25, you can specify SET_ARG_INFO=FALSE
    and make no change in R25. By making no change in R25, you
    avoid the overhead involved when either you or $CALL load
    argument information into R25 at the expense of calling standard
    conformance.

 STACK_RETURN_VALUE

    An optional argument to indicate that the called routine returns
    a value on the stack. By default, $CALL assumes that the called
    routine does not return a value on the stack. In this case, $CALL
    removes any arguments passed to the called routine from the stack
    when the called routine returns.

    If the called routine returns a value on the stack, the returned
    value is placed at a lower address than the arguments on the
    stack. In this case, you must specify STACK_RETURN_VALUE=TRUE
    to prevent $CALL from removing the arguments to the called
    routine from the stack and erasing the value returned by the
    called routine. You must retrieve the return value and remove it
    from the stack. Then you can remove the arguments to the called
    routine using the $STACK_ARG_SIZE symbol defined by $CALL.

 SCRATCH_REGS

    An optional list of scratch registers for $CALL to use when
    processing arguments passed to the called routine with the ARGS
    argument. If you pass more than six arguments to the called
    routine, $CALL may need to use scratch registers to process the
    call.

    By default, $CALL uses R0, R1, F0, and F1. You can cause $CALL to
    use different scratch registers with the SCRATCH_REGS argument.

    If you are passing integer arguments, you should specify at
    least one integer register. If you are passing floating-point
    arguments, you should specify at least one floating-point
    register.

    $CALL can process arguments to the called routine more
    efficiently if you specify two or more scratch registers of the
    type or types appropriate to the arguments you are passsing.

 TIE

    A Boolean value (TRUE or FALSE) that specifies whether $CALL
    should generate a call sequence that is compatible with both
    native routines and the Translated Image Environment (TIE). By
    default, $CALL generates a faster call sequence that is only
    compatible with native routines. If you specify TIE=TRUE, $CALL
    generates a call sequence that works with both native routines
    and translated routines. If you are calling a VAX routine in a
    shareable image that has been translated with the DECmigrate
    image translator, specify TIE=TRUE. If you are calling a native
    routine, Digital recommends you default the TIE argument or
    specify TIE=FALSE. While $CALL generates a call sequence that
    is compatible with native routines when you specify TIE=TRUE,
    that call sequence is slower than when you specify or default
    TIE=FALSE.

 FUNC_RETURN

    An optional argument used to indicate the type of function return
    when you also specify TIE=TRUE. This argument is ignored unless
    you also specify TIE=TRUE. Specify one of I64, D64, I32, U32,
    FF, FD, FG, FS, FT, FFC, FDC, FGC, FSC, or FTC. These values
    correspond to the RASE$K_FR_* signature encodings described
    in Table 3-7 in the OpenVMS Calling Standard. If you specify
    TIE=TRUE and do not specify a function return type with FUNC_
    RETURN, the default function return type is I64.

                                   NOTE

       Specification of the FUNC_RETURN argument does not in itself
       cause $ROUTINE to generate a procedure signature block.
       However, if you specify either or both the ARGLIST or USES_
       VAX_ARGLIST arguments, any value you specify with the FUNC_
       RETURN argument is recorded in both the procedure descriptor
       and the procedure signature block.

 USES_VAX_ARGLIST

    An optional argument to indicate whether the called routine uses
    a VAX argument list. This argument is ignored unless you also
    specify TIE=TRUE. By default, $CALL assumes the called routine
    does not use a VAX argument list. Specify USES_VAX_ARGLIST=TRUE
    to indicate that the called routine uses a VAX argument list.

 SIGNATURE_BLOCK

    An optional argument that you can use to supply the address of
    the call signature block. This argument is ignored unless you
    also specify TIE=TRUE. Note that you cannot specify a SIGNATURE_
    BLOCK argument in combination with either of the FUNC_RETURN
    or USES_VAX_ARGLIST arguments. By default, $CALL generates a
    call signature block for you when you specify TIE=TRUE, and you
    can in part control the contents of that signature block with
    the FUNC_RETURN and USES_VAX_ARGLIST arguments. If you wish to
    define your own call signature block, do not specify either of
    the FUNC_RETURN or USES_VAX_ARGLIST arguments and supply the
    address of your call signature block with the SIGNATURE_BLOCK
    argument.

 NONSTANDARD

    A Boolean value (TRUE or FALSE) that specifies whether $CALL
    should suppress warning and informational messages concerning
    nonstandard usage. By default, $CALL issues warning and
    informational messages to indicate you are using $CALL in a
    way that violates the OpenVMS Calling Standard or in a way
    that requires special programming considerations. Specify
    NONSTANDARD=TRUE if you wish to suppress these messages.
Close Help