haiku/headers/private/kernel/generic_syscall.h
Ingo Weinhold 6b202f4e3d * Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
  several kernel headers into a shared part and one that is still kernel
  private. Adjusted all affected Jamfiles and source in the standard x86
  build accordingly. The build for other architectures and for test code
  may be broken.
* Quite a bit of userland code still includes private kernel headers.
  Mostly those are <util/*> headers. The ones that aren't strictly
  kernel-only should be moved to some other place (maybe
  headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 03:55:16 +00:00

38 lines
877 B
C

/*
* Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _KERNEL_GENERIC_SYSCALLS_H
#define _KERNEL_GENERIC_SYSCALLS_H
#include <SupportDefs.h>
#include <generic_syscall_defs.h>
/* If we decide to make this API public, the contents of this file
* should be moved to KernelExport.h
*/
typedef status_t (*syscall_hook)(const char *subsystem, uint32 function, void *buffer, size_t bufferSize);
/* syscall flags */
#define B_SYSCALL_NOT_REPLACEABLE 1
#define B_DO_NOT_REPLACE_SYSCALL 2
#ifdef __cplusplus
extern "C" {
#endif
status_t register_generic_syscall(const char *subsystem, syscall_hook hook,
uint32 version, uint32 flags);
status_t unregister_generic_syscall(const char *subsystem, uint32 version);
#ifdef __cplusplus
}
#endif
#endif /* _KERNEL_GENERIC_SYSCALLS_H */