180ee5cbfSDavid du Colombier #ifndef __STDARG 280ee5cbfSDavid du Colombier #define __STDARG 380ee5cbfSDavid du Colombier 480ee5cbfSDavid du Colombier typedef char *va_list; 580ee5cbfSDavid du Colombier 680ee5cbfSDavid du Colombier #define va_start(list, start) list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \ 780ee5cbfSDavid du Colombier (char *)(&(start)+1)) 880ee5cbfSDavid du Colombier #define va_end(list) 9*b39189fdSDavid du Colombier #define va_arg(list, mode)\ 10*b39189fdSDavid du Colombier ((sizeof(mode) == 1)?\ 11*b39189fdSDavid du Colombier ((list += 4), (mode*)list)[-4]:\ 12*b39189fdSDavid du Colombier (sizeof(mode) == 2)?\ 13*b39189fdSDavid du Colombier ((list += 4), (mode*)list)[-2]:\ 14*b39189fdSDavid du Colombier ((list += sizeof(mode)), (mode*)list)[-1]) 1580ee5cbfSDavid du Colombier 1680ee5cbfSDavid du Colombier #endif /* __STDARG */ 17