]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add a header file defining QCA OUI and vendor extensions
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 24 Jan 2014 13:58:00 +0000 (15:58 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 24 Jan 2014 13:58:00 +0000 (15:58 +0200)
This file is used as a registry of identifier assignments from the
Qualcomm Atheros OUI 00:13:74 for purposes other than MAC address
assignment. One of the first uses will be for nl80211 vendor
commands/events which is reason for the preparation change in
driver_nl80211.c

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

src/common/qca-vendor.h [new file with mode: 0644]
src/drivers/driver_nl80211.c

diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h
new file mode 100644 (file)
index 0000000..6e2f0c0
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Qualcomm Atheros OUI and vendor specific assignments
+ * Copyright (c) 2014, Qualcomm Atheros, Inc.
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+#ifndef QCA_VENDOR_H
+#define QCA_VENDOR_H
+
+/*
+ * This file is a registry of identifier assignments from the Qualcomm Atheros
+ * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers
+ * can be assigned through normal review process for changes to the upstream
+ * hostap.git repository.
+ */
+
+#define OUI_QCA 0x001374
+
+/**
+ * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event
+ */
+enum qca_nl80211_vendor_subcmds {
+       QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
+       QCA_NL80211_VENDOR_SUBCMD_TEST = 1,
+};
+
+#endif /* QCA_VENDOR_H */
index b5bf368dd84562f1dc284f8313716fcd21a58c48..008b03191d508c3819134da8fb6a858043ee1363 100644 (file)
@@ -28,6 +28,7 @@
 #include "common.h"
 #include "eloop.h"
 #include "utils/list.h"
+#include "common/qca-vendor.h"
 #include "common/ieee802_11_defs.h"
 #include "common/ieee802_11_common.h"
 #include "l2_packet/l2_packet.h"
@@ -2716,6 +2717,19 @@ static void nl80211_spurious_frame(struct i802_bss *bss, struct nlattr **tb,
 }
 
 
+static void nl80211_vendor_event_qca(struct wpa_driver_nl80211_data *drv,
+                                    u32 subcmd, u8 *data, size_t len)
+{
+       switch (subcmd) {
+       default:
+               wpa_printf(MSG_DEBUG,
+                          "nl80211: Ignore unsupported QCA vendor event %u",
+                          subcmd);
+               break;
+       }
+}
+
+
 static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv,
                                 struct nlattr **tb)
 {
@@ -2751,6 +2765,9 @@ static void nl80211_vendor_event(struct wpa_driver_nl80211_data *drv,
        }
 
        switch (vendor_id) {
+       case OUI_QCA:
+               nl80211_vendor_event_qca(drv, subcmd, data, len);
+               break;
        default:
                wpa_printf(MSG_DEBUG, "nl80211: Ignore unsupported vendor event");
                break;