[lib] Move listener code to owlps-listener.h

Move listener-specific code (Radiotap fields' definition, etc.) from
owlps.h to owlps-listener.h.
This commit is contained in:
Matteo Cypriani 2011-08-03 23:13:16 +02:00
parent 2c887899b3
commit ac3c7b4352
2 changed files with 78 additions and 81 deletions

View File

@ -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

View File

@ -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 */