xref: /haiku/headers/private/kernel/ksyscalls.h (revision 34b3b26b3b8c46ba46ddde037b10dd173f4936d6)
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*34b3b26bSIngo Weinhold typedef struct syscall_info {
137d4d6d35SIngo Weinhold 	void	*function;		// pointer to the syscall function
147d4d6d35SIngo Weinhold 	int		parameter_size;	// summed up parameter size
157d4d6d35SIngo Weinhold } syscall_info;
167d4d6d35SIngo Weinhold 
177d4d6d35SIngo Weinhold extern const int kSyscallCount;
187d4d6d35SIngo Weinhold extern const syscall_info kSyscallInfos[];
197d4d6d35SIngo Weinhold 
207d4d6d35SIngo 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