---
title: kern
framework: Kernel
role: collectionGroup
role_heading: API Collection
path: kernel/kern
---

# kern

Access kernel-level interfaces including clock, task, kernel extension, lock, and compression utilities.

## Topics

### C Data

- [kcdata_bzero](kernel/2967342-kcdata_bzero.md)
- [kcdata_calc_padding](kernel/1644354-kcdata_calc_padding.md)
- [kcdata_estimate_required_buffer_size](kernel/2097077-kcdata_estimate_required_buffer_.md)
- [kcdata_flags_get_padding](kernel/1644444-kcdata_flags_get_padding.md)
- [kcdata_get_memory_addr](kernel/2097078-kcdata_get_memory_addr.md)
- [kcdata_get_memory_addr_for_array](kernel/2097076-kcdata_get_memory_addr_for_array.md)
- [kcdata_iter](kernel/1644413-kcdata_iter.md)
- [kcdata_iter_array_elem_count](kernel/1644336-kcdata_iter_array_elem_count.md)
- [kcdata_iter_array_elem_size](kernel/1644411-kcdata_iter_array_elem_size.md)
- [kcdata_iter_array_elem_type](kernel/1644333-kcdata_iter_array_elem_type.md)
- [kcdata_iter_array_size_switch](kernel/1644352-kcdata_iter_array_size_switch.md)
- [kcdata_iter_array_valid](kernel/1644409-kcdata_iter_array_valid.md)
- [kcdata_iter_container_id](kernel/1644447-kcdata_iter_container_id.md)
- [kcdata_iter_container_type](kernel/1644401-kcdata_iter_container_type.md)
- [kcdata_iter_container_valid](kernel/1644455-kcdata_iter_container_valid.md)
- [kcdata_iter_data_with_desc_valid](kernel/1644445-kcdata_iter_data_with_desc_valid.md)
- [kcdata_iter_find_type](kernel/1644421-kcdata_iter_find_type.md)
- [kcdata_iter_flags](kernel/1644383-kcdata_iter_flags.md)
- [kcdata_iter_get_data_with_desc](kernel/1644414-kcdata_iter_get_data_with_desc.md)
- [kcdata_iter_is_legacy_item](kernel/1644404-kcdata_iter_is_legacy_item.md)
- [kcdata_iter_next](kernel/1644423-kcdata_iter_next.md)
- [kcdata_iter_payload](kernel/1644368-kcdata_iter_payload.md)
- [kcdata_iter_size](kernel/1644412-kcdata_iter_size.md)
- [kcdata_iter_string](kernel/1644356-kcdata_iter_string.md)
- [kcdata_iter_type](kernel/1644351-kcdata_iter_type.md)
- [kcdata_iter_valid](kernel/1644360-kcdata_iter_valid.md)
- [kcdata_memcpy](kernel/2097081-kcdata_memcpy.md)
- [kcdata_memory_get_used_bytes](kernel/2097079-kcdata_memory_get_used_bytes.md)

### circle queue

- [circle_dequeue](kernel/3181795-circle_dequeue.md)
- [circle_dequeue_head](kernel/3181796-circle_dequeue_head.md)
- [circle_dequeue_tail](kernel/3181797-circle_dequeue_tail.md)
- [circle_enqueue_head](kernel/3181798-circle_enqueue_head.md)
- [circle_enqueue_tail](kernel/3181799-circle_enqueue_tail.md)
- [circle_queue_empty](kernel/3181800-circle_queue_empty.md)
- [circle_queue_first](kernel/3181801-circle_queue_first.md)
- [circle_queue_last](kernel/3181805-circle_queue_last.md)
- [circle_queue_length](kernel/3181806-circle_queue_length.md)
- [circle_queue_next](kernel/3181807-circle_queue_next.md)
- [circle_queue_rotate_head_backward](kernel/3516830-circle_queue_rotate_head_backwar.md)
- [circle_queue_rotate_head_forward](kernel/3516831-circle_queue_rotate_head_forward.md)

### clock

- [continuoustime_to_absolutetime](kernel/1645326-continuoustime_to_absolutetime.md)
- [clock_absolutetime_interval_to_deadline](kernel/1416670-clock_absolutetime_interval_to_d.md)
- [clock_alarm](kernel/1420037-clock_alarm.md)
- [clock_alarm_reply](kernel/1390972-clock_alarm_reply.md)
- [clock_continuoustime_interval_to_deadline](kernel/1645325-clock_continuoustime_interval_to.md)
- [clock_delay_until](kernel/1416679-clock_delay_until.md)
- [clock_get_attributes](kernel/1420071-clock_get_attributes.md)
- [clock_get_calendar_absolute_and_microtime](kernel/1416697-clock_get_calendar_absolute_and_.md)
- [clock_get_calendar_microtime](kernel/1416691-clock_get_calendar_microtime.md)
- [clock_get_calendar_nanotime](kernel/1416685-clock_get_calendar_nanotime.md)
- [clock_get_system_microtime](kernel/1416677-clock_get_system_microtime.md)
- [clock_get_system_nanotime](kernel/1416671-clock_get_system_nanotime.md)
- [clock_get_time](kernel/1420035-clock_get_time.md)
- [clock_get_uptime](kernel/1416672-clock_get_uptime.md)
- [clock_interval_to_absolutetime_interval](kernel/1416673-clock_interval_to_absolutetime_i.md)
- [clock_interval_to_deadline](kernel/1416683-clock_interval_to_deadline.md)
- [clock_reply_server](kernel/1390968-clock_reply_server.md)
- [clock_reply_server_routine](kernel/1390936-clock_reply_server_routine.md)
- [clock_set_attributes](kernel/1551054-clock_set_attributes.md)
- [clock_set_time](kernel/1551049-clock_set_time.md)
- [clock_timebase_info](kernel/1416693-clock_timebase_info.md)
- [absolutetime_to_continuoustime](kernel/1645327-absolutetime_to_continuoustime.md)
- [absolutetime_to_nanoseconds](kernel/1416674-absolutetime_to_nanoseconds.md)

### crc

- [crc32](kernel/1441091-crc32.md)

### debug

- [kern_feature_override](kernel/2919797-kern_feature_override.md)

### energy

- [io_rate_update](kernel/1478470-io_rate_update.md)
- [io_rate_update_register](kernel/1478504-io_rate_update_register.md)
- [gpu_accumulate_time](kernel/1478468-gpu_accumulate_time.md)
- [gpu_describe](kernel/1478509-gpu_describe.md)
- [gpu_fceiling_cb_register](kernel/1478505-gpu_fceiling_cb_register.md)
- [gpu_submission_telemetry](kernel/1478498-gpu_submission_telemetry.md)

### extmod

- [extmod_statistics_incr_task_for_pid](kernel/1427560-extmod_statistics_incr_task_for_.md)
- [extmod_statistics_incr_thread_create](kernel/1427562-extmod_statistics_incr_thread_cr.md)
- [extmod_statistics_incr_thread_set_state](kernel/1427558-extmod_statistics_incr_thread_se.md)

### hv

- [hv_ast_pending](kernel/3174992-hv_ast_pending.md)
- [hv_get_support](kernel/1507081-hv_get_support.md)
- [hv_get_task_target](kernel/1507096-hv_get_task_target.md)
- [hv_get_thread_target](kernel/1507076-hv_get_thread_target.md)
- [hv_get_volatile_state](kernel/1507077-hv_get_volatile_state.md)
- [hv_release_callbacks](kernel/1507094-hv_release_callbacks.md)
- [hv_release_traps](kernel/1507113-hv_release_traps.md)
- [hv_set_callbacks](kernel/1507074-hv_set_callbacks.md)
- [hv_set_task_target](kernel/1507070-hv_set_task_target.md)
- [hv_set_thread_target](kernel/1507095-hv_set_thread_target.md)
- [hv_set_traps](kernel/1507088-hv_set_traps.md)
- [hv_support_init](kernel/1507083-hv_support_init.md)
- [hv_suspend](kernel/1507114-hv_suspend.md)
- [hv_task_trap](kernel/1507105-hv_task_trap.md)
- [hv_thread_trap](kernel/1507079-hv_thread_trap.md)

### kext

- [kext_alloc](kernel/1577598-kext_alloc.md)
- [kext_alloc_init](kernel/1577599-kext_alloc_init.md)
- [kext_free](kernel/1577600-kext_free.md)
- [kext_request](kernel/1588829-kext_request.md)
- [kextd_ping](kernel/1520989-kextd_ping.md)
- [OSKextCancelRequest](kernel/1508350-oskextcancelrequest.md)
- [OSKextGetCurrentIdentifier](kernel/1508305-oskextgetcurrentidentifier.md)
- [OSKextGetCurrentLoadTag](kernel/1508336-oskextgetcurrentloadtag.md)
- [OSKextGetCurrentVersionString](kernel/1508326-oskextgetcurrentversionstring.md)
- [OSKextGrabPgoData](kernel/1508333-oskextgrabpgodata.md)
- [OSKextLoadKextWithIdentifier](kernel/1508323-oskextloadkextwithidentifier.md)
- [OSKextReleaseKextWithLoadTag](kernel/1508339-oskextreleasekextwithloadtag.md)
- [OSKextRequestResource](kernel/1508294-oskextrequestresource.md)
- [OSKextResetPgoCounters](kernel/1646298-oskextresetpgocounters.md)
- [OSKextResetPgoCountersLock](kernel/1646299-oskextresetpgocounterslock.md)
- [OSKextResetPgoCountersUnlock](kernel/1646297-oskextresetpgocountersunlock.md)
- [OSKextRetainKextWithLoadTag](kernel/1508272-oskextretainkextwithloadtag.md)

### kcs

- [kcs_get_elem_count](kernel/1588393-kcs_get_elem_count.md)
- [kcs_get_elem_size](kernel/1588402-kcs_get_elem_size.md)
- [kcs_set_elem_size](kernel/1588385-kcs_set_elem_size.md)

### kpc

- [kpc_arch_init](kernel/1572346-kpc_arch_init.md)
- [kpc_configurable_config_count](kernel/1572369-kpc_configurable_config_count.md)
- [kpc_configurable_count](kernel/1572402-kpc_configurable_count.md)
- [kpc_configurable_max](kernel/1572351-kpc_configurable_max.md)
- [kpc_controls_counter](kernel/1572431-kpc_controls_counter.md)
- [kpc_controls_fixed_counters](kernel/1572385-kpc_controls_fixed_counters.md)
- [kpc_counterbuf_alloc](kernel/1572340-kpc_counterbuf_alloc.md)
- [kpc_counterbuf_free](kernel/1572361-kpc_counterbuf_free.md)
- [kpc_fixed_config_count](kernel/1572325-kpc_fixed_config_count.md)
- [kpc_fixed_count](kernel/1572322-kpc_fixed_count.md)
- [kpc_fixed_max](kernel/1572415-kpc_fixed_max.md)
- [kpc_force_all_ctrs](kernel/1572429-kpc_force_all_ctrs.md)
- [kpc_force_all_ctrs_arch](kernel/1572433-kpc_force_all_ctrs_arch.md)
- [kpc_get_actionid](kernel/1572427-kpc_get_actionid.md)
- [kpc_get_all_cpus_counters](kernel/1572398-kpc_get_all_cpus_counters.md)
- [kpc_get_classes](kernel/1572364-kpc_get_classes.md)
- [kpc_get_config](kernel/1572417-kpc_get_config.md)
- [kpc_get_config_count](kernel/1572387-kpc_get_config_count.md)
- [kpc_get_configurable_config](kernel/1572423-kpc_get_configurable_config.md)
- [kpc_get_configurable_counters](kernel/1572334-kpc_get_configurable_counters.md)
- [kpc_get_configurable_pmc_mask](kernel/1572341-kpc_get_configurable_pmc_mask.md)
- [kpc_get_counter_count](kernel/1572416-kpc_get_counter_count.md)
- [kpc_get_counterbuf_size](kernel/3037458-kpc_get_counterbuf_size.md)
- [kpc_get_cpu_counters](kernel/1572419-kpc_get_cpu_counters.md)
- [kpc_get_curcpu_counters](kernel/1572335-kpc_get_curcpu_counters.md)
- [kpc_get_curthread_counters](kernel/1572391-kpc_get_curthread_counters.md)
- [kpc_get_fixed_config](kernel/1572376-kpc_get_fixed_config.md)
- [kpc_get_fixed_counters](kernel/1572343-kpc_get_fixed_counters.md)
- [kpc_get_force_all_ctrs](kernel/1572336-kpc_get_force_all_ctrs.md)
- [kpc_get_period](kernel/1572422-kpc_get_period.md)
- [kpc_get_pmu_version](kernel/1572386-kpc_get_pmu_version.md)
- [kpc_get_rawpmu_config](kernel/1572412-kpc_get_rawpmu_config.md)
- [kpc_get_running](kernel/1572420-kpc_get_running.md)
- [kpc_get_shadow_counters](kernel/1572328-kpc_get_shadow_counters.md)
- [kpc_get_thread_counting](kernel/1572344-kpc_get_thread_counting.md)
- [kpc_idle](kernel/1572405-kpc_idle.md)
- [kpc_idle_exit](kernel/1572370-kpc_idle_exit.md)
- [kpc_init](kernel/1572384-kpc_init.md)
- [kpc_is_running_configurable](kernel/1572390-kpc_is_running_configurable.md)
- [kpc_is_running_fixed](kernel/1572434-kpc_is_running_fixed.md)
- [kpc_multiple_clients](kernel/1572342-kpc_multiple_clients.md)
- [kpc_pm_acknowledge](kernel/2870519-kpc_pm_acknowledge.md)
- [kpc_popcount](kernel/1572350-kpc_popcount.md)
- [kpc_rawpmu_config_count](kernel/1572404-kpc_rawpmu_config_count.md)
- [kpc_register_cpu](kernel/1572424-kpc_register_cpu.md)
- [kpc_register_pm_handler](kernel/1572430-kpc_register_pm_handler.md)
- [kpc_release_pm_counters](kernel/1572327-kpc_release_pm_counters.md)
- [kpc_reserve_pm_counters](kernel/1572395-kpc_reserve_pm_counters.md)
- [kpc_sample_kperf](kernel/1572393-kpc_sample_kperf.md)
- [kpc_set_actionid](kernel/1572379-kpc_set_actionid.md)
- [kpc_set_config](kernel/1572437-kpc_set_config.md)
- [kpc_set_config_arch](kernel/1572396-kpc_set_config_arch.md)
- [kpc_set_period](kernel/1572418-kpc_set_period.md)
- [kpc_set_period_arch](kernel/1572380-kpc_set_period_arch.md)
- [kpc_set_running](kernel/1572411-kpc_set_running.md)
- [kpc_set_running_arch](kernel/1572368-kpc_set_running_arch.md)
- [kpc_set_sw_inc](kernel/1572355-kpc_set_sw_inc.md)
- [kpc_set_thread_counting](kernel/1572378-kpc_set_thread_counting.md)
- [kpc_thread_ast_handler](kernel/1572357-kpc_thread_ast_handler.md)
- [kpc_thread_create](kernel/1572348-kpc_thread_create.md)
- [kpc_thread_destroy](kernel/1572383-kpc_thread_destroy.md)
- [kpc_unregister_cpu](kernel/1645398-kpc_unregister_cpu.md)

### locks

- [lck_attr_alloc_init](kernel/1575529-lck_attr_alloc_init.md)
- [lck_attr_cleardebug](kernel/1575538-lck_attr_cleardebug.md)
- [lck_attr_free](kernel/1575499-lck_attr_free.md)
- [lck_attr_setdebug](kernel/1575551-lck_attr_setdebug.md)
- [lck_attr_setdefault](kernel/1575541-lck_attr_setdefault.md)
- [lck_grp_alloc_init](kernel/1575515-lck_grp_alloc_init.md)
- [lck_grp_attr_alloc_init](kernel/1575518-lck_grp_attr_alloc_init.md)
- [lck_grp_attr_free](kernel/1575492-lck_grp_attr_free.md)
- [lck_grp_attr_setdefault](kernel/1575540-lck_grp_attr_setdefault.md)
- [lck_grp_attr_setstat](kernel/1575490-lck_grp_attr_setstat.md)
- [lck_grp_free](kernel/1575524-lck_grp_free.md)
- [lck_mtx_alloc_init](kernel/1575516-lck_mtx_alloc_init.md)
- [lck_mtx_assert](kernel/1575514-lck_mtx_assert.md)
- [lck_mtx_destroy](kernel/1575534-lck_mtx_destroy.md)
- [lck_mtx_free](kernel/1575493-lck_mtx_free.md)
- [lck_mtx_init](kernel/1575548-lck_mtx_init.md)
- [lck_mtx_lock](kernel/1575544-lck_mtx_lock.md)
- [lck_mtx_sleep](kernel/1575546-lck_mtx_sleep.md)
- [lck_mtx_sleep_deadline](kernel/1575501-lck_mtx_sleep_deadline.md)
- [lck_mtx_unlock](kernel/1575506-lck_mtx_unlock.md)
- [lck_rw_alloc_init](kernel/1575521-lck_rw_alloc_init.md)
- [lck_rw_destroy](kernel/1575502-lck_rw_destroy.md)
- [lck_rw_free](kernel/1575547-lck_rw_free.md)
- [lck_rw_init](kernel/1575530-lck_rw_init.md)
- [lck_rw_lock](kernel/1575537-lck_rw_lock.md)
- [lck_rw_lock_exclusive](kernel/1575510-lck_rw_lock_exclusive.md)
- [lck_rw_lock_exclusive_to_shared](kernel/1575536-lck_rw_lock_exclusive_to_shared.md)
- [lck_rw_lock_shared](kernel/1575517-lck_rw_lock_shared.md)
- [lck_rw_lock_shared_to_exclusive](kernel/1575507-lck_rw_lock_shared_to_exclusive.md)
- [lck_rw_sleep](kernel/1575504-lck_rw_sleep.md)
- [lck_rw_sleep_deadline](kernel/1575512-lck_rw_sleep_deadline.md)
- [lck_rw_try_lock](kernel/1575528-lck_rw_try_lock.md)
- [lck_rw_unlock](kernel/1575549-lck_rw_unlock.md)
- [lck_rw_unlock_exclusive](kernel/1575542-lck_rw_unlock_exclusive.md)
- [lck_rw_unlock_shared](kernel/1575496-lck_rw_unlock_shared.md)
- [lck_spin_alloc_init](kernel/1575508-lck_spin_alloc_init.md)
- [lck_spin_destroy](kernel/1575489-lck_spin_destroy.md)
- [lck_spin_free](kernel/1575491-lck_spin_free.md)
- [lck_spin_init](kernel/1575543-lck_spin_init.md)
- [lck_spin_lock](kernel/1575532-lck_spin_lock.md)
- [lck_spin_lock_grp](kernel/3112641-lck_spin_lock_grp.md)
- [lck_spin_sleep](kernel/1575509-lck_spin_sleep.md)
- [lck_spin_sleep_deadline](kernel/1575526-lck_spin_sleep_deadline.md)
- [lck_spin_sleep_grp](kernel/3112642-lck_spin_sleep_grp.md)
- [lck_spin_unlock](kernel/1575523-lck_spin_unlock.md)

### queue

- [dequeue_head](kernel/1567120-dequeue_head.md)
- [dequeue_tail](kernel/1567149-dequeue_tail.md)
- [enqueue_head](kernel/1567151-enqueue_head.md)
- [enqueue_tail](kernel/1567142-enqueue_tail.md)

### task

- [current_task](kernel/1574414-current_task.md)
- [task_access_server](kernel/1579197-task_access_server.md)
- [task_access_server_routine](kernel/1579192-task_access_server_routine.md)
- [task_assign](kernel/1537803-task_assign.md)
- [task_assign_default](kernel/1537916-task_assign_default.md)
- [task_create](kernel/1538088-task_create.md)
- [task_deallocate](kernel/1574412-task_deallocate.md)
- [task_generate_corpse](kernel/1646547-task_generate_corpse.md)
- [task_get_assignment](kernel/1537882-task_get_assignment.md)
- [task_get_dyld_image_infos](kernel/1646553-task_get_dyld_image_infos.md)
- [task_get_emulation_vector](kernel/1537831-task_get_emulation_vector.md)
- [task_get_exc_guard_behavior](kernel/3197704-task_get_exc_guard_behavior.md)
- [task_get_exception_ports](kernel/1537860-task_get_exception_ports.md)
- [task_get_mach_voucher](kernel/1537867-task_get_mach_voucher.md)
- [task_get_special_port](kernel/1537682-task_get_special_port.md)
- [task_get_state](kernel/1537707-task_get_state.md)
- [task_info](kernel/1537934-task_info.md)
- [task_inspect](kernel/2876476-task_inspect.md)
- [task_is_driver](kernel/3181819-task_is_driver.md)
- [task_ledgers_footprint](kernel/3181820-task_ledgers_footprint.md)
- [task_map_corpse_info](kernel/1646533-task_map_corpse_info.md)
- [task_map_corpse_info_64](kernel/1911639-task_map_corpse_info_64.md)
- [task_policy](kernel/1537990-task_policy.md)
- [task_policy_get](kernel/1537778-task_policy_get.md)
- [task_policy_set](kernel/1537790-task_policy_set.md)
- [task_purgable_info](kernel/1538155-task_purgable_info.md)
- [task_reference](kernel/1574413-task_reference.md)
- [task_register_dyld_get_process_state](kernel/1646549-task_register_dyld_get_process_s.md)
- [task_register_dyld_image_infos](kernel/1646550-task_register_dyld_image_infos.md)
- [task_register_dyld_set_dyld_state](kernel/1646572-task_register_dyld_set_dyld_stat.md)
- [task_register_dyld_shared_cache_image_info](kernel/1646581-task_register_dyld_shared_cache_.md)
- [task_restartable_ranges_register](kernel/3143268-task_restartable_ranges_register.md)
- [task_restartable_ranges_synchronize](kernel/3143269-task_restartable_ranges_synchron.md)
- [task_resume](kernel/1537977-task_resume.md)
- [task_resume2](kernel/1537653-task_resume2.md)
- [task_sample](kernel/1537655-task_sample.md)
- [task_self_region_footprint](kernel/2937634-task_self_region_footprint.md)
- [task_self_region_footprint_set](kernel/2937633-task_self_region_footprint_set.md)
- [task_set_emulation](kernel/1537794-task_set_emulation.md)
- [task_set_emulation_vector](kernel/1537907-task_set_emulation_vector.md)
- [task_set_exc_guard_behavior](kernel/3197705-task_set_exc_guard_behavior.md)
- [task_set_exception_ports](kernel/1538049-task_set_exception_ports.md)
- [task_set_info](kernel/1537704-task_set_info.md)
- [task_set_mach_voucher](kernel/1538121-task_set_mach_voucher.md)
- [task_set_memory_ownership_transfer](kernel/3194340-task_set_memory_ownership_transf.md)
- [task_set_phys_footprint_limit](kernel/1538131-task_set_phys_footprint_limit.md)
- [task_set_policy](kernel/1537717-task_set_policy.md)
- [task_set_port_space](kernel/1578836-task_set_port_space.md)
- [task_set_ras_pc](kernel/1537742-task_set_ras_pc.md)
- [task_set_special_port](kernel/1537676-task_set_special_port.md)
- [task_set_state](kernel/1537962-task_set_state.md)
- [task_suspend](kernel/1538100-task_suspend.md)
- [task_suspend2](kernel/1538207-task_suspend2.md)
- [task_suspension_token_deallocate](kernel/1574411-task_suspension_token_deallocate.md)
- [task_swap_exception_ports](kernel/1537854-task_swap_exception_ports.md)
- [task_swap_mach_voucher](kernel/1537722-task_swap_mach_voucher.md)
- [task_terminate](kernel/1537817-task_terminate.md)
- [task_threads](kernel/1537751-task_threads.md)
- [task_unregister_dyld_image_infos](kernel/1646587-task_unregister_dyld_image_infos.md)
- [task_wire](kernel/1585470-task_wire.md)
- [task_zone_info](kernel/1537645-task_zone_info.md)

### thread

- [kernel_thread_start](kernel/1429094-kernel_thread_start.md)

## See Also

### BSD

- [architecture](kernel/architecture.md)
- [bsm](kernel/bsm.md)
- [hfs](kernel/hfs.md)
- [Math](kernel/math.md)
- [miscfs](kernel/miscfs.md)
- [net](kernel/net.md)
- [Strings](kernel/strings.md)
- [sys](kernel/sys.md)
- [vfs](kernel/vfs.md)
- [vm](kernel/vm.md)
