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 |