// SPDX-License-Identifier: GPL-2.0+ /* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */
#include <linux/nl80211.h>
#include"qlink_util.h"
u16 qlink_iface_type_to_nl_mask(u16 qlink_type)
{
u16 result = 0;
switch (qlink_type) { case QLINK_IFTYPE_AP:
result |= BIT(NL80211_IFTYPE_AP); break; case QLINK_IFTYPE_STATION:
result |= BIT(NL80211_IFTYPE_STATION); break; case QLINK_IFTYPE_ADHOC:
result |= BIT(NL80211_IFTYPE_ADHOC); break; case QLINK_IFTYPE_MONITOR:
result |= BIT(NL80211_IFTYPE_MONITOR); break; case QLINK_IFTYPE_WDS:
result |= BIT(NL80211_IFTYPE_WDS); break; case QLINK_IFTYPE_AP_VLAN:
result |= BIT(NL80211_IFTYPE_AP_VLAN); break;
}
return result;
}
u8 qlink_chan_width_mask_to_nl(u16 qlink_mask)
{
u8 result = 0;
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_5))
result |= BIT(NL80211_CHAN_WIDTH_5);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_10))
result |= BIT(NL80211_CHAN_WIDTH_10);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_20_NOHT))
result |= BIT(NL80211_CHAN_WIDTH_20_NOHT);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_20))
result |= BIT(NL80211_CHAN_WIDTH_20);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_40))
result |= BIT(NL80211_CHAN_WIDTH_40);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_80))
result |= BIT(NL80211_CHAN_WIDTH_80);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_80P80))
result |= BIT(NL80211_CHAN_WIDTH_80P80);
if (qlink_mask & BIT(QLINK_CHAN_WIDTH_160))
result |= BIT(NL80211_CHAN_WIDTH_160);
return result;
}
staticenum nl80211_chan_width qlink_chanwidth_to_nl(u8 qlw)
{ switch (qlw) { case QLINK_CHAN_WIDTH_20_NOHT: return NL80211_CHAN_WIDTH_20_NOHT; case QLINK_CHAN_WIDTH_20: return NL80211_CHAN_WIDTH_20; case QLINK_CHAN_WIDTH_40: return NL80211_CHAN_WIDTH_40; case QLINK_CHAN_WIDTH_80: return NL80211_CHAN_WIDTH_80; case QLINK_CHAN_WIDTH_80P80: return NL80211_CHAN_WIDTH_80P80; case QLINK_CHAN_WIDTH_160: return NL80211_CHAN_WIDTH_160; case QLINK_CHAN_WIDTH_5: return NL80211_CHAN_WIDTH_5; case QLINK_CHAN_WIDTH_10: return NL80211_CHAN_WIDTH_10; default: return -1;
}
}
static u8 qlink_chanwidth_nl_to_qlink(enum nl80211_chan_width nlwidth)
{ switch (nlwidth) { case NL80211_CHAN_WIDTH_20_NOHT: return QLINK_CHAN_WIDTH_20_NOHT; case NL80211_CHAN_WIDTH_20: return QLINK_CHAN_WIDTH_20; case NL80211_CHAN_WIDTH_40: return QLINK_CHAN_WIDTH_40; case NL80211_CHAN_WIDTH_80: return QLINK_CHAN_WIDTH_80; case NL80211_CHAN_WIDTH_80P80: return QLINK_CHAN_WIDTH_80P80; case NL80211_CHAN_WIDTH_160: return QLINK_CHAN_WIDTH_160; case NL80211_CHAN_WIDTH_5: return QLINK_CHAN_WIDTH_5; case NL80211_CHAN_WIDTH_10: return QLINK_CHAN_WIDTH_10; default: return -1;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.