From ac3c7b4352767789670c9ec7dffe963a91fb90aa Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Wed, 3 Aug 2011 23:13:16 +0200 Subject: [PATCH] [lib] Move listener code to owlps-listener.h Move listener-specific code (Radiotap fields' definition, etc.) from owlps.h to owlps-listener.h. --- libowlps/owlps.h | 81 --------------------------------- owlps-listener/owlps-listener.h | 78 +++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 81 deletions(-) diff --git a/libowlps/owlps.h b/libowlps/owlps.h index 5a5cfd5..40bd0ba 100644 --- a/libowlps/owlps.h +++ b/libowlps/owlps.h @@ -157,83 +157,6 @@ typedef struct _owl_autocalibration_order #define OWL_80211_HZ_CHANNEL_14 2477000000ul - -/* Packet header sizes (in bytes) */ -#define IEEE80211_HEADER_SIZE_DATA 24 // Header size for a Data frame -#define LLC_HEADER_SIZE 8 - -/* IEEE 802.11 frame types */ -// Beacon (TODO: convert to mask) -#define RAW_PACKET_TYPE_BEACON 0x80 - -// Data frame -#define FRAME_TYPE_DATA_MASK 0x08 -#define IS_DATA_FRAME(FC1) \ - (((FC1) & FRAME_TYPE_DATA_MASK) == FRAME_TYPE_DATA_MASK) - -// QoS Data frame -#define FRAME_SUBTYPE_QOS_MASK 0x80 -#define DATA_FRAME_IS_QOS(FC1) \ - (((FC1) & FRAME_SUBTYPE_QOS_MASK) == FRAME_SUBTYPE_QOS_MASK) - -// To/From DS -#define FRAME_FROM_STA_MASK 0x02 -#define IS_FRAME_FROM_STA(FC2) \ - (((FC2) & FRAME_FROM_STA_MASK) != FRAME_FROM_STA_MASK) - - -/* Positions of the radiotap header fixed fields (in bytes) */ -#define RTAP_P_HREVISION 0 // Header revision -#define RTAP_P_HPAD 1 // Header pad -#define RTAP_P_HLENGTH 2 // Header length -#define RTAP_P_PRESENTFLAGS 4 // Present flags - - -/* Radiotap field lengths (in bytes) */ -#define RTAP_L_HREVISION 1 // Header revision -#define RTAP_L_HPAD 1 // Header pad -#define RTAP_L_HLENGTH 2 // Header length -#define RTAP_L_PRESENTFLAGS 4 // Present flags -#define RTAP_L_MACTS 8 // MAC timestamp (Time Synchronization Function Timer) -#define RTAP_L_FLAGS 1 // autre champ de flags -#define RTAP_L_RATE 1 // Data rate -#define RTAP_L_CHANNEL 2 // Channel frequency -#define RTAP_L_CHANNELTYPE 2 // Channel type -#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal (dBm) -#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise (dBm) -#define RTAP_L_ANTENNA 1 // Antenna number -#define RTAP_L_FHSS 2 // Hop set and pattern for Frequency-Hopping Spread Spectrum -#define RTAP_L_LOCKQUALITY 2 // Signal quality -#define RTAP_L_TXATTENUATION 2 // Transmit power from max power -#define RTAP_L_TXATTENUATIONDB 2 // Idem (dB) -#define RTAP_L_TXATTENUATIONDBM 1 // Idem (dBm) -#define RTAP_L_ANTENNASIGNALDB 1 // SSI signal (dB) -#define RTAP_L_ANTENNANOISEDB 1 // SSI noise (dB) -#define RTAP_L_FCS 4 // Frame Check Sequence -//#define RTAP_L_CHANNELP // Extended channel info (not implemented) -//#define RTAP_L_EXT // Extension aux Present flags (not emplemented) - - -/* Positions in 'Present flags' (and present fields 'check' array) */ -#define RTAP_MACTS 0 -#define RTAP_FLAGS 1 -#define RTAP_RATE 2 -#define RTAP_CHANNEL 3 // and RTAP_CHANNELTYPE -#define RTAP_FHSS 4 -#define RTAP_ANTENNASIGNALDBM 5 -#define RTAP_ANTENNANOISEDBM 6 -#define RTAP_LOCKQUALITY 7 -#define RTAP_TXATTENUATION 8 -#define RTAP_TXATTENUATIONDB 9 -#define RTAP_TXATTENUATIONDBM 10 -#define RTAP_ANTENNA 11 -#define RTAP_ANTENNASIGNALDB 12 -#define RTAP_ANTENNANOISEDB 13 -#define RTAP_FCS 14 -//#define RTAP_CHANNELP 18 -//#define RTAP_EXT 31 - - /* Misc. */ // Length of a MAC address in string format (including '\0') #define OWL_ETHER_ADDR_STRLEN 18 @@ -245,10 +168,6 @@ extern owl_bool owl_run ; /* Function error codes */ -#define ERR_SETTING_MODE 101 -#define ERR_SETTING_CHANNEL 102 -#define ERR_READING_CHANNEL 103 -#define ERR_READING_MODE 104 #define ERR_BAD_SIGNAL 111 diff --git a/owlps-listener/owlps-listener.h b/owlps-listener/owlps-listener.h index 16118fe..f2559a8 100644 --- a/owlps-listener/owlps-listener.h +++ b/owlps-listener/owlps-listener.h @@ -71,11 +71,89 @@ enum {MODE_ACTIVE = 'a', MODE_PASSIVE = 'p', MODE_MIXED = 'm'} ; #define VERBOSE_CHATTERBOX GET_VERBOSE() >= 3 +/* Packet header sizes (in bytes) */ +#define IEEE80211_HEADER_SIZE_DATA 24 // Header size for a Data frame +#define LLC_HEADER_SIZE 8 + +/* IEEE 802.11 frame types */ +// Beacon (TODO: convert to mask) +#define RAW_PACKET_TYPE_BEACON 0x80 + +// Data frame +#define FRAME_TYPE_DATA_MASK 0x08 +#define IS_DATA_FRAME(FC1) \ + (((FC1) & FRAME_TYPE_DATA_MASK) == FRAME_TYPE_DATA_MASK) + +// QoS Data frame +#define FRAME_SUBTYPE_QOS_MASK 0x80 +#define DATA_FRAME_IS_QOS(FC1) \ + (((FC1) & FRAME_SUBTYPE_QOS_MASK) == FRAME_SUBTYPE_QOS_MASK) + +// To/From DS +#define FRAME_FROM_STA_MASK 0x02 +#define IS_FRAME_FROM_STA(FC2) \ + (((FC2) & FRAME_FROM_STA_MASK) != FRAME_FROM_STA_MASK) + + +/* Positions of the radiotap header fixed fields (in bytes) */ +#define RTAP_P_HREVISION 0 // Header revision +#define RTAP_P_HPAD 1 // Header pad +#define RTAP_P_HLENGTH 2 // Header length +#define RTAP_P_PRESENTFLAGS 4 // Present flags + + +/* Radiotap field lengths (in bytes) */ +#define RTAP_L_HREVISION 1 // Header revision +#define RTAP_L_HPAD 1 // Header pad +#define RTAP_L_HLENGTH 2 // Header length +#define RTAP_L_PRESENTFLAGS 4 // Present flags +#define RTAP_L_MACTS 8 // MAC timestamp (Time Synchronization Function Timer) +#define RTAP_L_FLAGS 1 // autre champ de flags +#define RTAP_L_RATE 1 // Data rate +#define RTAP_L_CHANNEL 2 // Channel frequency +#define RTAP_L_CHANNELTYPE 2 // Channel type +#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal (dBm) +#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise (dBm) +#define RTAP_L_ANTENNA 1 // Antenna number +#define RTAP_L_FHSS 2 // Hop set and pattern for Frequency-Hopping Spread Spectrum +#define RTAP_L_LOCKQUALITY 2 // Signal quality +#define RTAP_L_TXATTENUATION 2 // Transmit power from max power +#define RTAP_L_TXATTENUATIONDB 2 // Idem (dB) +#define RTAP_L_TXATTENUATIONDBM 1 // Idem (dBm) +#define RTAP_L_ANTENNASIGNALDB 1 // SSI signal (dB) +#define RTAP_L_ANTENNANOISEDB 1 // SSI noise (dB) +#define RTAP_L_FCS 4 // Frame Check Sequence +//#define RTAP_L_CHANNELP // Extended channel info (not implemented) +//#define RTAP_L_EXT // Present flags' extension (not emplemented) + + +/* Positions in 'Present flags' (and present fields 'check' array) */ +#define RTAP_MACTS 0 +#define RTAP_FLAGS 1 +#define RTAP_RATE 2 +#define RTAP_CHANNEL 3 // and RTAP_CHANNELTYPE +#define RTAP_FHSS 4 +#define RTAP_ANTENNASIGNALDBM 5 +#define RTAP_ANTENNANOISEDBM 6 +#define RTAP_LOCKQUALITY 7 +#define RTAP_TXATTENUATION 8 +#define RTAP_TXATTENUATIONDB 9 +#define RTAP_TXATTENUATIONDBM 10 +#define RTAP_ANTENNA 11 +#define RTAP_ANTENNASIGNALDB 12 +#define RTAP_ANTENNANOISEDB 13 +#define RTAP_FCS 14 +//#define RTAP_CHANNELP 18 +//#define RTAP_EXT 31 + + /* Error codes */ #define ERR_OPENING_IFACE 2 // Error when opening capture interface #define ERR_BAD_USAGE 3 // Bad program call #define ERR_PARSING_CONFIG_FILE 4 // Error reading the configuration file #define ERR_CREATING_THREAD 6 // Error creating a thread +#define ERR_SETTING_MODE 101 +#define ERR_READING_MODE 104 /* Function headers */