diff --git a/QualcommWifi/Info.plist b/QualcommWifi/Info.plist index 40d8753..ddef963 100644 --- a/QualcommWifi/Info.plist +++ b/QualcommWifi/Info.plist @@ -54,6 +54,6 @@ 16.7 OSBundleRequired - Root + Network-Root diff --git a/QualcommWifi/QualcommWifi.cpp b/QualcommWifi/QualcommWifi.cpp index 93d4be8..0c92aa8 100644 --- a/QualcommWifi/QualcommWifi.cpp +++ b/QualcommWifi/QualcommWifi.cpp @@ -64,10 +64,14 @@ bool QualcommWifi::init(OSDictionary *dictionary) { fDmaVirtAddr = nullptr; fDmaPrepared = false; fFirmwareLoaded = false; + fFaultReporter = OSString::withCString("QualcommFaultReporter"); + fLogger = OSString::withCString("QualcommLogger"); return true; } void QualcommWifi::free(void) { + OSSafeReleaseNULL(fFaultReporter); + OSSafeReleaseNULL(fLogger); OSSafeReleaseNULL(fWorkQueue); super::free(); } @@ -748,6 +752,14 @@ IOReturn QualcommWifi::handleCardSpecific(IO80211SkywalkInterface *iface, unsign return (IOReturn)handleApple80211Request((unsigned int)req_type, isSet ? 1 : 0, req_data); } +void* QualcommWifi::getLogger(void) const { + return (void*)fLogger; +} + +void* QualcommWifi::getFaultReporterFromDriver(void) { + return (void*)fFaultReporter; +} + IOReturn QualcommWifi::getDRIVER_VERSION(IO80211SkywalkInterface *iface, apple80211_version_data *vd) { return (IOReturn)handleApple80211Request(APPLE80211_IOC_DRIVER_VERSION, 0, vd); } diff --git a/QualcommWifi/QualcommWifi.hpp b/QualcommWifi/QualcommWifi.hpp index 60127ae..a5b8194 100644 --- a/QualcommWifi/QualcommWifi.hpp +++ b/QualcommWifi/QualcommWifi.hpp @@ -204,6 +204,8 @@ private: void *fDmaVirtAddr; bool fDmaPrepared; bool fFirmwareLoaded; + OSObject *fFaultReporter; + OSObject *fLogger; UInt32 read32(UInt32 offset); void write32(UInt32 offset, UInt32 value); @@ -253,8 +255,8 @@ public: virtual IOReturn getCOUNTRY_CODE(IO80211SkywalkInterface *iface, apple80211_country_code_data *cc) override; virtual IOReturn setCOUNTRY_CODE(IO80211SkywalkInterface *iface, apple80211_country_code_data *cc) override { return kIOReturnSuccess; } virtual IOReturn setGET_DEBUG_INFO(IO80211SkywalkInterface *iface, apple80211_debug_command *dbg) override { return kIOReturnSuccess; } - virtual void* getLogger(void) const override { return nullptr; } - virtual void* getFaultReporterFromDriver(void) override { return nullptr; } + virtual void* getLogger(void) const override; + virtual void* getFaultReporterFromDriver(void) override; // Dispatcher de requĂȘtes Apple80211 / airportd SInt32 handleApple80211Request(unsigned int req_type, int req_val, void* req_data);