1 <!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=
"task_create_security_token.html">task_create_security_token
</a> - Create a new task with an explicit security token.
<br>
<a href=
"task_set_security_token.html">task_set_security_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>