Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Mach Kernel Interface Reference Manual</title> </head> <body> <h3>Mach IPC Interface</h3> <blockquote> <p> Mach IPC presents itself in a few forms: message queues, lock-sets, and semaphores (more may be added in the future). All share one common charateristic: the capabilities presented by each are represented through a handle known as a Mach port. Specific rights represented in these Mach port capability handles allow the underlying IPC object to be used and manipulated in consistent ways.</p> <h4>Mach Message Queue Interface</h4> <blockquote> <p> <a href="mach_msg.html">mach_msg</a> - Send and/or receive a message from the target port.<br> <a href="mach_msg.html">mach_msg_overwrite</a> - Send and/or receive messages with possible overwrite.<br> </p> Mach Message Queue Data Structures <p> <a href="mach_msg_descriptor.html">mach_msg_descriptor</a> - Specifies an element of a complex IPC message.<br> <a href="mach_msg_header.html">mach_msg_header</a> - Specifies the content of an IPC message header.<br> </p> </blockquote> <h4>Mach Lock-Set Interface</h4> <blockquote> <p> <a href="lock_acquire.html">lock_acquire</a> - Acquire ownership a lock<br> <a href="lock_handoff.html">lock_handoff</a> - Hand-off ownership of a lock.<br> <a href="lock_handoff_accept.html">lock_handoff_accept</a> - Accept lock ownership from a handoff.<br> <a href="lock_make_stable.html">lock_make_stable</a> - Stabilize the state of the specified lock.<br> <a href="lock_release.html">lock_release</a> - Release ownership of a lock.<br> <a href="lock_set_create.html">lock_set_create</a> - Create a new lock set.<br> <a href="lock_set_destroy.html">lock_set_destroy</a> - Destroy a lock set and its associated locks.<br> <a href="lock_try.html">lock_try</a> - Attempt to acquire access rights to a lock.<br> </p> </blockquote> <h4>Mach Semaphore Interface</h4> <blockquote> <p> <a href="semaphore_create.html">semaphore_create</a> - Create a new semaphore.<br> <a href="semaphore_destroy.html">semaphore_destroy</a> - Destroy a semaphore.<br> <a href="semaphore_signal.html">semaphore_signal</a> - Increments the semaphore count.<br> <a href="semaphore_signal_all.html">semaphore_signal_all</a> - Wake up all threads blocked on a semaphore.<br> <a href="semaphore_wait.html">semaphore_wait</a> - Wait on the specified semaphore.<br> </p> </blockquote> <h4>Mach Port Management Interface</h4> <blockquote> <p> <a href="mach_port_allocate.html">mach_port_allocate</a> - Create caller-specified type of port right.<br> <a href="mach_port_allocate_full.html">mach_port_allocate_full</a> - Create a port right with full Mach port semantics.<br> <a href="mach_port_allocate_name.html">mach_port_allocate_name</a> - Create a port right with the caller-specified name.<br> <a href="mach_port_allocate_qos.html">mach_port_allocate_qos</a> - Allocate a port with specified "quality of service".<br> <a href="MP_allocate_subsystem.html">mach_port_allocate_subsystem</a> - Create a port right associated with the caller-specified subsystem.<br> <a href="mach_port_deallocate.html">mach_port_deallocate</a> - Decrement the target port right's user reference count.<br> <a href="mach_port_destroy.html">mach_port_destroy</a> - Deallocate all port rights associated with specified name.<br> <a href="mach_port_extract_right.html">mach_port_extract_right</a> - Remove the specified right from the target task and return it to the caller.<br> <a href="mach_port_get_attributes.html">mach_port_get_attributes</a> - Return information about target port as specified by the caller.<br> <a href="mach_port_get_refs.html">mach_port_get_refs</a> - Return the current count of user references on the target port right.<br> <a href="mach_port_get_set_status.html">mach_port_get_set_status</a> - Return the port right names contained in the target port set.<br> <a href="mach_port_insert_right.html">mach_port_insert_right</a> - Insert the specified port right into the target task.<br> <a href="mach_port_mod_refs.html">mach_port_mod_refs</a> - Modify the specified port right's count of user references.<br> <a href="mach_port_move_member.html">mach_port_move_member</a> - Move the specified receive right into or out of the specified port set.<br> <a href="mach_port_names.html">mach_port_names</a> - Return information about a task's port name space.<br> <a href="MP_request_notification.html">mach_port_request_notification</a> - Request notification of the specified port event type.<br> <a href="mach_port_set_attributes.html">mach_port_set_attributes</a> - Set the target port's attributes.<br> <a href="mach_port_set_mscount.html">mach_port_set_mscount</a> - Change the target port's make-send count.<br> <a href="mach_port_set_seqno.html">mach_port_set_seqno</a> - Change the current value of the target port's sequence number.<br> <a href="mach_port_type.html">mach_port_type</a> - Return the characteristics of the target port name.<br> <a href="mach_reply_port.html">mach_reply_port</a> - Allocate a new port and insert corresponding receive right in the calling task.<br> <a href="mach_subsystem_create.html"> mach_subsystem_create</a> - Used by a server to register information about an RPC subsystem with the kernel.<br> </p> Mach Port Data Structures <p> <a href="mach_port_limits.html">mach_port_limits</a> - Specifies a port's resource and message queue limits.<br> <a href="mach_port_qos.html">mach_port_qos</a> - Specifies a port's attributes with respect to "Quality Of Service."<br> <a href="mach_port_status.html">mach_port_status</a> - Used to present a port's current status with respect to various important attributes.<br> </p> Mach Port Notification Callbacks <p> <a href="do_mach_notify_dead_name.html">do_mach_notify_dead_name</a> - Handle the current instance of a dead-name notification.<br> <a href="do_mach_notify_no_senders.html">do_mach_notify_no_senders</a> - Handle the current instance of a no-more-senders notification.<br> <a href="DMN_port_deleted.html">do_mach_notify_port_deleted</a> - Handle the current instance of a port-deleted notification.<br> <a href="DMN_port_destroyed.html">do_mach_notify_port_destroyed</a> - Handle the current instance of a port-destroyed notification.<br> <a href="do_mach_notify_send_once.html">do_mach_notify_send_once</a> - Handle the current instance of a send-once notification.<br> </p> Mach Port Notification Callback Server Helpers <p> <a href="notify_server.html">notify_server</a> - Detect and handle a kernel-generated IPC notification.<br> </p> </blockquote> </blockquote> <h3>Mach Virtual Memory Interface</h3> <blockquote> <h4>Mach Virtual Memory Address Space Manipulation Interface</h4> <blockquote> <p> <a href="host_page_size.html">host_page_size</a> - Provide the system's virtual page size.<br> <a href="vm_allocate.html">vm_allocate</a> - Allocate a region of virtual memory.<br> <a href="vm_behavior_set.html">vm_behavior_set</a> - Specify expected access patterns for the target VM region.<br> <a href="vm_copy.html">vm_copy</a> - Copy a region of virtual memory.<br> <a href="vm_deallocate.html">vm_deallocate</a> - Deallocate a region of virtual memory.<br> <a href="vm_inherit.html">vm_inherit</a> - Set a VM region's inheritance attribute.<br> <a href="vm_machine_attribute.html">vm_machine_attribute</a> - Get/set the target memory region's special attributes.<br> <a href="vm_map.html">vm_map</a> - Map the specified memory object to a region of virtual memory.<br> <a href="vm_msync.html">vm_msync</a> - Synchronize the specified region of virtual memory.<br> <a href="vm_protect.html">vm_protect</a> - Set access privilege attribute for a region of virtual memory.<br> <a href="vm_read.html">vm_read</a> - Read the specified range of target task's address space.<br> <a href="vm_region.html">vm_region</a> - Return description of a virtual memory region.<br> <a href="vm_remap.html">vm_remap</a> - Map memory objects in one address space to that of another's.<br> <a href="vm_wire.html"> vm_wire</a> - Modify the target region's paging characteristics.<br> <a href="vm_write.html">vm_write</a> - Write data to the specified address in the target address space.<br> </p> Data Structures <p> <a href="vm_region_basic_info.html">vm_region_basic_info</a> - Defines the attributes of a task's memory region.<br> <a href="vm_statistics.html">vm_statistics</a> - Defines statistics for the kernel's use of virtual memory.<br> </p> </blockquote> <h4>External Memory Management Interface</h4> <blockquote> The External Memory Management Interface (EMMI) is undergoing significant change in the Darwin system. For this reason, the interface is not currently available to user-level programs. Even for kernel extensions, use of these interfaces in not supported. Instead, the BSD filesystem's Universal Buffer Cache (UBC) mechanism should be used.<br> <p> <a href="MO_change_attributes.html">memory_object_change_attributes</a> - Modify subset of memory object attributes.<br> <a href="memory_object_destroy.html">memory_object_destroy</a> - Shut down a memory object.<br> <a href="MO_get_attributes.html">memory_object_get_attributes</a> - Return current attributes for a memory object.<br> <a href="memory_object_lock_request.html">memory_object_lock_request</a> - Restrict access to memory object data.<br> <a href="MO_SY_completed.html">memory_object_synchronize_completed</a> - Synchronized data has been processed.<br> </p> Data Structures <p> <a href="memory_object_attr_info.html">memory_object_attr_info</a> - Defines memory object attributes.<br> <a href="memory_object_perf_info.html">memory_object_perf_info</a>- Specifies performance-related memory object attributes.<br> </p> External Memory Manager Interface Callbacks <p> <a href="memory_object_create.html">memory_object_create</a> - Assign a new memory object to the default memory manager.<br> <a href="MO_data_initialize.html">memory_object_data_initialize</a> - Provide initial data for a new memory object.<br> <a href="memory_object_data_request.html">memory_object_data_request</a> - Request that memory manager page-in specified data.<br> <a href="memory_object_data_return.html">memory_object_data_return</a> - Return memory object data to the appropriate memory manager.<br> <a href="memory_object_data_unlock.html">memory_object_data_unlock</a> - Request a memory manager release the lock on specific data.<br> <a href="memory_object_init.html">memory_object_init</a> - Inform a memory manager on first use of a memory object.<br> <a href="memory_object_synchronize.html">memory_object_synchronize</a> - Request synchronization of data with backing store.<br> <a href="memory_object_terminate.html">memory_object_terminate</a> - Relinquish access to a memory object.<br> </p> EMMI Callback Server Helpers <p> <a href="MO_default_server.html">memory_object_default_server</a> - Handle kernel operation request targeted for the default pager.<br> <a href="memory_object_server.html">memory_object_server</a> - Handle kernel operation request aimed at a given memory manager.<br> </p> </blockquote> <h4>Default Memory Management Interface</h4> <blockquote> <p> <a href="default_pager_add_segment.html">default_pager_add_segment</a> - Add additional backing storage for a default pager.<br> <a href="DP_backing_store_create.html">default_pager_backing_store_create</a> - Create a backing storage object.<br> <a href="DP_backing_store_delete.html"> default_pager_backing_store_delete</a> - Delete a backing storage object.<br> <a href="DP_backing_store_info.html">default_pager_backing_store_info</a> - Return information about a backing storage object.<br> <a href="default_pager_info.html">default_pager_info</a> - Furnish caller with information about the default pager.<br> <a href="DP_object_create.html">default_pager_object_create</a> - Initialize a non-persistent memory object.<br> <a href="HD_memory_manager.html">host_default_memory_manager</a> - Register/Lookup the host's default pager.<br> </p> </blockquote> </blockquote> <h3>Process Management Interface</h3> <blockquote> <h4>Task Interface</h4> <blockquote> <p> <a href="mach_ports_lookup.html">mach_ports_lookup</a> - Provide caller with an array of the target task's well-known ports.<br> <a href="mach_ports_register.html">mach_ports_register</a> - Register an array of well-known ports on behalf of the target task.<br> <a href="mach_task_self.html">mach_task_self</a> - Return a send right to the caller's task_self port.<br> <a href="task_create.html">task_create</a> - Create a new task.<br> <a href="task_get_emulation_vector.html">task_get_emulation_vector</a> - Return an array identifying the target task's user-level system call handlers.<br> <a href="task_get_exception_ports.html">task_get_exception_ports</a> - Return send rights to the target task's exception ports.<br> <a href="task_get_special_port.html">task_get_special_port</a> - Return a send write to the indicated special port.<br> <a href="task_info.html">task_info</a> - Return per-task information according to specified flavor.<br> <a href="task_resume.html">task_resume</a> - Decrement the target task's suspend count.<br> <a href="task_sample.html">task_sample</a> - Sample the target task's thread program counters periodically.<br> <a href="task_set_emulation.html">task_set_emulation</a> - Establish a user-level handler for a system call.<br> <a href="task_set_emulation_vector.html">task_set_emulation_vector</a> - Establish the target task's user-level system call handlers.<br> <a href="task_set_exception_ports.html">task_set_exception_ports</a> - Set target task's exception ports.<br> <a href="task_set_info.html">task_set_info</a> - Set task-specific information state.<br> <a href="task_set_port_space.html">task_set_port_space</a> - Set the size of the target task's port name space table.<br> <a href="task_set_special_port.html">task_set_special_port</a> - Set the indicated special port.<br> <a href="task_suspend.html">task_suspend</a> - Suspend the target task.<br> <a href="task_swap_exception_ports.html">task_swap_exception_ports</a> - Set target task's exception ports, returning the previous exception ports.<br> <a href="task_terminate.html">task_terminate</a> - Terminate the target task and deallocate its resources.<br> <a href="task_threads.html">task_threads</a> - Return the target task's list of threads.<br> </p> Task Data Structures <p> <a href="task_basic_info.html">task_basic_info</a> - Defines basic information for a task.<br> <a href="task_thread_times_info.html">task_thread_times_info</a> - Defines thread execution times information for tasks.<br> </p> </blockquote> <h4>Thread Interface</h4> <blockquote> <p> <a href="mach_thread_self.html">mach_thread_self</a> - Returns the thread self port.<br> <a href="thread_abort.html">thread_abort</a> - Abort a thread.<br> <a href="thread_abort_safely.html">thread_abort_safely</a> - Abort a thread, restartably.<br> <a href="thread_create.html">thread_create</a> - Create a thread within a task.<br> <a href="thread_create_running.html">thread_create_running</a> - Optimized creation of a running thread.<br> <a href="thread_depress_abort.html">thread_depress_abort</a> - Cancel thread scheduling depression.<br> <a href="thread_get_exception_ports.html">thread_get_exception_ports</a> - Return a send right to an exception port.<br> <a href="thread_get_special_port.html">thread_get_special_port</a> - Return a send right to the caller-specified special port.<br> <a href="thread_get_state.html">thread_get_state</a> - Return the execution state for a thread.<br> <a href="thread_info.html">thread_info</a> - Return information about a thread.<br> <a href="thread_resume.html">thread_resume</a> - Resume a thread.<br> <a href="thread_sample.html">thread_sample</a> - Perform periodic PC sampling for a thread.<br> <a href="thread_set_exception_ports.html">thread_set_exception_ports</a> - Set exception ports for a thread.<br> <a href="thread_set_special_port.html">thread_set_special_port</a> - Set caller-specified special port belonging to the target thread.<br> <a href="thread_set_state.html">thread_set_state</a> - Set the target thread's user-mode execution state.<br> <a href="thread_suspend.html">thread_suspend</a> - Suspend a thread.<br> <a href="TS_exception_ports.html">thread_swap_exception_ports</a> - Swap exception ports for a thread.<br> <a href="thread_terminate.html">thread_terminate</a> - Destroy a thread.<br> <a href="thread_wire.html">thread_wire</a> - Mark the thread as privileged with respect to kernel resources.<br> </p> Thread Data Structures <p> <a href="thread_basic_info.html">thread_basic_info</a> - Defines basic information for a thread.<br> </p> Thread Exception Callbacks <p> <a href="catch_exception_raise.html">catch_exception_raise</a> - Handles the occurrence of an exception within a thread.<br> </p> Thread Exception Callback Server Helpers <p> <a href="exc_server.html">exc_server</a> - Handle kernel-reported thread exception.<br> </p> </blockquote> <h4>Scheduling Interface</h4> <blockquote> <p> <a href="task_policy.html">task_policy</a> - Set target task's default scheduling policy state.<br> <a href="task_set_policy.html">task_set_policy</a> - Set target task's default scheduling policy state.<br> <a href="thread_policy.html">thread_policy</a> - Set target thread's scheduling policy state.<br> <a href="thread_set_policy.html">thread_set_policy</a> - Set target thread's scheduling policy state.<br> <a href="thread_switch.html">thread_switch</a> - Cause context switch with options.<br> </p> Scheduling Data Structures <p> <a href="policy_fifo_info.html">policy_fifo_info</a> - Specifies information associated with the system's First-In-First-Out scheduling policy.<br> <a href="policy_rr_info.html">policy_rr_info</a> - Specifies information associated with the system's Round Robin scheduling policy.<br> <a href="policy_timeshare_info.html">policy_timeshare_info</a> - Specifies information associated with the system's Timeshare scheduling policy.<br> </p> </blockquote> </blockquote> <h3>System Management Interface</h3> <blockquote> <h4>Host Interface</h4> <blockquote> <p> <a href="host_get_clock_service.html">host_get_clock_service</a> - Return a send right to a kernel clock's service port.<br> <a href="host_get_time.html">host_get_time</a> - Returns the current time as seen by that host.<br> <a href="host_info.html">host_info</a> - Return information about a host.<br> <a href="host_kernel_version.html">host_kernel_version</a> - Return kernel version information for a host.<br> <a href="host_statistics.html">host_statistics</a> - Return statistics for a host.<br> <a href="mach_host_self.html">mach_host_self</a> - Returns send rights to the task's host self port.<br> </p> Data Structures <p> <a href="host_basic_info.html">host_basic_info</a> - Used to present basic information about a host.<br> <a href="host_load_info.html">host_load_info</a> - Used to present a host's processor load information.<br> <a href="host_sched_info.html">host_sched_info</a> - - Used to present the set of scheduler limits associated with the host.<br> <a href="kernel_resource_sizes.html">kernel_resource_sizes</a> - Used to present the sizes of kernel's major structures.<br> </p> </blockquote> <h4>Host Control Interface</h4> <blockquote> <p> <a href="host_adjust_time.html">host_adjust_time</a> - Arranges for the time on a specified host to be gradually changed by an adjustment value.<br> <a href="HD_memory_manager.html">host_default_memory_manager</a> - Set the default memory manager.<br> <a href="host_get_boot_info.html">host_get_boot_info</a> - Return operator boot information.<br> <a href="host_get_clock_control.html">host_get_clock_control</a> - Return a send right to a kernel clock's control port.<br> <a href="host_processor_slots.html">host_processor_slots</a> - Return a list of numbers that map processor slots to active processors.<br> <a href="host_processors.html">host_processors</a> - Return a list of send rights representing all processor ports.<br> <a href="host_reboot.html">host_reboot</a> - Reboot this host.<br> <a href="host_set_time.html">host_set_time</a> - Establishes the time on the specified host.<br> </p> </blockquote> <h4>Host Security Interface</h4> <blockquote> <p> <a href="host_security_create_task_token.html">host_security_create_task_token</a> - Create a new task with an explicit security token.<br> <a href="host_security_set_task_token.html">host_security_set_task_token</a> - Change the target task's security token.<br> </p> </blockquote> <h4>Resource Accounting Interface</h4> <blockquote> <i> The Mach resource accounting mechanism is not functional in the current Mac OS X/Darwin system. It will become functional in a future release. </i> <p> <a href="ledger_create.html">ledger_create</a> - Create a subordinate ledger.<br> <a href="ledger_read.html">ledger_read</a> - Return the ledger limit and balance.<br> <a href="ledger_terminate.html">ledger_terminate</a> - Destroy a ledger.<br> <a href="ledger_transfer.html">ledger_transfer</a> - Transfer resources from a parent ledger to a child.<br> </p> </blockquote> <h4>Processor Management Interface</h4> <blockquote> <p> <a href="processor_control.html">processor_control</a> - Perform caller-specified operation on target processor.<br> <a href="processor_exit.html">processor_exit</a> - Exit a processor.<br> <a href="processor_info.html">processor_info</a> - Return information about a processor.<br> <a href="processor_start.html">processor_start</a> - Start a processor.<br> </p> Processor Data Structures <p> <a href="processor_basic_info.html">processor_basic_info</a> - Defines the basic information about a processor.<br> </p> </blockquote> <h4>Processor Set Interface</h4> <blockquote> <i> The processor set interface allows for the grouping of tasks and processors for the purpose of exclusive scheduling. These interface are <b>deprecated</b> and should not be used in code that isn't tied to a particular release of Mac OS X/Darwin. These will likely change or disappear in a future release. </i> <p> <a href="host_processor_sets.html">host_processor_sets</a> - Return a list of send rights representing all processor set name ports.<br> <a href="host_processor_set_priv.html">host_processor_set_priv</a> - Translate a processor set name port into a processor set control port.<br> <a href="processor_assign.html">processor_assign</a> - Assign a processor to a processor set.<br> <a href="processor_get_assignment.html">processor_get_assignment</a> - Get current assignment for a processor.<br> <a href="processor_set_create.html">processor_set_create</a> - Create a new processor set.<br> <a href="processor_set_default.html">processor_set_default</a> - Return the default processor set.<br> <a href="processor_set_destroy.html">processor_set_destroy</a> - Destroy the target processor set.<br> <a href="processor_set_info.html">processor_set_info</a> - Return processor set state according to caller-specified flavor.<br> <a href="processor_set_max_priority.html">processor_set_max_priority</a> - Sets the maximum scheduling priority for a processor set.<br> <a href="P_set_policy_control.html">processor_set_policy_control</a> - Set target processor set's scheduling policy state.<br> <a href="P_set_policy_disable.html">processor_set_policy_disable</a> - Enables a scheduling policy for a processor set.<br> <a href="P_set_policy_enable.html">processor_set_policy_enable</a> - Enables a scheduling policy for a processor set.<br> <a href="processor_set_statistics.html">processor_set_statistics</a> - Return scheduling statistics for a processor set.<br> <a href="processor_set_tasks.html">processor_set_tasks</a> - Return all tasks currently assigned to the target processor set.<br> <a href="processor_set_threads.html">processor_set_threads</a> - Return all threads currently assigned to the target processor set.<br> <a href="task_assign.html">task_assign</a> - Assign a task to a processor set.<br> <a href="task_assign_default.html">task_assign_default</a> - Assign a task to the default processor set.<br> <a href="task_get_assignment.html">task_get_assignment</a> - Create a new task with an explicit security token.<br> <a href="thread_assign.html">thread_assign</a> - Assign a thread to a processor set.<br> <a href="thread_assign_default.html">thread_assign_default</a> - Assign a thread to the default processor set.<br> <a href="thread_get_assignment.html">thread_get_assignment</a> - Return the processor set to which a thread is assigned.<br> </p> Processor Set Data Structures <p> <a href="processor_set_basic_info.html">processor_set_basic_info</a> - Defines the basic information about a processor set.<br> <a href="processor_set_load_info.html">processor_set_load_info</a> - Defines the scheduling statistics for a processor set.<br> </p> </blockquote> <h4>Clock Interface</h4> <blockquote> <p> <a href="clock_alarm.html">clock_alarm</a> - Set up an alarm.<br> <a href="clock_get_attributes.html">clock_get_attributes</a> - Return attributes of a clock.<br> <a href="clock_get_time.html">clock_get_time</a> - Return the current time.<br> <a href="clock_map_time.html">clock_map_time</a> - Return a memory object that maps a clock.<br> <a href="clock_set_attributes.html">clock_set_attributes</a> - Set a particular clock's attributes.<br> <a href="clock_set_time.html">clock_set_time</a> - Set the current time.<br> <a href="clock_sleep.html">clock_sleep</a> - Delay the invoking thread until a specified time.<br> </p> Clock Data Structures <p> <a href="mapped_tvalspec.html">mapped_tvalspec</a> - Specifies the format the kernel uses to maintain a mapped clock's time.<br> <a href="tvalspec.html">tvalspec</a> - Defines format of system time values.<br> </p> Clock Interface Callbacks <p> <a href="clock_alarm_reply.html">clock_alarm_reply</a> - Ring a preset alarm.<br> </p> Clock Callback Server Helpers <p> <a href="clock_reply_server.html"> clock_reply_server</a> - Handle kernel-generated alarm.<br> </p> </blockquote> <h4>Multi-Computer Support Interface</h4> <blockquote> <i> These multi-computer support interfaces are no longer supported by the Mac OS X/Darwin kernel. If and when multi-computer support is added back in, something like these will likely be added. </i> <p> <a href="host_page_size.html">host_page_size</a> - Returns the page size for the given host.<br> <a href="ledger_get_remote.html">ledger_get_remote</a> - Return send right to specified host's remote ledger port.<br> <a href="ledger_set_remote.html">ledger_set_remote</a> - Set this host's remote ledger port.<br> <a href="norma_get_special_port.html">norma_get_special_port</a> - Returns a send right for a specified node-specific special port.<br> <a href="norma_node_self.html">norma_node_self</a> - Return the node index of the current host.<br> <a href="norma_port_location_hint.html">norma_port_location_hint</a> - Guess a port's current location.<br> <a href="norma_set_special_port.html">norma_set_special_port</a> - Set node-specific special port.<br> <a href="norma_task_clone.html">norma_task_clone</a> - Create a remote task that shares access to parent task's memory.<br> <a href="norma_task_create.html">norma_task_create</a> - Create a remote task using task_create semantics.<br> <a href="norma_task_teleport.html">norma_task_teleport</a> - "Clone" a task on a specified node.<br> </p> </blockquote> </blockquote> <h3>Machine Specific Interface</h3> <blockquote> <h4>Intel 386 Support</h4> <blockquote> <p> <a href="i386_get_ldt.html">i386_get_ldt</a> - Returns per-thread segment descriptors from the local descriptor table (LDT).<br> <a href="i386_io_port_add.html">i386_io_port_add</a> - Adds a device to the I/O permission bitmap for a thread. <br> <a href="i386_io_port_list.html">i386_io_port_list</a> - Returns a list of the devices named in the thread's I/O permission bitmap.<br> <a href="i386_io_port_remove.html">i386_io_port_remove</a> - Removes the specified device from the thread's I/O permission bitmap.<br> <a href="i386_set_ldt.html">i386_set_ldt</a> - Allows a thread to have a private local descriptor table (LDT).<br> </p> </blockquote> <h4>PowerPC Support</h4> <blockquote> <p> </p> </blockquote> </blockquote> </BODY> </HTML> |