author | mickeyl <mickeyl> | 2005-05-16 17:48:03 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-05-16 17:48:03 (UTC) |
commit | d2426de3452342ab4af8e95214b9ff408f30744e (patch) (unidiff) | |
tree | 41eb23ab226a83778112aaf6d14ab3e8fc5dc896 /examples/opienet | |
parent | a0276f0957bd503491e8d435b7ad1a6479ce24eb (diff) | |
download | opie-d2426de3452342ab4af8e95214b9ff408f30744e.zip opie-d2426de3452342ab4af8e95214b9ff408f30744e.tar.gz opie-d2426de3452342ab4af8e95214b9ff408f30744e.tar.bz2 |
- add ONetworkInterfaceDriverInfo block extracting info using ethtool ioctls
- adjust example
-rw-r--r-- | examples/opienet/onetworkdemo/onetworkdemo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/examples/opienet/onetworkdemo/onetworkdemo.cpp b/examples/opienet/onetworkdemo/onetworkdemo.cpp index e0c93a2..b3a1115 100644 --- a/examples/opienet/onetworkdemo/onetworkdemo.cpp +++ b/examples/opienet/onetworkdemo/onetworkdemo.cpp | |||
@@ -1,114 +1,119 @@ | |||
1 | /* | 1 | /* |
2 | =. This file is part of the Opie Project | 2 | =. This file is part of the Opie Project |
3 | .=l. Copyright (C) 2004 Opie Team <opie-devel@handhelds.org> | 3 | .=l. Copyright (C) 2004 Opie Team <opie-devel@handhelds.org> |
4 | .>+-= | 4 | .>+-= |
5 | _;:, .> :=|. This library is free software; you can | 5 | _;:, .> :=|. This library is free software; you can |
6 | .> <`_, > . <= redistribute it and/or modify it under | 6 | .> <`_, > . <= redistribute it and/or modify it under |
7 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 7 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
8 | .="- .-=="i, .._ License as published by the Free Software | 8 | .="- .-=="i, .._ License as published by the Free Software |
9 | - . .-<_> .<> Foundation; either version 2 of the License, | 9 | - . .-<_> .<> Foundation; either version 2 of the License, |
10 | ._= =} : or (at your option) any later version. | 10 | ._= =} : or (at your option) any later version. |
11 | .%`+i> _;_. | 11 | .%`+i> _;_. |
12 | .i_,=:_. -<s. This library is distributed in the hope that | 12 | .i_,=:_. -<s. This library is distributed in the hope that |
13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
14 | : .. .:, . . . without even the implied warranty of | 14 | : .. .:, . . . without even the implied warranty of |
15 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 15 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
16 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 16 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
17 | ..}^=.= = ; Library General Public License for more | 17 | ..}^=.= = ; Library General Public License for more |
18 | ++= -. .` .: details. | 18 | ++= -. .` .: details. |
19 | : = ...= . :.=- | 19 | : = ...= . :.=- |
20 | -. .:....=;==+<; You should have received a copy of the GNU | 20 | -. .:....=;==+<; You should have received a copy of the GNU |
21 | -_. . . )=. = Library General Public License along with | 21 | -_. . . )=. = Library General Public License along with |
22 | -- :-=` this library; see the file COPYING.LIB. | 22 | -- :-=` this library; see the file COPYING.LIB. |
23 | If not, write to the Free Software Foundation, | 23 | If not, write to the Free Software Foundation, |
24 | Inc., 59 Temple Place - Suite 330, | 24 | Inc., 59 Temple Place - Suite 330, |
25 | Boston, MA 02111-1307, USA. | 25 | Boston, MA 02111-1307, USA. |
26 | 26 | ||
27 | */ | 27 | */ |
28 | 28 | ||
29 | /* OPIE */ | 29 | /* OPIE */ |
30 | #include <opie2/onetwork.h> | 30 | #include <opie2/onetwork.h> |
31 | #include <opie2/ostation.h> | 31 | #include <opie2/ostation.h> |
32 | #include <opie2/omanufacturerdb.h> | 32 | #include <opie2/omanufacturerdb.h> |
33 | #include <opie2/odebug.h> | 33 | #include <opie2/odebug.h> |
34 | 34 | ||
35 | /* STD */ | 35 | /* STD */ |
36 | #include <unistd.h> | 36 | #include <unistd.h> |
37 | 37 | ||
38 | using namespace Opie::Net; | 38 | using namespace Opie::Net; |
39 | 39 | ||
40 | int main( int argc, char** argv ) | 40 | int main( int argc, char** argv ) |
41 | { | 41 | { |
42 | odebug << "OPIE Network Demo" << oendl; | 42 | odebug << "OPIE Network Demo" << oendl; |
43 | 43 | ||
44 | ONetwork* net = ONetwork::instance(); | 44 | ONetwork* net = ONetwork::instance(); |
45 | 45 | ||
46 | ONetwork::InterfaceIterator it = net->iterator(); | 46 | ONetwork::InterfaceIterator it = net->iterator(); |
47 | 47 | ||
48 | while ( it.current() ) | 48 | while ( it.current() ) |
49 | { | 49 | { |
50 | odebug << "DEMO: ONetwork contains Interface '" << it.current()->name() << "'" << oendl; | 50 | odebug << "DEMO: ONetwork contains Interface '" << it.current()->name() << "'" << oendl; |
51 | ONetworkInterfaceDriverInfo info = it.current()->driverInfo(); | ||
52 | odebug << "DEMO: DriverName reported as '" << info.name() << "'" << oendl; | ||
53 | odebug << "DEMO: DriverVersion reported as '" << info.version() << "'" << oendl; | ||
54 | odebug << "DEMO: DriverFirmware reported as '" << info.firmware() << "'" << oendl; | ||
55 | odebug << "DEMO: DriverBus reported as '" << info.bus() << "'" << oendl; | ||
51 | odebug << "DEMO: Datalink code is '" << it.current()->dataLinkType() << "'" << oendl; | 56 | odebug << "DEMO: Datalink code is '" << it.current()->dataLinkType() << "'" << oendl; |
52 | odebug << "DEMO: MAC Address is '" << it.current()->macAddress().toString() << "'" << oendl; | 57 | odebug << "DEMO: MAC Address is '" << it.current()->macAddress().toString() << "'" << oendl; |
53 | odebug << "DEMO: MAC Address is '" << it.current()->macAddress().toString(true) << "'" << oendl; | 58 | odebug << "DEMO: MAC Address is '" << it.current()->macAddress().toString(true) << "'" << oendl; |
54 | odebug << "DEMO: MAC Manufacturer seems to be '" << it.current()->macAddress().manufacturer() << "'" << oendl; | 59 | odebug << "DEMO: MAC Manufacturer seems to be '" << it.current()->macAddress().manufacturer() << "'" << oendl; |
55 | odebug << "DEMO: Manufacturertest1 = '" << OManufacturerDB::instance()->lookupExt( "08:00:87" ) << "'" << oendl; | 60 | odebug << "DEMO: Manufacturertest1 = '" << OManufacturerDB::instance()->lookupExt( "08:00:87" ) << "'" << oendl; |
56 | odebug << "DEMO: Manufacturertest2 = '" << OManufacturerDB::instance()->lookupExt( "E2:0C:0F" ) << "'" << oendl; | 61 | odebug << "DEMO: Manufacturertest2 = '" << OManufacturerDB::instance()->lookupExt( "E2:0C:0F" ) << "'" << oendl; |
57 | odebug << "Demo: IPv4 Address is '" << it.current()->ipV4Address() << "'" << oendl; | 62 | odebug << "Demo: IPv4 Address is '" << it.current()->ipV4Address() << "'" << oendl; |
58 | if ( it.current()->isWireless() ) | 63 | if ( it.current()->isWireless() ) |
59 | { | 64 | { |
60 | OWirelessNetworkInterface* iface = static_cast<OWirelessNetworkInterface*>( it.current() ); | 65 | OWirelessNetworkInterface* iface = static_cast<OWirelessNetworkInterface*>( it.current() ); |
61 | odebug << "DEMO: '" << iface->name() << "' seems to feature the wireless extensions." << oendl; | 66 | odebug << "DEMO: '" << iface->name() << "' seems to feature the wireless extensions." << oendl; |
62 | odebug << "DEMO: Current SSID is '" << iface->SSID() << "'" << oendl; | 67 | odebug << "DEMO: Current SSID is '" << iface->SSID() << "'" << oendl; |
63 | odebug << "DEMO: Antenna is tuned to '" << iface->frequency() << "', that is channel " << iface->channel() << "" << oendl; | 68 | odebug << "DEMO: Antenna is tuned to '" << iface->frequency() << "', that is channel " << iface->channel() << "" << oendl; |
64 | 69 | ||
65 | //if ( iface->mode() == OWirelessNetworkInterface::adhoc ) | 70 | //if ( iface->mode() == OWirelessNetworkInterface::adhoc ) |
66 | //{ | 71 | //{ |
67 | //odebug << "DEMO: Associated AP has MAC Address '" << iface->associatedAP().toString() << "'" << oendl; | 72 | //odebug << "DEMO: Associated AP has MAC Address '" << iface->associatedAP().toString() << "'" << oendl; |
68 | //} | 73 | //} |
69 | 74 | ||
70 | /* | 75 | /* |
71 | 76 | ||
72 | // nickname | 77 | // nickname |
73 | odebug << "DEMO: Current NickName is '" << iface->nickName() << "'" << oendl; | 78 | odebug << "DEMO: Current NickName is '" << iface->nickName() << "'" << oendl; |
74 | iface->setNickName( "MyNickName" ); | 79 | iface->setNickName( "MyNickName" ); |
75 | if ( iface->nickName() != "MyNickName" ) | 80 | if ( iface->nickName() != "MyNickName" ) |
76 | odebug << "DEMO: Warning! Can't change nickname" << oendl; | 81 | odebug << "DEMO: Warning! Can't change nickname" << oendl; |
77 | else | 82 | else |
78 | odebug << "DEMO: Nickname change successful." << oendl; | 83 | odebug << "DEMO: Nickname change successful." << oendl; |
79 | 84 | ||
80 | /* | 85 | /* |
81 | 86 | ||
82 | // operation mode | 87 | // operation mode |
83 | odebug << "DEMO: Current OperationMode is '" << iface->mode() << "'" << oendl; | 88 | odebug << "DEMO: Current OperationMode is '" << iface->mode() << "'" << oendl; |
84 | iface->setMode( "adhoc" ); | 89 | iface->setMode( "adhoc" ); |
85 | if ( iface->mode() != "adhoc" ) | 90 | if ( iface->mode() != "adhoc" ) |
86 | odebug << "DEMO: Warning! Can't change operation mode" << oendl; | 91 | odebug << "DEMO: Warning! Can't change operation mode" << oendl; |
87 | else | 92 | else |
88 | odebug << "DEMO: Operation Mode change successful." << oendl; | 93 | odebug << "DEMO: Operation Mode change successful." << oendl; |
89 | 94 | ||
90 | // RF channel | 95 | // RF channel |
91 | odebug << "DEMO: Current Channel is '" << iface->channel() << "'" << oendl; | 96 | odebug << "DEMO: Current Channel is '" << iface->channel() << "'" << oendl; |
92 | iface->setChannel( 1 ); | 97 | iface->setChannel( 1 ); |
93 | if ( iface->channel() != 1 ) | 98 | if ( iface->channel() != 1 ) |
94 | odebug << "DEMO: Warning! Can't change RF channel" << oendl; | 99 | odebug << "DEMO: Warning! Can't change RF channel" << oendl; |
95 | else | 100 | else |
96 | odebug << "DEMO: RF channel change successful." << oendl; | 101 | odebug << "DEMO: RF channel change successful." << oendl; |
97 | 102 | ||
98 | iface->setMode( "managed" ); | 103 | iface->setMode( "managed" ); |
99 | 104 | ||
100 | */ | 105 | */ |
101 | 106 | ||
102 | /* | 107 | /* |
103 | 108 | ||
104 | // network scan | 109 | // network scan |
105 | 110 | ||
106 | OStationList* stations = iface->scanNetwork(); | 111 | OStationList* stations = iface->scanNetwork(); |
107 | if ( stations ) | 112 | if ( stations ) |
108 | { | 113 | { |
109 | odebug << "DEMO: # of stations around = " << stations->count() << "" << oendl; | 114 | odebug << "DEMO: # of stations around = " << stations->count() << "" << oendl; |
110 | OStation* station; | 115 | OStation* station; |
111 | for ( station = stations->first(); station != 0; station = stations->next() ) | 116 | for ( station = stations->first(); station != 0; station = stations->next() ) |
112 | { | 117 | { |
113 | odebug << "DEMO: station dump following..." << oendl; | 118 | odebug << "DEMO: station dump following..." << oendl; |
114 | station->dump(); | 119 | station->dump(); |