opuntiaOS - an operating system targeting x86 and ARMv7
at master 1.2 kB view raw
1/* 2 * Copyright (C) 2020-2022 The opuntiaOS Project Authors. 3 * + Contributed by Nikita Melekhin <nimelehin@gmail.com> 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9#ifndef _KERNEL_SYSCALLS_WRAPPER_H 10#define _KERNEL_SYSCALLS_WRAPPER_H 11 12#define SYSCALL_INIT_VAR(p, val) p = (typeof(p))val 13#define SYSCALL_INIT_VARS1(a) SYSCALL_INIT_VAR(a, SYSCALL_VAR1(tf)) 14#define SYSCALL_INIT_VARS2(a, b) SYSCALL_INIT_VAR(a, SYSCALL_VAR1(tf)), SYSCALL_INIT_VAR(b, SYSCALL_VAR2(tf)) 15#define SYSCALL_INIT_VARS3(a, b, c) SYSCALL_INIT_VAR(a, SYSCALL_VAR1(tf)), SYSCALL_INIT_VAR(b, SYSCALL_VAR2(tf)), SYSCALL_INIT_VAR(c, SYSCALL_VAR3(tf)) 16#define SYSCALL_INIT_VARS4(a, b, c, d) SYSCALL_INIT_VAR(a, SYSCALL_VAR1(tf)), SYSCALL_INIT_VAR(b, SYSCALL_VAR2(tf)), SYSCALL_INIT_VAR(c, SYSCALL_VAR3(tf)), SYSCALL_INIT_VAR(d, SYSCALL_VAR4(tf)) 17#define SYSCALL_INIT_VARS5(a, b, c, d, e) SYSCALL_INIT_VAR(a, SYSCALL_VAR1(tf)), SYSCALL_INIT_VAR(b, SYSCALL_VAR2(tf)), SYSCALL_INIT_VAR(c, SYSCALL_VAR3(tf)), SYSCALL_INIT_VAR(d, SYSCALL_VAR4(tf)), SYSCALL_INIT_VAR(e, SYSCALL_VAR5(tf)) 18 19#endif // _KERNEL_SYSCALLS_WRAPPER_H