diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 20:03:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:59:50 -0500 |
commit | ed1b6cc7f80f831e192704b05b9917f9cc37be15 (patch) | |
tree | 24a95282d3cb88c42b08a6ef1d6e9f02cce90c6e /include/net/cfg80211.h | |
parent | 62da92fb75c346b503bca765fd1337e08771c9fe (diff) |
cfg80211/nl80211: add beacon settings
This adds the necessary API to cfg80211/nl80211 to allow
changing beaconing settings.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 3db7dfa53b6f..fc94852e967b 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -69,6 +69,26 @@ struct key_params { | |||
69 | u32 cipher; | 69 | u32 cipher; |
70 | }; | 70 | }; |
71 | 71 | ||
72 | /** | ||
73 | * struct beacon_parameters - beacon parameters | ||
74 | * | ||
75 | * Used to configure the beacon for an interface. | ||
76 | * | ||
77 | * @head: head portion of beacon (before TIM IE) | ||
78 | * or %NULL if not changed | ||
79 | * @tail: tail portion of beacon (after TIM IE) | ||
80 | * or %NULL if not changed | ||
81 | * @interval: beacon interval or zero if not changed | ||
82 | * @dtim_period: DTIM period or zero if not changed | ||
83 | * @head_len: length of @head | ||
84 | * @tail_len: length of @tail | ||
85 | */ | ||
86 | struct beacon_parameters { | ||
87 | u8 *head, *tail; | ||
88 | int interval, dtim_period; | ||
89 | int head_len, tail_len; | ||
90 | }; | ||
91 | |||
72 | /* from net/wireless.h */ | 92 | /* from net/wireless.h */ |
73 | struct wiphy; | 93 | struct wiphy; |
74 | 94 | ||
@@ -103,6 +123,13 @@ struct wiphy; | |||
103 | * and @key_index | 123 | * and @key_index |
104 | * | 124 | * |
105 | * @set_default_key: set the default key on an interface | 125 | * @set_default_key: set the default key on an interface |
126 | * | ||
127 | * @add_beacon: Add a beacon with given parameters, @head, @interval | ||
128 | * and @dtim_period will be valid, @tail is optional. | ||
129 | * @set_beacon: Change the beacon parameters for an access point mode | ||
130 | * interface. This should reject the call when no beacon has been | ||
131 | * configured. | ||
132 | * @del_beacon: Remove beacon configuration and stop sending the beacon. | ||
106 | */ | 133 | */ |
107 | struct cfg80211_ops { | 134 | struct cfg80211_ops { |
108 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, | 135 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, |
@@ -122,6 +149,12 @@ struct cfg80211_ops { | |||
122 | int (*set_default_key)(struct wiphy *wiphy, | 149 | int (*set_default_key)(struct wiphy *wiphy, |
123 | struct net_device *netdev, | 150 | struct net_device *netdev, |
124 | u8 key_index); | 151 | u8 key_index); |
152 | |||
153 | int (*add_beacon)(struct wiphy *wiphy, struct net_device *dev, | ||
154 | struct beacon_parameters *info); | ||
155 | int (*set_beacon)(struct wiphy *wiphy, struct net_device *dev, | ||
156 | struct beacon_parameters *info); | ||
157 | int (*del_beacon)(struct wiphy *wiphy, struct net_device *dev); | ||
125 | }; | 158 | }; |
126 | 159 | ||
127 | #endif /* __NET_CFG80211_H */ | 160 | #endif /* __NET_CFG80211_H */ |