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);