1/* 2 * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28/* 29 * @OSF_FREE_COPYRIGHT@ 30 */ 31/* 32 * Mach Operating System 33 * Copyright (c) 1991,1990,1989 Carnegie Mellon University 34 * All Rights Reserved. 35 * 36 * Permission to use, copy, modify and distribute this software and its 37 * documentation is hereby granted, provided that both the copyright 38 * notice and this permission notice appear in all copies of the 39 * software, derivative works or modified versions, and any portions 40 * thereof, and that both notices appear in supporting documentation. 41 * 42 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 43 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 44 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 45 * 46 * Carnegie Mellon requests users of this software to return to 47 * 48 * Software Distribution Coordinator or [email protected] 49 * School of Computer Science 50 * Carnegie Mellon University 51 * Pittsburgh PA 15213-3890 52 * 53 * any improvements or extensions that they make and grant Carnegie Mellon 54 * the rights to redistribute these changes. 55 */ 56/* 57 */ 58/* 59 * File: mach/mach_port.defs 60 * Author: Rich Draves 61 * 62 * Exported kernel calls. 63 */ 64 65subsystem 66#if KERNEL_SERVER || KOBJECT_SERVER 67 KernelServer 68#endif /* KERNEL_SERVER || KOBJECT_SERVER */ 69 processor_set 4000; 70 71#include <mach/std_types.defs> 72#include <mach/mach_types.defs> 73 74/* 75 * Return scheduling statistics for a processor set. 76 */ 77routine processor_set_statistics( 78 pset : processor_set_name_t; 79 flavor : processor_set_flavor_t; 80 out info_out : processor_set_info_t, CountInOut); 81 82/* 83 * OBSOLETE interfaces, removed from kernel 84 */ 85#if KERNEL_SERVER 86skip; /* processor_set_destroy */ 87skip; /* processor_set_max_priority */ 88skip; /* processor_set_policy_enable */ 89skip; /* processor_set_policy_disable */ 90#else 91routine processor_set_destroy( 92 set : processor_set_t); 93 94routine processor_set_max_priority( 95 processor_set : processor_set_t; 96 max_priority : int; 97 change_threads : boolean_t); 98 99routine processor_set_policy_enable( 100 processor_set : processor_set_t; 101 policy : int); 102 103routine processor_set_policy_disable( 104 processor_set : processor_set_t; 105 policy : int; 106 change_threads : boolean_t); 107#endif 108 109/* 110 * List all tasks in processor set. 111 */ 112routine processor_set_tasks( 113 processor_set : processor_set_t; 114 out task_list : task_array_t); 115 116/* 117 * List all threads in processor set. 118 */ 119routine processor_set_threads( 120 processor_set : processor_set_t; 121 out thread_list : thread_act_array_t); 122 123/* 124 * OBSOLETE interfaces, removed from kernel 125 */ 126#if KERNEL_SERVER 127skip; /* processor_set_policy_control */ 128#else 129routine processor_set_policy_control( 130 pset : processor_set_t; 131 flavor : processor_set_flavor_t; 132 policy_info : processor_set_info_t; 133 change : boolean_t); 134#endif 135 136 137/* 138 * Debug Info 139 * This call is only valid on DEVELOPMENT kernels. 140 * Otherwise, KERN_FAILURE is returned. 141 */ 142routine processor_set_stack_usage( 143 pset : processor_set_t; 144 out ltotal : unsigned; 145 out space : vm_size_t; 146 out resident : vm_size_t; 147 out maxusage : vm_size_t; 148 out maxstack : vm_offset_t); 149 150/* 151 * Get information about processor set. 152 */ 153routine processor_set_info( 154 set_name : processor_set_name_t; 155 flavor : int; 156 out host : host_t; 157 out info_out : processor_set_info_t, CountInOut); 158 159/* 160 * List all tasks(/inspect/read) in processor set based on flavor. 161 */ 162routine processor_set_tasks_with_flavor( 163 processor_set : processor_set_t; 164 flavor : mach_task_flavor_t; 165 out task_list : task_array_t); 166 167/* vim: set ft=c : */ 168