Moved wireless detection to OS spesific direesific directories and tories and added...
authorAndreas Tonnesen <andreto@olsr.org>
Tue, 15 Feb 2005 20:49:21 +0000 (20:49 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Tue, 15 Feb 2005 20:49:21 +0000 (20:49 +0000)
src/bsd/net.c
src/build_msg.c
src/linux/net.c

index 4008682..0f93966 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: net.c,v 1.11 2005/02/15 20:40:43 kattemat Exp $
+ * $Id: net.c,v 1.12 2005/02/15 20:49:20 kattemat Exp $
  */
 
 #include "../defs.h"
 #include <sys/param.h>
 #endif
 
-#define        SIOCGIFGENERIC  _IOWR('i', 58, struct ifreq)    /* generic IF get op */
-#define SIOCGWAVELAN SIOCGIFGENERIC
+#include <net/if.h>
+#include <net/if_var.h>
+#include <net/ethernet.h>
+
+#include <net80211/ieee80211.h>
+#include <net80211/ieee80211_ioctl.h>
+#include <dev/wi/if_wavelan_ieee.h>
+#include <dev/wi/if_wireg.h>
+
+//#define      SIOCGIFGENERIC  _IOWR('i', 58, struct ifreq)    /* generic IF get op */
+//#define SIOCGWAVELAN SIOCGIFGENERIC
 
 #include <sys/sysctl.h>
 
@@ -325,12 +334,21 @@ olsr_recvfrom(int  s,
 }
 
 
-
+#warning FreeBSD WLAN detection untested!
 int 
 check_wireless_interface(char *ifname)
 {
+  struct wi_req        wreq;
   struct ifreq ifr;
+
+  memset((char *)&wreq, 0, sizeof(wreq));
+  memset((char *)&ifr, 0, sizeof(ifr));
+
+  wreq.wi_len = WI_MAX_DATALEN;
+  wreq.wi_type = WI_RID_IFACE_STATS;
+
   strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+  ifr.ifr_data = (caddr_t)&wreq;
 
   if(ioctl(ioctl_s, SIOCGWAVELAN, &ifr) >= 0)
     {
index de6ccfb..f843ef1 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: build_msg.c,v 1.25 2005/02/02 19:59:17 kattemat Exp $
+ * $Id: build_msg.c,v 1.26 2005/02/15 20:49:05 kattemat Exp $
  */
 
 
@@ -675,7 +675,8 @@ serialize_tc4(struct tc_message *message, struct interface *ifp)
     {
       if((!partial_sent) && (!TIMED_OUT(send_empty_tc)))
        {
-         olsr_printf(1, "TC: Sending empty package\n");
+         if(!TIMED_OUT(send_empty_tc))
+           olsr_printf(1, "TC: Sending empty package - (%d/%d/%d/%d)\n", partial_sent, send_empty_tc, now_times, (int)((send_empty_tc) - now_times));
 
          m->v4.olsr_msgsize = htons(curr_size);
          m->v4.seqno = htons(get_msg_seqno());
index b1a79c0..4b6d79d 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: net.c,v 1.16 2005/02/15 20:40:43 kattemat Exp $
+ * $Id: net.c,v 1.17 2005/02/15 20:49:21 kattemat Exp $
  */
 
 
@@ -610,6 +610,8 @@ int
 check_wireless_interface(char *ifname)
 {
   struct ifreq ifr;
+
+  memset(&ifr, 0, sizeof(ifr));
   strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
 
   if(ioctl(ioctl_s, SIOCGIWNAME, &ifr) >= 0)