Files
m241Neelima/components/ip_net2-6.9/ip8021x/src/ip8021x_wpa_ie.h
T
2026-07-30 11:19:44 +05:30

128 lines
4.0 KiB
C

/*
******************************************************************************
* 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 <roger@interpeak.se>
******************************************************************************
*/
#ifndef IP8021X_WPA_IE_H
#define IP8021X_WPA_IE_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
#include "ip8021x_config.h"
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include <ipcom_type.h>
#include <ipcom_cstyle.h>
#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
****************************************************************************
*/