Changeset 1346

Show
Ignore:
Timestamp:
11/24/05 00:07:30 (3 years ago)
Author:
proski
Message:

Slightly more robust approach to ioctl error reporting - don't
hardcode ioctl numbers as array indices.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tools/athchans.c

    r1343 r1346  
    6868} 
    6969 
     70#define IOCTL_ERR(x) [x - SIOCIWFIRSTPRIV] "ioctl[" #x "]" 
    7071static int 
    7172set80211priv(const char *dev, int op, void *data, int len, int show_err) 
     
    9596                if (show_err) { 
    9697                        static const char *opnames[] = { 
    97                                 "ioctl[IEEE80211_IOCTL_SETPARAM]", 
    98                                 "ioctl[IEEE80211_IOCTL_GETPARAM]", 
    99                                 "ioctl[IEEE80211_IOCTL_SETKEY]", 
    100                                 "ioctl[IEEE80211_IOCTL_GETKEY]", 
    101                                 NULL, 
    102                                 "ioctl[IEEE80211_IOCTL_DELKEY]", 
    103                                 NULL, 
    104                                 "ioctl[IEEE80211_IOCTL_MLME]", 
    105                                 "ioctl[IEEE80211_IOCTL_SETOPTIE]", 
    106                                 "ioctl[IEEE80211_IOCTL_GETOPTIE]", 
    107                                 "ioctl[IEEE80211_IOCTL_ADDMAC]", 
    108                                 NULL, 
    109                                 "ioctl[IEEE80211_IOCTL_DELMAC]", 
    110                                 "ioctl[IEEE80211_IOCTL_GETCHANLIST]", 
    111                                 "ioctl[IEEE80211_IOCTL_SETCHANLIST]", 
     98                                IOCTL_ERR(IEEE80211_IOCTL_SETPARAM), 
     99                                IOCTL_ERR(IEEE80211_IOCTL_GETPARAM), 
     100                                IOCTL_ERR(IEEE80211_IOCTL_SETMODE), 
     101                                IOCTL_ERR(IEEE80211_IOCTL_GETMODE), 
     102                                IOCTL_ERR(IEEE80211_IOCTL_SETWMMPARAMS), 
     103                                IOCTL_ERR(IEEE80211_IOCTL_GETWMMPARAMS), 
     104                                IOCTL_ERR(IEEE80211_IOCTL_SETCHANLIST), 
     105                                IOCTL_ERR(IEEE80211_IOCTL_GETCHANLIST), 
     106                                IOCTL_ERR(IEEE80211_IOCTL_CHANSWITCH), 
     107                                IOCTL_ERR(IEEE80211_IOCTL_GETCHANINFO), 
     108                                IOCTL_ERR(IEEE80211_IOCTL_SETOPTIE), 
     109                                IOCTL_ERR(IEEE80211_IOCTL_GETOPTIE), 
     110                                IOCTL_ERR(IEEE80211_IOCTL_SETMLME), 
     111                                IOCTL_ERR(IEEE80211_IOCTL_SETKEY), 
     112                                IOCTL_ERR(IEEE80211_IOCTL_DELKEY), 
     113                                IOCTL_ERR(IEEE80211_IOCTL_ADDMAC), 
     114                                IOCTL_ERR(IEEE80211_IOCTL_DELMAC), 
     115                                IOCTL_ERR(IEEE80211_IOCTL_WDSADDMAC), 
     116                                IOCTL_ERR(IEEE80211_IOCTL_WDSDELMAC), 
    112117                        }; 
    113118                        if (IEEE80211_IOCTL_SETPARAM <= op && 
  • trunk/tools/athkey.c

    r1342 r1346  
    6868} 
    6969 
     70#define IOCTL_ERR(x) [x - SIOCIWFIRSTPRIV] "ioctl[" #x "]" 
    7071static int 
    7172set80211priv(const char *dev, int op, void *data, int len, int show_err) 
     
    9596                if (show_err) { 
    9697                        static const char *opnames[] = { 
    97                                 "ioctl[IEEE80211_IOCTL_SETPARAM]", 
    98                                 "ioctl[IEEE80211_IOCTL_GETPARAM]", 
    99                                 "ioctl[IEEE80211_IOCTL_SETKEY]", 
    100                                 "ioctl[IEEE80211_IOCTL_GETKEY]", 
    101                                 "ioctl[IEEE80211_IOCTL_DELKEY]", 
    102                                 NULL, 
    103                                 "ioctl[IEEE80211_IOCTL_SETMLME]", 
    104                                 NULL, 
    105                                 "ioctl[IEEE80211_IOCTL_SETOPTIE]", 
    106                                 "ioctl[IEEE80211_IOCTL_GETOPTIE]", 
    107                                 "ioctl[IEEE80211_IOCTL_ADDMAC]", 
    108                                 NULL, 
    109                                 "ioctl[IEEE80211_IOCTL_DELMAC]", 
    110                                 "ioctl[IEEE80211_IOCTL_GETCHANLIST]", 
    111                                 "ioctl[IEEE80211_IOCTL_SETCHANLIST]", 
     98                                IOCTL_ERR(IEEE80211_IOCTL_SETPARAM), 
     99                                IOCTL_ERR(IEEE80211_IOCTL_GETPARAM), 
     100                                IOCTL_ERR(IEEE80211_IOCTL_SETMODE), 
     101                                IOCTL_ERR(IEEE80211_IOCTL_GETMODE), 
     102                                IOCTL_ERR(IEEE80211_IOCTL_SETWMMPARAMS), 
     103                                IOCTL_ERR(IEEE80211_IOCTL_GETWMMPARAMS), 
     104                                IOCTL_ERR(IEEE80211_IOCTL_SETCHANLIST), 
     105                                IOCTL_ERR(IEEE80211_IOCTL_GETCHANLIST), 
     106                                IOCTL_ERR(IEEE80211_IOCTL_CHANSWITCH), 
     107                                IOCTL_ERR(IEEE80211_IOCTL_GETCHANINFO), 
     108                                IOCTL_ERR(IEEE80211_IOCTL_SETOPTIE), 
     109                                IOCTL_ERR(IEEE80211_IOCTL_GETOPTIE), 
     110                                IOCTL_ERR(IEEE80211_IOCTL_SETMLME), 
     111                                IOCTL_ERR(IEEE80211_IOCTL_SETKEY), 
     112                                IOCTL_ERR(IEEE80211_IOCTL_DELKEY), 
     113                                IOCTL_ERR(IEEE80211_IOCTL_ADDMAC), 
     114                                IOCTL_ERR(IEEE80211_IOCTL_DELMAC), 
     115                                IOCTL_ERR(IEEE80211_IOCTL_WDSADDMAC), 
     116                                IOCTL_ERR(IEEE80211_IOCTL_WDSDELMAC), 
    112117                        }; 
    113118                        if (IEEE80211_IOCTL_SETPARAM <= op && 
  • trunk/tools/wlanconfig.c

    r1342 r1346  
    831831} 
    832832 
     833#define IOCTL_ERR(x) [x - SIOCIWFIRSTPRIV] "ioctl[" #x "]" 
    833834static int 
    834835do80211priv(struct iwreq *iwr, const char *ifname, int op, void *data, size_t len) 
     
    855856        if (ioctl(getsocket(), op, iwr) < 0) { 
    856857                static const char *opnames[] = { 
    857                         "ioctl[IEEE80211_IOCTL_SETPARAM]"
    858                         "ioctl[IEEE80211_IOCTL_GETPARAM]"
    859                         "ioctl[IEEE80211_IOCTL_SETKEY]"
    860                         "ioctl[SIOCIWFIRSTPRIV+3]"
    861                         "ioctl[IEEE80211_IOCTL_DELKEY]"
    862                         "ioctl[SIOCIWFIRSTPRIV+5]"
    863                         "ioctl[IEEE80211_IOCTL_SETMLME]"
    864                         "ioctl[SIOCIWFIRSTPRIV+7]"
    865                         "ioctl[IEEE80211_IOCTL_SETOPTIE]"
    866                         "ioctl[IEEE80211_IOCTL_GETOPTIE]"
    867                         "ioctl[IEEE80211_IOCTL_ADDMAC]"
    868                         "ioctl[SIOCIWFIRSTPRIV+11]"
    869                         "ioctl[IEEE80211_IOCTL_DELMAC]"
    870                         "ioctl[SIOCIWFIRSTPRIV+13]"
    871                         "ioctl[IEEE80211_IOCTL_CHANLIST]"
    872                         "ioctl[SIOCIWFIRSTPRIV+15]"
    873                         "ioctl[IEEE80211_IOCTL_GETRSN]"
    874                         "ioctl[SIOCIWFIRSTPRIV+17]"
    875                         "ioctl[IEEE80211_IOCTL_GETKEY]"
     858                        IOCTL_ERR(IEEE80211_IOCTL_SETPARAM)
     859                        IOCTL_ERR(IEEE80211_IOCTL_GETPARAM)
     860                        IOCTL_ERR(IEEE80211_IOCTL_SETMODE)
     861                        IOCTL_ERR(IEEE80211_IOCTL_GETMODE)
     862                        IOCTL_ERR(IEEE80211_IOCTL_SETWMMPARAMS)
     863                        IOCTL_ERR(IEEE80211_IOCTL_GETWMMPARAMS)
     864                        IOCTL_ERR(IEEE80211_IOCTL_SETCHANLIST)
     865                        IOCTL_ERR(IEEE80211_IOCTL_GETCHANLIST)
     866                        IOCTL_ERR(IEEE80211_IOCTL_CHANSWITCH)
     867                        IOCTL_ERR(IEEE80211_IOCTL_GETCHANINFO)
     868                        IOCTL_ERR(IEEE80211_IOCTL_SETOPTIE)
     869                        IOCTL_ERR(IEEE80211_IOCTL_GETOPTIE)
     870                        IOCTL_ERR(IEEE80211_IOCTL_SETMLME)
     871                        IOCTL_ERR(IEEE80211_IOCTL_SETKEY)
     872                        IOCTL_ERR(IEEE80211_IOCTL_DELKEY)
     873                        IOCTL_ERR(IEEE80211_IOCTL_ADDMAC)
     874                        IOCTL_ERR(IEEE80211_IOCTL_DELMAC)
     875                        IOCTL_ERR(IEEE80211_IOCTL_WDSADDMAC)
     876                        IOCTL_ERR(IEEE80211_IOCTL_WDSDELMAC)
    876877                }; 
    877878                op -= SIOCIWFIRSTPRIV;