152a38012Sejakowatz /* 252a38012Sejakowatz ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 352a38012Sejakowatz ** Distributed under the terms of the NewOS License. 452a38012Sejakowatz */ 52fe71062SAxel Dörfler #ifndef _KERNEL_KSYSCALLS_H 62fe71062SAxel Dörfler #define _KERNEL_KSYSCALLS_H 752a38012Sejakowatz 8b67f1117SAxel Dörfler 9c3c3d22fSAxel Dörfler #include <SupportDefs.h> 10c3c3d22fSAxel Dörfler 11c3c3d22fSAxel Dörfler 12*7d4d6d35SIngo Weinhold typedef struct { 13*7d4d6d35SIngo Weinhold void *function; // pointer to the syscall function 14*7d4d6d35SIngo Weinhold int parameter_size; // summed up parameter size 15*7d4d6d35SIngo Weinhold } syscall_info; 16*7d4d6d35SIngo Weinhold 17*7d4d6d35SIngo Weinhold extern const int kSyscallCount; 18*7d4d6d35SIngo Weinhold extern const syscall_info kSyscallInfos[]; 19*7d4d6d35SIngo Weinhold 20*7d4d6d35SIngo Weinhold 21c3c3d22fSAxel Dörfler #ifdef __cplusplus 22c3c3d22fSAxel Dörfler extern "C" { 23c3c3d22fSAxel Dörfler #endif 24c3c3d22fSAxel Dörfler 25c3c3d22fSAxel Dörfler int32 syscall_dispatcher(uint32 function, void *argBuffer, uint64 *_returnValue); 26c3c3d22fSAxel Dörfler status_t generic_syscall_init(void); 27c3c3d22fSAxel Dörfler 28c3c3d22fSAxel Dörfler #ifdef __cplusplus 29c3c3d22fSAxel Dörfler } 30c3c3d22fSAxel Dörfler #endif 3152a38012Sejakowatz 322fe71062SAxel Dörfler #endif /* _KERNEL_KSYSCALLS_H */ 33