Next: , Previous: Processor Set Ports, Up: Processor Set Interface


9.1.2 Processor Set Access

— Function: kern_return_t host_processor_sets (host_t host, processor_set_name_array_t *processor_sets, mach_msg_type_number_t *processor_sets_count)

The function host_processor_sets gets send rights to the name port for each processor set currently assigned to host.

host_processor_set_priv can be used to obtain the control ports from these if desired. processor_sets is an array that is created as a result of this call. The caller may wish to vm_deallocate this array when the data is no longer needed. processor_sets_count is set to the number of processor sets in the processor_sets.

This function returns KERN_SUCCESS if the call succeeded and KERN_INVALID_ARGUMENT if host is not a host.

— Function: kern_return_t host_processor_set_priv (host_priv_t host_priv, processor_set_name_t set_name, processor_set_t *set)

The function host_processor_set_priv allows a privileged application to obtain the control port set for an existing processor set from its name port set_name. The privileged host port host_priv is required.

This function returns KERN_SUCCESS if the call succeeded and KERN_INVALID_ARGUMENT if host_priv is not a valid host control port.

— Function: kern_return_t processor_set_default (host_t host, processor_set_name_t *default_set)

The function processor_set_default returns the default processor set of host in default_set. The default processor set is used by all threads, tasks, and processors that are not explicitly assigned to other sets. processor_set_default returns a port that can be used to obtain information about this set (e.g. how many threads are assigned to it). This port cannot be used to perform operations on that set.

This function returns KERN_SUCCESS if the call succeeded, KERN_INVALID_ARGUMENT if host is not a host and KERN_INVALID_ADDRESS if default_set points to inaccessible memory.