home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / DP / Programmation / GCC / gcc_include / stdarg.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-08  |  635 b   |  23 lines

  1. /*    stdarg format for ansic.library        */
  2. /*    (c)Copyright 1992 Davide Pasetto     */
  3.  
  4. #ifndef    _STDARG_H
  5. #define _STDARG_H
  6.  
  7. #define va_list   char *
  8.  
  9. /* Amount of space required in an argument list for an arg of type TYPE.*/
  10. /* TYPE may alternatively be an expression whose type is used.            */
  11.  
  12. #define __va_rounded_size(TYPE)    \
  13.   (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
  14.  
  15. #define va_start(AP, LASTARG)    \
  16.  (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
  17.  
  18. #define va_end(AP)
  19. #define va_arg(AP, TYPE)        \
  20.  (AP += __va_rounded_size (TYPE),*((TYPE *) (AP - __va_rounded_size (TYPE))))
  21.  
  22. #endif    /* _STDARG_H */
  23.