home *** CD-ROM | disk | FTP | other *** search
- /* $Id: stdarg.h,v 1.3 93/05/05 21:18:21 sjg Exp $ */
- /* DON'T USE THIS IF YOUR COMPILER HAS ITS OWN!!! */
-
- #ifndef _STDARG_H
- #define _STDARG_H
-
- typedef char *va_list;
-
- /* Amount of space required in an argument list for an arg of type TYPE.
- TYPE may alternatively be an expression whose type is used. */
-
- #define __va_rounded_size(TYPE) \
- (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-
- #define va_start(AP, LASTARG) \
- (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
-
- void va_end (va_list); /* Defined in gnulib */
- #define va_end(AP)
-
- #define va_arg(AP, TYPE) \
- (AP += __va_rounded_size (TYPE), \
- *((TYPE *) (AP - __va_rounded_size (TYPE))))
-
- #endif /* _STDARG_H */
-