mirror of
https://github.com/encounter/ogws.git
synced 2026-03-30 11:33:37 -07:00
32 lines
658 B
C
32 lines
658 B
C
#ifndef MSL_STDARG_H
|
|
#define MSL_STDARG_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum _va_arg_type {
|
|
arg_ARGPOINTER,
|
|
arg_WORD,
|
|
arg_DOUBLEWORD,
|
|
arg_ARGREAL
|
|
} _va_arg_type;
|
|
|
|
typedef struct __va_list_struct {
|
|
char gpr;
|
|
char fpr;
|
|
char* input_arg_area;
|
|
char* reg_save_area;
|
|
} va_list[1];
|
|
|
|
void* __va_arg(va_list argp, int type);
|
|
|
|
#define va_start(VA_LIST, ARG) ((void)ARG, __builtin_va_info(&VA_LIST))
|
|
#define va_end(VA_LIST) ((void)VA_LIST)
|
|
#define va_arg(VA_LIST, ARG_TYPE) \
|
|
(*(ARG_TYPE*)__va_arg(VA_LIST, _var_arg_typeof(ARG_TYPE)))
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|