openwrtv3/package/mac80211/patches/008-add-hostapd-ioctl-header.patch
Felix Fietkau 67dd9a73dc fix up hostapd for mac80211
SVN-Revision: 9554
2007-11-16 03:10:56 +00:00

110 lines
3 KiB
Diff

---
net/mac80211/hostapd_ioctl.h | 103 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 103 insertions(+)
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ everything/net/mac80211/hostapd_ioctl.h 2007-11-07 13:19:23.031516330 +0100
@@ -0,0 +1,103 @@
+/*
+ * Host AP (software wireless LAN access point) user space daemon for
+ * Host AP kernel driver
+ * Copyright 2002-2003, Jouni Malinen <jkmaline@cc.hut.fi>
+ * Copyright 2002-2004, Instant802 Networks, Inc.
+ * Copyright 2005, Devicescape Software, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef HOSTAPD_IOCTL_H
+#define HOSTAPD_IOCTL_H
+
+#ifdef __KERNEL__
+#include <linux/types.h>
+#endif /* __KERNEL__ */
+
+#define PRISM2_IOCTL_PRISM2_PARAM (SIOCIWFIRSTPRIV + 0)
+#define PRISM2_IOCTL_GET_PRISM2_PARAM (SIOCIWFIRSTPRIV + 1)
+#define PRISM2_IOCTL_HOSTAPD (SIOCIWFIRSTPRIV + 3)
+
+/* PRISM2_IOCTL_PRISM2_PARAM ioctl() subtypes:
+ * This table is no longer added to, the whole sub-ioctl
+ * mess shall be deleted completely. */
+enum {
+ PRISM2_PARAM_AP_BRIDGE_PACKETS = 10,
+ PRISM2_PARAM_IEEE_802_1X = 23,
+
+ /* Instant802 additions */
+ PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES = 1001,
+ PRISM2_PARAM_PREAMBLE = 1003,
+ PRISM2_PARAM_SHORT_SLOT_TIME = 1006,
+ PRISM2_PARAM_NEXT_MODE = 1008,
+ PRISM2_PARAM_PRIVACY_INVOKED = 1014,
+ PRISM2_PARAM_EAPOL = 1023,
+ PRISM2_PARAM_MGMT_IF = 1046,
+};
+
+/* PRISM2_IOCTL_HOSTAPD ioctl() cmd:
+ * This table is no longer added to, the hostapd ioctl
+ * shall be deleted completely. */
+enum {
+ PRISM2_HOSTAPD_FLUSH = 1,
+
+ /* Instant802 additions */
+ PRISM2_HOSTAPD_GET_HW_FEATURES = 1002,
+ PRISM2_HOSTAPD_SET_RATE_SETS = 1005,
+ PRISM2_HOSTAPD_SET_CHANNEL_FLAG = 1012,
+ PRISM2_HOSTAPD_SET_REGULATORY_DOMAIN = 1013,
+ PRISM2_HOSTAPD_SET_TX_QUEUE_PARAMS = 1014,
+};
+
+#define PRISM2_HOSTAPD_MAX_BUF_SIZE 2048
+#define ALIGNED __attribute__ ((aligned))
+
+struct prism2_hostapd_param {
+ u32 cmd;
+ u8 sta_addr[ETH_ALEN];
+ u8 pad[2];
+ union {
+ struct {
+ u16 num_modes;
+ u16 flags;
+ u8 data[0] ALIGNED; /* num_modes * feature data */
+ } hw_features;
+ struct {
+ u16 mode; /* MODE_* */
+ u16 num_supported_rates;
+ u16 num_basic_rates;
+ u8 data[0] ALIGNED; /* num_supported_rates * u16 +
+ * num_basic_rates * u16 */
+ } set_rate_sets;
+ struct {
+ u16 mode; /* MODE_* */
+ u16 chan;
+ u32 flag;
+ u8 power_level; /* regulatory limit in dBm */
+ u8 antenna_max;
+ } set_channel_flag;
+ struct {
+ u32 rd;
+ } set_regulatory_domain;
+ struct {
+ u32 queue;
+ s32 aifs;
+ u32 cw_min;
+ u32 cw_max;
+ u32 burst_time; /* maximum burst time in 0.1 ms, i.e.,
+ * 10 = 1 ms */
+ } tx_queue_params;
+ } u;
+};
+
+/* Data structures used for get_hw_features ioctl */
+struct hostapd_ioctl_hw_modes_hdr {
+ int mode;
+ int num_channels;
+ int num_rates;
+};
+
+#endif /* HOSTAPD_IOCTL_H */