commit 2022cacb6ad3856315194328e1900d486bad2c1b Author: Jiri Slaby Date: Sun Jun 17 23:23:55 2007 +0200 openhal/ieee80211_regdomain cleanup diff --git a/openhal/ieee80211_regdomain.c b/openhal/ieee80211_regdomain.c index 870e52e..172c0dc 100644 --- a/openhal/ieee80211_regdomain.c +++ b/openhal/ieee80211_regdomain.c @@ -1,19 +1,9 @@ -/* $OpenBSD: ieee80211_regdomain.c,v 1.4 2005/02/17 23:52:05 reyk Exp $ */ - /* * Copyright (c) 2004, 2005 Reyk Floeter * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* @@ -23,10 +13,6 @@ #include "ah_osdep.h" #include "ieee80211_regdomain.h" - -int ieee80211_regdomain_compare_cn(const void *, const void *); -int ieee80211_regdomain_compare_rn(const void *, const void *); - static const struct ieee80211_regdomainname ieee80211_r_names[] = IEEE80211_REGDOMAIN_NAMES; @@ -37,24 +23,20 @@ static const struct ieee80211_countryname ieee80211_r_ctry[] = IEEE80211_REGDOMAIN_COUNTRY_NAMES; #ifndef bsearch -const void *bsearch(const void *, const void *, size_t, size_t, - int (*)(const void *, const void *)); - -const void * -bsearch(const void *key, const void *base0, size_t nmemb, size_t size, - int (*compar)(const void *, const void *)) +static const void *bsearch(const void *key, const void *base0, size_t nmemb, + size_t size, int (*compar)(const void *, const void *)) { const char *base = base0; int lim, cmp; const void *p; - for (lim = nmemb; lim != 0; lim >>= 1) { - p = base + (lim >> 1) * size; + for (lim = nmemb; lim != 0; lim /= 2) { + p = base + (lim / 2) * size; cmp = (*compar)(key, p); if (cmp == 0) - return ((const void *)p); + return p; if (cmp > 0) { /* key > p: move right */ - base = (const char *)p + size; + base = p + size; lim--; } /* else move left */ } @@ -62,103 +44,92 @@ bsearch(const void *key, const void *base0, size_t nmemb, size_t size, } #endif -int -ieee80211_regdomain_compare_cn(const void *a, const void *b) +static int ieee80211_regdomain_compare_cn(const void *a, const void *b) { - return(strcmp(((const struct ieee80211_countryname*)a)->cn_name, - ((const struct ieee80211_countryname*)b)->cn_name)); + const struct ieee80211_countryname *ca = a, *cb = b; + return strcmp(ca->cn_name, cb->cn_name); } -int -ieee80211_regdomain_compare_rn(const void *a, const void *b) +static int ieee80211_regdomain_compare_rn(const void *a, const void *b) { - return(strcmp(((const struct ieee80211_regdomainname*)a)->rn_name, - ((const struct ieee80211_regdomainname*)b)->rn_name)); + const struct ieee80211_regdomainname *ra = a, *rb = b; + return strcmp(ra->rn_name, rb->rn_name); } -u_int16_t -ieee80211_name2countrycode(const char *name) +u16 ieee80211_name2countrycode(const char *name) { const struct ieee80211_countryname key = { CTRY_DEFAULT, name }, *value; - if((value = bsearch(&key, &ieee80211_r_ctry, - sizeof(ieee80211_r_ctry) / sizeof(ieee80211_r_ctry[0]), + value = bsearch(&key, &ieee80211_r_ctry, ARRAY_SIZE(ieee80211_r_ctry), sizeof(struct ieee80211_countryname), - ieee80211_regdomain_compare_cn)) != 0) - return(value->cn_code); + ieee80211_regdomain_compare_cn); + if (value != 0) + return value->cn_code; - return(CTRY_DEFAULT); + return CTRY_DEFAULT; } -u_int32_t -ieee80211_name2regdomain(const char *name) +u32 ieee80211_name2regdomain(const char *name) { - const struct ieee80211_regdomainname key = { DMN_DEFAULT, name }, *value; + const struct ieee80211_regdomainname key = { DMN_DEFAULT, name },*value; - if((value = bsearch(&key, &ieee80211_r_names, - sizeof(ieee80211_r_names) / sizeof(ieee80211_r_names[0]), + value = bsearch(&key, &ieee80211_r_names, ARRAY_SIZE(ieee80211_r_names), sizeof(struct ieee80211_regdomainname), - ieee80211_regdomain_compare_rn)) != 0) - return((u_int32_t)value->rn_domain); + ieee80211_regdomain_compare_rn); + if (value != 0) + return (u32)value->rn_domain; - return((u_int32_t)DMN_DEFAULT); + return (u32)DMN_DEFAULT; } -const char * -ieee80211_countrycode2name(u_int16_t code) +const char *ieee80211_countrycode2name(u16 code) { - int i; + unsigned int i; /* Linear search over the table */ - for(i = 0; i < (sizeof(ieee80211_r_ctry) / sizeof(ieee80211_r_ctry[0])); i++) - if(ieee80211_r_ctry[i].cn_code == code) - return(ieee80211_r_ctry[i].cn_name); + for (i = 0; i < ARRAY_SIZE(ieee80211_r_ctry); i++) + if (ieee80211_r_ctry[i].cn_code == code) + return ieee80211_r_ctry[i].cn_name; return NULL; } -const char * -ieee80211_regdomain2name(u_int32_t regdomain) +const char *ieee80211_regdomain2name(u_int32_t regdomain) { - int i; + unsigned int i; /* Linear search over the table */ - for(i = 0; i < (sizeof(ieee80211_r_names) / - sizeof(ieee80211_r_names[0])); i++) - if(ieee80211_r_names[i].rn_domain == regdomain) - return(ieee80211_r_names[i].rn_name); + for (i = 0; i < ARRAY_SIZE(ieee80211_r_names); i++) + if (ieee80211_r_names[i].rn_domain == regdomain) + return ieee80211_r_names[i].rn_name; - return(ieee80211_r_names[0].rn_name); + return ieee80211_r_names[0].rn_name; } -u_int32_t -ieee80211_regdomain2flag(u_int16_t regdomain, u_int16_t mhz) +u32 ieee80211_regdomain2flag(u16 regdomain, u16 mhz) { - int i; + unsigned int i; - for(i = 0; i < (sizeof(ieee80211_r_map) / - sizeof(ieee80211_r_map[0])); i++) { - if(ieee80211_r_map[i].rm_domain == regdomain) { - if(mhz >= 2000 && mhz <= 3000) - return((u_int32_t)ieee80211_r_map[i].rm_domain_2ghz); - if(mhz >= IEEE80211_CHANNELS_5GHZ_MIN && - mhz <= IEEE80211_CHANNELS_5GHZ_MAX) - return((u_int32_t)ieee80211_r_map[i].rm_domain_5ghz); + for (i = 0; i < ARRAY_SIZE(ieee80211_r_map); i++) { + if (ieee80211_r_map[i].rm_domain == regdomain) { + if (mhz >= 2000 && mhz <= 3000) + return (u32)ieee80211_r_map[i].rm_domain_2ghz; + if (mhz >= IEEE80211_CHANNELS_5GHZ_MIN && + mhz <= IEEE80211_CHANNELS_5GHZ_MAX) + return (u32)ieee80211_r_map[i].rm_domain_5ghz; } } - return((u_int32_t)DMN_DEBUG); + return (u32)DMN_DEBUG; } -u_int32_t -ieee80211_countrycode2regdomain(u_int16_t code) +u32 ieee80211_countrycode2regdomain(u16 code) { - int i; + unsigned int i; - for (i = 0; - i < (sizeof(ieee80211_r_ctry) / sizeof(ieee80211_r_ctry[0])); i++) + for (i = 0; i < ARRAY_SIZE(ieee80211_r_ctry); i++) if (ieee80211_r_ctry[i].cn_code == code) - return (ieee80211_r_ctry[i].cn_domain); + return ieee80211_r_ctry[i].cn_domain; - return((u_int32_t)DMN_DEFAULT); + return (u32)DMN_DEFAULT; } diff --git a/openhal/ieee80211_regdomain.h b/openhal/ieee80211_regdomain.h index 8f2a365..39e07fa 100644 --- a/openhal/ieee80211_regdomain.h +++ b/openhal/ieee80211_regdomain.h @@ -19,7 +19,7 @@ #ifndef _NET80211_IEEE80211_REGDOMAIN_H_ #define _NET80211_IEEE80211_REGDOMAIN_H_ -typedef u_int32_t ieee80211_regdomain_t; +typedef u32 ieee80211_regdomain_t; enum ieee80211_regdomain { DMN_DEFAULT = 0x00, @@ -102,7 +102,7 @@ enum ieee80211_regdomain { #define IEEE80211_DMN(_d) ((_d) & ~0xf0000000) struct ieee80211_regdomainname { - u_int32_t rn_domain; + u32 rn_domain; const char *rn_name; }; @@ -184,9 +184,9 @@ struct ieee80211_regdomainname { } struct ieee80211_regdomainmap { - u_int16_t rm_domain; - u_int32_t rm_domain_5ghz; - u_int32_t rm_domain_2ghz; + u16 rm_domain; + u32 rm_domain_5ghz; + u32 rm_domain_2ghz; }; #define IEEE80211_REGDOMAIN_MAP { \ @@ -361,9 +361,9 @@ enum ieee80211_countrycode { }; struct ieee80211_countryname { - u_int16_t cn_code; + u16 cn_code; const char *cn_name; - u_int32_t cn_domain; + u32 cn_domain; }; #define IEEE80211_REGDOMAIN_COUNTRY_NAMES { \ @@ -501,9 +501,9 @@ enum ieee80211_ctl { #define IEEE80211_CHANNELS_2GHZ_MAX 2732 /* 2GHz channel 26 */ struct ieee80211_regchannel { - u_int16_t rc_channel; - u_int32_t rc_domain; - u_int32_t rc_mode; + u16 rc_channel; + u32 rc_domain; + u32 rc_mode; }; #define IEEE80211_CHANNELS_2GHZ { \ @@ -769,12 +769,12 @@ struct ieee80211_regchannel { } -extern u_int16_t ieee80211_name2countrycode(const char *); -extern u_int32_t ieee80211_name2regdomain(const char *); -extern const char *ieee80211_countrycode2name(u_int16_t); -extern const char *ieee80211_regdomain2name(u_int32_t); -extern u_int32_t ieee80211_regdomain2flag(u_int16_t, u_int16_t); -extern u_int32_t ieee80211_countrycode2regdomain(u_int16_t); +extern u16 ieee80211_name2countrycode(const char *); +extern u32 ieee80211_name2regdomain(const char *); +extern const char *ieee80211_countrycode2name(u16); +extern const char *ieee80211_regdomain2name(u32); +extern u32 ieee80211_regdomain2flag(u16, u16); +extern u32 ieee80211_countrycode2regdomain(u16); #endif /* _NET80211_IEEE80211_REGDOMAIN_H_ */