WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_wapi.h 文件参考
#include "oal_netbuf_ext.h"
#include "mac_resource_ext.h"
#include "hmac_vap.h"
#include "hmac_user.h"
hmac_wapi.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  wapi_mic_hdr_stru
 
struct  hmac_wapi_key_stru
 
struct  tag_hmac_wapi_stru
 

宏定义

#define THIS_FILE_ID   OAM_FILE_ID_HMAC_WAPI_H
 
#define WAPI_UCAST_INC   2 /* 发送或者接收单播帧,pn的步进值 */
 
#define WAPI_BCAST_INC   1 /* 发送或者接收组播帧,pn的步进值 */
 
#define WAPI_WAI_TYPE   (osal_u16)0x88B4 /* wapi的以太类型 */
 
#define WAPI_BCAST_KEY_TYPE   1
 
#define WAPI_UCAST_KEY_TYPE   0
 
#define SMS4_MIC_LEN   (osal_u8)16 /* SMS4封包MIC的长度 */
 
#define SMS4_PN_LEN   16 /* wapi pn的长度 */
 
#define SMS4_KEY_IDX   1 /* WAPI头中 keyidx占1个字节 */
 
#define SMS4_WAPI_HDR_RESERVE   1 /* WAPI头中保留字段 */
 
#define HMAC_WAPI_HDR_LEN   (osal_u8)(SMS4_PN_LEN + SMS4_KEY_IDX + SMS4_WAPI_HDR_RESERVE)
 
#define WAPI_PDU_LEN   2 /* wapi头中,wapi pdu len字段所占字节数 */
 
#define SMS4_PADDING_LEN   16 /* mic data按照16字节对齐 */
 
#define SMS4_MIC_PART1_QOS_LEN   48 /* 按照协议,如果有qos字段,mic第一部分16字节对齐后的长度 */
 
#define SMS4_MIC_PART1_NO_QOS_LEN   32 /* 按照协议,如果没有qos字段,mic第一部分16字节对齐后的长度 */
 
#define WAPI_IE_VERSION   1 /* wapi的version */
 
#define WAPI_IE_VER_SIZE   2 /* wapi ver-ie 所占字节数 */
 
#define WAPI_IE_SUIT_TYPE_SIZE   1 /* suit type size */
 
#define WAPI_IE_WAPICAP_SIZE   2 /* wapi cap字段所占字节数 */
 
#define WAPI_IE_BKIDCNT_SIZE   2 /* wapi bkid数字段所占字节数 */
 
#define WAPI_IE_BKID_SIZE   16 /* 一个bkid所占字节数 */
 
#define WAPI_IE_OUI_SIZE   3 /* wapi oui字节数 */
 
#define WAPI_IE_SMS4   1 /* wapi加密类型为sms4 */
 
#define WAPI_IE_SUITCNT_SIZE   2 /* wapi suit count所占字节数 */
 
#define WAPI_KEY_LEN   16
 
#define WAPI_PN_LEN   16
 
#define HMAC_WAPI_MAX_KEYID   2
 

类型定义

typedef struct tag_hmac_wapi_stru hmac_wapi_stru
 
typedef osal_void(* hmac_wapi_deinit_etc_cb) (osal_u16 user_idx)
 
typedef osal_u32(* hmac_wapi_init_etc_cb) (osal_u16 user_idx, osal_u8 pairwise)
 
typedef oal_netbuf_stru *(* hmac_rx_frame_wapi_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *netbuf, mac_ieee80211_frame_stru *frame_hdr, hmac_user_stru *hmac_user, mac_rx_ctl_stru **rx_ctrl)
 
typedef osal_u32(* hmac_wapi_tx_classify_special_cb) (hmac_vap_stru *hmac_vap, osal_u16 type, mac_tx_ctl_stru *tx_ctl, osal_u8 *tid)
 
typedef osal_u32(* hmac_tx_lan_to_wlan_wapi_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru **netbuf)
 
typedef osal_u32(* hmac_11i_reset_wapi_cb) (hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user)
 
typedef osal_u32(* hmac_wapi_add_key_and_sync_etc_cb) (hmac_vap_stru *hmac_vap, osal_u32 type, mac_addkey_param_stru *payload_addkey_param)
 
typedef osal_void(* hmac_wapi_update_legcy_only_cb) (mac_bss_dscr_stru *bss_dscr, oal_bool_enum_uint8 *legcy_only)
 
typedef osal_bool(* hmac_wapi_ether_type_check_cb) (osal_u16 ether_type)
 
typedef osal_u32(* hmac_wapi_connect_check_bss_dscr_cb) (mac_bss_dscr_stru *bss_dscr, hmac_vap_stru *hmac_vap, mac_conn_param_stru *connect_param)
 
typedef osal_bool(* hmac_wapi_disable_cb) (osal_u8 wapi)
 
typedef osal_s32(* hmac_wapi_update_roam_cb) (hmac_vap_stru *hmac_vap, osal_u8 *roming_now)
 
typedef osal_u32(* hmac_wapi_user_add_check_cb) (osal_u8 device_id)
 
typedef osal_bool(* hmac_wapi_get_ether_type_cb) (osal_u16 ether_type)
 
typedef osal_u8(* hmac_wapi_connected_etc_cb) (osal_u8 device_id)
 
typedef osal_u8(* hmac_wapi_update_connect_param_cb) (osal_u32 wpa_versions)
 

变量

static osal_u32 used
 

宏定义说明

◆ HMAC_WAPI_HDR_LEN

#define HMAC_WAPI_HDR_LEN   (osal_u8)(SMS4_PN_LEN + SMS4_KEY_IDX + SMS4_WAPI_HDR_RESERVE)

◆ HMAC_WAPI_MAX_KEYID

#define HMAC_WAPI_MAX_KEYID   2

◆ SMS4_KEY_IDX

#define SMS4_KEY_IDX   1 /* WAPI头中 keyidx占1个字节 */

◆ SMS4_MIC_LEN

#define SMS4_MIC_LEN   (osal_u8)16 /* SMS4封包MIC的长度 */

◆ SMS4_MIC_PART1_NO_QOS_LEN

#define SMS4_MIC_PART1_NO_QOS_LEN   32 /* 按照协议,如果没有qos字段,mic第一部分16字节对齐后的长度 */

◆ SMS4_MIC_PART1_QOS_LEN

#define SMS4_MIC_PART1_QOS_LEN   48 /* 按照协议,如果有qos字段,mic第一部分16字节对齐后的长度 */

◆ SMS4_PADDING_LEN

#define SMS4_PADDING_LEN   16 /* mic data按照16字节对齐 */

◆ SMS4_PN_LEN

#define SMS4_PN_LEN   16 /* wapi pn的长度 */

◆ SMS4_WAPI_HDR_RESERVE

#define SMS4_WAPI_HDR_RESERVE   1 /* WAPI头中保留字段 */

◆ THIS_FILE_ID

#define THIS_FILE_ID   OAM_FILE_ID_HMAC_WAPI_H

◆ WAPI_BCAST_INC

#define WAPI_BCAST_INC   1 /* 发送或者接收组播帧,pn的步进值 */

◆ WAPI_BCAST_KEY_TYPE

#define WAPI_BCAST_KEY_TYPE   1

◆ WAPI_IE_BKID_SIZE

#define WAPI_IE_BKID_SIZE   16 /* 一个bkid所占字节数 */

◆ WAPI_IE_BKIDCNT_SIZE

#define WAPI_IE_BKIDCNT_SIZE   2 /* wapi bkid数字段所占字节数 */

◆ WAPI_IE_OUI_SIZE

#define WAPI_IE_OUI_SIZE   3 /* wapi oui字节数 */

◆ WAPI_IE_SMS4

#define WAPI_IE_SMS4   1 /* wapi加密类型为sms4 */

◆ WAPI_IE_SUIT_TYPE_SIZE

#define WAPI_IE_SUIT_TYPE_SIZE   1 /* suit type size */

◆ WAPI_IE_SUITCNT_SIZE

#define WAPI_IE_SUITCNT_SIZE   2 /* wapi suit count所占字节数 */

◆ WAPI_IE_VER_SIZE

#define WAPI_IE_VER_SIZE   2 /* wapi ver-ie 所占字节数 */

◆ WAPI_IE_VERSION

#define WAPI_IE_VERSION   1 /* wapi的version */

◆ WAPI_IE_WAPICAP_SIZE

#define WAPI_IE_WAPICAP_SIZE   2 /* wapi cap字段所占字节数 */

◆ WAPI_KEY_LEN

#define WAPI_KEY_LEN   16

◆ WAPI_PDU_LEN

#define WAPI_PDU_LEN   2 /* wapi头中,wapi pdu len字段所占字节数 */

◆ WAPI_PN_LEN

#define WAPI_PN_LEN   16

◆ WAPI_UCAST_INC

#define WAPI_UCAST_INC   2 /* 发送或者接收单播帧,pn的步进值 */

◆ WAPI_UCAST_KEY_TYPE

#define WAPI_UCAST_KEY_TYPE   0

◆ WAPI_WAI_TYPE

#define WAPI_WAI_TYPE   (osal_u16)0x88B4 /* wapi的以太类型 */

类型定义说明

◆ hmac_11i_reset_wapi_cb

typedef osal_u32(* hmac_11i_reset_wapi_cb) (hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user)

◆ hmac_rx_frame_wapi_cb

typedef oal_netbuf_stru *(* hmac_rx_frame_wapi_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *netbuf, mac_ieee80211_frame_stru *frame_hdr, hmac_user_stru *hmac_user, mac_rx_ctl_stru **rx_ctrl)

◆ hmac_tx_lan_to_wlan_wapi_cb

typedef osal_u32(* hmac_tx_lan_to_wlan_wapi_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru **netbuf)

◆ hmac_wapi_add_key_and_sync_etc_cb

typedef osal_u32(* hmac_wapi_add_key_and_sync_etc_cb) (hmac_vap_stru *hmac_vap, osal_u32 type, mac_addkey_param_stru *payload_addkey_param)

◆ hmac_wapi_connect_check_bss_dscr_cb

typedef osal_u32(* hmac_wapi_connect_check_bss_dscr_cb) (mac_bss_dscr_stru *bss_dscr, hmac_vap_stru *hmac_vap, mac_conn_param_stru *connect_param)

◆ hmac_wapi_connected_etc_cb

typedef osal_u8(* hmac_wapi_connected_etc_cb) (osal_u8 device_id)

◆ hmac_wapi_deinit_etc_cb

typedef osal_void(* hmac_wapi_deinit_etc_cb) (osal_u16 user_idx)

◆ hmac_wapi_disable_cb

typedef osal_bool(* hmac_wapi_disable_cb) (osal_u8 wapi)

◆ hmac_wapi_ether_type_check_cb

typedef osal_bool(* hmac_wapi_ether_type_check_cb) (osal_u16 ether_type)

◆ hmac_wapi_get_ether_type_cb

typedef osal_bool(* hmac_wapi_get_ether_type_cb) (osal_u16 ether_type)

◆ hmac_wapi_init_etc_cb

typedef osal_u32(* hmac_wapi_init_etc_cb) (osal_u16 user_idx, osal_u8 pairwise)

◆ hmac_wapi_stru

◆ hmac_wapi_tx_classify_special_cb

typedef osal_u32(* hmac_wapi_tx_classify_special_cb) (hmac_vap_stru *hmac_vap, osal_u16 type, mac_tx_ctl_stru *tx_ctl, osal_u8 *tid)

◆ hmac_wapi_update_connect_param_cb

typedef osal_u8(* hmac_wapi_update_connect_param_cb) (osal_u32 wpa_versions)

◆ hmac_wapi_update_legcy_only_cb

typedef osal_void(* hmac_wapi_update_legcy_only_cb) (mac_bss_dscr_stru *bss_dscr, oal_bool_enum_uint8 *legcy_only)

◆ hmac_wapi_update_roam_cb

typedef osal_s32(* hmac_wapi_update_roam_cb) (hmac_vap_stru *hmac_vap, osal_u8 *roming_now)

◆ hmac_wapi_user_add_check_cb

typedef osal_u32(* hmac_wapi_user_add_check_cb) (osal_u8 device_id)

变量说明

◆ used

osal_void used