xref: /haiku/headers/private/kernel/ksyscalls.h (revision 7d4d6d35c0f6c00313a114aae710cd0cf302a440)
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