1*d8b80295SApple OSS Distributions #include <libkern/libkern.h> 2*d8b80295SApple OSS Distributions #include <libkern/section_keywords.h> 3*d8b80295SApple OSS Distributions #include <libkern/coretrust/coretrust.h> 4*d8b80295SApple OSS Distributions 5*d8b80295SApple OSS Distributions #if defined(SECURITY_READ_ONLY_LATE) 6*d8b80295SApple OSS Distributions SECURITY_READ_ONLY_LATE(const coretrust_t *) coretrust = NULL; 7*d8b80295SApple OSS Distributions #else 8*d8b80295SApple OSS Distributions const coretrust_t *coretrust = NULL; 9*d8b80295SApple OSS Distributions #endif 10*d8b80295SApple OSS Distributions 11*d8b80295SApple OSS Distributions void coretrust_interface_register(const coretrust_t * ct)12*d8b80295SApple OSS Distributionscoretrust_interface_register(const coretrust_t *ct) 13*d8b80295SApple OSS Distributions { 14*d8b80295SApple OSS Distributions if (coretrust) { 15*d8b80295SApple OSS Distributions panic("coretrust interface already set"); 16*d8b80295SApple OSS Distributions } 17*d8b80295SApple OSS Distributions coretrust = ct; 18*d8b80295SApple OSS Distributions } 19