eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h
changeset 52 c23bdf5a328a
parent 39 fe6b6762fccd
equal deleted inserted replaced
51:e863583e6720 52:c23bdf5a328a
    23 #define _SIMPLE_CONFIG_TLV_HEADER_H_
    23 #define _SIMPLE_CONFIG_TLV_HEADER_H_
    24 
    24 
    25 #include "eap_tools.h"
    25 #include "eap_tools.h"
    26 #include "eap_general_header_base.h"
    26 #include "eap_general_header_base.h"
    27 #include "simple_config_attribute_type.h"
    27 #include "simple_config_attribute_type.h"
       
    28 #include "eap_am_export.h"
       
    29 // Start: added by script change_export_macros.sh.
       
    30 #if defined(EAP_NO_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H)
       
    31 	#define EAP_CLASS_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_NONSHARABLE 
       
    32 	#define EAP_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H 
       
    33 	#define EAP_C_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H 
       
    34 	#define EAP_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H 
       
    35 	#define EAP_C_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H 
       
    36 #elif defined(EAP_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H)
       
    37 	#define EAP_CLASS_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_EXPORT 
       
    38 	#define EAP_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_FUNC_EXPORT 
       
    39 	#define EAP_C_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_C_FUNC_EXPORT 
       
    40 	#define EAP_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H EAP_FUNC_EXPORT 
       
    41 	#define EAP_C_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H EAP_C_FUNC_EXPORT 
       
    42 #else
       
    43 	#define EAP_CLASS_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_IMPORT 
       
    44 	#define EAP_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_FUNC_IMPORT 
       
    45 	#define EAP_C_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H EAP_C_FUNC_IMPORT 
       
    46 	#define EAP_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H 
       
    47 	#define EAP_C_FUNC_EXPORT_SIMPLE_CONFIG_TLV_HEADER_H 
       
    48 #endif
       
    49 // End: added by script change_export_macros.sh.
       
    50 
    28 
    51 
    29 /** @file */
    52 /** @file */
    30 
    53 
    31 
    54 
    32 //----------------------------------------------------------------------------
    55 //----------------------------------------------------------------------------
    51  * The fields of this header are:
    74  * The fields of this header are:
    52  * 16-bits Attribute Type          This is a TLV type.
    75  * 16-bits Attribute Type          This is a TLV type.
    53  * 16-bits Data Length;            This is a length field, the length (in bytes) of the following Data.
    76  * 16-bits Data Length;            This is a length field, the length (in bytes) of the following Data.
    54  * @endcode
    77  * @endcode
    55  */
    78  */
    56 class EAP_EXPORT simple_config_tlv_header_c
    79 class EAP_CLASS_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H simple_config_tlv_header_c
    57 : public eap_general_header_base_c
    80 : public eap_general_header_base_c
    58 {
    81 {
    59 private:
    82 private:
    60 	//--------------------------------------------------
    83 	//--------------------------------------------------
    61 
    84 
   113 	u16_t get_data_length() const;
   136 	u16_t get_data_length() const;
   114 
   137 
   115 	/**
   138 	/**
   116 	 * This function returns the header length of TLV.
   139 	 * This function returns the header length of TLV.
   117 	 */
   140 	 */
   118 	EAP_FUNC_IMPORT static u32_t get_header_length();
   141 	EAP_FUNC_VISIBILITY_SIMPLE_CONFIG_TLV_HEADER_H static u32_t get_header_length();
   119 
   142 
   120 	/**
   143 	/**
   121 	 * This function returns pointer to the offset of data of TLV.
   144 	 * This function returns pointer to the offset of data of TLV.
   122 	 * @param offset is the offset of queried data in bytes.
   145 	 * @param offset is the offset of queried data in bytes.
   123 	 * @param contignuous_bytes is the length of queried data in bytes.
   146 	 * @param contignuous_bytes is the length of queried data in bytes.