summaryrefslogtreecommitdiff
path: root/libopie2/opienet/opcap.h
Side-by-side diff
Diffstat (limited to 'libopie2/opienet/opcap.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opienet/opcap.h52
1 files changed, 51 insertions, 1 deletions
diff --git a/libopie2/opienet/opcap.h b/libopie2/opienet/opcap.h
index b873b49..dc609a3 100644
--- a/libopie2/opienet/opcap.h
+++ b/libopie2/opienet/opcap.h
@@ -61,14 +61,16 @@ extern "C" // work around a bpf/pcap conflict in recent headers
/* TYPEDEFS */
typedef struct timeval timevalstruct;
typedef struct pcap_pkthdr packetheaderstruct;
/* FORWARDS */
-class OPacketCapturer;
class QSocketNotifier;
+namespace Opie {
+namespace Net {
+class OPacketCapturer;
/*======================================================================================
* OPacket - A frame on the wire
*======================================================================================*/
/** @brief A class representing a data frame on the wire.
@@ -138,12 +140,15 @@ class OPacket : public QObject
QString _dumpStructure( QObjectList* ) const;
private:
const packetheaderstruct _hdr; // pcap packet header
const unsigned char* _data; // pcap packet data
const unsigned char* _end; // end of pcap packet data
+ private:
+ class Private;
+ Private *d;
};
QTextStream& operator<<( QTextStream& s, const OPacket& p );
/*======================================================================================
* OEthernetPacket - DLT_EN10MB frame
@@ -160,12 +165,15 @@ class OEthernetPacket : public QObject
OMacAddress sourceAddress() const;
OMacAddress destinationAddress() const;
int type() const;
private:
const struct ether_header* _ether;
+ private:
+ class Private;
+ Private *d;
};
/*======================================================================================
* OPrismHeaderPacket - DLT_PRISM_HEADER frame
*======================================================================================*/
@@ -178,12 +186,14 @@ class OPrismHeaderPacket : public QObject
virtual ~OPrismHeaderPacket();
unsigned int signalStrength() const;
private:
const struct prism_hdr* _header;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanPacket - DLT_IEEE802_11 frame
*======================================================================================*/
@@ -207,12 +217,14 @@ class OWaveLanPacket : public QObject
int subType() const;
int version() const;
bool usesWep() const;
private:
const struct ieee_802_11_header* _wlanhdr;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementPacket - type: management (T_MGMT)
*======================================================================================*/
@@ -236,12 +248,14 @@ class OWaveLanManagementPacket : public QObject
bool canCFP_REQ() const;
bool canPrivacy() const;
private:
const struct ieee_802_11_mgmt_header* _header;
const struct ieee_802_11_mgmt_body* _body;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementSSID
*======================================================================================*/
@@ -255,12 +269,14 @@ class OWaveLanManagementSSID : public QObject
virtual ~OWaveLanManagementSSID();
QString ID( bool decloak = false ) const;
private:
const struct ssid_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementRates
*======================================================================================*/
@@ -271,12 +287,14 @@ class OWaveLanManagementRates : public QObject
public:
OWaveLanManagementRates( const unsigned char*, const struct rates_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementRates();
private:
const struct rates_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementCF
*======================================================================================*/
@@ -287,12 +305,14 @@ class OWaveLanManagementCF : public QObject
public:
OWaveLanManagementCF( const unsigned char*, const struct cf_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementCF();
private:
const struct cf_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementFH
*======================================================================================*/
@@ -303,12 +323,14 @@ class OWaveLanManagementFH : public QObject
public:
OWaveLanManagementFH( const unsigned char*, const struct fh_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementFH();
private:
const struct fh_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementDS
*======================================================================================*/
@@ -321,12 +343,14 @@ class OWaveLanManagementDS : public QObject
virtual ~OWaveLanManagementDS();
int channel() const;
private:
const struct ds_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementTim
*======================================================================================*/
@@ -337,12 +361,14 @@ class OWaveLanManagementTim : public QObject
public:
OWaveLanManagementTim( const unsigned char*, const struct tim_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementTim();
private:
const struct tim_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementIBSS
*======================================================================================*/
@@ -353,12 +379,14 @@ class OWaveLanManagementIBSS : public QObject
public:
OWaveLanManagementIBSS( const unsigned char*, const struct ibss_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementIBSS();
private:
const struct ibss_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanManagementChallenge
*======================================================================================*/
@@ -369,12 +397,14 @@ class OWaveLanManagementChallenge : public QObject
public:
OWaveLanManagementChallenge( const unsigned char*, const struct challenge_t*, QObject* parent = 0 );
virtual ~OWaveLanManagementChallenge();
private:
const struct challenge_t* _data;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanDataPacket - type: data (T_DATA)
*======================================================================================*/
@@ -385,12 +415,14 @@ class OWaveLanDataPacket : public QObject
public:
OWaveLanDataPacket( const unsigned char*, const struct ieee_802_11_data_header*, OWaveLanPacket* parent = 0 );
virtual ~OWaveLanDataPacket();
private:
const struct ieee_802_11_data_header* _header;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OWaveLanControlPacket - type: control (T_CTRL)
*======================================================================================*/
@@ -403,12 +435,14 @@ class OWaveLanControlPacket : public QObject
virtual ~OWaveLanControlPacket();
QString controlType() const;
private:
const struct ieee_802_11_control_header* _header;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OLLCPacket - IEEE 802.2 Link Level Control
*======================================================================================*/
@@ -419,12 +453,14 @@ class OLLCPacket : public QObject
public:
OLLCPacket( const unsigned char*, const struct ieee_802_11_802_2_header* data, QObject* parent = 0 );
virtual ~OLLCPacket();
private:
const struct ieee_802_11_802_2_header* _header;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OIPPacket
*======================================================================================*/
@@ -446,12 +482,14 @@ class OIPPacket : public QObject
int ttl() const;
int protocol() const;
int checksum() const;
private:
const struct iphdr* _iphdr;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OARPPacket
*======================================================================================*/
@@ -470,12 +508,14 @@ class OARPPacket : public QObject
//int type() const;
QString type() const;
private:
const struct myarphdr* _arphdr;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OUDPPacket
*======================================================================================*/
@@ -491,12 +531,14 @@ class OUDPPacket : public QObject
int toPort() const;
int length() const;
int checksum() const;
private:
const struct udphdr* _udphdr;
+ class Private;
+ Private *d;
};
/*======================================================================================
* ODHCPPacket
*======================================================================================*/
@@ -519,12 +561,14 @@ class ODHCPPacket : public QObject
bool isReply() const;
QString type() const;
private:
const struct dhcp_packet* _dhcphdr;
unsigned char _type;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OTCPPacket
*======================================================================================*/
@@ -542,12 +586,14 @@ class OTCPPacket : public QObject
int ack() const;
int window() const;
int checksum() const;
private:
const struct tcphdr* _tcphdr;
+ class Private;
+ Private *d;
};
/*======================================================================================
* OPacketCapturer
*======================================================================================*/
@@ -662,10 +708,14 @@ class OPacketCapturer : public QObject
bool _open; // check this before doing pcap calls
pcap_t* _pch; // pcap library handle
pcap_dumper_t* _pcd; // pcap dumper handle
QSocketNotifier* _sn; // socket notifier for main loop
mutable char _errbuf[PCAP_ERRBUF_SIZE]; // holds error strings from libpcap
QMap<QString, int> _stats; // statistics;
+ class Private; // Private Forward declaration
+ Private *d; // if we need to add data
};
+}
+}
#endif // OPCAP_H