cutil/va_list.h

33 lines
No EOL
593 B
C

#ifndef __CUTIL_VA_LIST_H
#define __CUTIL_VA_LIST_H
#include "cutypes.h"
#if (CU_ARCH == x86_64)
# define VA_NUM 6
#elif (CU_ARCH == AARCH64)
# define VA_NUM 8
#elif (defined(CU_ARCH_ARM7))
# define VA_NUM 4
#else
# define VA_NUM 0
#endif
#ifdef CU_ARCH_X86
typedef struct {
uword args[VA_NUM];
} cu_va_list;
#elif (defined(CU_ARCH_ARM))
typedef struct {
uword fp;
} cu_va_list;
#elif (defined(CU_ARCH_SUPERH))
typedef struct {
uword fp;
} cu_va_list;
#endif
extern void cu_va_start(cu_va_list* va);
extern uword cu_va_arg(cu_va_list* va, unsigned idx);
#endif