MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / SubMenuKextInjectMgmt

Method SubMenuKextInjectMgmt

rEFIt_UEFI/refit/menu.cpp:1803–1912  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1801}
1802
1803LOADER_ENTRY* LOADER_ENTRY::SubMenuKextInjectMgmt()
1804{
1805 LOADER_ENTRY *SubEntry;
1806 REFIT_MENU_SCREEN *SubScreen;
1807 XStringW kextDir;
1808// UINTN i;
1809 XString8 ShortOSVersion;
1810// CHAR16 *UniSysVer = NULL;
1811
1812 SubEntry = new LOADER_ENTRY();
1813 NewEntry_(SubEntry, &SubScreen, ActionEnter, SCREEN_SYSTEM, "Block injected kexts->"_XS8);
1814 SubEntry->Flags = Flags;
1815 if (OSVersion.notEmpty()) {
1816// DBG("chosen os %s\n", ChosenOS);
1817 //shorten os version 10.11.6 -> 10.11
1818 for (int i = 0; i < 8; i++) {
1819 if (OSVersion[i] == '\0') {
1820 break;
1821 }
1822 if (((i > 2) && (OSVersion[i] == '.')) || (i == 5)) {
1823 break;
1824 }
1825 ShortOSVersion += OSVersion[i];
1826 }
1827
1828 SubScreen->AddMenuInfoLine_f("Block injected kexts for target version of macOS: %s", ShortOSVersion.c_str());
1829
1830 // Add kext from 10
1831 {
1832 SubScreen->AddMenuEntry(SubMenuKextBlockInjection("10"_XS8), true);
1833
1834 XString8 DirName;
1835 if (OSTYPE_IS_OSX_INSTALLER(LoaderType)) {
1836 DirName = "10_install"_XS8;
1837 }
1838 else {
1839 if (OSTYPE_IS_OSX_RECOVERY(LoaderType)) {
1840 DirName = "10_recovery"_XS8;
1841 }
1842 else {
1843 DirName = "10_normal"_XS8;
1844 }
1845 }
1846 SubScreen->AddMenuEntry(SubMenuKextBlockInjection(DirName), true);
1847 }
1848
1849 // Add kext from 10.{version}
1850 {
1851 XString8 DirName;
1852 DirName.takeValueFrom(ShortOSVersion);
1853 SubScreen->AddMenuEntry(SubMenuKextBlockInjection(DirName), true);
1854
1855 if (OSTYPE_IS_OSX_INSTALLER(LoaderType)) {
1856 DirName.S8Printf("%s_install", ShortOSVersion.c_str());
1857 }
1858 else {
1859 if (OSTYPE_IS_OSX_RECOVERY(LoaderType)) {
1860 DirName.S8Printf("%s_recovery", ShortOSVersion.c_str());

Callers

nothing calls this directly

Calls 8

NewEntry_Function · 0.85
GetOtherKextsDirFunction · 0.85
AddMenuInfoLine_fMethod · 0.80
AddMenuEntryMethod · 0.80
S8PrintfMethod · 0.80
notEmptyMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected