summaryrefslogtreecommitdiffstats
path: root/sbin/ifconfig/ifmedia.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2001-05-26 09:27:08 +0000
committerphk <phk@FreeBSD.org>2001-05-26 09:27:08 +0000
commit1aacce7a450370feff7a5e098c12e915e4f731f8 (patch)
treea706c2fc726d426b9f75667c81d6227ef2f9ea18 /sbin/ifconfig/ifmedia.c
parent2072a71f0e5186928f3cb8cfac61fe8199029442 (diff)
downloadFreeBSD-src-1aacce7a450370feff7a5e098c12e915e4f731f8.zip
FreeBSD-src-1aacce7a450370feff7a5e098c12e915e4f731f8.tar.gz
Currently, each wireless networking driver has it's own control program
despite the fact that most people want to set exactly the same settings regardless of which card they have. It has been repeatidly suggested that this configuration should be done via ifconfig. This patch implements the required functionality in ifconfig and add support to the wi and an drivers. It also provides partial, untested support for the awi driver. PR: 25577 Submitted by: Brooks Davis <brooks@one-eyed-alien.net>
Diffstat (limited to 'sbin/ifconfig/ifmedia.c')
-rw-r--r--sbin/ifconfig/ifmedia.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/sbin/ifconfig/ifmedia.c b/sbin/ifconfig/ifmedia.c
index 3ab28f8..0e770f7 100644
--- a/sbin/ifconfig/ifmedia.c
+++ b/sbin/ifconfig/ifmedia.c
@@ -152,6 +152,13 @@ media_status(s, info)
else
printf("no ring");
break;
+ case IFM_IEEE80211:
+ /* XXX: Different value for adhoc? */
+ if (ifmr.ifm_status & IFM_ACTIVE)
+ printf("associated");
+ else
+ printf("no carrier");
+ break;
}
}
@@ -318,6 +325,15 @@ static struct ifmedia_description ifm_subtype_fddi_aliases[] =
static struct ifmedia_description ifm_subtype_fddi_option_descriptions[] =
IFM_SUBTYPE_FDDI_OPTION_DESCRIPTIONS;
+static struct ifmedia_description ifm_subtype_ieee80211_descriptions[] =
+ IFM_SUBTYPE_IEEE80211_DESCRIPTIONS;
+
+static struct ifmedia_description ifm_subtype_ieee80211_aliases[] =
+ IFM_SUBTYPE_IEEE80211_ALIASES;
+
+static struct ifmedia_description ifm_subtype_ieee80211_option_descriptions[] =
+ IFM_SUBTYPE_IEEE80211_OPTION_DESCRIPTIONS;
+
static struct ifmedia_description ifm_subtype_shared_descriptions[] =
IFM_SUBTYPE_SHARED_DESCRIPTIONS;
@@ -350,7 +366,7 @@ static struct ifmedia_type_to_subtype ifmedia_types_to_subtypes[] = {
},
{
{ &ifm_shared_option_descriptions[0], 0 },
- { &ifm_subtype_ethernet_option_descriptions[0], 1 },
+ { &ifm_subtype_ethernet_option_descriptions[0], 0 },
{ NULL, 0 },
},
},
@@ -364,7 +380,7 @@ static struct ifmedia_type_to_subtype ifmedia_types_to_subtypes[] = {
},
{
{ &ifm_shared_option_descriptions[0], 0 },
- { &ifm_subtype_tokenring_option_descriptions[0], 1 },
+ { &ifm_subtype_tokenring_option_descriptions[0], 0 },
{ NULL, 0 },
},
},
@@ -378,7 +394,21 @@ static struct ifmedia_type_to_subtype ifmedia_types_to_subtypes[] = {
},
{
{ &ifm_shared_option_descriptions[0], 0 },
- { &ifm_subtype_fddi_option_descriptions[0], 1 },
+ { &ifm_subtype_fddi_option_descriptions[0], 0 },
+ { NULL, 0 },
+ },
+ },
+ {
+ {
+ { &ifm_subtype_shared_descriptions[0], 0 },
+ { &ifm_subtype_shared_aliases[0], 1 },
+ { &ifm_subtype_ieee80211_descriptions[0], 0 },
+ { &ifm_subtype_ieee80211_aliases[0], 1 },
+ { NULL, 0 },
+ },
+ {
+ { &ifm_shared_option_descriptions[0], 0 },
+ { &ifm_subtype_ieee80211_option_descriptions[0], 0 },
{ NULL, 0 },
},
},
OpenPOWER on IntegriCloud