1*8d741a5dSApple OSS Distributions #ifndef XNU_DARWINTEST_UTILS_H 2*8d741a5dSApple OSS Distributions #define XNU_DARWINTEST_UTILS_H 3*8d741a5dSApple OSS Distributions 4*8d741a5dSApple OSS Distributions #include <stdbool.h> 5*8d741a5dSApple OSS Distributions 6*8d741a5dSApple OSS Distributions /* Misc. utility functions for writing darwintests. */ 7*8d741a5dSApple OSS Distributions bool is_development_kernel(void); 8*8d741a5dSApple OSS Distributions 9*8d741a5dSApple OSS Distributions /* Launches the given helper variant as a managed process. */ 10*8d741a5dSApple OSS Distributions pid_t launch_background_helper( 11*8d741a5dSApple OSS Distributions const char* variant, 12*8d741a5dSApple OSS Distributions bool start_suspended, 13*8d741a5dSApple OSS Distributions bool memorystatus_managed); 14*8d741a5dSApple OSS Distributions /* 15*8d741a5dSApple OSS Distributions * Set the process's managed bit, so that the memorystatus subsystem treats 16*8d741a5dSApple OSS Distributions * this process like an app instead of a sysproc. 17*8d741a5dSApple OSS Distributions */ 18*8d741a5dSApple OSS Distributions void set_process_memorystatus_managed(pid_t pid); 19*8d741a5dSApple OSS Distributions 20*8d741a5dSApple OSS Distributions #define XNU_T_META_SOC_SPECIFIC T_META_TAG("SoCSpecific") 21*8d741a5dSApple OSS Distributions 22*8d741a5dSApple OSS Distributions #define XNU_T_META_REQUIRES_DEVELOPMENT_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 1) 23*8d741a5dSApple OSS Distributions #define XNU_T_META_REQUIRES_RELEASE_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 0) 24*8d741a5dSApple OSS Distributions 25*8d741a5dSApple OSS Distributions #endif /* XNU_DARWINTEST_UTILS_H */ 26