diff options
| author | juno0812 <juno0812@users.noreply.github.com> | 2017-10-04 10:03:17 -0400 |
|---|---|---|
| committer | Matias Fontanini <matias.fontanini@gmail.com> | 2017-10-04 07:03:17 -0700 |
| commit | b43d2f74e403591249fb2429c6da132b3bdefc72 (patch) | |
| tree | 68679ffa442e0ff77fb522fe31f9ee37cdf49aa9 | |
| parent | 2aab4cf126766809f314265ade9421fd071960c1 (diff) | |
Add getter/setter for more data field in Dot11Base (#252)
| -rw-r--r-- | include/tins/dot11/dot11_base.h | 16 | ||||
| -rw-r--r-- | src/dot11/dot11_base.cpp | 4 | ||||
| -rw-r--r-- | tests/include/tests/dot11.h | 2 | ||||
| -rw-r--r-- | tests/include/tests/dot11_mgmt.h | 1 | ||||
| -rw-r--r-- | tests/src/dot11/ack_test.cpp | 2 | ||||
| -rw-r--r-- | tests/src/dot11/dot11_test.cpp | 8 |
6 files changed, 33 insertions, 0 deletions
diff --git a/include/tins/dot11/dot11_base.h b/include/tins/dot11/dot11_base.h index 0886dc2..a93ec21 100644 --- a/include/tins/dot11/dot11_base.h +++ b/include/tins/dot11/dot11_base.h @@ -280,6 +280,15 @@ public: } /** + * \brief Getter for the More Data field. + * + * \return The stored More Data field. + */ + small_uint<1> more_data() const { + return header_.control.more_data; + } + + /** * \brief Getter for the WEP field. * * \return The stored WEP field. @@ -374,6 +383,13 @@ public: void power_mgmt(small_uint<1> new_value); /** + * \brief Setter for the More Data field. + * + * \param new_value The new More Data field value. + */ + void more_data(small_uint<1> new_value); + + /** * \brief Setter for the WEP field. * * \param new_value The new WEP field value. diff --git a/src/dot11/dot11_base.cpp b/src/dot11/dot11_base.cpp index cc89338..cc32444 100644 --- a/src/dot11/dot11_base.cpp +++ b/src/dot11/dot11_base.cpp @@ -164,6 +164,10 @@ void Dot11::power_mgmt(small_uint<1> new_value) { header_.control.power_mgmt = (new_value)? 1 : 0; } +void Dot11::more_data(small_uint<1> new_value) { + header_.control.more_data = (new_value)? 1 : 0; +} + void Dot11::wep(small_uint<1> new_value) { header_.control.wep = (new_value)? 1 : 0; } diff --git a/tests/include/tests/dot11.h b/tests/include/tests/dot11.h index 967b605..a432cf4 100644 --- a/tests/include/tests/dot11.h +++ b/tests/include/tests/dot11.h @@ -16,6 +16,7 @@ inline void test_equals(const Dot11& dot1, const Dot11& dot2) { EXPECT_EQ(dot1.more_frag(), dot2.more_frag()); EXPECT_EQ(dot1.retry(), dot2.retry()); EXPECT_EQ(dot1.power_mgmt(), dot2.power_mgmt()); + EXPECT_EQ(dot1.more_data(), dot2.more_data()); EXPECT_EQ(dot1.wep(), dot2.wep()); EXPECT_EQ(dot1.order(), dot2.order()); EXPECT_EQ(dot1.duration_id(), dot2.duration_id()); @@ -31,6 +32,7 @@ inline void test_equals_empty(const Dot11& dot11) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0); diff --git a/tests/include/tests/dot11_mgmt.h b/tests/include/tests/dot11_mgmt.h index e4f9bac..48d763f 100644 --- a/tests/include/tests/dot11_mgmt.h +++ b/tests/include/tests/dot11_mgmt.h @@ -26,6 +26,7 @@ inline void test_equals_expected(const Dot11ManagementFrame& dot11) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0x234f); diff --git a/tests/src/dot11/ack_test.cpp b/tests/src/dot11/ack_test.cpp index fb8f14c..704ac81 100644 --- a/tests/src/dot11/ack_test.cpp +++ b/tests/src/dot11/ack_test.cpp @@ -38,6 +38,7 @@ void test_equals_expected(const Dot11Ack& dot11) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0x234f); @@ -56,6 +57,7 @@ TEST_F(Dot11AckTest, Constructor) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0); diff --git a/tests/src/dot11/dot11_test.cpp b/tests/src/dot11/dot11_test.cpp index 27d7ce5..6af80d0 100644 --- a/tests/src/dot11/dot11_test.cpp +++ b/tests/src/dot11/dot11_test.cpp @@ -34,6 +34,7 @@ TEST_F(Dot11Test, DefaultConstructor) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0); @@ -64,6 +65,7 @@ TEST_F(Dot11Test, ConstructorFromBuffer) { EXPECT_EQ(dot11.more_frag(), 0); EXPECT_EQ(dot11.retry(), 0); EXPECT_EQ(dot11.power_mgmt(), 0); + EXPECT_EQ(dot11.more_data(), 0); EXPECT_EQ(dot11.wep(), 0); EXPECT_EQ(dot11.order(), 0); EXPECT_EQ(dot11.duration_id(), 0x234f); @@ -123,6 +125,12 @@ TEST_F(Dot11Test, PowerMGMT) { EXPECT_EQ(dot11.power_mgmt(), 1); } +TEST_F(Dot11Test, MoreData) { + Dot11 dot11; + dot11.more_data(1); + EXPECT_EQ(dot11.more_data(), 1); +} + TEST_F(Dot11Test, WEP) { Dot11 dot11; dot11.wep(1); |
