#include <mach/mach_types.defs>
#include <mach_debug/mach_debug_types.defs>
+#define CONCAT(a,b) a ## b
#if !KERNEL && !LIBSYSCALL_INTERFACE
-#define PREFIX(NAME) _kernelrpc_ ## NAME
+#define PREFIX(NAME) CONCAT(_kernelrpc_, NAME)
#else
#define PREFIX(NAME) NAME
#endif
+#if KERNEL_SERVER
+#define KERNEL_SERVER_SUFFIX(NAME) CONCAT(NAME, _external)
+#else
+#define KERNEL_SERVER_SUFFIX(NAME) NAME
+#endif
+
/*
* Returns information about the contents of the virtual
* address space of the target task at the specified
#if !KERNEL && !LIBSYSCALL_INTERFACE
skip;
#else
-routine PREFIX(vm_allocate)(
+routine PREFIX(KERNEL_SERVER_SUFFIX(vm_allocate))(
target_task : vm_task_entry_t;
inout address : vm_address_t;
size : vm_size_t;
* The user-defined memory manager for this object is responsible
* for further consistency.]
*/
-routine PREFIX(vm_map) (
+routine PREFIX(KERNEL_SERVER_SUFFIX(vm_map)) (
target_task : vm_task_entry_t;
inout address : vm_address_t;
size : vm_size_t;
/*
* Map portion of a task's address space.
*/
-routine PREFIX(vm_remap) (
+routine PREFIX(KERNEL_SERVER_SUFFIX(vm_remap)) (
target_task : vm_map_t;
inout target_address : vm_address_t;
size : vm_size_t;
-routine vm_map_64(
+routine KERNEL_SERVER_SUFFIX(vm_map_64)(
target_task : vm_task_entry_t;
inout address : vm_address_t;
size : vm_size_t;
* specified. See the routine implementation for a complete
* definition of the routine.
*/
-routine vm_purgable_control(
+routine PREFIX(vm_purgable_control) (
target_task : vm_map_t;
address : vm_address_t;
control : vm_purgable_t;
inout state : int);
+
+routine vm_map_exec_lockdown(
+ target_task : vm_map_t);
+
+
/* vim: set ft=c : */