diff --git a/include/utils.h b/include/utils.h index 5564fa9..22d08a3 100644 --- a/include/utils.h +++ b/include/utils.h @@ -8,6 +8,20 @@ #define into_bytes(addr) ((u8 *)(addr)) #define bytes_into(bytes, type) ((type *)(bytes)) -void pointer_to_string(u64 addr, char * dest); +void pointer_to_string(u64 addr, char *dest); + +typedef struct __va_args +{ + usize length; + void *args[0]; +} va_args; + +#define va_args_gen(result, length) \ + void *__reserved__[length]; \ + va_args __va_args__; \ + result = &__va_args__; + +#define va_args_set(vaargs, index, val) \ + vaargs->args[index] = &val; #endif