OpenWrt – Rev 1

Subversion Repositories:
Rev:
--- a/iwlist.c
+++ b/iwlist.c
@@ -58,7 +58,6 @@ typedef struct iw_auth_descr
  * Maybe this should go in iwlib.c ?
  */
 
-#ifndef WE_ESSENTIAL
 #define IW_ARRAY_LEN(x) (sizeof(x)/sizeof((x)[0]))
 
 //static const struct iwmask_name iw_enc_mode_name[] = {
@@ -161,11 +160,8 @@ static const char *        iw_ie_key_mgmt_name[
 };
 #define        IW_IE_KEY_MGMT_NUM      IW_ARRAY_LEN(iw_ie_key_mgmt_name)
 
-#endif /* WE_ESSENTIAL */
-
 /************************* WPA SUBROUTINES *************************/
 
-#ifndef WE_ESSENTIAL
 /*------------------------------------------------------------------*/
 /*
  * Print all names corresponding to a mask.
@@ -431,7 +427,6 @@ iw_print_gen_ie(unsigned char *     buffer,
       offset += buffer[offset+1] + 2;
     }
 }
-#endif /* WE_ESSENTIAL */
 
 /***************************** SCANNING *****************************/
 /*
@@ -585,12 +580,10 @@ print_scanning_token(struct stream_descr
                     &event->u.qual, iw_range, has_range);
       printf("                    %s\n", buffer);
       break;
-#ifndef WE_ESSENTIAL
     case IWEVGENIE:
       /* Informations Elements are complex, let's do only some of them */
       iw_print_gen_ie(event->u.data.pointer, event->u.data.length);
       break;
-#endif /* WE_ESSENTIAL */
     case IWEVCUSTOM:
       {
        char custom[IW_CUSTOM_MAX+1];
@@ -1302,7 +1295,6 @@ print_pm_info(int         skfd,
   return(0);
 }
 
-#ifndef WE_ESSENTIAL
 /************************** TRANSMIT POWER **************************/
 
 /*------------------------------------------------------------------*/
@@ -1405,6 +1397,7 @@ print_txpower_info(int            skfd,
   return(0);
 }
 
+#ifndef WE_ESSENTIAL
 /*********************** RETRY LIMIT/LIFETIME ***********************/
 
 /*------------------------------------------------------------------*/
@@ -2060,8 +2053,8 @@ static const struct iwlist_entry iwlist_
   { "encryption",      print_keys_info,        0, NULL },
   { "keys",            print_keys_info,        0, NULL },
   { "power",           print_pm_info,          0, NULL },
-#ifndef WE_ESSENTIAL
   { "txpower",         print_txpower_info,     0, NULL },
+#ifndef WE_ESSENTIAL
   { "retry",           print_retry_info,       0, NULL },
   { "ap",              print_ap_info,          0, NULL },
   { "accesspoints",    print_ap_info,          0, NULL },
--- a/iwconfig.c
+++ b/iwconfig.c
@@ -106,16 +106,6 @@ get_info(int                       skfd,
     if(wrq.u.data.length > 1)
       info->has_nickname = 1;
 
-  if((info->has_range) && (info->range.we_version_compiled > 9))
-    {
-      /* Get Transmit Power */
-      if(iw_get_ext(skfd, ifname, SIOCGIWTXPOW, &wrq) >= 0)
-       {
-         info->has_txpower = 1;
-         memcpy(&(info->txpower), &(wrq.u.txpower), sizeof(iwparam));
-       }
-    }
-
   /* Get sensitivity */
   if(iw_get_ext(skfd, ifname, SIOCGIWSENS, &wrq) >= 0)
     {
@@ -132,6 +122,17 @@ get_info(int                       skfd,
          memcpy(&(info->retry), &(wrq.u.retry), sizeof(iwparam));
        }
     }
+#endif /* WE_ESSENTIAL */
+
+  if((info->has_range) && (info->range.we_version_compiled > 9))
+    {
+      /* Get Transmit Power */
+      if(iw_get_ext(skfd, ifname, SIOCGIWTXPOW, &wrq) >= 0)
+       {
+         info->has_txpower = 1;
+         memcpy(&(info->txpower), &(wrq.u.txpower), sizeof(iwparam));
+       }
+    }
 
   /* Get RTS threshold */
   if(iw_get_ext(skfd, ifname, SIOCGIWRTS, &wrq) >= 0)
@@ -146,7 +147,6 @@ get_info(int                        skfd,
       info->has_frag = 1;
       memcpy(&(info->frag), &(wrq.u.frag), sizeof(iwparam));
     }
-#endif /* WE_ESSENTIAL */
 
   return(0);
 }
@@ -269,7 +269,6 @@ display_info(struct wireless_info * info
       printf("Bit Rate%c%s   ", (info->bitrate.fixed ? '=' : ':'), buffer);
     }
 
-#ifndef WE_ESSENTIAL
   /* Display the Transmit Power */
   if(info->has_txpower)
     {
@@ -286,6 +285,7 @@ display_info(struct wireless_info * info
       printf("Tx-Power%c%s   ", (info->txpower.fixed ? '=' : ':'), buffer);
     }
 
+#ifndef WE_ESSENTIAL
   /* Display sensitivity */
   if(info->has_sens)
     {
@@ -340,6 +340,7 @@ display_info(struct wireless_info * info
       printf("   ");
       tokens += 5;     /* Between 3 and 5, depend on flags */
     }
+#endif /* WE_ESSENTIAL */
 
   /* Display the RTS threshold */
   if(info->has_rts)
@@ -383,7 +384,6 @@ display_info(struct wireless_info * info
   /* Formating */
   if(tokens > 0)
     printf("\n          ");
-#endif /* WE_ESSENTIAL */
 
   /* Display encryption information */
   /* Note : we display only the "current" key, use iwlist to list all keys */
@@ -1196,6 +1196,7 @@ set_nwid_info(int         skfd,
   /* 1 arg */
   return(1);
 }
+#endif /* WE_ESSENTIAL */
 
 /*------------------------------------------------------------------*/
 /*
@@ -1362,6 +1363,7 @@ set_txpower_info(int              skfd,
   return(i);
 }
 
+#ifndef WE_ESSENTIAL
 /*------------------------------------------------------------------*/
 /*
  * Set Sensitivity
@@ -1459,6 +1461,7 @@ set_retry_info(int                skfd,
   /* Var args */
   return(i);
 }
+#endif /* WE_ESSENTIAL */
 
 /*------------------------------------------------------------------*/
 /*
@@ -1565,6 +1568,7 @@ set_frag_info(int         skfd,
   return(1);
 }
 
+#ifndef WE_ESSENTIAL
 /*------------------------------------------------------------------*/
 /*
  * Set Modulation
@@ -1719,21 +1723,21 @@ static const struct iwconfig_entry iwcon
        "Set Nickname",                 "NNN" },
   { "nwid",            set_nwid_info,          1,      SIOCSIWNWID,
        "Set NWID",                     "{NN|on|off}" },
-  { "ap",              set_apaddr_info,        1,      SIOCSIWAP,
-       "Set AP Address",               "{N|off|auto}" },
-  { "txpower",         set_txpower_info,       1,      SIOCSIWTXPOW,
-       "Set Tx Power",                 "{NmW|NdBm|off|auto}" },
   { "sens",            set_sens_info,          1,      SIOCSIWSENS,
        "Set Sensitivity",              "N" },
+  { "modulation",      set_modulation_info,    1,      SIOCGIWMODUL,
+       "Set Modulation",               "{11g|11a|CCK|OFDMg|...}" },
   { "retry",           set_retry_info,         1,      SIOCSIWRETRY,
        "Set Retry Limit",              "{limit N|lifetime N}" },
+#endif /* WE_ESSENTIAL */
+  { "ap",              set_apaddr_info,        1,      SIOCSIWAP,
+       "Set AP Address",               "{N|off|auto}" },
+  { "txpower",         set_txpower_info,       1,      SIOCSIWTXPOW,
+       "Set Tx Power",                 "{NmW|NdBm|off|auto}" },
   { "rts",             set_rts_info,           1,      SIOCSIWRTS,
        "Set RTS Threshold",            "{N|auto|fixed|off}" },
   { "frag",            set_frag_info,          1,      SIOCSIWFRAG,
        "Set Fragmentation Threshold",  "{N|auto|fixed|off}" },
-  { "modulation",      set_modulation_info,    1,      SIOCGIWMODUL,
-       "Set Modulation",               "{11g|11a|CCK|OFDMg|...}" },
-#endif /* WE_ESSENTIAL */
   { "commit",          set_commit_info,        0,      SIOCSIWCOMMIT,
        "Commit changes",               "" },
   { NULL, NULL, 0, 0, NULL, NULL },
--- a/iwmulticall.c
+++ b/iwmulticall.c
@@ -81,7 +81,7 @@ extern int
 #define main(args...) main_iwspy(args)
 #include "iwspy.c"
 #undef main
-#endif /* WE_ESSENTIAL */
+#endif
 
 /* Get iwpriv in there. Mandatory for HostAP and some other drivers. */
 #define main(args...) main_iwpriv(args)
@@ -90,12 +90,14 @@ extern int
 #undef iw_usage
 #undef main
 
+#ifndef WE_ESSENTIAL
 /* Do we really need iwgetid ? Well, it's not like it's a big one */
 #define main(args...) main_iwgetid(args)
 #define iw_usage(args...) iwgetid_usage(args)
 #include "iwgetid.c"
 #undef iw_usage
 #undef main
+#endif
 
 /* iwevent is useless for most people, don't grab it ? */
 
@@ -131,11 +133,13 @@ main(int  argc,
 #ifndef WE_ESSENTIAL
   if(!strcmp(call_name, "iwspy"))
     return(main_iwspy(argc, argv));
-#endif /* WE_ESSENTIAL */
+#endif
   if(!strcmp(call_name, "iwpriv"))
     return(main_iwpriv(argc, argv));
+#ifndef WE_ESSENTIAL
   if(!strcmp(call_name, "iwgetid"))
     return(main_iwgetid(argc, argv));
+#endif
 
   /* Uh oh... Not supposed to come here. */
   printf("iwmulticall : you are not supposed to call me this way...\n");
--- a/iwlib.c
+++ b/iwlib.c
@@ -113,6 +113,7 @@ const struct iw_modul_descr iw_modul_lis
   { IW_MODUL_11A, "11a", "IEEE 802.11a (5 GHz, up to 54 Mb/s)" },
   { IW_MODUL_11B, "11b", "IEEE 802.11b (2.4 GHz, up to 11 Mb/s)" },
 
+#ifndef WE_ESSENTIAL
   /* Proprietary aggregates */
   { IW_MODUL_TURBO | IW_MODUL_11A, "turboa",
     "Atheros turbo mode at 5 GHz (up to 108 Mb/s)" },
@@ -120,6 +121,7 @@ const struct iw_modul_descr iw_modul_lis
     "Atheros turbo mode at 2.4 GHz (up to 108 Mb/s)" },
   { IW_MODUL_PBCC | IW_MODUL_11B, "11+",
     "TI 802.11+ (2.4 GHz, up to 22 Mb/s)" },
+#endif
 
   /* Individual modulations */
   { IW_MODUL_OFDM_G, "OFDMg",
@@ -129,6 +131,7 @@ const struct iw_modul_descr iw_modul_lis
   { IW_MODUL_DS, "DS", "802.11 Direct Sequence (2.4 GHz, up to 2 Mb/s)" },
   { IW_MODUL_FH, "FH", "802.11 Frequency Hopping (2,4 GHz, up to 2 Mb/s)" },
 
+#ifndef WE_ESSENTIAL
   /* Proprietary modulations */
   { IW_MODUL_TURBO, "turbo",
     "Atheros turbo mode, channel bonding (up to 108 Mb/s)" },
@@ -136,6 +139,7 @@ const struct iw_modul_descr iw_modul_lis
     "TI 802.11+ higher rates (2.4 GHz, up to 22 Mb/s)" },
   { IW_MODUL_CUSTOM, "custom",
     "Driver specific modulation (check driver documentation)" },
+#endif
 };
 
 /* Disable runtime version warning in iw_get_range_info() */
@@ -440,6 +444,7 @@ iw_print_version_info(const char *  tooln
       return -1;
     }
 
+#ifndef WE_ESSENTIAL
   /* Information about the tools themselves */
   if(toolname != NULL)
     printf("%-8.16s  Wireless-Tools version %d\n", toolname, WT_VERSION);
@@ -452,6 +457,7 @@ iw_print_version_info(const char *  tooln
   if(we_kernel_version > 15)
     printf("Kernel    Currently compiled with Wireless Extension v%d.\n\n",
           we_kernel_version);
+#endif
 
   /* Version for each device */
   iw_enum_devices(skfd, &print_iface_version_info, NULL, 0);
@@ -501,6 +507,7 @@ iw_get_range_info(int               skfd,
       /* Copy stuff at the right place, ignore extra */
       memcpy((char *) range, buffer, sizeof(iwrange));
     }
+#ifndef WE_ESSENTIAL
   else
     {
       /* Zero unknown fields */
@@ -574,6 +581,7 @@ iw_get_range_info(int               skfd,
        * If the driver source has not been updated to the latest, it doesn't
        * matter because the new fields are set to zero */
     }
+#endif
 
   /* Don't complain twice.
    * In theory, the test apply to each individual driver, but usually
@@ -1542,6 +1550,7 @@ iw_print_key(char *                       buffer,
     }
 }
 
+#ifndef WE_ESSENTIAL
 /*------------------------------------------------------------------*/
 /*
  * Convert a passphrase into a key
@@ -1556,6 +1565,7 @@ iw_pass_key(const char *  input,
   fprintf(stderr, "Error: Passphrase not implemented\n");
   return(-1);
 }
+#endif
 
 /*------------------------------------------------------------------*/
 /*
@@ -1578,12 +1588,14 @@ iw_in_key(const char *          input,
        keylen = IW_ENCODING_TOKEN_MAX;
       memcpy(key, input + 2, keylen);
     }
+#ifndef WE_ESSENTIAL
   else
     if(!strncmp(input, "p:", 2))
       {
        /* Second case : as a passphrase (PrismII cards) */
        return(iw_pass_key(input + 2, key));            /* skip "p:" */
       }
+#endif
     else
       {
        const char *    p;
--- a/Makefile
+++ b/Makefile
@@ -195,9 +195,9 @@ install-iwmulticall:: iwmulticall
        install -m 755 $< $(INSTALL_DIR)/iwconfig
        ( cd $(INSTALL_DIR) ; \
          ln -f -s iwconfig iwlist ; \
-         ln -f -s iwconfig iwspy ; \
+         $(if $(BUILD_WE_ESSENTIAL),,ln -f -s iwconfig iwspy ;) \
          ln -f -s iwconfig iwpriv ; \
-         ln -f -s iwconfig iwgetid )
+         $(if $(BUILD_WE_ESSENTIAL),,ln -f -s iwconfig iwgetid ) )
 
 clean::
        $(RM_CMD)