home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c220 / 4.ddi / INC / STDARG.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-16  |  739 b   |  30 lines

  1. /*
  2.  *   stdarg.h -- ANSI 
  3.  *
  4.  *   Macros and type for functions the require variable
  5.  *   numbers of arguments.
  6.  *
  7.  *           Copyright (c) 1990, MetaWare Incorporated
  8.  */
  9.  
  10. #ifndef _STDARG_H
  11. #define _STDARG_H
  12.  
  13. #if !__HIGHC__
  14. #define _max(a,b) ((a)>(b)?(a):(b))
  15. #endif
  16.  
  17. #define va_list char *
  18.  
  19. /* Minimum size of a parameter:  round to the number of ints; must be at least one int. */
  20. #define __psize(parmsize) _max(sizeof(int), ((parmsize)+sizeof(int)-1)/sizeof(int)*sizeof(int) )
  21.  
  22. #define va_start(ap, parmN) ( ap = (char *) &parmN + __psize(sizeof(parmN)) )
  23.  
  24. #define va_arg(ap, type) ( \
  25.        *(type *) ((ap += __psize(sizeof(type)) ) - __psize(sizeof(type)))  )
  26.  
  27. #define va_end(ap)
  28.  
  29. #endif /* _STDARG_H */
  30.