|
1 /* |
|
2 * Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of the License "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: EAP and WLAN authentication protocols. |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 // This is enumeration of EAPOL source code. |
|
20 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) |
|
21 #undef EAP_FILE_NUMBER_ENUM |
|
22 #define EAP_FILE_NUMBER_ENUM 24 |
|
23 #undef EAP_FILE_NUMBER_DATE |
|
24 #define EAP_FILE_NUMBER_DATE 1127594498 |
|
25 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) |
|
26 |
|
27 |
|
28 |
|
29 #include "eap_am_memory.h" |
|
30 #include "eap_general_header_base.h" |
|
31 |
|
32 |
|
33 // |
|
34 EAP_FUNC_EXPORT eap_general_header_base_c::~eap_general_header_base_c() |
|
35 { |
|
36 // NOTE do not delete these attributes. These are references to objects owned by other objects. |
|
37 m_header_buffer = 0; |
|
38 m_header_buffer_length = 0ul; |
|
39 } |
|
40 |
|
41 // |
|
42 EAP_FUNC_EXPORT eap_general_header_base_c::eap_general_header_base_c( |
|
43 abs_eap_am_tools_c * const tools, |
|
44 void * const header_buffer, |
|
45 const u32_t header_buffer_length) |
|
46 : m_am_tools(tools) |
|
47 , m_header_buffer(static_cast<u8_t *>(header_buffer)) |
|
48 , m_header_buffer_length(header_buffer_length) |
|
49 #if defined(USE_EAP_ERROR_TESTS) |
|
50 , m_error_detected(true) |
|
51 #endif //#if defined(USE_EAP_ERROR_TESTS) |
|
52 { |
|
53 EAP_ASSERT((m_header_buffer != 0 && m_header_buffer_length > 0ul) || (m_header_buffer == 0 && m_header_buffer_length == 0ul)); |
|
54 } |
|
55 |
|
56 EAP_FUNC_EXPORT void eap_general_header_base_c::set_header_buffer(u8_t * const header_buffer, const u32_t header_buffer_length) |
|
57 { |
|
58 m_header_buffer = header_buffer; |
|
59 m_header_buffer_length = header_buffer_length; |
|
60 } |
|
61 |
|
62 EAP_FUNC_EXPORT u8_t * eap_general_header_base_c::get_header_buffer(const u32_t data_length) const |
|
63 { |
|
64 EAP_ASSERT(m_header_buffer != 0 && m_header_buffer_length > 0ul && m_header_buffer_length >= data_length); |
|
65 |
|
66 if (m_header_buffer_length >= data_length) |
|
67 { |
|
68 return m_header_buffer; |
|
69 } |
|
70 return 0; |
|
71 } |
|
72 |
|
73 EAP_FUNC_EXPORT u32_t eap_general_header_base_c::get_header_buffer_length() const |
|
74 { |
|
75 return m_header_buffer_length; |
|
76 } |
|
77 |
|
78 EAP_FUNC_EXPORT u8_t * eap_general_header_base_c::get_header_offset( |
|
79 const u32_t offset, |
|
80 const u32_t data_length) const |
|
81 { |
|
82 if (get_header_buffer_length() >= offset+data_length) |
|
83 { |
|
84 return get_header_buffer(offset+data_length)+offset; |
|
85 } |
|
86 else |
|
87 { |
|
88 //NOTE: Cannot assert here because illagal message will always fail. EAP_ASSERT(get_header_buffer_length() >= offset+data_length); |
|
89 return 0; |
|
90 } |
|
91 } |
|
92 |
|
93 EAP_FUNC_EXPORT bool eap_general_header_base_c::get_is_valid() const |
|
94 { |
|
95 if (get_header_buffer_length() == 0 |
|
96 || get_header_buffer(get_header_buffer_length()) == 0) |
|
97 { |
|
98 return false; |
|
99 } |
|
100 return true; |
|
101 } |
|
102 |
|
103 EAP_FUNC_EXPORT abs_eap_am_tools_c * eap_general_header_base_c::get_am_tools() const |
|
104 { |
|
105 return m_am_tools; |
|
106 } |
|
107 |
|
108 |
|
109 #if defined(USE_EAP_ERROR_TESTS) |
|
110 |
|
111 EAP_FUNC_EXPORT void eap_general_header_base_c::set_error_detected(const bool error_detected) |
|
112 { |
|
113 m_error_detected = error_detected; |
|
114 } |
|
115 |
|
116 EAP_FUNC_EXPORT bool eap_general_header_base_c::get_error_detected() |
|
117 { |
|
118 return m_error_detected; |
|
119 } |
|
120 |
|
121 #endif //#if defined(USE_EAP_ERROR_TESTS) |
|
122 |
|
123 |
|
124 //-------------------------------------------------- |
|
125 |
|
126 |
|
127 |
|
128 // End. |