diff options
Diffstat (limited to 'Kernel/DriverKit/KernelCall.c')
| -rw-r--r-- | Kernel/DriverKit/KernelCall.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Kernel/DriverKit/KernelCall.c b/Kernel/DriverKit/KernelCall.c new file mode 100644 index 00000000..43f8f714 --- /dev/null +++ b/Kernel/DriverKit/KernelCall.c @@ -0,0 +1,25 @@ +/* ------------------------------------------- + + Copyright SoftwareLabs + + Purpose: Kernel Definitions. + +------------------------------------------- */ + +#include <DriverKit/KernelStd.h> +#include <stdarg.h> + +DK_EXTERN __attribute__((naked)) void __kernelDispatchCall(int32_t cnt, ...); + +DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, ...) +{ + if (!kernelRpcName || cnt == 0) + return NIL; + + va_list arg; + va_start(arg, cnt); + + __kernelDispatchCall(cnt, arg); + + va_end(arg); +} |
