xref: /plan9/mips/include/ape/stdarg.h (revision b39189fd423aed869c5cf5189bc504918cff969b)
13e12c5d1SDavid du Colombier #ifndef __STDARG
23e12c5d1SDavid du Colombier #define __STDARG
33e12c5d1SDavid du Colombier 
43e12c5d1SDavid du Colombier typedef char *va_list;
53e12c5d1SDavid du Colombier 
6*b39189fdSDavid du Colombier #define va_start(list, start) list =\
7*b39189fdSDavid du Colombier 	(sizeof(start) < 4?\
8*b39189fdSDavid du Colombier 		(char*)((int*)&(start)+1):\
9*b39189fdSDavid du Colombier 		(char*)(&(start)+1))
103e12c5d1SDavid du Colombier #define va_end(list)
11*b39189fdSDavid du Colombier #define va_arg(list, mode)\
12*b39189fdSDavid du Colombier 	((sizeof(mode) == 1)?\
13*b39189fdSDavid du Colombier 		((list += 4), (mode*)list)[-1]:\
14*b39189fdSDavid du Colombier 	(sizeof(mode) == 2)?\
15*b39189fdSDavid du Colombier 		((list += 4), (mode*)list)[-1]:\
16*b39189fdSDavid du Colombier 		((list += sizeof(mode)), (mode*)list)[-1])
173e12c5d1SDavid du Colombier 
183e12c5d1SDavid du Colombier #endif /* __STDARG */
19