1/* 2 * Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _KERNEL_GENERIC_SYSCALLS_H 6#define _KERNEL_GENERIC_SYSCALLS_H 7 8 9#include <SupportDefs.h> 10 11#include <generic_syscall_defs.h> 12 13 14/* If we decide to make this API public, the contents of this file 15 * should be moved to KernelExport.h 16 */ 17 18typedef status_t (*syscall_hook)(const char *subsystem, uint32 function, void *buffer, size_t bufferSize); 19 20/* syscall flags */ 21#define B_SYSCALL_NOT_REPLACEABLE 1 22#define B_DO_NOT_REPLACE_SYSCALL 2 23 24 25#ifdef __cplusplus 26extern "C" { 27#endif 28 29status_t register_generic_syscall(const char *subsystem, syscall_hook hook, 30 uint32 version, uint32 flags); 31status_t unregister_generic_syscall(const char *subsystem, uint32 version); 32 33#ifdef __cplusplus 34} 35#endif 36 37#endif /* _KERNEL_GENERIC_SYSCALLS_H */ 38