1*f6217f89SApple OSS Distributions #ifndef XNU_DARWINTEST_UTILS_H 2*f6217f89SApple OSS Distributions #define XNU_DARWINTEST_UTILS_H 3*f6217f89SApple OSS Distributions 4*f6217f89SApple OSS Distributions #include <stdbool.h> 5*f6217f89SApple OSS Distributions #include <sys/types.h> 6*f6217f89SApple OSS Distributions 7*f6217f89SApple OSS Distributions /* Misc. utility functions for writing darwintests. */ 8*f6217f89SApple OSS Distributions bool is_development_kernel(void); 9*f6217f89SApple OSS Distributions 10*f6217f89SApple OSS Distributions /* 11*f6217f89SApple OSS Distributions * Returns true if the process is translated according to sysctl.proc_translated. 12*f6217f89SApple OSS Distributions * For example, Rosetta processes are translated processes. 13*f6217f89SApple OSS Distributions */ 14*f6217f89SApple OSS Distributions bool process_is_translated(void); 15*f6217f89SApple OSS Distributions 16*f6217f89SApple OSS Distributions /* Launches the given helper variant as a managed process. */ 17*f6217f89SApple OSS Distributions pid_t launch_background_helper( 18*f6217f89SApple OSS Distributions const char* variant, 19*f6217f89SApple OSS Distributions bool start_suspended, 20*f6217f89SApple OSS Distributions bool memorystatus_managed); 21*f6217f89SApple OSS Distributions /* 22*f6217f89SApple OSS Distributions * Set the process's managed bit, so that the memorystatus subsystem treats 23*f6217f89SApple OSS Distributions * this process like an app instead of a sysproc. 24*f6217f89SApple OSS Distributions */ 25*f6217f89SApple OSS Distributions void set_process_memorystatus_managed(pid_t pid); 26*f6217f89SApple OSS Distributions 27*f6217f89SApple OSS Distributions #define XNU_T_META_SOC_SPECIFIC T_META_TAG("SoCSpecific") 28*f6217f89SApple OSS Distributions 29*f6217f89SApple OSS Distributions #define XNU_T_META_REQUIRES_DEVELOPMENT_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 1) 30*f6217f89SApple OSS Distributions #define XNU_T_META_REQUIRES_RELEASE_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 0) 31*f6217f89SApple OSS Distributions 32*f6217f89SApple OSS Distributions #endif /* XNU_DARWINTEST_UTILS_H */ 33