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

📄 wps_callback.c

📁 WiFi Protected Setup (WPS) 又叫Simple config。 是无线局域网领域推出的新协议
💻 C
字号:
/*
 *  WPS_CALLBACK.C : WPS Callback Functions Implementation
 * 
 *  ver       date        author      comment
 *  0.0.1     08/02/21    Gao Hua     First
 */

#include "wps_callback.h"
#include "wps_enrollee.h"


extern struct enrollee *get_enrollee_ptr(void);
extern WPS_u8 get_enrollee_mode(void);
extern const WPS_char *get_enrollee_pin(void);

static WPS_u8 connected_flag;
static WPS_u8 disconnected_flag;


void wps_eapol_callback(EAPOL_EVENT event, const void *data, int data_len)
{
	struct enrollee *enrollee_ptr = get_enrollee_ptr();
	WPS_u8 mode = get_enrollee_mode();
	const WPS_char *pin = get_enrollee_pin();
	
	switch (event) {
		case EAPOL_EVENT_RECV_PACKET:
			enrollee_recv(enrollee_ptr, data, data_len);
			break;
		case EAPOL_EVENT_CONNECT:
			enrollee_init(enrollee_ptr, mode, pin);
			connected_flag = 1;
			break;
		case EAPOL_EVENT_DISCONNECT:
			enrollee_uninit(enrollee_ptr);
			disconnected_flag = 1;
			break;
		default:
			break;
	}
}

void wps_resend_packet_timeout(void *param)
{
	enrollee_resend_last_packet(get_enrollee_ptr());
}

void wps_permessage_timeout(void *param)
{
	enrollee_permessage_timeout(get_enrollee_ptr());
}

void wps_overall_timeout(void *param)
{
	enrollee_overall_timeout(get_enrollee_ptr());
}

void wps_assoc_and_wait_completion(WPS_AP_DESC * apDesc)
{
	connected_flag = 0;
	Wlan_Associate(apDesc);
	while (!connected_flag) {
		WPS_Sleep(100);
	}
}

void wps_disassoc_and_wait_completion(void)
{
	disconnected_flag = 0;
	Wlan_Disassociate();
	while (!disconnected_flag) {
		WPS_Sleep(100);
	}	
}


⌨️ 快捷键说明

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