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

📄 wps_lib.h

📁 WiFi Protected Setup (WPS) 又叫Simple config。 是无线局域网领域推出的新协议
💻 H
字号:
/*
 *  WPS_LIB.H : WPS Enrollee/Registrar Common Functions Lib
 * 
 *  ver       date            author        comment
 *  0.0.1     06/08/28        Gao Hua       First
 *  0.0.2     07/09/05        D.W.Yan       Refactor code
 */

#ifndef _WPS_LIB_H
#define _WPS_LIB_H

#include "wps_types.h"
#include "wps_eap_pkt.h"


#define WPS_VERSION					0x10		/* Simple Config v1.0 */
#define WPS_OS_VERSION				0x00000000

#define WPS_RETRANSMISSION_TIMEOUT	5			/* 5 seconds */
#define WPS_PER_PACKET_TIMEOUT		15			/* 15 seconds */
#define WPS_OVERALL_TIMEOUT			120			/* 2 minutes */

/* Definition for NAI in EAP-IDENTIFY packets */
#define NAI_REGISTRAR				"WFA-SimpleConfig-Registrar-1-0"	
#define NAI_ENROLLEE				"WFA-SimpleConfig-Enrollee-1-0"

typedef enum _tag_wps_mode {
	WPS_DISABLED = 0,
	WPS_PIN_MODE = 1,
	WPS_PBC_MODE = 2,
} WPS_MODE;

/* Definition for Primary Device Type. Network bytes order!!! */
struct primary_device_type {
		WPS_u16 CategoryID;
		WPS_u16 OUI12;
		WPS_u16 OUI34;
		WPS_u16 SubCategoryID;
};

extern WPS_char g_sz1356_p[];
extern WPS_char g_sz1356_g[];

void kdf(WPS_u8 *KDK, WPS_s32 KDKLen, WPS_char *string, WPS_u8 *Output,
         WPS_s32 total_key_bits);
WPS_u8 ValidateChecksum(WPS_u32 PIN);
WPS_s32 ComputeChecksum(WPS_u32 PIN);
void Generate_PIN(WPS_u8 *MacAddr, WPS_char *Buff, WPS_s32 BuffLen);
void Generate_UUID(WPS_u8 *MacAddr, WPS_u8 *Buff, WPS_s32 BuffLen);

void BuildEAPHead(struct eap_packet* packet, WPS_u8 Code, WPS_u8 Identifier,
                  WPS_u8 OpCode, WPS_s32 MessageLength);

void PrintHex(WPS_u8 *Hex, WPS_s32 HexLen);

WPS_char *WPS_wtoa(WPS_u16 w, WPS_char *buff);
WPS_char *WPS_dwtoa(WPS_u32 dw, WPS_char *buff);
WPS_char *WPS_btox(WPS_u8 b, WPS_char *ptr);


#endif  //_WPS_LIB_H

⌨️ 快捷键说明

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