varargs man page on Ultrix

Man page or keyword search:  
man Server   3690 pages
apropos Keyword Search (all sections)
Output format
Ultrix logo
[printable version]

varargs(3)							    varargs(3)

Name
       varargs - variable argument list

Syntax
       #include <varargs.h>

       function(va_alist)
       va_dcl
       va_list pvar;
       va_start(pvar);
       f = va_arg(pvar, type);
       va_end(pvar);

Description
       This set of macros provides a means of writing portable procedures that
       accept variable argument	 lists.	  Routines  having  variable  argument
       lists,  such  as	 that  do  not use varargs are inherently nonportable,
       since different machines use different argument passing conventions.

       va_alist is used in a function header to declare	 a  variable  argument
       list.

       va_dcl  is a declaration for va_alist.  Note that there is no semicolon
       after va_dcl.

       va_list is a type which can be used for the  variable  pvar,  which  is
       used to traverse the list.  One such variable must always be declared.

       va_start(pvar)  is  called  to  initialize pvar to the beginning of the
       list.

       va_arg(pvar, type) will return the next argument in the list pointed to
       by pvar.	 The type is the type the argument is expected to be.  Differ‐
       ent types can be mixed, but it is up to the routine to know  what  type
       of argument is expected, since it cannot be determined at runtime.

       va_end(pvar) is used to finish up.

       Multiple traversals, each bracketed by va_start ...  va_end, are possi‐
       ble.

Examples
       #include <varargs.h>
       execl(va_alist)
       va_dcl
       {
	    va_list ap;
	    char *file;
	    char *args[100];
	    int argno = 0;

	    va_start(ap);
	    file = va_arg(ap, char *);
	    while (args[argno++] = va_arg(ap, char *))
	    B;
	    va_end(ap);
	    return execv(file, args);
       }

Restrictions
       It is up to the calling routine to determine how many  arguments	 there
       are,  since  it is not possible to determine this from the stack frame.
       For example, passes a 0 to signal the end of the list.  The command can
       tell how many arguments are supposed to be there by the format.

								    varargs(3)
[top]

List of man pages available for Ultrix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net