]> git.lizzy.rs Git - plan9front.git/blob - amd64/include/ape/stdarg.h
/sys/lib/rootstub
[plan9front.git] / amd64 / include / ape / stdarg.h
1 #ifndef __STDARG
2 #define __STDARG
3
4 typedef char *va_list;
5
6 #define va_start(list, start) list = (sizeof(start)<8 ? (char *)((long long *)&(start)+1) : \
7 (char *)(&(start)+1))
8 #define va_end(list)
9 #define va_arg(list, mode)\
10         ((sizeof(mode) == 1)?\
11                 ((mode*)(list += 8))[-8]:\
12         (sizeof(mode) == 2)?\
13                 ((mode*)(list += 8))[-4]:\
14         (sizeof(mode) == 4)?\
15                 ((mode*)(list += 8))[-2]:\
16                 ((mode*)(list += sizeof(mode)))[-1])
17
18 #endif /* __STDARG */