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