13e12c5d1SDavid du Colombier #ifndef __STDARG 23e12c5d1SDavid du Colombier #define __STDARG 33e12c5d1SDavid du Colombier 43e12c5d1SDavid du Colombier typedef char *va_list; 53e12c5d1SDavid du Colombier 63e12c5d1SDavid du Colombier #define va_start(list, start) list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \ 73e12c5d1SDavid du Colombier (char *)(&(start)+1)) 83e12c5d1SDavid 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]) 153e12c5d1SDavid du Colombier 163e12c5d1SDavid du Colombier #endif /* __STDARG */ 17