|
From: <sat...@us...> - 2010-03-20 06:22:52
|
Revision: 245
http://w-meter.svn.sourceforge.net/w-meter/?rev=245&view=rev
Author: sathakselva
Date: 2010-03-20 06:22:46 +0000 (Sat, 20 Mar 2010)
Log Message:
-----------
Fix the issue with clear button in main window and dynamic memory allocation removed
Modified Paths:
--------------
frame_injection_g/trunk/src/injection_main_cpp.cpp
frame_injection_g/trunk/src/mac_80211.h
frame_injection_g/trunk/src/mgmt_asso_req_cpp.cpp
frame_injection_g/trunk/src/mgmt_asso_res_cpp.cpp
Modified: frame_injection_g/trunk/src/injection_main_cpp.cpp
===================================================================
--- frame_injection_g/trunk/src/injection_main_cpp.cpp 2010-03-19 15:41:52 UTC (rev 244)
+++ frame_injection_g/trunk/src/injection_main_cpp.cpp 2010-03-20 06:22:46 UTC (rev 245)
@@ -101,8 +101,9 @@
combobox_channel->setCurrentItem(0);
combobox_bandwidth->setCurrentItem(0);
combobox_datarate->setCurrentItem(0);
- lineedit_frame_interval->setText("10000");
- lineedit_no_frames->setText("10");
+ lineedit_interface->setText("");
+ lineedit_frame_interval->setText("");
+ lineedit_no_frames->setText("");
}
/*Event invoked after pressing NEXT push button */
Modified: frame_injection_g/trunk/src/mac_80211.h
===================================================================
--- frame_injection_g/trunk/src/mac_80211.h 2010-03-19 15:41:52 UTC (rev 244)
+++ frame_injection_g/trunk/src/mac_80211.h 2010-03-20 06:22:46 UTC (rev 245)
@@ -22,6 +22,8 @@
#include <stdint.h>
#define MAC_ADDRESS_LEN 6
+#define MAX_LISTEN_INTERVAL 2000
+#define MAX_AID 2008
/**
@author root <ro...@lo...>
*/
Modified: frame_injection_g/trunk/src/mgmt_asso_req_cpp.cpp
===================================================================
--- frame_injection_g/trunk/src/mgmt_asso_req_cpp.cpp 2010-03-19 15:41:52 UTC (rev 244)
+++ frame_injection_g/trunk/src/mgmt_asso_req_cpp.cpp 2010-03-20 06:22:46 UTC (rev 245)
@@ -36,8 +36,8 @@
uint16_t global_assoreq_flag = 0;
char default_assoc_req[] = "default_AssocReq";
-//uint8_t msg[300];
+
mgmt_asso_req_cpp::mgmt_asso_req_cpp (QWidget* parent, const char* name, WFlags fl)
: inj_mgmt_association_form (parent, name, fl)
{
@@ -58,7 +58,7 @@
while (fscanf (file1, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", &frame1[0], &frame2[0], &frame3[0], &frame4[0], &frame5[0], &frame6[0], &frame7[0], &frame8[0], &frame9[0], &frame10[0], &frame11[0], &frame12[0], &frame13[0], &frame14[0], &frame15[0], &frame16[0], &nav[0], &add1_1[0], &add1_2[0], &add1_3[0], &add1_4[0], &add1_5[0], &add1_6[0], &add2_1[0], &add2_2[0], &add2_3[0], &add2_4[0], &add2_5[0], &add2_6[0], &add3_1[0], &add3_2[0], &add3_3[0], &add3_4[0], &add3_5[0], &add3_6[0], &fragno[0], &seqno[0], &capinfo1[0], &capinfo2[0], &capinfo3[0], &capinfo4[0], &capinfo5[0], &capinfo6[0], &capinfo7[0], &capinfo8[0], &capinfo9[0], &capinfo10[0], &capinfo11[0], &capinfo12[0], &capinfo13[0], &capinfo14[0], &capinfo15[0], &capinfo16[0], &listenint[0], &ssid[0], &srate1[0], &srate2[0], &srate3[0], &srate4[0], &srate5[0], &srate6[0], &srate7[0], &srate8[0], &esrate1[0], &esrate2[0], &esrate3[0], &esrate4[0], &mand1[0], &mand2[0], &mand3[0], &mand4[0], &mand5[0], &mand6[0], &mand7[0], &mand8[0], &mand9[0], &mand10[0], &mand11[0], &mand12[0]) != EOF)
{
- /* Loading Frame Header details */
+ /* Set Frame control field details */
lineedit_frame_1->setText (frame1);
lineedit_frame_2->setText (frame2);
@@ -77,10 +77,10 @@
lineedit_frame_15->setText (frame15);
lineedit_frame_16->setText (frame16);
- /* Loading NAV Values */
+ /* Set NAV Value */
lineedit_NAV->setText (nav);
- /* Loading Address Values */
+ /* Set Receiver Address */
lineedit_address1_1->setText (add1_1);
lineedit_address1_2->setText (add1_2);
lineedit_address1_3->setText (add1_3);
@@ -88,6 +88,7 @@
lineedit_address1_5->setText (add1_5);
lineedit_address1_6->setText (add1_6);
+ /* Set Transmitter Address */
lineedit_address2_1->setText (add2_1);
lineedit_address2_2->setText (add2_2);
lineedit_address2_3->setText (add2_3);
@@ -95,6 +96,7 @@
lineedit_address2_5->setText (add2_5);
lineedit_address2_6->setText (add2_6);
+ /* Set BSSID Address */
lineedit_address3_1->setText (add3_1);
lineedit_address3_2->setText (add3_2);
lineedit_address3_3->setText (add3_3);
@@ -102,10 +104,11 @@
lineedit_address3_5->setText (add3_5);
lineedit_address3_6->setText (add3_6);
- /* Loading fragment number, sequence number and Capability information elements */
+ /* Set Sequence number */
lineedit_frag_no->setText (fragno);
lineedit_seq_no->setText (seqno);
+ /* Set Capability Information */
lineedit_cap_info_1->setText (capinfo1);
lineedit_cap_info_2->setText (capinfo2);
lineedit_cap_info_3->setText (capinfo3);
@@ -124,7 +127,7 @@
lineedit_cap_info_15->setText (capinfo15);
lineedit_cap_info_16->setText (capinfo16);
- /* Loading listen intervals and ssid */
+ /* Set listen interval and SSID */
lineedit_listen_interval->setText (listenint);
lineedit_ssid->setText (ssid);
@@ -192,7 +195,7 @@
else
checkbox_esrate_4->setChecked (0);
- /* Loading mandatory rates */
+ /* Set mandatory rates */
if (atoi (mand1))
checkbox_mand_1->setChecked (1);
@@ -340,6 +343,7 @@
lineedit_address3_4->setValidator (&v);
lineedit_address3_5->setValidator (&v);
lineedit_address3_6->setValidator (&v);
+
// address fields values to local variable
QString add1_1 = lineedit_address1_1->text();
QString add1_2 = lineedit_address1_2->text();
@@ -391,15 +395,14 @@
if (lineedit_address1_1->text() != "" && lineedit_address1_2->text() != "" && lineedit_address1_3->text() != "" && lineedit_address1_4->text() != "" && lineedit_address1_5->text() != "" && lineedit_address1_6->text() != "" && lineedit_address2_1->text() != "" && lineedit_address2_2->text() != "" && lineedit_address2_3->text() != "" && lineedit_address2_4->text() != "" && lineedit_address2_5->text() != "" && lineedit_address2_6->text() != "" && lineedit_address3_1->text() != "" && lineedit_address3_2->text() != "" && lineedit_address3_3->text() != "" && lineedit_address3_4->text() != "" && lineedit_address3_5->text() != "" && lineedit_address3_6->text() != "")
{
// inializing lineedit values to local variables
- uint16_t duration_id = lineedit_NAV->text().toInt();
+ uint16_t dur_int = lineedit_NAV->text().toInt();
uint16_t frag_no = lineedit_frag_no->text().toInt();
uint16_t seq_no = lineedit_seq_no->text().toInt();
uint16_t listen_intrvl_int = lineedit_listen_interval->text().toInt();
- /* validating lineedit values */
- /* validating NAV */
+ /* validating other fields */
- if (duration_id < 65535 && lineedit_NAV->text() != "")
+ if (dur_int < 65535 && lineedit_NAV->text() != "")
{
if (frag_no < 16 && lineedit_frag_no->text() != "")
{
@@ -424,10 +427,9 @@
lineedit_cap_info_16->text().toInt() <= 1 && lineedit_cap_info_16->text() != "")
{
/* validating Listen Interval field */
- if (lineedit_listen_interval->text() != "" && listen_intrvl_int > 0 && listen_intrvl_int < 2001)
+ if (lineedit_listen_interval->text() != "" && listen_intrvl_int > 0 && listen_intrvl_int < MAX_LISTEN_INTERVAL)
{
- uint8_t frame_ctrl[2], duration_char[2], listen_intrvl_char[2];
- uint8_t addr1[6], addr2[6], addr3[6];
+ uint8_t frame_ctrl[2], duration_char[2], listen_intrvl_char[2], addr1[6], addr2[6], addr3[6];
/* Form Frame control */
frame_ctrl[0] = mac.bits_to_byte (lineedit_frame_1->text(), lineedit_frame_2->text(), lineedit_frame_3->text(), lineedit_frame_4->text(), lineedit_frame_5->text(), lineedit_frame_6->text(), lineedit_frame_7->text(), lineedit_frame_8->text());
@@ -438,7 +440,7 @@
uint16_t i;
for (i = 0;i < 2;i++)
- duration_char[i] = * ( ( (char*) & duration_id) + i);
+ duration_char[i] = * ( ( (char*) & dur_int) + i);
/* adress fields initializing to local variable */
addr1[0] = (unsigned char) lineedit_address1_1->text().toInt (&ok , 16);
@@ -478,93 +480,91 @@
/* Listen Interval operation */
for (i = 0;i < 2;i++)
- listen_intrvl_char[i] = * ( ( (char*) & listen_intrvl_int) + i);
+ listen_intrvl_char[i] = * ( ( (unsigned char*) & listen_intrvl_int) + i);
- /* SSID operation */
uint8_t ssid_len = lineedit_ssid->text().length();
const char *str_ascii = lineedit_ssid->text();
- uint8_t element_id = 0X00;
+ uint8_t element_id = 0X00, srate_len = 0;
+ /* @srate : Maximum 8 data rates can be stored in suported rate. Remaining rates stored in extended supported rate. */
+ uint8_t index = 0, srate[8], srate_id = 0X01, hexrate;
- /* suported rate , Extended supported rate operation */
- uint8_t index = 0, tmp_val_char[10], srate_eleid = 0X01, hexrate;
-
if (checkbox_srate_1->isChecked() == 1)
{
hexrate = mac.map_rate (1, checkbox_mand_1->isChecked());
- tmp_val_char[index++] = * ( ( (char*) & hexrate) + 0);
+ srate[index++] = * ( ( (unsigned char*) & hexrate) + 0);
}
if (checkbox_srate_2->isChecked() == 1)
{
hexrate = mac.map_rate (2, checkbox_mand_2->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_3->isChecked() == 1)
{
hexrate = mac.map_rate (5.5, checkbox_mand_3->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_4->isChecked() == 1)
{
hexrate = mac.map_rate (11, checkbox_mand_4->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_5->isChecked() == 1)
{
hexrate = mac.map_rate (6, checkbox_mand_5->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_6->isChecked() == 1)
{
hexrate = mac.map_rate (9, checkbox_mand_6->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_7->isChecked() == 1)
{
hexrate = mac.map_rate (12, checkbox_mand_7->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_srate_8->isChecked() == 1)
{
hexrate = mac.map_rate (18, checkbox_mand_8->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (unsigned char*) & hexrate) ;
}
+ srate_len = index;
+ /*@erate: IEEE 802.11-2007 defines 12 data rates.
+ 8 as supported rate and 4 as extended suported rate */
+ uint8_t index1 = 0, erate[4], erate_id = 0X32, erate_len =0;
- uint8_t len_srate_arr = index;
- uint8_t index1 = 0, tmp_val_esrchar[4], esrate_eleid = 0X32;
-
if (checkbox_esrate_1->isChecked() == 1)
{
hexrate = mac.map_rate (24, checkbox_mand_9->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate);
+ erate[index1++] = * ( (unsigned char*) & hexrate);
}
if (checkbox_esrate_2->isChecked() == 1)
{
hexrate = mac.map_rate (36, checkbox_mand_10->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate) ;
+ erate[index1++] = * ( (unsigned char*) & hexrate) ;
}
if (checkbox_esrate_3->isChecked() == 1)
{
hexrate = mac.map_rate (48, checkbox_mand_11->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate);
+ erate[index1++] = * ( (unsigned char*) & hexrate);
}
if (checkbox_esrate_4->isChecked() == 1)
{
hexrate = mac.map_rate (54, checkbox_mand_12->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate);
+ erate[index1++] = * ( (unsigned char*) & hexrate);
}
+ erate_len = index1;
- uint8_t len_esrate_arr = index1;
-
// copy frame control field
memcpy (frame, &frame_ctrl, sizeof(frame_ctrl));
frame += sizeof(frame_ctrl);
@@ -593,7 +593,6 @@
// append SSID
*frame++ = element_id;
*frame++ = ssid_len;
-
if (ssid_len != 0)
{
memcpy (frame, str_ascii, ssid_len);
@@ -601,21 +600,21 @@
}
// Append supported rates
- if (len_srate_arr > 0)
+ if (srate_len > 0)
{
- *frame++ = srate_eleid;
- *frame++ = len_srate_arr;
- memcpy (frame, &tmp_val_char, len_srate_arr);
- frame += len_srate_arr;
+ *frame++ = srate_id;
+ *frame++ = srate_len;
+ memcpy (frame, &srate, srate_len);
+ frame += srate_len;
}
// append extended support rates
- if (len_esrate_arr > 0)
+ if (erate_len > 0)
{
- *frame++ = esrate_eleid;
- *frame++ = len_esrate_arr;
- memcpy (frame, &tmp_val_esrchar, len_esrate_arr);
- frame += len_esrate_arr;
+ *frame++ = erate_id;
+ *frame++ = erate_len;
+ memcpy (frame, &erate, erate_len);
+ frame += erate_len;
}
int frame_len = frame - &msg[0];
@@ -829,7 +828,6 @@
}
QString str_frm1 = lineedit_frame_1->text();
-
QString str_frm2 = lineedit_frame_2->text();
QString str_frm3 = lineedit_frame_3->text();
QString str_frm4 = lineedit_frame_4->text();
Modified: frame_injection_g/trunk/src/mgmt_asso_res_cpp.cpp
===================================================================
--- frame_injection_g/trunk/src/mgmt_asso_res_cpp.cpp 2010-03-19 15:41:52 UTC (rev 244)
+++ frame_injection_g/trunk/src/mgmt_asso_res_cpp.cpp 2010-03-20 06:22:46 UTC (rev 245)
@@ -58,7 +58,7 @@
while (fscanf (file1, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", &frame1[0], &frame2[0], &frame3[0], &frame4[0], &frame5[0], &frame6[0], &frame7[0], &frame8[0], &frame9[0], &frame10[0], &frame11[0], &frame12[0], &frame13[0], &frame14[0], &frame15[0], &frame16[0], &nav[0], &add1_1[0], &add1_2[0], &add1_3[0], &add1_4[0], &add1_5[0], &add1_6[0], &add2_1[0], &add2_2[0], &add2_3[0], &add2_4[0], &add2_5[0], &add2_6[0], &add3_1[0], &add3_2[0], &add3_3[0], &add3_4[0], &add3_5[0], &add3_6[0], &fragno[0], &seqno[0], &capinfo1[0], &capinfo2[0], &capinfo3[0], &capinfo4[0], &capinfo5[0], &capinfo6[0], &capinfo7[0], &capinfo8[0], &capinfo9[0], &capinfo10[0], &capinfo11[0], &capinfo12[0], &capinfo13[0], &capinfo14[0], &capinfo15[0], &capinfo16[0], &statuscode, &associd[0], &stat_code[0], &srate1[0], &srate2[0], &srate3[0], &srate4[0], &srate5[0], &srate6[0], &srate7[0], &srate8[0], &esrate1[0], &esrate2[0], &esrate3[0], &esrate4[0], &mand1[0], &mand2[0], &mand3[0], &mand4[0], &mand5[0], &mand6[0], &mand7[0], &mand8[0], &mand9[0], &mand10[0], &mand11[0], &mand12[0]) != EOF)
{
- /* Loading Frame Header details */
+ /* Set Frame control field details */
lineedit_frame_1->setText (frame1);
lineedit_frame_2->setText (frame2);
@@ -77,10 +77,10 @@
lineedit_frame_15->setText (frame15);
lineedit_frame_16->setText (frame16);
- /* Loading NAV Values */
+ /* Set NAV Value */
lineedit_NAV->setText (nav);
- /* Loading Address Values */
+ /* Set Addresses */
lineedit_address1_1->setText (add1_1);
lineedit_address1_2->setText (add1_2);
lineedit_address1_3->setText (add1_3);
@@ -102,7 +102,7 @@
lineedit_address3_5->setText (add3_5);
lineedit_address3_6->setText (add3_6);
- /* Loading fragment number, sequence number and Capability information elements */
+ /* Set fragment number, sequence number and Capability information elements */
lineedit_frag_no->setText (fragno);
lineedit_seq_no->setText (seqno);
@@ -294,7 +294,6 @@
}
/* Saving sent frames as a testid for re-use */
-
void mgmt_asso_res_cpp::asso_res_save_click()
{
if (lineedit_testid->text() != "")
@@ -390,12 +389,12 @@
/* inializing lineedit values to local variables */
uint16_t frag_no = lineedit_frag_no->text().toInt();
uint16_t seq_no = lineedit_seq_no->text().toInt();
- uint16_t duration_id = lineedit_NAV->text().toInt();
+ uint16_t dur_int = lineedit_NAV->text().toInt();
uint16_t aid_int = lineedit_assoc_id->text().toInt();
- /* validating lineedit values */
- /* validating NAV */
- if (duration_id < 65535 && lineedit_NAV->text() != "")
+ /* validating other fields */
+
+ if (dur_int < 65535 && lineedit_NAV->text() != "")
{
/* validating fragmentation number */
if (frag_no < 16 && lineedit_frag_no->text() != "")
@@ -420,11 +419,10 @@
lineedit_cap_info_16->text().toInt() <= 1 && lineedit_cap_info_16->text() != "")
{
/*validating asso_id field */
- if (aid_int < 2008 && lineedit_assoc_id->text() != "")
+ if (aid_int < MAX_AID && lineedit_assoc_id->text() != "")
{
uint16_t status_code = lineedit_status_code->text().toInt(), i;
- uint8_t frame_ctrl[2], duration_char[2], aid_char[2];
- uint8_t addr1[6], addr2[6], addr3[6];
+ uint8_t frame_ctrl[2], duration_char[2], aid_char[2], addr1[6], addr2[6], addr3[6];
/* Form Frame control */
frame_ctrl[0] = mac.bits_to_byte (lineedit_frame_1->text(), lineedit_frame_2->text(), lineedit_frame_3->text(), lineedit_frame_4->text(), lineedit_frame_5->text(), lineedit_frame_6->text(), lineedit_frame_7->text(), lineedit_frame_8->text());
@@ -433,7 +431,7 @@
frame_ctrl[1] = mac.bits_to_byte (lineedit_frame_9->text(), lineedit_frame_10->text(), lineedit_frame_11->text(), lineedit_frame_12->text(), lineedit_frame_13->text(), lineedit_frame_14->text(), lineedit_frame_15->text(), lineedit_frame_16->text());
for (i = 0;i < 2;i++)
- duration_char[i] = * ( ( (char*) & duration_id) + i);
+ duration_char[i] = * ( ( (char*) & dur_int) + i);
/* adress fields initializing to local variable */
addr1[0] = (unsigned char) lineedit_address1_1->text().toInt (&ok , 16);
@@ -464,7 +462,7 @@
seq_ctrl_int = seq_ctrl_int | frag_no;
for (i = 0;i < 2;i++)
- seq_ctrl_char[i] = * ( ( (char*) & seq_ctrl_int) + i);
+ seq_ctrl_char[i] = * ( ( (unsigned char*) & seq_ctrl_int) + i);
/* Formatting Capability information */
uint8_t cap_info[2];
@@ -473,147 +471,126 @@
cap_info[1] = mac.bits_to_byte (lineedit_cap_info_9->text(), lineedit_cap_info_10->text(), lineedit_cap_info_11->text(), lineedit_cap_info_12->text(), lineedit_cap_info_13->text(), lineedit_cap_info_14->text(), lineedit_cap_info_15->text(), lineedit_cap_info_16->text());
for (i = 0;i < 2;i++)
- aid_char[i] = * ( ( (char*) & aid_int) + i);
+ aid_char[i] = * ( ( (unsigned char*) & aid_int) + i);
/* Status code formatting*/
uint8_t status_code_char[2];
- uint16_t temp_status_code = mac.get_status_code (combobox_status_code->currentItem(), status_code);
+ status_code = mac.get_status_code (combobox_status_code->currentItem(), status_code);
for (i = 0;i < 2;i++)
- status_code_char[i] = * ( ( (char*) & temp_status_code) + i);
+ status_code_char[i] = * ( ( (unsigned char*) & status_code) + i);
- /* typecasting suported rate , Extended supported rate */
+ /* Supported rate , Extended supported rate */
uint16_t index = 0, index1 = 0;
- uint8_t tmp_val_char[10], tmp_val_esrchar[4], hexrate;
+ uint8_t srate[8], erate[4], srate_len = 0, srate_id = 0X01, hexrate;
if (checkbox_srate_1->isChecked() == 1)
{
hexrate = mac.map_rate (1, checkbox_mand_1->isChecked());
- tmp_val_char[index++] = * ( ( (char*) & hexrate) + 0);
+ srate[index++] = * ( ( (char*) & hexrate) + 0);
}
if (checkbox_srate_2->isChecked() == 1)
{
hexrate = mac.map_rate (2, checkbox_mand_2->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_3->isChecked() == 1)
{
hexrate = mac.map_rate (5.5, checkbox_mand_3->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_4->isChecked() == 1)
{
hexrate = mac.map_rate (11, checkbox_mand_4->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_5->isChecked() == 1)
{
hexrate = mac.map_rate (6, checkbox_mand_5->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_6->isChecked() == 1)
{
hexrate = mac.map_rate (9, checkbox_mand_6->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_7->isChecked() == 1)
{
hexrate = mac.map_rate (12, checkbox_mand_7->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
if (checkbox_srate_8->isChecked() == 1)
{
hexrate = mac.map_rate (18, checkbox_mand_8->isChecked());
- tmp_val_char[index++] = * ( (char*) & hexrate) ;
+ srate[index++] = * ( (char*) & hexrate) ;
}
+ srate_len = index;
- uint16_t len_srate_arr = index;
- uint8_t srate_eleid = 0X01;
-
if (checkbox_esrate_1->isChecked() == 1)
{
hexrate = mac.map_rate (24, checkbox_mand_9->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate) ;
+ erate[index1++] = * ( (char*) & hexrate) ;
}
if (checkbox_esrate_2->isChecked() == 1)
{
hexrate = mac.map_rate (36, checkbox_mand_10->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate) ;
+ erate[index1++] = * ( (char*) & hexrate) ;
}
if (checkbox_esrate_3->isChecked() == 1)
{
hexrate = mac.map_rate (48, checkbox_mand_11->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate) ;
+ erate[index1++] = * ( (char*) & hexrate) ;
}
if (checkbox_esrate_4->isChecked() == 1)
{
hexrate = mac.map_rate (54, checkbox_mand_12->isChecked());
- tmp_val_esrchar[index1++] = * ( (char*) & hexrate) ;
+ erate[index1++] = * ( (char*) & hexrate) ;
}
- uint16_t len_esrate_arr = index1;
- uint8_t esrate_eleid = 0X32;
+ uint16_t erate_len = index1;
+ uint8_t erate_id = 0X32;
+ memcpy (frame, &frame_ctrl, sizeof(frame_ctrl));
+ frame += sizeof(frame_ctrl);
- memcpy (frame, &frame_ctrl, 2);
- frame += 2;
+ memcpy (frame, &duration_char, sizeof(duration_char));
+ frame += sizeof(duration_char);
- memcpy (frame, &duration_char, 2);
- frame += 2;
+ memcpy (frame, &addr1, MAC_ADDRESS_LEN);
+ frame += MAC_ADDRESS_LEN;
- memcpy (frame, &addr1, 6);
- frame += 6;
+ memcpy (frame, &addr2, MAC_ADDRESS_LEN);
+ frame += MAC_ADDRESS_LEN;
- memcpy (frame, &addr2, 6);
- frame += 6;
+ memcpy (frame, &addr3, MAC_ADDRESS_LEN);
+ frame += MAC_ADDRESS_LEN;
- memcpy (frame, &addr3, 6);
- frame += 6;
+ memcpy (frame, &seq_ctrl_char, sizeof(seq_ctrl_char));
+ frame += sizeof(seq_ctrl_char);
- memcpy (frame, &seq_ctrl_char, 2);
- frame += 2;
+ memcpy (frame, &cap_info, sizeof(cap_info));
+ frame += sizeof(cap_info);
- memcpy (frame, &cap_info, 2);
- frame += 2;
+ memcpy (frame, &status_code_char, sizeof(status_code_char));
+ frame += sizeof (status_code_char);
- memcpy (frame, &status_code_char, 2);
- frame += 2;
+ memcpy (frame, &aid_char, sizeof (aid_char));
+ frame += sizeof (aid_char);
- memcpy (frame, &aid_char, 2);
- frame += 2;
-
/* appending supported rate and extended supported rate to array */
- if (checkbox_srate_1->isChecked() == 0 &&
- checkbox_srate_2->isChecked() == 0 &&
- checkbox_srate_3->isChecked() == 0 &&
- checkbox_srate_4->isChecked() == 0 &&
- checkbox_srate_5->isChecked() == 0 &&
- checkbox_srate_6->isChecked() == 0 &&
- checkbox_srate_7->isChecked() == 0 &&
- checkbox_srate_8->isChecked() == 0)
+ if (srate_len > 0)
{
-
+ *frame++ = srate_id;
+ *frame++ = srate_len;
+ memcpy (frame, &srate, srate_len);
+ frame += srate_len;
}
- else
- {
- *frame++ = srate_eleid;
- *frame++ = len_srate_arr;
- memcpy (frame, &tmp_val_char, len_srate_arr);
- frame += len_srate_arr;
- }
- if (checkbox_esrate_1->isChecked() == 0 &&
- checkbox_esrate_2->isChecked() == 0 &&
- checkbox_esrate_3->isChecked() == 0 &&
- checkbox_esrate_4->isChecked() == 0)
+ if (erate_len > 0)
{
-
+ *frame++ = erate_id;
+ *frame++ = erate_len;
+ memcpy (frame, &erate, erate_len);
+ frame += erate_len;
}
- else
- {
- *frame++ = esrate_eleid;
- *frame++ = len_esrate_arr;
- memcpy (frame, &tmp_val_esrchar, len_esrate_arr);
- frame += len_esrate_arr;
- }
int frame_len = frame - &msg[0];
if (lineedit_status_code->isEnabled() == 1)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|