/* ****************************************************************************** * INTERPEAK INTERNAL API HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ip8021x_wpa_ie.h,v $ $Revision: 1.7 $ * $Source: /home/interpeak/CVSRoot/ip8021x/src/ip8021x_wpa_ie.h,v $ * $Author: myakan $ $Date: 2009-08-13 16:04:56 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Roger Boden ****************************************************************************** */ #ifndef IP8021X_WPA_IE_H #define IP8021X_WPA_IE_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "ip8021x_config.h" /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #include #include #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* Maximum number of cipher suites in RSN information elements */ #define IP8021X_MAX_CIPHERS 4 /* Maximum number of authentication and key management suites in RSN information elements */ #define IP8021X_MAX_AUTH_KEY 4 /* Maximum number pairwise key identifiers RSN information elements */ #define IP8021X_MAX_PKMID 4 #define IP8021X_IE_ELEMENT_ID_WPA 221 #define IP8021X_IE_ELEMENT_ID_RSN 48 /* **************************************************************************** * 5 TYPES **************************************************************************** */ typedef struct Ip8021x_wpa_ie_st { int wpa_ver; int multicast_encr_type; Ip_u8 id; Ip_u8 len; Ip_u8 oui[4]; Ip_u8 version[2]; Ip_u8 grp_cipher_suite[4]; Ip_u16 pairwise_cipher_suite_len; Ip_u8 pairwise_cipher_suite[4*IP8021X_MAX_CIPHERS]; Ip_u16 auth_key_mgnt_len; Ip_u8 auth_key_mgnt[4*IP8021X_MAX_AUTH_KEY]; Ip_u16 wpa_cap; } Ip8021x_wpa_ie; /* **************************************************************************** * 6 DATA **************************************************************************** */ IP_EXTERN Ip_u8 ip8021x_wpa_ie_wpa[4]; IP_EXTERN Ip_u8 ip8021x_wpa_ie_psk[4]; IP_EXTERN Ip_u8 ip8021x_wpa_ie_tkip[4]; IP_EXTERN Ip_u8 ip8021x_wpa_ie_ccmp[4]; /* **************************************************************************** * 7 FUNCTIONS **************************************************************************** */ IP_GLOBAL Ip_err ip8021x_pkt_put_wpa_ie(Ip8021x_pkt* pkt, Ip8021x_wpa_ie* wpa_ie); IP_GLOBAL void ip8021x_wpa_ie_init(Ip8021x_wpa_ie* wpa_ie, int uni_encr_type, int multi_encr_type, int auth_key_mgnt, Ip_u16 rsn_cap); IP_GLOBAL void ip8021x_wpa_ie_set_auth_key_mgnt(Ip8021x_wpa_ie* wpa_ie, int auth_key_mgnt); IP_GLOBAL void ip8021x_wpa_ie_set_encr(Ip8021x_wpa_ie* wpa_ie, int uni_encr_type, int multi_encr_type); IP_GLOBAL void ip8021x_wpa2_ie_set_encr(Ip8021x_wpa_ie* wpa_ie, int uni_encr_type, int multi_encr_type); IP_GLOBAL Ip_bool ip8021x_verify_wpa_ie(Ip_u8* pIe, Ip8021x_wpa_ie* wpa_ie, int *multicast_encr_type); #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */