X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/6d2010ae8f7a6078e10b361c6962983bab233e0f..813fb2f63a553c957e917ede5f119b021d6ce391:/osfmk/mach/mach_host.defs diff --git a/osfmk/mach/mach_host.defs b/osfmk/mach/mach_host.defs index 536cdce83..04c44fde2 100644 --- a/osfmk/mach/mach_host.defs +++ b/osfmk/mach/mach_host.defs @@ -64,10 +64,6 @@ * control. */ -#ifdef MACH_KERNEL -#include -#endif /* MACH_KERNEL */ - subsystem #if KERNEL_SERVER KernelServer @@ -172,7 +168,7 @@ routine kmod_get_info( * DEPRECATED! Use mach_zone_info() instead. */ routine host_zone_info( - host : host_t; + host : host_priv_t; out names : zone_name_array_t, Dealloc; out info : zone_info_array_t, @@ -188,16 +184,8 @@ routine host_virtual_physical_table_info( out info : hash_info_bucket_array_t, Dealloc); -/* - * Returns information about the global reverse hash table. - * This call is only valid on MACH_IPC_DEBUG kernels. - * Otherwise, KERN_FAILURE is returned. - */ -routine host_ipc_hash_info( - host : host_t; - out info : hash_info_bucket_array_t, - Dealloc); +skip; /* was host_ipc_hash_info */ skip; /* was enable_bluebox */ skip; /* was disable_bluebox */ @@ -265,11 +253,103 @@ routine host_statistics64( * address space sizes (unlike host_zone_info()). */ routine mach_zone_info( + host : host_priv_t; + out names : mach_zone_name_array_t, + Dealloc; + out info : mach_zone_info_array_t, + Dealloc); + +#ifdef PRIVATE +/* + * Forces a zone allocator garbage collections pass. + * Pages with no in-use allocations are returned to + * the VM system for re-use. + */ +routine mach_zone_force_gc( + host : host_t); +#else +skip; +#endif + +/* + * Create a new voucher by running a series of commands against + * pairs of resource attributes. + */ +#if !KERNEL && !LIBSYSCALL_INTERFACE +routine _kernelrpc_host_create_mach_voucher( +#else +routine host_create_mach_voucher( +#endif + host : host_t; + recipes : mach_voucher_attr_raw_recipe_array_t; + out voucher : ipc_voucher_t); + +/* + * Register a resource manager with the kernel. A new key is selected. + */ +routine host_register_mach_voucher_attr_manager( + host : host_t; + attr_manager : mach_voucher_attr_manager_t; + default_value : mach_voucher_attr_value_handle_t; + out new_key : mach_voucher_attr_key_t; + out new_attr_control: ipc_voucher_attr_control_t); + +/* + * Register a resource manager (with a well-known key value) with the kernel. + */ +routine host_register_well_known_mach_voucher_attr_manager( + host : host_t; + attr_manager : mach_voucher_attr_manager_t; + default_value : mach_voucher_attr_value_handle_t; + key : mach_voucher_attr_key_t; + out new_attr_control: ipc_voucher_attr_control_t); + + +/* + * Update the global ATM diagnostic flag, readable from the commpage + */ +routine host_set_atm_diagnostic_flag( + host_priv : host_priv_t; + in diagnostic_flag : uint32_t); + +#if !KERNEL && LIBSYSCALL_INTERFACE +routine host_get_atm_diagnostic_flag( host : host_t; + out diagnostic_flag : uint32_t); +#else +skip; +#endif + +routine mach_memory_info( + host : host_priv_t; out names : mach_zone_name_array_t, Dealloc; out info : mach_zone_info_array_t, + Dealloc; + out memory_info : mach_memory_info_array_t, Dealloc); +/* + * Update the global multiuser flags, readable from the commpage + */ +routine host_set_multiuser_config_flags( + host_priv : host_priv_t; + in multiuser_flags : uint32_t); + +#if !KERNEL && LIBSYSCALL_INTERFACE +routine host_get_multiuser_config_flags( + host : host_t; + out multiuser_flags : uint32_t); +#else +skip; +#endif // !KERNEL && LIBSYSCALL_INTERFACE + +#if !KERNEL && LIBSYSCALL_INTERFACE +routine host_check_multiuser_mode( + host : host_t; + out multiuser_mode : uint32_t); +#else +skip; +#endif // !KERNEL && LIBSYSCALL_INTERFACE /* vim: set ft=c : */