summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/onetwork.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h
index a953296..f5fbe1d 100644
--- a/libopie2/opienet/onetwork.h
+++ b/libopie2/opienet/onetwork.h
@@ -1,139 +1,146 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3              Copyright (C) 2003-2004 by Michael 'Mickey' Lauer 3              Copyright (C) 2003-2004 by Michael 'Mickey' Lauer
4 =. <mickey@Vanille.de> 4 =. <mickey@Vanille.de>
5 .=l. 5 .=l.
6           .>+-= 6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_. 13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details. 20++=   -.     .`     .: details.
21 :     =  ...= . :.=- 21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28 28
29*/ 29*/
30 30
31#ifndef ONETWORK_H 31#ifndef ONETWORK_H
32#define ONETWORK_H 32#define ONETWORK_H
33 33
34#if !defined( OPIE_WE_VERSION ) 34#if !defined( OPIE_WE_VERSION )
35#error Need to define a wireless extension version to build against! 35 #warning No wireless extension specified; autodetecting...
36#endif 36 #include <linux/version.h>
37 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23)
38 #define OPIE_WE_VERSION 15
39 #else
40 #define OPIE_WE_VERSION 16
41 #endif // LINUX_VERSION_CODE < KERNEL_VERSION(2.4.23)
42#endif // !defined( OPIE_WE_VERSION )
37 43
38#if OPIE_WE_VERSION == 15 44#if OPIE_WE_VERSION == 15
39#include "wireless.15.h" 45#include "wireless.15.h"
46#warning Using WE V15
40#endif 47#endif
41
42#if OPIE_WE_VERSION == 16 48#if OPIE_WE_VERSION == 16
43#include "wireless.16.h" 49#include "wireless.16.h"
50#warning Using WE V16
44#endif 51#endif
45 52
46/* OPIE */ 53/* OPIE */
47 54
48#include <opie2/onetutils.h> 55#include <opie2/onetutils.h>
49#include <opie2/ostation.h> 56#include <opie2/ostation.h>
50 57
51/* QT */ 58/* QT */
52 59
53#include <qvaluelist.h> 60#include <qvaluelist.h>
54#include <qdict.h> 61#include <qdict.h>
55#include <qmap.h> 62#include <qmap.h>
56#include <qobject.h> 63#include <qobject.h>
57#include <qhostaddress.h> 64#include <qhostaddress.h>
58 65
59namespace Opie { 66namespace Opie {
60namespace Net { 67namespace Net {
61 68
62class ONetworkInterface; 69class ONetworkInterface;
63class OWirelessNetworkInterface; 70class OWirelessNetworkInterface;
64class OChannelHopper; 71class OChannelHopper;
65class OMonitoringInterface; 72class OMonitoringInterface;
66 73
67/*====================================================================================== 74/*======================================================================================
68 * ONetwork 75 * ONetwork
69 *======================================================================================*/ 76 *======================================================================================*/
70 77
71/** 78/**
72 * @brief A container class for all network interfaces 79 * @brief A container class for all network interfaces
73 * 80 *
74 * This class provides access to all available network interfaces of your computer. 81 * This class provides access to all available network interfaces of your computer.
75 * 82 *
76 * @author Michael 'Mickey' Lauer <mickey@vanille.de> 83 * @author Michael 'Mickey' Lauer <mickey@vanille.de>
77 */ 84 */
78class ONetwork : public QObject 85class ONetwork : public QObject
79{ 86{
80 Q_OBJECT 87 Q_OBJECT
81 88
82 public: 89 public:
83 typedef QDict<ONetworkInterface> InterfaceMap; 90 typedef QDict<ONetworkInterface> InterfaceMap;
84 typedef QDictIterator<ONetworkInterface> InterfaceIterator; 91 typedef QDictIterator<ONetworkInterface> InterfaceIterator;
85 92
86 public: 93 public:
87 /** 94 /**
88 * @returns the number of available interfaces 95 * @returns the number of available interfaces
89 */ 96 */
90 int count() const; 97 int count() const;
91 /** 98 /**
92 * @returns a pointer to the (one and only) @ref ONetwork instance. 99 * @returns a pointer to the (one and only) @ref ONetwork instance.
93 */ 100 */
94 static ONetwork* instance(); 101 static ONetwork* instance();
95 /** 102 /**
96 * @returns an iterator usable for iterating through all network interfaces. 103 * @returns an iterator usable for iterating through all network interfaces.
97 */ 104 */
98 InterfaceIterator iterator() const; 105 InterfaceIterator iterator() const;
99 /** 106 /**
100 * @returns true, if the @a interface is present. 107 * @returns true, if the @a interface is present.
101 */ 108 */
102 bool isPresent( const char* interface ) const; 109 bool isPresent( const char* interface ) const;
103 /** 110 /**
104 * @returns true, if the @a interface supports the wireless extension protocol. 111 * @returns true, if the @a interface supports the wireless extension protocol.
105 */ 112 */
106 bool isWirelessInterface( const char* interface ) const; 113 bool isWirelessInterface( const char* interface ) const;
107 /** 114 /**
108 * @returns a pointer to the @ref ONetworkInterface object for the specified @a interface or 0, if not found. 115 * @returns a pointer to the @ref ONetworkInterface object for the specified @a interface or 0, if not found.
109 * @see ONetworkInterface 116 * @see ONetworkInterface
110 */ 117 */
111 ONetworkInterface* interface( const QString& interface ) const; 118 ONetworkInterface* interface( const QString& interface ) const;
112 /** 119 /**
113 * @internal Rebuild the internal interface database 120 * @internal Rebuild the internal interface database
114 * @note Sometimes it might be useful to call this from client code, 121 * @note Sometimes it might be useful to call this from client code,
115 * e.g. after issuing a cardctl insert 122 * e.g. after issuing a cardctl insert
116 */ 123 */
117 void synchronize(); 124 void synchronize();
118 /** 125 /**
119 * @returns the wireless extension version used at compile time. 126 * @returns the wireless extension version used at compile time.
120 **/ 127 **/
121 static short wirelessExtensionVersion(); 128 static short wirelessExtensionVersion();
122 129
123 protected: 130 protected:
124 ONetwork(); 131 ONetwork();
125 132
126 private: 133 private:
127 static ONetwork* _instance; 134 static ONetwork* _instance;
128 InterfaceMap _interfaces; 135 InterfaceMap _interfaces;
129 class Private; 136 class Private;
130 Private *d; 137 Private *d;
131}; 138};
132 139
133 140
134/*====================================================================================== 141/*======================================================================================
135 * ONetworkInterface 142 * ONetworkInterface
136 *======================================================================================*/ 143 *======================================================================================*/
137 144
138/** 145/**
139 * @brief A network interface wrapper. 146 * @brief A network interface wrapper.
@@ -462,129 +469,129 @@ class OWirelessNetworkInterface : public ONetworkInterface
462 mutable struct iwreq _iwr; 469 mutable struct iwreq _iwr;
463 QMap<int,int> _channels; 470 QMap<int,int> _channels;
464 struct iw_range _range; 471 struct iw_range _range;
465 472
466 private: 473 private:
467 OChannelHopper* _hopper; 474 OChannelHopper* _hopper;
468 class Private; 475 class Private;
469 Private *d; 476 Private *d;
470}; 477};
471 478
472 479
473/*====================================================================================== 480/*======================================================================================
474 * OMonitoringInterface 481 * OMonitoringInterface
475 *======================================================================================*/ 482 *======================================================================================*/
476 483
477 484
478class OMonitoringInterface 485class OMonitoringInterface
479{ 486{
480 public: 487 public:
481 OMonitoringInterface(); 488 OMonitoringInterface();
482 OMonitoringInterface( ONetworkInterface*, bool _prismHeader ); 489 OMonitoringInterface( ONetworkInterface*, bool _prismHeader );
483 virtual ~OMonitoringInterface(); 490 virtual ~OMonitoringInterface();
484 491
485 public: 492 public:
486 virtual void setEnabled( bool ); 493 virtual void setEnabled( bool );
487 virtual void setChannel( int ); 494 virtual void setChannel( int );
488 495
489 virtual QString name() const = 0; 496 virtual QString name() const = 0;
490 497
491 protected: 498 protected:
492 OWirelessNetworkInterface* _if; 499 OWirelessNetworkInterface* _if;
493 bool _prismHeader; 500 bool _prismHeader;
494 private: 501 private:
495 class Private; 502 class Private;
496 Private *d; 503 Private *d;
497 504
498}; 505};
499 506
500 507
501/*====================================================================================== 508/*======================================================================================
502 * OCiscoMonitoring 509 * OCiscoMonitoring
503 *======================================================================================*/ 510 *======================================================================================*/
504 511
505 512
506class OCiscoMonitoringInterface : public OMonitoringInterface 513class OCiscoMonitoringInterface : public OMonitoringInterface
507{ 514{
508 public: 515 public:
509 OCiscoMonitoringInterface( ONetworkInterface*, bool _prismHeader ); 516 OCiscoMonitoringInterface( ONetworkInterface*, bool _prismHeader );
510 virtual ~OCiscoMonitoringInterface(); 517 virtual ~OCiscoMonitoringInterface();
511 518
512 virtual void setEnabled( bool ); 519 virtual void setEnabled( bool );
513 virtual QString name() const; 520 virtual QString name() const;
514 virtual void setChannel( int ); 521 virtual void setChannel( int );
515 private: 522 private:
516 class Private; 523 class Private;
517 Private *d; 524 Private *d;
518 525
519}; 526};
520 527
521 528
522/*====================================================================================== 529/*======================================================================================
523 * OWlanNGMonitoringInterface 530 * OWlanNGMonitoringInterface
524 *======================================================================================*/ 531 *======================================================================================*/
525 532
526 533
527class OWlanNGMonitoringInterface : public OMonitoringInterface 534class OWlanNGMonitoringInterface : public OMonitoringInterface
528{ 535{
529 public: 536 public:
530 OWlanNGMonitoringInterface( ONetworkInterface*, bool _prismHeader ); 537 OWlanNGMonitoringInterface( ONetworkInterface*, bool _prismHeader );
531 virtual ~OWlanNGMonitoringInterface(); 538 virtual ~OWlanNGMonitoringInterface();
532 539
533 public: 540 public:
534 virtual void setEnabled( bool ); 541 virtual void setEnabled( bool );
535 virtual QString name() const; 542 virtual QString name() const;
536 virtual void setChannel( int ); 543 virtual void setChannel( int );
537 private: 544 private:
538 class Private; 545 class Private;
539 Private *d; 546 Private *d;
540 547
541}; 548};
542 549
543 550
544/*====================================================================================== 551/*======================================================================================
545 * OHostAPMonitoringInterface 552 * OHostAPMonitoringInterface
546 *======================================================================================*/ 553 *======================================================================================*/
547 554
548 555
549class OHostAPMonitoringInterface : public OMonitoringInterface 556class OHostAPMonitoringInterface : public OMonitoringInterface
550{ 557{
551 public: 558 public:
552 OHostAPMonitoringInterface( ONetworkInterface*, bool _prismHeader ); 559 OHostAPMonitoringInterface( ONetworkInterface*, bool _prismHeader );
553 virtual ~OHostAPMonitoringInterface(); 560 virtual ~OHostAPMonitoringInterface();
554 561
555 public: 562 public:
556 virtual void setEnabled( bool ); 563 virtual void setEnabled( bool );
557 virtual QString name() const; 564 virtual QString name() const;
558 565
559 private: 566 private:
560 class Private; 567 class Private;
561 Private *d; 568 Private *d;
562 }; 569 };
563 570
564 571
565/*====================================================================================== 572/*======================================================================================
566 * OOrinocoMonitoringInterface 573 * OOrinocoMonitoringInterface
567 *======================================================================================*/ 574 *======================================================================================*/
568 575
569 576
570class OOrinocoMonitoringInterface : public OMonitoringInterface 577class OOrinocoMonitoringInterface : public OMonitoringInterface
571{ 578{
572 public: 579 public:
573 OOrinocoMonitoringInterface( ONetworkInterface*, bool _prismHeader ); 580 OOrinocoMonitoringInterface( ONetworkInterface*, bool _prismHeader );
574 virtual ~OOrinocoMonitoringInterface(); 581 virtual ~OOrinocoMonitoringInterface();
575 582
576 public: 583 public:
577 virtual void setChannel( int ); 584 virtual void setChannel( int );
578 virtual void setEnabled( bool ); 585 virtual void setEnabled( bool );
579 virtual QString name() const; 586 virtual QString name() const;
580 587
581 private: 588 private:
582 class Private; 589 class Private;
583 Private *d; 590 Private *d;
584}; 591};
585 592
586} 593}
587} 594}
588 595
589#endif // ONETWORK_H 596#endif // ONETWORK_H
590 597