summaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_wlan.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-12-11 15:10:48 +0000
committerChristian Grothoff <christian@grothoff.org>2011-12-11 15:10:48 +0000
commitf8ae79bdfd193320a1db1ff3ead82c5e19d5d4e6 (patch)
tree12acf2d9d90bc5c855b7ad0ef901e1dc44a91808 /src/transport/plugin_transport_wlan.h
parentcea4dcd2549e3cec42c57e741f650578e7a039c9 (diff)
-careful WLAN code cleanup
Diffstat (limited to 'src/transport/plugin_transport_wlan.h')
-rw-r--r--src/transport/plugin_transport_wlan.h146
1 files changed, 30 insertions, 116 deletions
diff --git a/src/transport/plugin_transport_wlan.h b/src/transport/plugin_transport_wlan.h
index 7f6668cd3..5a88cb836 100644
--- a/src/transport/plugin_transport_wlan.h
+++ b/src/transport/plugin_transport_wlan.h
@@ -23,7 +23,6 @@
* @brief header for transport plugin and the helper for wlan
* @author David Brodski
*/
-
#ifndef PLUGIN_TRANSPORT_WLAN
#define PLUGIN_TRANSPORT_WLAN
@@ -35,81 +34,47 @@
*/
#define MAC_ADDR_SIZE 6
+/**
+ * A MAC Address.
+ */
struct MacAddress
{
uint8_t mac[MAC_ADDR_SIZE];
};
-struct Wlan_Helper_Control_Message
-{
- struct GNUNET_MessageHeader hdr;
- struct MacAddress mac;
-};
-
/**
- * Header for messages which need fragmentation
+ * Format of a WLAN Control Message.
*/
-struct WlanHeader
+struct Wlan_Helper_Control_Message
{
-
- struct GNUNET_MessageHeader header;
-
- /**
- * checksum/error correction
- */
- uint32_t crc GNUNET_PACKED;
-
/**
- * To whom are we talking to (set to our identity
- * if we are still waiting for the welcome message)
+ * Message header. FIXME: type?
*/
- struct GNUNET_PeerIdentity target;
+ struct GNUNET_MessageHeader hdr;
/**
- * Where the packet came from
+ * MAC Address. FIXME: of what?
*/
- struct GNUNET_PeerIdentity source;
-
-// followed by payload
-
+ struct MacAddress mac;
};
-/* Wlan IEEE80211 header default */
-//Informations (in German) http://www.umtslink.at/content/WLAN_macheader-196.html
-static const uint8_t u8aIeeeHeader[] = { 0x08, 0x01, // Frame Control 0x08= 00001000 -> | b1,2 = 0 -> Version 0;
- // b3,4 = 10 -> Data; b5-8 = 0 -> Normal Data
- // 0x01 = 00000001 -> | b1 = 1 to DS; b2 = 0 not from DS;
- 0x00, 0x00, // Duration/ID
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // mac1 - in this case receiver
- 0x13, 0x22, 0x33, 0x44, 0x55, 0x66, // mac2 - in this case sender
- 0x13, 0x22, 0x33, 0x44, 0x55, 0x66, // mac3 - in this case bssid
- 0x10, 0x86, //Sequence Control
-};
-// gnunet bssid
+/**
+ * GNUnet bssid
+ */
static const struct MacAddress mac_bssid = {
{0x13, 0x22, 0x33, 0x44, 0x55, 0x66}
};
-// broadcast mac
+
+/**
+ * Broadcast MAC
+ */
static const struct MacAddress bc_all_mac = {
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
};
-/* this is the template radiotap header we send packets out with */
-
-static const uint8_t u8aRadiotapHeader[] = { 0x00, 0x00, // <-- radiotap version
- 0x19, 0x00, // <- radiotap header length
- 0x6f, 0x08, 0x00, 0x00, // <-- bitmap
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // <-- timestamp
- 0x00, // <-- flags (Offset +0x10)
- 0x6c, // <-- rate (0ffset +0x11)
- 0x71, 0x09, 0xc0, 0x00, // <-- channel
- 0xde, // <-- antsignal
- 0x00, // <-- antnoise
- 0x01, // <-- antenna
-};
struct Radiotap_Send
{
@@ -119,7 +84,7 @@ struct Radiotap_Send
uint8_t rate;
/**
- * antenna
+ * Antenna; the first antenna is 0.
*/
uint8_t antenna;
@@ -127,111 +92,60 @@ struct Radiotap_Send
* Transmit power expressed as unitless distance from max power set at factory calibration.
* 0 is max power. Monotonically nondecreasing with lower power levels.
*/
-
uint16_t tx_power;
};
-// bit field defines for ri_present
-
-#define has_noise 1
-#define has_power 2
-#define has_channel 4
/**
* struct to represent infos gathered form the radiotap fields, see RadiotapHeader for more Infos
*/
-
struct Radiotap_rx
{
+ /**
+ * FIXME: not initialized properly so far. (supposed to contain
+ * information about which of the fields below are actually valid).
+ */
uint32_t ri_present;
+
/**
* IEEE80211_RADIOTAP_TSFT
*/
uint64_t ri_mactime;
+
/**
* from radiotap
* either IEEE80211_RADIOTAP_DBM_ANTSIGNAL
* or IEEE80211_RADIOTAP_DB_ANTSIGNAL
*/
int32_t ri_power;
+
/**
* either IEEE80211_RADIOTAP_DBM_ANTNOISE
* or IEEE80211_RADIOTAP_DB_ANTNOISE
*/
int32_t ri_noise;
+
/**
* IEEE80211_RADIOTAP_CHANNEL
*/
uint32_t ri_channel;
+ /**
+ * Frequency we use. FIXME: not properly initialized so far!
+ */
uint32_t ri_freq;
+
/**
* IEEE80211_RADIOTAP_RATE * 50000
*/
uint32_t ri_rate;
+
/**
* IEEE80211_RADIOTAP_ANTENNA
*/
uint32_t ri_antenna;
};
-/**
- * Radiotap Header
- */
-struct RadiotapHeader
-{
- /**
- * radiotap version
- */
- u_int8_t version;
-
- u_int8_t pad_version;
-
- /**
- * radiotap header length
- */
- uint16_t length GNUNET_PACKED;
-
- /**
- * bitmap, fields present
- */
- uint32_t bitmap GNUNET_PACKED;
-
- /**
- * timestamp
- */
- uint64_t timestamp GNUNET_PACKED;
-
- /**
- * radiotap flags
- */
- uint8_t flags;
- /**
- * wlan send rate
- */
- uint8_t rate;
-
- // FIXME: unaligned here, is this OK?
- /**
- * Wlan channel
- */
- uint32_t channel GNUNET_PACKED;
-
- /**
- * antsignal
- */
- uint8_t antsignal;
-
- /**
- * antnoise
- */
- uint8_t antnoise;
-
- /**
- * antenna
- */
- uint8_t antenna;
-};
#endif