VMS Help  —  CRTL  va_start[_1], Description
    The va_start macro initializes the variable ap to the beginning
    of the argument list.

    The va_start_1 macro initializes ap to the address of an argument
    that is preceded by a known number of defined arguments. The
    printf function is an example of a Compaq C RTL function
    that contains a variable-length argument list offset from the
    beginning of the entire argument list. The variable-length
    argument list is offset by the address of the formatting string.

    When determining the value of the offset argument used in va_
    start_1, the implications of the OpenVMS calling standard must be
    considered.

    On OpenVMS Alpha and Integrity server systems, each argument item
    is a quadword.

                                   NOTE

       When accessing argument lists, especially those passed to a
       subroutine (written in C) by a program written in another
       programming language, consider the implications of the
       OpenVMS calling standard. For more information about the
       OpenVMS calling standard, see the Compaq C User's Guide for
       OpenVMS Systems or the HP OpenVMS Calling Standard.

    The preceding version of va_start and va_start_1 is specific to
    the Compaq C RTL, and is not portable.

    The following syntax describes the va_start macro in the
    <stdarg.h> header file, as defined in the ANSI C standard:

    Format

      #include  <stdarg.h> (ANSI C)

      void va_start  (va_list ap, parmN);
Close Help