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 Software.Distribution@CS.CMU.EDU 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 67 KernelServer 68#endif /* KERNEL_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/* 84 * Destroy processor set. 85 */ 86routine processor_set_destroy( 87 set : processor_set_t); 88 89 90/* 91 * Set max priority for processor_set. 92 */ 93routine processor_set_max_priority( 94 processor_set : processor_set_t; 95 max_priority : int; 96 change_threads : boolean_t); 97 98/* 99 * Enable policy for processor set 100 */ 101routine processor_set_policy_enable( 102 processor_set : processor_set_t; 103 policy : int); 104 105/* 106 * Disable policy for processor set 107 */ 108routine processor_set_policy_disable( 109 processor_set : processor_set_t; 110 policy : int; 111 change_threads : boolean_t); 112 113/* 114 * List all tasks in processor set. 115 */ 116routine processor_set_tasks( 117 processor_set : processor_set_t; 118 out task_list : task_array_t); 119 120/* 121 * List all threads in processor set. 122 */ 123routine processor_set_threads( 124 processor_set : processor_set_t; 125 out thread_list : thread_act_array_t); 126 127/* 128 * Controls the scheduling attributes governing the processor set. 129 * Allows control of enabled policies, and per-policy base and limit 130 * priorities. 131 */ 132routine processor_set_policy_control( 133 pset : processor_set_t; 134 flavor : processor_set_flavor_t; 135 policy_info : processor_set_info_t; 136 change : boolean_t); 137 138 139/* 140 * Debug Info 141 * This call is only valid on MACH_DEBUG kernels. 142 * Otherwise, KERN_FAILURE is returned. 143 */ 144routine processor_set_stack_usage( 145 pset : processor_set_t; 146 out ltotal : unsigned; 147 out space : vm_size_t; 148 out resident : vm_size_t; 149 out maxusage : vm_size_t; 150 out maxstack : vm_offset_t); 151 152/* 153 * Get information about processor set. 154 */ 155routine processor_set_info( 156 set_name : processor_set_name_t; 157 flavor : int; 158 out host : host_t; 159 out info_out : processor_set_info_t, CountInOut); 160 161/* vim: set ft=c : */ 162