xref: /csrg-svn/sys/hp300/include/varargs.h (revision 52584)
141888Sbostic /*-
241888Sbostic  * Copyright (c) 1990 The Regents of the University of California.
341888Sbostic  * All rights reserved.
441888Sbostic  *
541888Sbostic  * %sccs.include.redist.c%
641888Sbostic  *
7*52584Sbostic  *	@(#)varargs.h	5.4 (Berkeley) 02/19/92
841888Sbostic  */
912198Ssam 
1047788Sbostic #ifndef _VARARGS_H_
1147788Sbostic #define	_VARARGS_H_
1247788Sbostic 
13*52584Sbostic typedef char *va_list;
1441888Sbostic 
1541890Sbostic #define	va_dcl	int va_alist;
1641888Sbostic 
1741888Sbostic #define	va_start(ap) \
1841888Sbostic 	ap = (char *)&va_alist
1947788Sbostic 
20*52584Sbostic #ifdef KERNEL
21*52584Sbostic #define	va_arg(ap, type) \
22*52584Sbostic 	((type *)(ap += sizeof(type)))[-1]
23*52584Sbostic #else
24*52584Sbostic #define	va_arg(ap, type) \
25*52584Sbostic 	((type *)(ap += sizeof(type) < sizeof(int) ? \
26*52584Sbostic 		(abort(), 0) : sizeof(type)))[-1]
27*52584Sbostic #endif
28*52584Sbostic 
29*52584Sbostic #define	va_end(ap)
30*52584Sbostic 
3147788Sbostic #endif /* !_VARARGS_H_ */
32