| 1 | #ifndef __NL802154_H
|
| 2 | #define __NL802154_H
|
| 3 | |
| 4 | * 802.15.4 netlink interface public header
|
| 5 | *
|
| 6 | * Copyright 2014 Alexander Aring <[email protected]>
|
| 7 | *
|
| 8 | * Permission to use, copy, modify, and/or distribute this software for any
|
| 9 | * purpose with or without fee is hereby granted, provided that the above
|
| 10 | * copyright notice and this permission notice appear in all copies.
|
| 11 | *
|
| 12 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
| 13 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
| 14 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
| 15 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
| 16 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
| 17 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
| 18 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
| 19 | *
|
| 20 |
|
| 21 |
|
| 22 | #include <linux/types.h>
|
| 23 |
|
| 24 | #define NL802154_GENL_NAME "nl802154"
|
| 25 |
|
| 26 | enum nl802154_commands {
|
| 27 |
|
| 28 |
|
| 29 | NL802154_CMD_UNSPEC,
|
| 30 |
|
| 31 | NL802154_CMD_GET_WPAN_PHY,
|
| 32 | NL802154_CMD_SET_WPAN_PHY,
|
| 33 | NL802154_CMD_NEW_WPAN_PHY,
|
| 34 | NL802154_CMD_DEL_WPAN_PHY,
|
| 35 |
|
| 36 | NL802154_CMD_GET_INTERFACE,
|
| 37 | NL802154_CMD_SET_INTERFACE,
|
| 38 | NL802154_CMD_NEW_INTERFACE,
|
| 39 | NL802154_CMD_DEL_INTERFACE,
|
| 40 |
|
| 41 | NL802154_CMD_SET_CHANNEL,
|
| 42 |
|
| 43 | NL802154_CMD_SET_PAN_ID,
|
| 44 | NL802154_CMD_SET_SHORT_ADDR,
|
| 45 |
|
| 46 | NL802154_CMD_SET_TX_POWER,
|
| 47 | NL802154_CMD_SET_CCA_MODE,
|
| 48 | NL802154_CMD_SET_CCA_ED_LEVEL,
|
| 49 |
|
| 50 | NL802154_CMD_SET_MAX_FRAME_RETRIES,
|
| 51 |
|
| 52 | NL802154_CMD_SET_BACKOFF_EXPONENT,
|
| 53 | NL802154_CMD_SET_MAX_CSMA_BACKOFFS,
|
| 54 |
|
| 55 | NL802154_CMD_SET_LBT_MODE,
|
| 56 |
|
| 57 | NL802154_CMD_SET_ACKREQ_DEFAULT,
|
| 58 |
|
| 59 | NL802154_CMD_SET_WPAN_PHY_NETNS,
|
| 60 |
|
| 61 | NL802154_CMD_SET_SEC_PARAMS,
|
| 62 | NL802154_CMD_GET_SEC_KEY,
|
| 63 | NL802154_CMD_NEW_SEC_KEY,
|
| 64 | NL802154_CMD_DEL_SEC_KEY,
|
| 65 | NL802154_CMD_GET_SEC_DEV,
|
| 66 | NL802154_CMD_NEW_SEC_DEV,
|
| 67 | NL802154_CMD_DEL_SEC_DEV,
|
| 68 | NL802154_CMD_GET_SEC_DEVKEY,
|
| 69 | NL802154_CMD_NEW_SEC_DEVKEY,
|
| 70 | NL802154_CMD_DEL_SEC_DEVKEY,
|
| 71 | NL802154_CMD_GET_SEC_LEVEL,
|
| 72 | NL802154_CMD_NEW_SEC_LEVEL,
|
| 73 | NL802154_CMD_DEL_SEC_LEVEL,
|
| 74 |
|
| 75 | NL802154_CMD_SCAN_EVENT,
|
| 76 | NL802154_CMD_TRIGGER_SCAN,
|
| 77 | NL802154_CMD_ABORT_SCAN,
|
| 78 | NL802154_CMD_SCAN_DONE,
|
| 79 | NL802154_CMD_SEND_BEACONS,
|
| 80 | NL802154_CMD_STOP_BEACONS,
|
| 81 | NL802154_CMD_ASSOCIATE,
|
| 82 | NL802154_CMD_DISASSOCIATE,
|
| 83 | NL802154_CMD_SET_MAX_ASSOCIATIONS,
|
| 84 | NL802154_CMD_LIST_ASSOCIATIONS,
|
| 85 |
|
| 86 |
|
| 87 |
|
| 88 |
|
| 89 | __NL802154_CMD_AFTER_LAST,
|
| 90 | NL802154_CMD_MAX = __NL802154_CMD_AFTER_LAST - 1
|
| 91 | };
|
| 92 |
|
| 93 | enum nl802154_attrs {
|
| 94 |
|
| 95 |
|
| 96 | NL802154_ATTR_UNSPEC,
|
| 97 |
|
| 98 | NL802154_ATTR_WPAN_PHY,
|
| 99 | NL802154_ATTR_WPAN_PHY_NAME,
|
| 100 |
|
| 101 | NL802154_ATTR_IFINDEX,
|
| 102 | NL802154_ATTR_IFNAME,
|
| 103 | NL802154_ATTR_IFTYPE,
|
| 104 |
|
| 105 | NL802154_ATTR_WPAN_DEV,
|
| 106 |
|
| 107 | NL802154_ATTR_PAGE,
|
| 108 | NL802154_ATTR_CHANNEL,
|
| 109 |
|
| 110 | NL802154_ATTR_PAN_ID,
|
| 111 | NL802154_ATTR_SHORT_ADDR,
|
| 112 |
|
| 113 | NL802154_ATTR_TX_POWER,
|
| 114 |
|
| 115 | NL802154_ATTR_CCA_MODE,
|
| 116 | NL802154_ATTR_CCA_OPT,
|
| 117 | NL802154_ATTR_CCA_ED_LEVEL,
|
| 118 |
|
| 119 | NL802154_ATTR_MAX_FRAME_RETRIES,
|
| 120 |
|
| 121 | NL802154_ATTR_MAX_BE,
|
| 122 | NL802154_ATTR_MIN_BE,
|
| 123 | NL802154_ATTR_MAX_CSMA_BACKOFFS,
|
| 124 |
|
| 125 | NL802154_ATTR_LBT_MODE,
|
| 126 |
|
| 127 | NL802154_ATTR_GENERATION,
|
| 128 |
|
| 129 | NL802154_ATTR_CHANNELS_SUPPORTED,
|
| 130 | NL802154_ATTR_SUPPORTED_CHANNEL,
|
| 131 |
|
| 132 | NL802154_ATTR_EXTENDED_ADDR,
|
| 133 |
|
| 134 | NL802154_ATTR_WPAN_PHY_CAPS,
|
| 135 |
|
| 136 | NL802154_ATTR_SUPPORTED_COMMANDS,
|
| 137 |
|
| 138 | NL802154_ATTR_ACKREQ_DEFAULT,
|
| 139 |
|
| 140 | NL802154_ATTR_PAD,
|
| 141 |
|
| 142 | NL802154_ATTR_PID,
|
| 143 | NL802154_ATTR_NETNS_FD,
|
| 144 |
|
| 145 | NL802154_ATTR_COORDINATOR,
|
| 146 | NL802154_ATTR_SCAN_TYPE,
|
| 147 | NL802154_ATTR_SCAN_FLAGS,
|
| 148 | NL802154_ATTR_SCAN_CHANNELS,
|
| 149 | NL802154_ATTR_SCAN_PREAMBLE_CODES,
|
| 150 | NL802154_ATTR_SCAN_MEAN_PRF,
|
| 151 | NL802154_ATTR_SCAN_DURATION,
|
| 152 | NL802154_ATTR_SCAN_DONE_REASON,
|
| 153 | NL802154_ATTR_BEACON_INTERVAL,
|
| 154 | NL802154_ATTR_MAX_ASSOCIATIONS,
|
| 155 | NL802154_ATTR_PEER,
|
| 156 |
|
| 157 |
|
| 158 |
|
| 159 | #ifdef CONFIG_IEEE802154_NL802154_EXPERIMENTAL
|
| 160 | NL802154_ATTR_SEC_ENABLED,
|
| 161 | NL802154_ATTR_SEC_OUT_LEVEL,
|
| 162 | NL802154_ATTR_SEC_OUT_KEY_ID,
|
| 163 | NL802154_ATTR_SEC_FRAME_COUNTER,
|
| 164 |
|
| 165 | NL802154_ATTR_SEC_LEVEL,
|
| 166 | NL802154_ATTR_SEC_DEVICE,
|
| 167 | NL802154_ATTR_SEC_DEVKEY,
|
| 168 | NL802154_ATTR_SEC_KEY,
|
| 169 | #endif
|
| 170 |
|
| 171 | __NL802154_ATTR_AFTER_LAST,
|
| 172 | NL802154_ATTR_MAX = __NL802154_ATTR_AFTER_LAST - 1
|
| 173 | };
|
| 174 |
|
| 175 | enum nl802154_iftype {
|
| 176 | NL802154_IFTYPE_UNSPEC = (~(__u32)0),
|
| 177 |
|
| 178 | NL802154_IFTYPE_NODE = 0,
|
| 179 | NL802154_IFTYPE_MONITOR,
|
| 180 | NL802154_IFTYPE_COORD,
|
| 181 |
|
| 182 |
|
| 183 | NUM_NL802154_IFTYPES,
|
| 184 | NL802154_IFTYPE_MAX = NUM_NL802154_IFTYPES - 1
|
| 185 | };
|
| 186 |
|
| 187 | |
| 188 | * enum nl802154_wpan_phy_capability_attr - wpan phy capability attributes
|
| 189 | *
|
| 190 | * @__NL802154_CAP_ATTR_INVALID: attribute number 0 is reserved
|
| 191 | * @NL802154_CAP_ATTR_CHANNELS: a nested attribute for nl802154_channel_attr
|
| 192 | * @NL802154_CAP_ATTR_TX_POWERS: a nested attribute for
|
| 193 | * nl802154_wpan_phy_tx_power
|
| 194 | * @NL802154_CAP_ATTR_CCA_MODES: nl802154_cca_modes flags
|
| 195 | * @NL802154_CAP_ATTR_CCA_OPTS: nl802154_cca_opts flags
|
| 196 | * @NL802154_CAP_ATTR_MIN_MINBE: minimum of minbe value
|
| 197 | * @NL802154_CAP_ATTR_MAX_MINBE: maximum of minbe value
|
| 198 | * @NL802154_CAP_ATTR_MIN_MAXBE: minimum of maxbe value
|
| 199 | * @NL802154_CAP_ATTR_MAX_MAXBE: maximum of maxbe value
|
| 200 | * @NL802154_CAP_ATTR_MIN_CSMA_BACKOFFS: minimum of csma backoff value
|
| 201 | * @NL802154_CAP_ATTR_MAX_CSMA_BACKOFFS: maximum of csma backoffs value
|
| 202 | * @NL802154_CAP_ATTR_MIN_FRAME_RETRIES: minimum of frame retries value
|
| 203 | * @NL802154_CAP_ATTR_MAX_FRAME_RETRIES: maximum of frame retries value
|
| 204 | * @NL802154_CAP_ATTR_IFTYPES: nl802154_iftype flags
|
| 205 | * @NL802154_CAP_ATTR_LBT: nl802154_supported_bool_states flags
|
| 206 | * @NL802154_CAP_ATTR_MAX: highest cap attribute currently defined
|
| 207 | * @__NL802154_CAP_ATTR_AFTER_LAST: internal use
|
| 208 |
|
| 209 | enum nl802154_wpan_phy_capability_attr {
|
| 210 | __NL802154_CAP_ATTR_INVALID,
|
| 211 |
|
| 212 | NL802154_CAP_ATTR_IFTYPES,
|
| 213 |
|
| 214 | NL802154_CAP_ATTR_CHANNELS,
|
| 215 | NL802154_CAP_ATTR_TX_POWERS,
|
| 216 |
|
| 217 | NL802154_CAP_ATTR_CCA_ED_LEVELS,
|
| 218 | NL802154_CAP_ATTR_CCA_MODES,
|
| 219 | NL802154_CAP_ATTR_CCA_OPTS,
|
| 220 |
|
| 221 | NL802154_CAP_ATTR_MIN_MINBE,
|
| 222 | NL802154_CAP_ATTR_MAX_MINBE,
|
| 223 |
|
| 224 | NL802154_CAP_ATTR_MIN_MAXBE,
|
| 225 | NL802154_CAP_ATTR_MAX_MAXBE,
|
| 226 |
|
| 227 | NL802154_CAP_ATTR_MIN_CSMA_BACKOFFS,
|
| 228 | NL802154_CAP_ATTR_MAX_CSMA_BACKOFFS,
|
| 229 |
|
| 230 | NL802154_CAP_ATTR_MIN_FRAME_RETRIES,
|
| 231 | NL802154_CAP_ATTR_MAX_FRAME_RETRIES,
|
| 232 |
|
| 233 | NL802154_CAP_ATTR_LBT,
|
| 234 |
|
| 235 |
|
| 236 | __NL802154_CAP_ATTR_AFTER_LAST,
|
| 237 | NL802154_CAP_ATTR_MAX = __NL802154_CAP_ATTR_AFTER_LAST - 1
|
| 238 | };
|
| 239 |
|
| 240 | |
| 241 | * enum nl802154_coord - Netlink attributes for a coord
|
| 242 | *
|
| 243 | * @__NL802154_COORD_INVALID: invalid
|
| 244 | * @NL802154_COORD_PANID: PANID of the coordinator (2 bytes)
|
| 245 | * @NL802154_COORD_ADDR: coordinator address, (8 bytes or 2 bytes)
|
| 246 | * @NL802154_COORD_CHANNEL: channel number, related to @NL802154_COORD_PAGE (u8)
|
| 247 | * @NL802154_COORD_PAGE: channel page, related to @NL802154_COORD_CHANNEL (u8)
|
| 248 | * @NL802154_COORD_PREAMBLE_CODE: Preamble code used when the beacon was received,
|
| 249 | * this is PHY dependent and optional (u8)
|
| 250 | * @NL802154_COORD_MEAN_PRF: Mean PRF used when the beacon was received,
|
| 251 | * this is PHY dependent and optional (u8)
|
| 252 | * @NL802154_COORD_SUPERFRAME_SPEC: superframe specification of the PAN (u16)
|
| 253 | * @NL802154_COORD_LINK_QUALITY: signal quality of beacon in unspecified units,
|
| 254 | * scaled to 0..255 (u8)
|
| 255 | * @NL802154_COORD_GTS_PERMIT: set to true if GTS is permitted on this PAN
|
| 256 | * @NL802154_COORD_PAYLOAD_DATA: binary data containing the raw data from the
|
| 257 | * frame payload, (only if beacon or probe response had data)
|
| 258 | * @NL802154_COORD_PAD: attribute used for padding for 64-bit alignment
|
| 259 | * @NL802154_COORD_MAX: highest coordinator attribute
|
| 260 |
|
| 261 | enum nl802154_coord {
|
| 262 | __NL802154_COORD_INVALID,
|
| 263 | NL802154_COORD_PANID,
|
| 264 | NL802154_COORD_ADDR,
|
| 265 | NL802154_COORD_CHANNEL,
|
| 266 | NL802154_COORD_PAGE,
|
| 267 | NL802154_COORD_PREAMBLE_CODE,
|
| 268 | NL802154_COORD_MEAN_PRF,
|
| 269 | NL802154_COORD_SUPERFRAME_SPEC,
|
| 270 | NL802154_COORD_LINK_QUALITY,
|
| 271 | NL802154_COORD_GTS_PERMIT,
|
| 272 | NL802154_COORD_PAYLOAD_DATA,
|
| 273 | NL802154_COORD_PAD,
|
| 274 |
|
| 275 |
|
| 276 | NL802154_COORD_MAX,
|
| 277 | };
|
| 278 |
|
| 279 | |
| 280 | * enum nl802154_scan_types - Scan types
|
| 281 | *
|
| 282 | * @__NL802154_SCAN_INVALID: scan type number 0 is reserved
|
| 283 | * @NL802154_SCAN_ED: An ED scan allows a device to obtain a measure of the peak
|
| 284 | * energy in each requested channel
|
| 285 | * @NL802154_SCAN_ACTIVE: Locate any coordinator transmitting Beacon frames using
|
| 286 | * a Beacon Request command
|
| 287 | * @NL802154_SCAN_PASSIVE: Locate any coordinator transmitting Beacon frames
|
| 288 | * @NL802154_SCAN_ORPHAN: Relocate coordinator following a loss of synchronisation
|
| 289 | * @NL802154_SCAN_ENHANCED_ACTIVE: Same as Active using Enhanced Beacon Request
|
| 290 | * command instead of Beacon Request command
|
| 291 | * @NL802154_SCAN_RIT_PASSIVE: Passive scan for RIT Data Request command frames
|
| 292 | * instead of Beacon frames
|
| 293 | * @NL802154_SCAN_ATTR_MAX: Maximum SCAN attribute number
|
| 294 |
|
| 295 | enum nl802154_scan_types {
|
| 296 | __NL802154_SCAN_INVALID,
|
| 297 | NL802154_SCAN_ED,
|
| 298 | NL802154_SCAN_ACTIVE,
|
| 299 | NL802154_SCAN_PASSIVE,
|
| 300 | NL802154_SCAN_ORPHAN,
|
| 301 | NL802154_SCAN_ENHANCED_ACTIVE,
|
| 302 | NL802154_SCAN_RIT_PASSIVE,
|
| 303 |
|
| 304 |
|
| 305 | NL802154_SCAN_ATTR_MAX,
|
| 306 | };
|
| 307 |
|
| 308 | |
| 309 | * enum nl802154_scan_done_reasons - End of scan reasons
|
| 310 | *
|
| 311 | * @__NL802154_SCAN_DONE_REASON_INVALID: scan done reason number 0 is reserved.
|
| 312 | * @NL802154_SCAN_DONE_REASON_FINISHED: The scan just finished naturally after
|
| 313 | * going through all the requested and possible (complex) channels.
|
| 314 | * @NL802154_SCAN_DONE_REASON_ABORTED: The scan was aborted upon user request.
|
| 315 | * a Beacon Request command
|
| 316 | * @NL802154_SCAN_DONE_REASON_MAX: Maximum scan done reason attribute number.
|
| 317 |
|
| 318 | enum nl802154_scan_done_reasons {
|
| 319 | __NL802154_SCAN_DONE_REASON_INVALID,
|
| 320 | NL802154_SCAN_DONE_REASON_FINISHED,
|
| 321 | NL802154_SCAN_DONE_REASON_ABORTED,
|
| 322 |
|
| 323 |
|
| 324 | NL802154_SCAN_DONE_REASON_MAX,
|
| 325 | };
|
| 326 |
|
| 327 | |
| 328 | * enum nl802154_cca_modes - cca modes
|
| 329 | *
|
| 330 | * @__NL802154_CCA_INVALID: cca mode number 0 is reserved
|
| 331 | * @NL802154_CCA_ENERGY: Energy above threshold
|
| 332 | * @NL802154_CCA_CARRIER: Carrier sense only
|
| 333 | * @NL802154_CCA_ENERGY_CARRIER: Carrier sense with energy above threshold
|
| 334 | * @NL802154_CCA_ALOHA: CCA shall always report an idle medium
|
| 335 | * @NL802154_CCA_UWB_SHR: UWB preamble sense based on the SHR of a frame
|
| 336 | * @NL802154_CCA_UWB_MULTIPLEXED: UWB preamble sense based on the packet with
|
| 337 | * the multiplexed preamble
|
| 338 | * @__NL802154_CCA_ATTR_AFTER_LAST: Internal
|
| 339 | * @NL802154_CCA_ATTR_MAX: Maximum CCA attribute number
|
| 340 |
|
| 341 | enum nl802154_cca_modes {
|
| 342 | __NL802154_CCA_INVALID,
|
| 343 | NL802154_CCA_ENERGY,
|
| 344 | NL802154_CCA_CARRIER,
|
| 345 | NL802154_CCA_ENERGY_CARRIER,
|
| 346 | NL802154_CCA_ALOHA,
|
| 347 | NL802154_CCA_UWB_SHR,
|
| 348 | NL802154_CCA_UWB_MULTIPLEXED,
|
| 349 |
|
| 350 |
|
| 351 | __NL802154_CCA_ATTR_AFTER_LAST,
|
| 352 | NL802154_CCA_ATTR_MAX = __NL802154_CCA_ATTR_AFTER_LAST - 1
|
| 353 | };
|
| 354 |
|
| 355 | |
| 356 | * enum nl802154_cca_opts - additional options for cca modes
|
| 357 | *
|
| 358 | * @NL802154_CCA_OPT_ENERGY_CARRIER_OR: NL802154_CCA_ENERGY_CARRIER with OR
|
| 359 | * @NL802154_CCA_OPT_ENERGY_CARRIER_AND: NL802154_CCA_ENERGY_CARRIER with AND
|
| 360 |
|
| 361 | enum nl802154_cca_opts {
|
| 362 | NL802154_CCA_OPT_ENERGY_CARRIER_AND,
|
| 363 | NL802154_CCA_OPT_ENERGY_CARRIER_OR,
|
| 364 |
|
| 365 |
|
| 366 |
|
| 367 | __NL802154_CCA_OPT_ATTR_AFTER_LAST,
|
| 368 | NL802154_CCA_OPT_ATTR_MAX = __NL802154_CCA_OPT_ATTR_AFTER_LAST - 1
|
| 369 | };
|
| 370 |
|
| 371 | |
| 372 | * enum nl802154_supported_bool_states - bool states for bool capability entry
|
| 373 | *
|
| 374 | * @NL802154_SUPPORTED_BOOL_FALSE: indicates to set false
|
| 375 | * @NL802154_SUPPORTED_BOOL_TRUE: indicates to set true
|
| 376 | * @__NL802154_SUPPORTED_BOOL_INVALD: reserved
|
| 377 | * @NL802154_SUPPORTED_BOOL_BOTH: indicates to set true and false
|
| 378 | * @__NL802154_SUPPORTED_BOOL_AFTER_LAST: Internal
|
| 379 | * @NL802154_SUPPORTED_BOOL_MAX: highest value for bool states
|
| 380 |
|
| 381 | enum nl802154_supported_bool_states {
|
| 382 | NL802154_SUPPORTED_BOOL_FALSE,
|
| 383 | NL802154_SUPPORTED_BOOL_TRUE,
|
| 384 |
|
| 385 | __NL802154_SUPPORTED_BOOL_INVALD,
|
| 386 | NL802154_SUPPORTED_BOOL_BOTH,
|
| 387 |
|
| 388 |
|
| 389 | __NL802154_SUPPORTED_BOOL_AFTER_LAST,
|
| 390 | NL802154_SUPPORTED_BOOL_MAX = __NL802154_SUPPORTED_BOOL_AFTER_LAST - 1
|
| 391 | };
|
| 392 |
|
| 393 | enum nl802154_dev_addr_modes {
|
| 394 | NL802154_DEV_ADDR_NONE,
|
| 395 | __NL802154_DEV_ADDR_INVALID,
|
| 396 | NL802154_DEV_ADDR_SHORT,
|
| 397 | NL802154_DEV_ADDR_EXTENDED,
|
| 398 |
|
| 399 |
|
| 400 | __NL802154_DEV_ADDR_AFTER_LAST,
|
| 401 | NL802154_DEV_ADDR_MAX = __NL802154_DEV_ADDR_AFTER_LAST - 1
|
| 402 | };
|
| 403 |
|
| 404 | enum nl802154_dev_addr_attrs {
|
| 405 | NL802154_DEV_ADDR_ATTR_UNSPEC,
|
| 406 |
|
| 407 | NL802154_DEV_ADDR_ATTR_PAN_ID,
|
| 408 | NL802154_DEV_ADDR_ATTR_MODE,
|
| 409 | NL802154_DEV_ADDR_ATTR_SHORT,
|
| 410 | NL802154_DEV_ADDR_ATTR_EXTENDED,
|
| 411 | NL802154_DEV_ADDR_ATTR_PAD,
|
| 412 | NL802154_DEV_ADDR_ATTR_PEER_TYPE,
|
| 413 |
|
| 414 |
|
| 415 | __NL802154_DEV_ADDR_ATTR_AFTER_LAST,
|
| 416 | NL802154_DEV_ADDR_ATTR_MAX = __NL802154_DEV_ADDR_ATTR_AFTER_LAST - 1
|
| 417 | };
|
| 418 |
|
| 419 | enum nl802154_peer_type {
|
| 420 | NL802154_PEER_TYPE_UNSPEC,
|
| 421 |
|
| 422 | NL802154_PEER_TYPE_PARENT,
|
| 423 | NL802154_PEER_TYPE_CHILD,
|
| 424 |
|
| 425 |
|
| 426 | __NL802154_PEER_TYPE_AFTER_LAST,
|
| 427 | NL802154_PEER_TYPE_MAX = __NL802154_PEER_TYPE_AFTER_LAST - 1
|
| 428 | };
|
| 429 |
|
| 430 | #ifdef CONFIG_IEEE802154_NL802154_EXPERIMENTAL
|
| 431 |
|
| 432 | enum nl802154_key_id_modes {
|
| 433 | NL802154_KEY_ID_MODE_IMPLICIT,
|
| 434 | NL802154_KEY_ID_MODE_INDEX,
|
| 435 | NL802154_KEY_ID_MODE_INDEX_SHORT,
|
| 436 | NL802154_KEY_ID_MODE_INDEX_EXTENDED,
|
| 437 |
|
| 438 |
|
| 439 | __NL802154_KEY_ID_MODE_AFTER_LAST,
|
| 440 | NL802154_KEY_ID_MODE_MAX = __NL802154_KEY_ID_MODE_AFTER_LAST - 1
|
| 441 | };
|
| 442 |
|
| 443 | enum nl802154_key_id_attrs {
|
| 444 | NL802154_KEY_ID_ATTR_UNSPEC,
|
| 445 |
|
| 446 | NL802154_KEY_ID_ATTR_MODE,
|
| 447 | NL802154_KEY_ID_ATTR_INDEX,
|
| 448 | NL802154_KEY_ID_ATTR_IMPLICIT,
|
| 449 | NL802154_KEY_ID_ATTR_SOURCE_SHORT,
|
| 450 | NL802154_KEY_ID_ATTR_SOURCE_EXTENDED,
|
| 451 | NL802154_KEY_ID_ATTR_PAD,
|
| 452 |
|
| 453 |
|
| 454 | __NL802154_KEY_ID_ATTR_AFTER_LAST,
|
| 455 | NL802154_KEY_ID_ATTR_MAX = __NL802154_KEY_ID_ATTR_AFTER_LAST - 1
|
| 456 | };
|
| 457 |
|
| 458 | enum nl802154_seclevels {
|
| 459 | NL802154_SECLEVEL_NONE,
|
| 460 | NL802154_SECLEVEL_MIC32,
|
| 461 | NL802154_SECLEVEL_MIC64,
|
| 462 | NL802154_SECLEVEL_MIC128,
|
| 463 | NL802154_SECLEVEL_ENC,
|
| 464 | NL802154_SECLEVEL_ENC_MIC32,
|
| 465 | NL802154_SECLEVEL_ENC_MIC64,
|
| 466 | NL802154_SECLEVEL_ENC_MIC128,
|
| 467 |
|
| 468 |
|
| 469 | __NL802154_SECLEVEL_AFTER_LAST,
|
| 470 | NL802154_SECLEVEL_MAX = __NL802154_SECLEVEL_AFTER_LAST - 1
|
| 471 | };
|
| 472 |
|
| 473 | enum nl802154_frames {
|
| 474 | NL802154_FRAME_BEACON,
|
| 475 | NL802154_FRAME_DATA,
|
| 476 | NL802154_FRAME_ACK,
|
| 477 | NL802154_FRAME_CMD,
|
| 478 |
|
| 479 |
|
| 480 | __NL802154_FRAME_AFTER_LAST,
|
| 481 | NL802154_FRAME_MAX = __NL802154_FRAME_AFTER_LAST - 1
|
| 482 | };
|
| 483 |
|
| 484 | enum nl802154_cmd_frames {
|
| 485 | __NL802154_CMD_FRAME_INVALID,
|
| 486 | NL802154_CMD_FRAME_ASSOC_REQUEST,
|
| 487 | NL802154_CMD_FRAME_ASSOC_RESPONSE,
|
| 488 | NL802154_CMD_FRAME_DISASSOC_NOTIFY,
|
| 489 | NL802154_CMD_FRAME_DATA_REQUEST,
|
| 490 | NL802154_CMD_FRAME_PAN_ID_CONFLICT_NOTIFY,
|
| 491 | NL802154_CMD_FRAME_ORPHAN_NOTIFY,
|
| 492 | NL802154_CMD_FRAME_BEACON_REQUEST,
|
| 493 | NL802154_CMD_FRAME_COORD_REALIGNMENT,
|
| 494 | NL802154_CMD_FRAME_GTS_REQUEST,
|
| 495 |
|
| 496 |
|
| 497 | __NL802154_CMD_FRAME_AFTER_LAST,
|
| 498 | NL802154_CMD_FRAME_MAX = __NL802154_CMD_FRAME_AFTER_LAST - 1
|
| 499 | };
|
| 500 |
|
| 501 | enum nl802154_seclevel_attrs {
|
| 502 | NL802154_SECLEVEL_ATTR_UNSPEC,
|
| 503 |
|
| 504 | NL802154_SECLEVEL_ATTR_LEVELS,
|
| 505 | NL802154_SECLEVEL_ATTR_FRAME,
|
| 506 | NL802154_SECLEVEL_ATTR_CMD_FRAME,
|
| 507 | NL802154_SECLEVEL_ATTR_DEV_OVERRIDE,
|
| 508 |
|
| 509 |
|
| 510 | __NL802154_SECLEVEL_ATTR_AFTER_LAST,
|
| 511 | NL802154_SECLEVEL_ATTR_MAX = __NL802154_SECLEVEL_ATTR_AFTER_LAST - 1
|
| 512 | };
|
| 513 |
|
| 514 |
|
| 515 | enum {
|
| 516 | NL802154_DEVKEY_IGNORE,
|
| 517 | NL802154_DEVKEY_RESTRICT,
|
| 518 | NL802154_DEVKEY_RECORD,
|
| 519 |
|
| 520 |
|
| 521 | __NL802154_DEVKEY_AFTER_LAST,
|
| 522 | NL802154_DEVKEY_MAX = __NL802154_DEVKEY_AFTER_LAST - 1
|
| 523 | };
|
| 524 |
|
| 525 | enum nl802154_dev {
|
| 526 | NL802154_DEV_ATTR_UNSPEC,
|
| 527 |
|
| 528 | NL802154_DEV_ATTR_FRAME_COUNTER,
|
| 529 | NL802154_DEV_ATTR_PAN_ID,
|
| 530 | NL802154_DEV_ATTR_SHORT_ADDR,
|
| 531 | NL802154_DEV_ATTR_EXTENDED_ADDR,
|
| 532 | NL802154_DEV_ATTR_SECLEVEL_EXEMPT,
|
| 533 | NL802154_DEV_ATTR_KEY_MODE,
|
| 534 | NL802154_DEV_ATTR_PAD,
|
| 535 |
|
| 536 |
|
| 537 | __NL802154_DEV_ATTR_AFTER_LAST,
|
| 538 | NL802154_DEV_ATTR_MAX = __NL802154_DEV_ATTR_AFTER_LAST - 1
|
| 539 | };
|
| 540 |
|
| 541 | enum nl802154_devkey {
|
| 542 | NL802154_DEVKEY_ATTR_UNSPEC,
|
| 543 |
|
| 544 | NL802154_DEVKEY_ATTR_FRAME_COUNTER,
|
| 545 | NL802154_DEVKEY_ATTR_EXTENDED_ADDR,
|
| 546 | NL802154_DEVKEY_ATTR_ID,
|
| 547 | NL802154_DEVKEY_ATTR_PAD,
|
| 548 |
|
| 549 |
|
| 550 | __NL802154_DEVKEY_ATTR_AFTER_LAST,
|
| 551 | NL802154_DEVKEY_ATTR_MAX = __NL802154_DEVKEY_ATTR_AFTER_LAST - 1
|
| 552 | };
|
| 553 |
|
| 554 | enum nl802154_key {
|
| 555 | NL802154_KEY_ATTR_UNSPEC,
|
| 556 |
|
| 557 | NL802154_KEY_ATTR_ID,
|
| 558 | NL802154_KEY_ATTR_USAGE_FRAMES,
|
| 559 | NL802154_KEY_ATTR_USAGE_CMDS,
|
| 560 | NL802154_KEY_ATTR_BYTES,
|
| 561 |
|
| 562 |
|
| 563 | __NL802154_KEY_ATTR_AFTER_LAST,
|
| 564 | NL802154_KEY_ATTR_MAX = __NL802154_KEY_ATTR_AFTER_LAST - 1
|
| 565 | };
|
| 566 |
|
| 567 | #define NL802154_KEY_SIZE 16
|
| 568 | #define NL802154_CMD_FRAME_NR_IDS 256
|
| 569 |
|
| 570 | #endif
|
| 571 |
|
| 572 | #endif
|