As suggested by Ingo, the "subsystem" parameter is now a string. That allows

modules to use their module name directly.
Also introduced a whole range of reserved syscall functions in case we want
to add some more.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10458 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2004-12-14 17:09:06 +00:00
parent b793d2a2bc
commit dbef8d930c
3 changed files with 29 additions and 14 deletions
+5 -4
View File
@@ -13,10 +13,11 @@
* should be moved to KernelExport.h
*/
typedef status_t (*syscall_hook)(uint32 subsystem, uint32 function, void *buffer, size_t bufferSize);
typedef status_t (*syscall_hook)(const char *subsystem, uint32 function, void *buffer, size_t bufferSize);
/* predefined functions */
#define B_SYSCALL_INFO ~0UL
#define B_RESERVED_SYSCALL_BASE 0x80000000
#define B_SYSCALL_INFO (B_RESERVED_SYSCALL_BASE)
// gets a minimum version uint32, and fills it with the current version on return
/* syscall flags */
@@ -28,9 +29,9 @@ typedef status_t (*syscall_hook)(uint32 subsystem, uint32 function, void *buffer
extern "C" {
#endif
status_t register_generic_syscall(uint32 subsystem, syscall_hook hook,
status_t register_generic_syscall(const char *subsystem, syscall_hook hook,
uint32 version, uint32 flags);
status_t unregister_generic_syscall(uint32 subsystem, uint32 version);
status_t unregister_generic_syscall(const char *subsystem, uint32 version);
#ifdef __cplusplus
}