⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mobileapple80211.c

📁 最新的Host AP 新添加了许多pcmcia 的驱动
💻 C
字号:
#include "includes.h"#include <dlfcn.h>#include "common.h"#include <CoreFoundation/CoreFoundation.h>#include "MobileApple80211.h"/* * Code for dynamically loading Apple80211 functions from Aeropuerto to avoid * having to link with full Preferences.framework. */static void *aeropuerto = NULL;int _Apple80211Initialized(void){	return aeropuerto ? 1 : 0;}static int (*__Apple80211Open)(Apple80211Ref *ctx) = NULL;int Apple80211Open(Apple80211Ref *ctx){	return __Apple80211Open(ctx);}static int (*__Apple80211Close)(Apple80211Ref ctx) = NULL;int Apple80211Close(Apple80211Ref ctx){	return __Apple80211Close(ctx);}static int (*__Apple80211GetIfListCopy)(Apple80211Ref handle, CFArrayRef *list)	= NULL;int Apple80211GetIfListCopy(Apple80211Ref handle, CFArrayRef *list){	return __Apple80211GetIfListCopy(handle, list);}static int (*__Apple80211BindToInterface)(Apple80211Ref handle,					  CFStringRef interface) = NULL;int Apple80211BindToInterface(Apple80211Ref handle,			      CFStringRef interface){	return __Apple80211BindToInterface(handle, interface);}static int (*__Apple80211GetInterfaceNameCopy)(Apple80211Ref handle,					       CFStringRef *name) = NULL;int Apple80211GetInterfaceNameCopy(Apple80211Ref handle,				   CFStringRef *name){	return __Apple80211GetInterfaceNameCopy(handle, name);}static int (*__Apple80211GetInfoCopy)(Apple80211Ref handle,				      CFDictionaryRef *info) = NULL;int Apple80211GetInfoCopy(Apple80211Ref handle,			  CFDictionaryRef *info){	return __Apple80211GetInfoCopy(handle, info);}static int (*__Apple80211GetPower)(Apple80211Ref handle, char *pwr) = NULL;int Apple80211GetPower(Apple80211Ref handle, char *pwr){	return __Apple80211GetPower(handle, pwr);}static int (*__Apple80211SetPower)(Apple80211Ref handle, char pwr) = NULL;int Apple80211SetPower(Apple80211Ref handle, char pwr){	return __Apple80211SetPower(handle, pwr);}static int (*__Apple80211Scan)(Apple80211Ref handle, CFArrayRef *list,			       CFDictionaryRef parameters) = NULL;int Apple80211Scan(Apple80211Ref handle, CFArrayRef *list,		   CFDictionaryRef parameters){	return __Apple80211Scan(handle, list, parameters);}static int (*__Apple80211Associate)(Apple80211Ref handle, CFDictionaryRef bss,				    CFStringRef password) = NULL;int Apple80211Associate(Apple80211Ref handle, CFDictionaryRef bss,			CFStringRef password){	return __Apple80211Associate(handle, bss, password);}static int (*__Apple80211AssociateAndCopyInfo)(Apple80211Ref handle,					       CFDictionaryRef bss,					       CFStringRef password,					       CFDictionaryRef *info) =	NULL;int Apple80211AssociateAndCopyInfo(Apple80211Ref handle, CFDictionaryRef bss,				   CFStringRef password, CFDictionaryRef *info){	return __Apple80211AssociateAndCopyInfo(handle, bss, password, info);}static int (*__Apple80211CopyValue)(Apple80211Ref handle, int field,				    CFDictionaryRef arg2, void *value) = NULL;int Apple80211CopyValue(Apple80211Ref handle, int field, CFDictionaryRef arg2,			void *value){	return __Apple80211CopyValue(handle, field, arg2, value);}#define DLSYM(s) \do { \	__ ## s = dlsym(aeropuerto, #s); \	if (__ ## s == NULL) { \		wpa_printf(MSG_ERROR, "MobileApple80211: Could not resolve " \			   "symbol '" #s "' (%s)", dlerror()); \		err = 1; \	} \} while (0)__attribute__ ((constructor))void _Apple80211_constructor(void){	const char *fname = "/System/Library/SystemConfiguration/"		"Aeropuerto.bundle/Aeropuerto";	int err = 0;	aeropuerto = dlopen(fname, RTLD_LAZY);	if (!aeropuerto) {		wpa_printf(MSG_ERROR, "MobileApple80211: Failed to open %s "			   "for symbols", fname);		return;	}	DLSYM(Apple80211Open);	DLSYM(Apple80211Close);	DLSYM(Apple80211GetIfListCopy);	DLSYM(Apple80211BindToInterface);	DLSYM(Apple80211GetInterfaceNameCopy);	DLSYM(Apple80211GetInfoCopy);	DLSYM(Apple80211GetPower);	DLSYM(Apple80211SetPower);	DLSYM(Apple80211Scan);	DLSYM(Apple80211Associate);	DLSYM(Apple80211AssociateAndCopyInfo);	DLSYM(Apple80211CopyValue);	if (err) {		dlclose(aeropuerto);		aeropuerto = NULL;	}}__attribute__ ((destructor))void _Apple80211_destructor(void){	if (aeropuerto) {		dlclose(aeropuerto);		aeropuerto = NULL;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -