Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Wade Guthrie | f162f8b | 2013-02-27 14:13:55 -0800 | [diff] [blame] | 5 | #ifndef SHILL_NL80211_ATTRIBUTE_H_ |
| 6 | #define SHILL_NL80211_ATTRIBUTE_H_ |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 7 | |
Wade Guthrie | 8343f7f | 2012-12-04 13:52:32 -0800 | [diff] [blame] | 8 | #include <netlink/attr.h> |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 9 | |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 10 | #include <base/basictypes.h> |
| 11 | |
Wade Guthrie | f162f8b | 2013-02-27 14:13:55 -0800 | [diff] [blame] | 12 | #include "shill/netlink_attribute.h" |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 13 | |
| 14 | struct nlattr; |
| 15 | |
| 16 | namespace shill { |
| 17 | |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 18 | // U8. |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 19 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 20 | class Nl80211AttributeKeyIdx : public NetlinkU8Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 21 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 22 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 23 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 24 | Nl80211AttributeKeyIdx() : NetlinkU8Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 25 | |
| 26 | private: |
| 27 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeKeyIdx); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 28 | }; |
| 29 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 30 | class Nl80211AttributeRegType : public NetlinkU8Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 31 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 32 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 33 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 34 | Nl80211AttributeRegType() : NetlinkU8Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 35 | |
| 36 | private: |
| 37 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeRegType); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 38 | }; |
| 39 | |
| 40 | // U16. |
| 41 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 42 | class Nl80211AttributeReasonCode : public NetlinkU16Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 43 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 44 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 45 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 46 | Nl80211AttributeReasonCode() : NetlinkU16Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 47 | |
| 48 | private: |
| 49 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeReasonCode); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 50 | }; |
| 51 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 52 | class Nl80211AttributeStatusCode : public NetlinkU16Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 53 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 54 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 55 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 56 | Nl80211AttributeStatusCode() : NetlinkU16Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 57 | |
| 58 | private: |
| 59 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeStatusCode); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 60 | }; |
| 61 | |
| 62 | // U32. |
| 63 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 64 | class Nl80211AttributeDuration : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 65 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 66 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 67 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 68 | Nl80211AttributeDuration() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 69 | |
| 70 | private: |
| 71 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeDuration); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 72 | }; |
| 73 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 74 | class Nl80211AttributeGeneration : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 75 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 76 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 77 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 78 | Nl80211AttributeGeneration() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 79 | |
| 80 | private: |
| 81 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeGeneration); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 82 | }; |
| 83 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 84 | class Nl80211AttributeIfindex : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 85 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 86 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 87 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 88 | Nl80211AttributeIfindex() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 89 | |
| 90 | private: |
| 91 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeIfindex); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 92 | }; |
| 93 | |
Paul Stewart | 2ddf2c6 | 2013-04-16 09:47:34 -0700 | [diff] [blame^] | 94 | class Nl80211AttributeIftype : public NetlinkU32Attribute { |
| 95 | public: |
| 96 | static const int kName; |
| 97 | static const char kNameString[]; |
| 98 | Nl80211AttributeIftype() : NetlinkU32Attribute(kName, kNameString) {} |
| 99 | |
| 100 | private: |
| 101 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeIftype); |
| 102 | }; |
| 103 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 104 | class Nl80211AttributeKeyType : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 105 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 106 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 107 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 108 | Nl80211AttributeKeyType() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 109 | |
| 110 | private: |
| 111 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeKeyType); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 112 | }; |
| 113 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 114 | class Nl80211AttributeRegInitiator : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 115 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 116 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 117 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 118 | Nl80211AttributeRegInitiator() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 119 | |
| 120 | private: |
| 121 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeRegInitiator); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 122 | }; |
| 123 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 124 | class Nl80211AttributeWiphy : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 125 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 126 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 127 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 128 | Nl80211AttributeWiphy() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 129 | |
| 130 | private: |
| 131 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeWiphy); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 132 | }; |
| 133 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 134 | class Nl80211AttributeWiphyFreq : public NetlinkU32Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 135 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 136 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 137 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 138 | Nl80211AttributeWiphyFreq() : NetlinkU32Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 139 | |
| 140 | private: |
| 141 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeWiphyFreq); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 142 | }; |
| 143 | |
| 144 | // U64. |
| 145 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 146 | class Nl80211AttributeCookie : public NetlinkU64Attribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 147 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 148 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 149 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 150 | Nl80211AttributeCookie() : NetlinkU64Attribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 151 | |
| 152 | private: |
| 153 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeCookie); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 154 | }; |
| 155 | |
| 156 | // Flag. |
| 157 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 158 | class Nl80211AttributeDisconnectedByAp : public NetlinkFlagAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 159 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 160 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 161 | static const char kNameString[]; |
| 162 | Nl80211AttributeDisconnectedByAp() : |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 163 | NetlinkFlagAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 164 | |
| 165 | private: |
| 166 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeDisconnectedByAp); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 167 | }; |
| 168 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 169 | class Nl80211AttributeSupportMeshAuth : public NetlinkFlagAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 170 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 171 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 172 | static const char kNameString[]; |
| 173 | Nl80211AttributeSupportMeshAuth() : |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 174 | NetlinkFlagAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 175 | |
| 176 | private: |
| 177 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeSupportMeshAuth); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 178 | }; |
| 179 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 180 | class Nl80211AttributeTimedOut : public NetlinkFlagAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 181 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 182 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 183 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 184 | Nl80211AttributeTimedOut() : NetlinkFlagAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 185 | |
| 186 | private: |
| 187 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeTimedOut); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 188 | }; |
| 189 | |
| 190 | // String. |
| 191 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 192 | class Nl80211AttributeRegAlpha2 : public NetlinkStringAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 193 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 194 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 195 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 196 | Nl80211AttributeRegAlpha2() : NetlinkStringAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 197 | |
| 198 | private: |
| 199 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeRegAlpha2); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 200 | }; |
| 201 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 202 | class Nl80211AttributeWiphyName : public NetlinkStringAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 203 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 204 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 205 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 206 | Nl80211AttributeWiphyName() : NetlinkStringAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 207 | |
| 208 | private: |
| 209 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeWiphyName); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 210 | }; |
| 211 | |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 212 | // Nested. |
| 213 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 214 | class Nl80211AttributeCqm : public NetlinkNestedAttribute { |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 215 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 216 | static const int kName; |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 217 | static const char kNameString[]; |
| 218 | Nl80211AttributeCqm(); |
Wade Guthrie | d3dfd6c | 2013-02-28 17:40:36 -0800 | [diff] [blame] | 219 | virtual bool InitFromNlAttr(const nlattr *data); |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 220 | |
| 221 | private: |
| 222 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeCqm); |
Wade Guthrie | d3dfd6c | 2013-02-28 17:40:36 -0800 | [diff] [blame] | 223 | }; |
| 224 | |
| 225 | class Nl80211AttributeScanFrequencies : public NetlinkNestedAttribute { |
| 226 | public: |
| 227 | static const int kName; |
| 228 | static const char kNameString[]; |
| 229 | explicit Nl80211AttributeScanFrequencies(); |
| 230 | virtual bool InitFromNlAttr(const nlattr *const_data); |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 231 | |
| 232 | private: |
| 233 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeScanFrequencies); |
Wade Guthrie | d3dfd6c | 2013-02-28 17:40:36 -0800 | [diff] [blame] | 234 | }; |
| 235 | |
| 236 | class Nl80211AttributeScanSsids : public NetlinkNestedAttribute { |
| 237 | public: |
| 238 | static const int kName; |
| 239 | static const char kNameString[]; |
| 240 | explicit Nl80211AttributeScanSsids(); |
| 241 | virtual bool InitFromNlAttr(const nlattr *const_data); |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 242 | |
| 243 | private: |
| 244 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeScanSsids); |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 245 | }; |
| 246 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 247 | class Nl80211AttributeStaInfo : public NetlinkNestedAttribute { |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 248 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 249 | static const int kName; |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 250 | static const char kNameString[]; |
Wade Guthrie | d3dfd6c | 2013-02-28 17:40:36 -0800 | [diff] [blame] | 251 | Nl80211AttributeStaInfo(); |
| 252 | virtual bool InitFromNlAttr(const nlattr *const_data); |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 253 | |
| 254 | private: |
| 255 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeStaInfo); |
repo sync | 12cca80 | 2012-12-19 17:34:22 -0800 | [diff] [blame] | 256 | }; |
| 257 | |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 258 | // Raw. |
| 259 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 260 | class Nl80211AttributeFrame : public NetlinkRawAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 261 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 262 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 263 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 264 | Nl80211AttributeFrame() : NetlinkRawAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 265 | |
| 266 | private: |
| 267 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeFrame); |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 268 | }; |
| 269 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 270 | class Nl80211AttributeKeySeq : public NetlinkRawAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 271 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 272 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 273 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 274 | Nl80211AttributeKeySeq() : NetlinkRawAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 275 | |
| 276 | private: |
| 277 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeKeySeq); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 278 | }; |
| 279 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 280 | class Nl80211AttributeMac : public NetlinkRawAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 281 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 282 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 283 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 284 | Nl80211AttributeMac() : NetlinkRawAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 285 | |
| 286 | private: |
| 287 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeMac); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 288 | }; |
| 289 | |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 290 | class Nl80211AttributeRespIe : public NetlinkRawAttribute { |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 291 | public: |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 292 | static const int kName; |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 293 | static const char kNameString[]; |
Wade Guthrie | 68da97c | 2013-02-26 13:09:35 -0800 | [diff] [blame] | 294 | Nl80211AttributeRespIe() : NetlinkRawAttribute(kName, kNameString) {} |
Wade Guthrie | 89e6cb3 | 2013-03-07 08:03:45 -0800 | [diff] [blame] | 295 | |
| 296 | private: |
| 297 | DISALLOW_COPY_AND_ASSIGN(Nl80211AttributeRespIe); |
Wade Guthrie | 25cdb38 | 2012-12-04 14:04:05 -0800 | [diff] [blame] | 298 | }; |
| 299 | |
Wade Guthrie | 1619624 | 2012-11-20 15:53:52 -0800 | [diff] [blame] | 300 | } // namespace shill |
| 301 | |
Wade Guthrie | bb9fca2 | 2013-04-10 17:21:42 -0700 | [diff] [blame] | 302 | #endif // SHILL_NL80211_ATTRIBUTE_H_ |