eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h
changeset 52 c23bdf5a328a
parent 33 938269283a16
equal deleted inserted replaced
51:e863583e6720 52:c23bdf5a328a
    24 
    24 
    25 #include "eap_tools.h"
    25 #include "eap_tools.h"
    26 #include "eap_header.h"
    26 #include "eap_header.h"
    27 #include "eap_radius_types.h"
    27 #include "eap_radius_types.h"
    28 #include "eap_diameter_avp_code.h"
    28 #include "eap_diameter_avp_code.h"
       
    29 #include "eap_am_export.h"
       
    30 // Start: added by script change_export_macros.sh.
       
    31 #if defined(EAP_NO_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H)
       
    32 	#define EAP_CLASS_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_NONSHARABLE 
       
    33 	#define EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    34 	#define EAP_C_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    35 	#define EAP_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    36 	#define EAP_C_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    37 #elif defined(EAP_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H)
       
    38 	#define EAP_CLASS_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_EXPORT 
       
    39 	#define EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_FUNC_EXPORT 
       
    40 	#define EAP_C_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_C_FUNC_EXPORT 
       
    41 	#define EAP_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_FUNC_EXPORT 
       
    42 	#define EAP_C_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_C_FUNC_EXPORT 
       
    43 #else
       
    44 	#define EAP_CLASS_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_IMPORT 
       
    45 	#define EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_FUNC_IMPORT 
       
    46 	#define EAP_C_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H EAP_C_FUNC_IMPORT 
       
    47 	#define EAP_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    48 	#define EAP_C_FUNC_EXPORT_EAP_RADIUS_ATTRIBUTE_HEADER_H 
       
    49 #endif
       
    50 // End: added by script change_export_macros.sh.
       
    51 
    29 
    52 
    30 /** @file */
    53 /** @file */
    31 
    54 
    32 const u32_t TRACE_FLAGS_RADIUS_ERROR = eap_am_tools_c::eap_trace_mask_error;
    55 const u32_t TRACE_FLAGS_RADIUS_ERROR = eap_am_tools_c::eap_trace_mask_error;
    33 
    56 
    54  *  |  Type         |    Length     |    Value ...                   
    77  *  |  Type         |    Length     |    Value ...                   
    55  *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    78  *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    56  * @endcode
    79  * @endcode
    57  *
    80  *
    58  */
    81  */
    59 class EAP_EXPORT eap_radius_attribute_header_c
    82 class EAP_CLASS_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H eap_radius_attribute_header_c
    60 : public eap_general_header_base_c
    83 : public eap_general_header_base_c
    61 {
    84 {
    62 private:
    85 private:
    63 	//--------------------------------------------------
    86 	//--------------------------------------------------
    64 
    87 
    79 	//--------------------------------------------------
   102 	//--------------------------------------------------
    80 public:
   103 public:
    81 	//--------------------------------------------------
   104 	//--------------------------------------------------
    82 
   105 
    83 	// 
   106 	// 
    84 	EAP_FUNC_IMPORT virtual ~eap_radius_attribute_header_c();
   107 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H virtual ~eap_radius_attribute_header_c();
    85 
   108 
    86 	// 
   109 	// 
    87 	EAP_FUNC_IMPORT eap_radius_attribute_header_c(
   110 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H eap_radius_attribute_header_c(
    88 		abs_eap_am_tools_c * const tools,
   111 		abs_eap_am_tools_c * const tools,
    89 		void * const header_buffer,
   112 		void * const header_buffer,
    90 		const u32_t header_buffer_length);
   113 		const u32_t header_buffer_length);
    91 
   114 
    92 	EAP_FUNC_IMPORT eap_diameter_avp_code_c get_current_payload() const;
   115 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H eap_diameter_avp_code_c get_current_payload() const;
    93 
   116 
    94 	EAP_FUNC_IMPORT u16_t get_length() const;
   117 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H u16_t get_length() const;
    95 
   118 
    96 	EAP_FUNC_IMPORT u32_t get_data_length() const;
   119 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H u32_t get_data_length() const;
    97 
   120 
    98 	EAP_FUNC_IMPORT static u16_t get_header_length();
   121 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H static u16_t get_header_length();
    99 
   122 
   100 	EAP_FUNC_IMPORT static u16_t get_max_attribute_data_length();
   123 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H static u16_t get_max_attribute_data_length();
   101 
   124 
   102 	EAP_FUNC_IMPORT u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const;
   125 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H u8_t * get_data_offset(const u32_t offset, const u32_t contignuous_bytes) const;
   103 
   126 
   104 	EAP_FUNC_IMPORT u8_t * get_next_header() const;
   127 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H u8_t * get_next_header() const;
   105 
   128 
   106 
   129 
   107 	EAP_FUNC_IMPORT void set_current_payload(const eap_diameter_avp_code_c p_current_payload);
   130 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H void set_current_payload(const eap_diameter_avp_code_c p_current_payload);
   108 
   131 
   109 	EAP_FUNC_IMPORT void set_data_length(const u16_t p_data_length);
   132 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H void set_data_length(const u16_t p_data_length);
   110 
   133 
   111 	EAP_FUNC_IMPORT void reset_header(const u16_t data_length);
   134 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H void reset_header(const u16_t data_length);
   112 
   135 
   113 	EAP_FUNC_IMPORT eap_const_string get_payload_type_string() const;
   136 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H eap_const_string get_payload_type_string() const;
   114 
   137 
   115 	EAP_FUNC_IMPORT eap_status_e check_header() const;
   138 	EAP_FUNC_VISIBILITY_EAP_RADIUS_ATTRIBUTE_HEADER_H eap_status_e check_header() const;
   116 
   139 
   117 	// 
   140 	// 
   118 	//--------------------------------------------------
   141 	//--------------------------------------------------
   119 }; // class eap_radius_attribute_header_c
   142 }; // class eap_radius_attribute_header_c
   120 
   143