X-Git-Url: https://git.saurik.com/apple/launchd.git/blobdiff_plain/5b0a4722f2ef1eac59c9650b37b29ac8b34a160e..dcace88fe6cde929a524daa9e1f1495bf1e24cfe:/launchd/src/launchd_core_logic.h diff --git a/launchd/src/launchd_core_logic.h b/launchd/src/launchd_core_logic.h index ce0dc15..0c81246 100644 --- a/launchd/src/launchd_core_logic.h +++ b/launchd/src/launchd_core_logic.h @@ -20,24 +20,30 @@ * @APPLE_APACHE_LICENSE_HEADER_END@ */ -#include "libbootstrap_public.h" -#include "liblaunch_public.h" +#include "launchd_runtime.h" +#include "bootstrap.h" +#include "launch.h" typedef struct job_s *job_t; typedef struct jobmgr_s *jobmgr_t; extern jobmgr_t root_jobmgr; extern mach_port_t inherited_bootstrap_port; +extern mach_port_t g_audit_session_port; +extern au_asid_t g_audit_session; +extern bool g_flat_mach_namespace; +extern bool g_embedded_privileged_action; void jobmgr_init(bool); jobmgr_t jobmgr_shutdown(jobmgr_t jm); void jobmgr_dispatch_all_semaphores(jobmgr_t jm); +void jobmgr_dispatch_all_interested(jobmgr_t jm, job_t j); jobmgr_t jobmgr_delete_anything_with_port(jobmgr_t jm, mach_port_t port); launch_data_t job_export_all(void); job_t job_dispatch(job_t j, bool kickstart); /* returns j on success, NULL on job removal */ -job_t job_find(const char *label); +job_t job_find(jobmgr_t jm, const char *label); job_t job_find_by_service_port(mach_port_t p); bool job_ack_port_destruction(mach_port_t p); bool job_is_anonymous(job_t j); @@ -45,11 +51,15 @@ launch_data_t job_export(job_t j); void job_stop(job_t j); void job_checkin(job_t j); void job_remove(job_t j); +bool job_is_god(job_t j); job_t job_import(launch_data_t pload); launch_data_t job_import_bulk(launch_data_t pload); job_t job_mig_intran(mach_port_t mp); void job_mig_destructor(job_t j); void job_ack_no_senders(job_t j); void job_log(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4))); +void job_set_pid_crashed(pid_t p); + +int launchd_set_jetsam_priorities(launch_data_t priorities); #endif