From f8ae79bdfd193320a1db1ff3ead82c5e19d5d4e6 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 11 Dec 2011 15:10:48 +0000 Subject: -careful WLAN code cleanup --- src/transport/plugin_transport_wlan.h | 146 +++++++--------------------------- 1 file changed, 30 insertions(+), 116 deletions(-) (limited to 'src/transport/plugin_transport_wlan.h') 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 -- cgit v1.2.3