X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/cb3231590a3c94ab4375e2228bd5e86b0cf1ad7e..94ff46dc2849db4d43eaaf144872decc522aafb4:/osfmk/man/index.html diff --git a/osfmk/man/index.html b/osfmk/man/index.html deleted file mode 100644 index 2a9d0ff9e..000000000 --- a/osfmk/man/index.html +++ /dev/null @@ -1,448 +0,0 @@ - - - - Mach Kernel Interface Reference Manual - - -

Mach IPC Interface

-
-

-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.

- -

Mach Message Queue Interface

-
-

-mach_msg - Send and/or receive a message from the target port.
-mach_msg_overwrite - Send and/or receive messages with possible overwrite.
-

-Mach Message Queue Data Structures -

-mach_msg_descriptor - Specifies an element of a complex IPC message.
-mach_msg_header - Specifies the content of an IPC message header.
-

-
- -

Mach Lock-Set Interface

-
-

-lock_acquire - Acquire ownership a lock
-lock_handoff - Hand-off ownership of a lock.
-lock_handoff_accept - Accept lock ownership from a handoff.
-lock_make_stable - Stabilize the state of the specified lock.
-lock_release - Release ownership of a lock.
-lock_set_create - Create a new lock set.
-lock_set_destroy - Destroy a lock set and its associated locks.
-lock_try - Attempt to acquire access rights to a lock.
-

-
- -

Mach Semaphore Interface

-
-

-semaphore_create - Create a new semaphore.
-semaphore_destroy - Destroy a semaphore.
-semaphore_signal - Increments the semaphore count.
-semaphore_signal_all - Wake up all threads blocked on a semaphore.
-semaphore_wait - Wait on the specified semaphore.
-

-
- -

Mach Port Management Interface

-
-

-mach_port_allocate - Create caller-specified type of port right.
-mach_port_allocate_full - Create a port right with full Mach port semantics.
-mach_port_allocate_name - Create a port right with the caller-specified name.
-mach_port_allocate_qos - Allocate a port with specified "quality of service".
-mach_port_allocate_subsystem - Create a port right associated with the caller-specified subsystem.
-mach_port_deallocate - Decrement the target port right's user reference count.
-mach_port_destroy - Deallocate all port rights associated with specified name.
-mach_port_extract_right - Remove the specified right from the target task and return it to the caller.
-mach_port_get_attributes - Return information about target port as specified by the caller.
-mach_port_get_refs - Return the current count of user references on the target port right.
-mach_port_get_set_status - Return the port right names contained in the target port set.
-mach_port_insert_right - Insert the specified port right into the target task.
-mach_port_mod_refs - Modify the specified port right's count of user references.
-mach_port_move_member - Move the specified receive right into or out of the specified port set.
-mach_port_names - Return information about a task's port name space.
-mach_port_request_notification - Request notification of the specified port event type.
-mach_port_set_attributes - Set the target port's attributes.
-mach_port_set_mscount - Change the target port's make-send count.
-mach_port_set_seqno - Change the current value of the target port's sequence number.
-mach_port_type - Return the characteristics of the target port name.
-mach_reply_port - Allocate a new port and insert corresponding receive right in the calling task.
- mach_subsystem_create - Used by a server to register information about an RPC subsystem with the kernel.
-

-Mach Port Data Structures -

-mach_port_limits - Specifies a port's resource and message queue limits.
-mach_port_qos - Specifies a port's attributes with respect to "Quality Of Service."
-mach_port_status - Used to present a port's current status with respect to various important attributes.
-

-Mach Port Notification Callbacks -

-do_mach_notify_dead_name - Handle the current instance of a dead-name notification.
-do_mach_notify_no_senders - Handle the current instance of a no-more-senders notification.
-do_mach_notify_port_deleted - Handle the current instance of a port-deleted notification.
-do_mach_notify_port_destroyed - Handle the current instance of a port-destroyed notification.
-do_mach_notify_send_once - Handle the current instance of a send-once notification.
-

-Mach Port Notification Callback Server Helpers -

-notify_server - Detect and handle a kernel-generated IPC notification.
-

-
- -
- -

Mach Virtual Memory Interface

-
-

Mach Virtual Memory Address Space Manipulation Interface

-
-

-host_page_size - Provide the system's virtual page size.
-vm_allocate - Allocate a region of virtual memory.
-vm_behavior_set - Specify expected access patterns for the target VM region.
-vm_copy - Copy a region of virtual memory.
-vm_deallocate - Deallocate a region of virtual memory.
-vm_inherit - Set a VM region's inheritance attribute.
-vm_machine_attribute - Get/set the target memory region's special attributes.
-vm_map - Map the specified memory object to a region of virtual memory.
-vm_msync - Synchronize the specified region of virtual memory.
-vm_protect - Set access privilege attribute for a region of virtual memory.
-vm_read - Read the specified range of target task's address space.
-vm_region - Return description of a virtual memory region.
-vm_remap - Map memory objects in one address space to that of another's.
- vm_wire - Modify the target region's paging characteristics.
-vm_write - Write data to the specified address in the target address space.
-

-Data Structures -

-vm_region_basic_info - Defines the attributes of a task's memory region.
-vm_statistics - Defines statistics for the kernel's use of virtual memory.
-

-
- -

External Memory Management Interface

-
-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.
-

-memory_object_change_attributes - Modify subset of memory object attributes.
-memory_object_destroy - Shut down a memory object.
-memory_object_get_attributes - Return current attributes for a memory object.
-memory_object_lock_request - Restrict access to memory object data.
-memory_object_synchronize_completed - Synchronized data has been processed.
-

-Data Structures -

-memory_object_attr_info - Defines memory object attributes.
-memory_object_perf_info- Specifies performance-related memory object attributes.
-

-External Memory Manager Interface Callbacks -

-memory_object_create - Assign a new memory object to the default memory manager.
-memory_object_data_initialize - Provide initial data for a new memory object.
-memory_object_data_request - Request that memory manager page-in specified data.
-memory_object_data_return - Return memory object data to the appropriate memory manager.
-memory_object_data_unlock - Request a memory manager release the lock on specific data.
-memory_object_init - Inform a memory manager on first use of a memory object.
-memory_object_synchronize - Request synchronization of data with backing store.
-memory_object_terminate - Relinquish access to a memory object.
-

-EMMI Callback Server Helpers -

-memory_object_default_server - Handle kernel operation request targeted for the default pager.
-memory_object_server - Handle kernel operation request aimed at a given memory manager.
-

-
- -

Default Memory Management Interface

-
-

-default_pager_add_segment - Add additional backing storage for a default pager.
-default_pager_backing_store_create - Create a backing storage object.
- default_pager_backing_store_delete - Delete a backing storage object.
-default_pager_backing_store_info - Return information about a backing storage object.
-default_pager_info - Furnish caller with information about the default pager.
-default_pager_object_create - Initialize a non-persistent memory object.
-host_default_memory_manager - Register/Lookup the host's default pager.
-

-
- -
- -

Process Management Interface

-
- -

Task Interface

-
-

-mach_ports_lookup - Provide caller with an array of the target task's well-known ports.
-mach_ports_register - Register an array of well-known ports on behalf of the target task.
-mach_task_self - Return a send right to the caller's task_self port.
-task_create - Create a new task.
-task_get_emulation_vector - Return an array identifying the target task's user-level system call handlers.
-task_get_exception_ports - Return send rights to the target task's exception ports.
-task_get_special_port - Return a send write to the indicated special port.
-task_info - Return per-task information according to specified flavor.
-task_resume - Decrement the target task's suspend count.
-task_sample - Sample the target task's thread program counters periodically.
-task_set_emulation - Establish a user-level handler for a system call.
-task_set_emulation_vector - Establish the target task's user-level system call handlers.
-task_set_exception_ports - Set target task's exception ports.
-task_set_info - Set task-specific information state.
-task_set_port_space - Set the size of the target task's port name space table.
-task_set_special_port - Set the indicated special port.
-task_suspend - Suspend the target task.
-task_swap_exception_ports - Set target task's exception ports, returning the previous exception ports.
-task_terminate - Terminate the target task and deallocate its resources.
-task_threads - Return the target task's list of threads.
-

-Task Data Structures -

-task_basic_info - Defines basic information for a task.
-task_thread_times_info - Defines thread execution times information for tasks.
-

-
- -

Thread Interface

-
-

-mach_thread_self - Returns the thread self port.
-thread_abort - Abort a thread.
-thread_abort_safely - Abort a thread, restartably.
-thread_create - Create a thread within a task.
-thread_create_running - Optimized creation of a running thread.
-thread_depress_abort - Cancel thread scheduling depression.
-thread_get_exception_ports - Return a send right to an exception port.
-thread_get_special_port - Return a send right to the caller-specified special port.
-thread_get_state - Return the execution state for a thread.
-thread_info - Return information about a thread.
-thread_resume - Resume a thread.
-thread_sample - Perform periodic PC sampling for a thread.
-thread_set_exception_ports - Set exception ports for a thread.
-thread_set_special_port - Set caller-specified special port belonging to the target thread.
-thread_set_state - Set the target thread's user-mode execution state.
-thread_suspend - Suspend a thread.
-thread_swap_exception_ports - Swap exception ports for a thread.
-thread_terminate - Destroy a thread.
-thread_wire - Mark the thread as privileged with respect to kernel resources.
-

-Thread Data Structures -

-thread_basic_info - Defines basic information for a thread.
-

-Thread Exception Callbacks -

-catch_exception_raise - Handles the occurrence of an exception within a thread.
-

-Thread Exception Callback Server Helpers -

-exc_server - Handle kernel-reported thread exception.
-

-
- -

Scheduling Interface

-
-

-task_policy - Set target task's default scheduling policy state.
-task_set_policy - Set target task's default scheduling policy state.
-thread_policy - Set target thread's scheduling policy state.
-thread_set_policy - Set target thread's scheduling policy state.
-thread_switch - Cause context switch with options.
-

-Scheduling Data Structures -

-policy_fifo_info - Specifies information associated with the system's First-In-First-Out scheduling policy.
-policy_rr_info - Specifies information associated with the system's Round Robin scheduling policy.
-policy_timeshare_info - Specifies information associated with the system's Timeshare scheduling policy.
-

-
-
- -

System Management Interface

-
- -

Host Interface

-
-

-host_get_clock_service - Return a send right to a kernel clock's service port.
-host_get_time - Returns the current time as seen by that host.
-host_info - Return information about a host.
-host_kernel_version - Return kernel version information for a host.
-host_statistics - Return statistics for a host.
-mach_host_self - Returns send rights to the task's host self port.
-

-Data Structures -

-host_basic_info - Used to present basic information about a host.
-host_load_info - Used to present a host's processor load information.
-host_sched_info - - Used to present the set of scheduler limits associated with the host.
-kernel_resource_sizes - Used to present the sizes of kernel's major structures.
-

-
- -

Host Control Interface

-
-

-host_adjust_time - Arranges for the time on a specified host to be gradually changed by an adjustment value.
-host_default_memory_manager - Set the default memory manager.
-host_get_boot_info - Return operator boot information.
-host_get_clock_control - Return a send right to a kernel clock's control port.
-host_processor_slots - Return a list of numbers that map processor slots to active processors.
-host_processors - Return a list of send rights representing all processor ports.
-host_reboot - Reboot this host.
-host_set_time - Establishes the time on the specified host.
-

-
- -

Host Security Interface

-
-

-host_security_create_task_token - Create a new task with an explicit security token.
-host_security_set_task_token - Change the target task's security token.
-

-
- -

Resource Accounting Interface

-
- -The Mach resource accounting mechanism is not functional in the current Mac OS X/Darwin system. It will become functional in a future release. - -

-ledger_create - Create a subordinate ledger.
-ledger_read - Return the ledger limit and balance.
-ledger_terminate - Destroy a ledger.
-ledger_transfer - Transfer resources from a parent ledger to a child.
-

-
- -

Processor Management Interface

-
-

-processor_control - Perform caller-specified operation on target processor.
-processor_exit - Exit a processor.
-processor_info - Return information about a processor.
-processor_start - Start a processor.
-

-Processor Data Structures -

-processor_basic_info - Defines the basic information about a processor.
-

-
- -

Processor Set Interface

-
- -The processor set interface allows for the grouping of tasks and -processors for the purpose of exclusive scheduling. These interface -are deprecated 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. - -

-host_processor_sets - Return a list of send rights representing all processor set name ports.
-host_processor_set_priv - Translate a processor set name port into a processor set control port.
-processor_assign - Assign a processor to a processor set.
-processor_get_assignment - Get current assignment for a processor.
-processor_set_create - Create a new processor set.
-processor_set_default - Return the default processor set.
-processor_set_destroy - Destroy the target processor set.
-processor_set_info - Return processor set state according to caller-specified flavor.
-processor_set_max_priority - Sets the maximum scheduling priority for a processor set.
-processor_set_policy_control - Set target processor set's scheduling policy state.
-processor_set_policy_disable - Enables a scheduling policy for a processor set.
-processor_set_policy_enable - Enables a scheduling policy for a processor set.
-processor_set_statistics - Return scheduling statistics for a processor set.
-processor_set_tasks - Return all tasks currently assigned to the target processor set.
-processor_set_threads - Return all threads currently assigned to the target processor set.
-task_assign - Assign a task to a processor set.
-task_assign_default - Assign a task to the default processor set.
-task_get_assignment - Create a new task with an explicit security token.
-thread_assign - Assign a thread to a processor set.
-thread_assign_default - Assign a thread to the default processor set.
-thread_get_assignment - Return the processor set to which a thread is assigned.
-

-Processor Set Data Structures -

-processor_set_basic_info - Defines the basic information about a processor set.
-processor_set_load_info - Defines the scheduling statistics for a processor set.
-

-
- -

Clock Interface

-
-

-clock_alarm - Set up an alarm.
-clock_get_attributes - Return attributes of a clock.
-clock_get_time - Return the current time.
-clock_map_time - Return a memory object that maps a clock.
-clock_set_attributes - Set a particular clock's attributes.
-clock_set_time - Set the current time.
-clock_sleep - Delay the invoking thread until a specified time.
-

-Clock Data Structures -

-mapped_tvalspec - Specifies the format the kernel uses to maintain a mapped clock's time.
-tvalspec - Defines format of system time values.
-

-Clock Interface Callbacks -

-clock_alarm_reply - Ring a preset alarm.
-

-Clock Callback Server Helpers -

- clock_reply_server - Handle kernel-generated alarm.
-

-
- -

Multi-Computer Support Interface

-
- -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. - -

-host_page_size - Returns the page size for the given host.
-ledger_get_remote - Return send right to specified host's remote ledger port.
-ledger_set_remote - Set this host's remote ledger port.
-

-
- -
- -

Machine Specific Interface

-
- -

Intel 386 Support

-
-

-i386_get_ldt - Returns per-thread segment descriptors from the local descriptor table (LDT).
-i386_io_port_add - Adds a device to the I/O permission bitmap for a thread.
-i386_io_port_list - Returns a list of the devices named in the thread's I/O permission bitmap.
-i386_io_port_remove - Removes the specified device from the thread's I/O permission bitmap.
-i386_set_ldt - Allows a thread to have a private local descriptor table (LDT).
-

-
- -

PowerPC Support

-
-

-

-
- -
- - - - -