xref: /xnu-11215.81.4/libkern/image4/dlxk.c (revision d4514f0bc1d3f944c22d92e68b646ac3fb40d452)
1 #include <libkern/libkern.h>
2 #include <libkern/section_keywords.h>
3 #include <libkern/image4/dlxk.h>
4 
5 #pragma mark Module Globals
6 SECURITY_READ_ONLY_LATE(const image4_dlxk_interface_t *) _dlxk = NULL;
7 
8 #pragma mark KPI
9 void
image4_dlxk_link(const image4_dlxk_interface_t * dlxk)10 image4_dlxk_link(const image4_dlxk_interface_t *dlxk)
11 {
12 	if (_dlxk) {
13 		panic("image4 dlxk interface already set");
14 	}
15 	_dlxk = dlxk;
16 }
17 
18 const image4_dlxk_interface_t *
image4_dlxk_get(image4_struct_version_t v)19 image4_dlxk_get(image4_struct_version_t v)
20 {
21 	if (v > _dlxk->dlxk_version) {
22 		return NULL;
23 	}
24 	return _dlxk;
25 }
26