summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjuno0812 <juno0812@users.noreply.github.com>2017-10-04 10:03:17 -0400
committerMatias Fontanini <matias.fontanini@gmail.com>2017-10-04 07:03:17 -0700
commitb43d2f74e403591249fb2429c6da132b3bdefc72 (patch)
tree68679ffa442e0ff77fb522fe31f9ee37cdf49aa9
parent2aab4cf126766809f314265ade9421fd071960c1 (diff)
Add getter/setter for more data field in Dot11Base (#252)
-rw-r--r--include/tins/dot11/dot11_base.h16
-rw-r--r--src/dot11/dot11_base.cpp4
-rw-r--r--tests/include/tests/dot11.h2
-rw-r--r--tests/include/tests/dot11_mgmt.h1
-rw-r--r--tests/src/dot11/ack_test.cpp2
-rw-r--r--tests/src/dot11/dot11_test.cpp8
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);