summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.cpp1
-rw-r--r--libopie2/opienet/onetwork.h13
2 files changed, 8 insertions, 6 deletions
diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp
index 998b50e..21fa390 100644
--- a/libopie2/opienet/onetwork.cpp
+++ b/libopie2/opienet/onetwork.cpp
@@ -31,49 +31,48 @@
31 31
32*/ 32*/
33 33
34/* OPIE */ 34/* OPIE */
35 35
36#include <opie2/onetwork.h> 36#include <opie2/onetwork.h>
37 37
38/* QT */ 38/* QT */
39 39
40#include <qfile.h> 40#include <qfile.h>
41#include <qtextstream.h> 41#include <qtextstream.h>
42 42
43/* UNIX */ 43/* UNIX */
44 44
45#include <arpa/inet.h> 45#include <arpa/inet.h>
46#include <cerrno> 46#include <cerrno>
47#include <cstring> 47#include <cstring>
48#include <cstdlib> 48#include <cstdlib>
49#include <math.h> 49#include <math.h>
50#include <sys/ioctl.h> 50#include <sys/ioctl.h>
51#include <sys/socket.h> 51#include <sys/socket.h>
52#include <sys/types.h> 52#include <sys/types.h>
53#include <unistd.h> 53#include <unistd.h>
54#include <linux/sockios.h> 54#include <linux/sockios.h>
55#include <linux/wireless.h>
56 55
57using namespace std; 56using namespace std;
58 57
59/*====================================================================================== 58/*======================================================================================
60 * ONetwork 59 * ONetwork
61 *======================================================================================*/ 60 *======================================================================================*/
62 61
63ONetwork* ONetwork::_instance = 0; 62ONetwork* ONetwork::_instance = 0;
64 63
65ONetwork::ONetwork() 64ONetwork::ONetwork()
66{ 65{
67 qDebug( "ONetwork::ONetwork()" ); 66 qDebug( "ONetwork::ONetwork()" );
68 synchronize(); 67 synchronize();
69} 68}
70 69
71void ONetwork::synchronize() 70void ONetwork::synchronize()
72{ 71{
73 // gather available interfaces by inspecting /proc/net/dev 72 // gather available interfaces by inspecting /proc/net/dev
74 // we could use SIOCGIFCONF here, but we aren't interested in virtual (e.g. eth0:0) devices 73 // we could use SIOCGIFCONF here, but we aren't interested in virtual (e.g. eth0:0) devices
75 74
76 _interfaces.clear(); 75 _interfaces.clear();
77 QString str; 76 QString str;
78 QFile f( "/proc/net/dev" ); 77 QFile f( "/proc/net/dev" );
79 bool hasFile = f.open( IO_ReadOnly ); 78 bool hasFile = f.open( IO_ReadOnly );
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h
index 56da5f4..c544454 100644
--- a/libopie2/opienet/onetwork.h
+++ b/libopie2/opienet/onetwork.h
@@ -24,58 +24,61 @@
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef ONETWORK_H 34#ifndef ONETWORK_H
35#define ONETWORK_H 35#define ONETWORK_H
36 36
37/* QT */ 37/* QT */
38 38
39#include <qdict.h> 39#include <qdict.h>
40#include <qmap.h> 40#include <qmap.h>
41#include <qobject.h> 41#include <qobject.h>
42#include <qhostaddress.h> 42#include <qhostaddress.h>
43 43
44/* OPIE */ 44/* OPIE */
45 45
46#include <opie2/onetutils.h> 46#include <opie2/onetutils.h>
47 47
48// ML: Yeah, I hate to include kernel headers, but it's necessary here
49// ML: Recent RedHat and MandrakePatches to the Kernel and WE broke something
50// ML: #include <net/if.h> e.g. conflicts with #include <linux/wireless.h>
51
52#ifndef IFNAMSIZ 48#ifndef IFNAMSIZ
53#define IFNAMSIZ 16 49#define IFNAMSIZ 16
54#endif 50#endif
55 51
56#include <linux/wireless.h> 52// ML: Yeah, I hate to include kernel headers, but it's necessary here
53// ML: Here comes an ugly hack to prevent <linux/wireless.h> including <linux/if.h>
54// ML: which conflicts with the user header <net/if.h>
55// ML: We really a user header for the Wireless Extensions, something like <net/wireless.h>
56// ML: I will drop Jean an mail on that subject
57
57#include <net/if.h> 58#include <net/if.h>
59#define _LINUX_IF_H
60#include <linux/wireless.h>
58 61
59#ifndef SIOCIWFIRSTPRIV 62#ifndef SIOCIWFIRSTPRIV
60#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE 63#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE
61#endif 64#endif
62 65
63class ONetworkInterface; 66class ONetworkInterface;
64class OWirelessNetworkInterface; 67class OWirelessNetworkInterface;
65class OChannelHopper; 68class OChannelHopper;
66class OMonitoringInterface; 69class OMonitoringInterface;
67 70
68typedef struct ifreq ifreqstruct; 71typedef struct ifreq ifreqstruct;
69typedef struct iwreq iwreqstruct; 72typedef struct iwreq iwreqstruct;
70typedef struct iw_event iweventstruct; 73typedef struct iw_event iweventstruct;
71typedef struct iw_freq iwfreqstruct; 74typedef struct iw_freq iwfreqstruct;
72typedef struct iw_priv_args iwprivargsstruct; 75typedef struct iw_priv_args iwprivargsstruct;
73typedef struct iw_range iwrangestruct; 76typedef struct iw_range iwrangestruct;
74 77
75/*====================================================================================== 78/*======================================================================================
76 * ONetwork 79 * ONetwork
77 *======================================================================================*/ 80 *======================================================================================*/
78 81
79class ONetwork : public QObject 82class ONetwork : public QObject
80{ 83{
81 Q_OBJECT 84 Q_OBJECT