summaryrefslogtreecommitdiff
authormax <max>2003-02-13 10:57:19 (UTC)
committer max <max>2003-02-13 10:57:19 (UTC)
commit8402aa0e5c4f55682936a14353ed97611d0e2998 (patch) (unidiff)
treed1c644aefdb49259e8370fd9937fe0d2fe6a95c6
parent0d317f7b6b3efbba86ad6d89c2a512b8f30ed885 (diff)
downloadopie-8402aa0e5c4f55682936a14353ed97611d0e2998.zip
opie-8402aa0e5c4f55682936a14353ed97611d0e2998.tar.gz
opie-8402aa0e5c4f55682936a14353ed97611d0e2998.tar.bz2
Wireless extension < 14
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc32
1 files changed, 30 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
index a512bc5..a57645b 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
@@ -76,4 +76,32 @@ int card_into_monitormode (pcap_t **orighandle, const char *device, int cardtype
76#else 76#else
77#warning Hi _MAX_, please use a system call for hostap with wireless extensions < 15 77 // Wireless Extensions < Version 15 need iwpriv commandos for monitoring
78 // TODO: Implement switching HOSTAP into monitor mode with system call 78 int fd;
79 //Wireless tools structure for the iocalls
80 struct iwreq ireq;
81 int *ptr;
82 /* Socket needed to use the iocall to */
83 fd = socket(AF_INET, SOCK_STREAM, 0);
84
85 if ( fd == -1 ) {
86 return -1;
87 }
88
89 ptr = (int *) ireq.u.name;
90 // This is the monitor mode for 802.11 non-prism header
91 ptr[0] = 2;
92 strcpy(ireq.ifr_ifrn.ifrn_name, device);
93 if (ioctl( fd, SIOCIWFIRSTPRIV + 4, &ireq)==0)
94 {
95 /* All was fine... */
96 close(fd);
97 wl_loginfo("Set hostap card %s into monitormode",device);
98 return 1;
99 }
100 else
101 {
102 /* iocall does not work */
103 close(fd);
104 wl_logerr("Could not set hostap card %s into monitormode, check cardtype",device);
105 return 0;
106 }
79#endif 107#endif