2026-03-01 14:01:18 +08:00
|
|
|
#include "common/kmod.h"
|
|
|
|
|
#include "common/apple/cf_helpers.h"
|
|
|
|
|
#include <IOKit/kext/KextManager.h>
|
|
|
|
|
#include <CoreFoundation/CoreFoundation.h>
|
|
|
|
|
|
2026-03-29 09:28:49 +08:00
|
|
|
bool ffKmodLoaded(const char* modName) {
|
2026-03-01 14:01:18 +08:00
|
|
|
FF_CFTYPE_AUTO_RELEASE CFStringRef name = CFStringCreateWithCString(kCFAllocatorDefault, modName, kCFStringEncodingUTF8);
|
|
|
|
|
FF_CFTYPE_AUTO_RELEASE CFArrayRef identifiers = CFArrayCreate(kCFAllocatorDefault, (const void**) &name, 1, &kCFTypeArrayCallBacks);
|
|
|
|
|
FF_CFTYPE_AUTO_RELEASE CFArrayRef keys = CFArrayCreate(kCFAllocatorDefault, NULL, 0, NULL);
|
|
|
|
|
FF_CFTYPE_AUTO_RELEASE CFDictionaryRef kextInfo = KextManagerCopyLoadedKextInfo(identifiers, keys);
|
|
|
|
|
return CFDictionaryContainsKey(kextInfo, name);
|
|
|
|
|
}
|