174 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * nl802154.h4 *5 * Copyright (C) 2007, 2008, 2009 Siemens AG6 */7 8#ifndef NL802154_H9#define NL802154_H10 11#include <net/netlink.h>12 13#define IEEE802154_NL_NAME "802.15.4 MAC"14#define IEEE802154_MCAST_COORD_NAME "coordinator"15#define IEEE802154_MCAST_BEACON_NAME "beacon"16 17enum {18 __IEEE802154_ATTR_INVALID,19 20 IEEE802154_ATTR_DEV_NAME,21 IEEE802154_ATTR_DEV_INDEX,22 23 IEEE802154_ATTR_STATUS,24 25 IEEE802154_ATTR_SHORT_ADDR,26 IEEE802154_ATTR_HW_ADDR,27 IEEE802154_ATTR_PAN_ID,28 29 IEEE802154_ATTR_CHANNEL,30 31 IEEE802154_ATTR_COORD_SHORT_ADDR,32 IEEE802154_ATTR_COORD_HW_ADDR,33 IEEE802154_ATTR_COORD_PAN_ID,34 35 IEEE802154_ATTR_SRC_SHORT_ADDR,36 IEEE802154_ATTR_SRC_HW_ADDR,37 IEEE802154_ATTR_SRC_PAN_ID,38 39 IEEE802154_ATTR_DEST_SHORT_ADDR,40 IEEE802154_ATTR_DEST_HW_ADDR,41 IEEE802154_ATTR_DEST_PAN_ID,42 43 IEEE802154_ATTR_CAPABILITY,44 IEEE802154_ATTR_REASON,45 IEEE802154_ATTR_SCAN_TYPE,46 IEEE802154_ATTR_CHANNELS,47 IEEE802154_ATTR_DURATION,48 IEEE802154_ATTR_ED_LIST,49 IEEE802154_ATTR_BCN_ORD,50 IEEE802154_ATTR_SF_ORD,51 IEEE802154_ATTR_PAN_COORD,52 IEEE802154_ATTR_BAT_EXT,53 IEEE802154_ATTR_COORD_REALIGN,54 IEEE802154_ATTR_SEC,55 56 IEEE802154_ATTR_PAGE,57 IEEE802154_ATTR_CHANNEL_PAGE_LIST,58 59 IEEE802154_ATTR_PHY_NAME,60 IEEE802154_ATTR_DEV_TYPE,61 62 IEEE802154_ATTR_TXPOWER,63 IEEE802154_ATTR_LBT_ENABLED,64 IEEE802154_ATTR_CCA_MODE,65 IEEE802154_ATTR_CCA_ED_LEVEL,66 IEEE802154_ATTR_CSMA_RETRIES,67 IEEE802154_ATTR_CSMA_MIN_BE,68 IEEE802154_ATTR_CSMA_MAX_BE,69 70 IEEE802154_ATTR_FRAME_RETRIES,71 72 IEEE802154_ATTR_LLSEC_ENABLED,73 IEEE802154_ATTR_LLSEC_SECLEVEL,74 IEEE802154_ATTR_LLSEC_KEY_MODE,75 IEEE802154_ATTR_LLSEC_KEY_SOURCE_SHORT,76 IEEE802154_ATTR_LLSEC_KEY_SOURCE_EXTENDED,77 IEEE802154_ATTR_LLSEC_KEY_ID,78 IEEE802154_ATTR_LLSEC_FRAME_COUNTER,79 IEEE802154_ATTR_LLSEC_KEY_BYTES,80 IEEE802154_ATTR_LLSEC_KEY_USAGE_FRAME_TYPES,81 IEEE802154_ATTR_LLSEC_KEY_USAGE_COMMANDS,82 IEEE802154_ATTR_LLSEC_FRAME_TYPE,83 IEEE802154_ATTR_LLSEC_CMD_FRAME_ID,84 IEEE802154_ATTR_LLSEC_SECLEVELS,85 IEEE802154_ATTR_LLSEC_DEV_OVERRIDE,86 IEEE802154_ATTR_LLSEC_DEV_KEY_MODE,87 88 IEEE802154_ATTR_PAD,89 90 __IEEE802154_ATTR_MAX,91};92 93#define IEEE802154_ATTR_MAX (__IEEE802154_ATTR_MAX - 1)94 95extern const struct nla_policy ieee802154_policy[];96 97/* commands */98/* REQ should be responded with CONF99 * and INDIC with RESP100 */101enum {102 __IEEE802154_COMMAND_INVALID,103 104 IEEE802154_ASSOCIATE_REQ,105 IEEE802154_ASSOCIATE_CONF,106 IEEE802154_DISASSOCIATE_REQ,107 IEEE802154_DISASSOCIATE_CONF,108 IEEE802154_GET_REQ,109 IEEE802154_GET_CONF,110 IEEE802154_RESET_REQ,111 IEEE802154_RESET_CONF,112 IEEE802154_SCAN_REQ,113 IEEE802154_SCAN_CONF,114 IEEE802154_SET_REQ,115 IEEE802154_SET_CONF,116 IEEE802154_START_REQ,117 IEEE802154_START_CONF,118 IEEE802154_SYNC_REQ,119 IEEE802154_POLL_REQ,120 IEEE802154_POLL_CONF,121 122 IEEE802154_ASSOCIATE_INDIC,123 IEEE802154_ASSOCIATE_RESP,124 IEEE802154_DISASSOCIATE_INDIC,125 IEEE802154_BEACON_NOTIFY_INDIC,126 IEEE802154_ORPHAN_INDIC,127 IEEE802154_ORPHAN_RESP,128 IEEE802154_COMM_STATUS_INDIC,129 IEEE802154_SYNC_LOSS_INDIC,130 131 IEEE802154_GTS_REQ, /* Not supported yet */132 IEEE802154_GTS_INDIC, /* Not supported yet */133 IEEE802154_GTS_CONF, /* Not supported yet */134 IEEE802154_RX_ENABLE_REQ, /* Not supported yet */135 IEEE802154_RX_ENABLE_CONF, /* Not supported yet */136 137 IEEE802154_LIST_IFACE,138 IEEE802154_LIST_PHY,139 IEEE802154_ADD_IFACE,140 IEEE802154_DEL_IFACE,141 142 IEEE802154_SET_MACPARAMS,143 144 IEEE802154_LLSEC_GETPARAMS,145 IEEE802154_LLSEC_SETPARAMS,146 IEEE802154_LLSEC_LIST_KEY,147 IEEE802154_LLSEC_ADD_KEY,148 IEEE802154_LLSEC_DEL_KEY,149 IEEE802154_LLSEC_LIST_DEV,150 IEEE802154_LLSEC_ADD_DEV,151 IEEE802154_LLSEC_DEL_DEV,152 IEEE802154_LLSEC_LIST_DEVKEY,153 IEEE802154_LLSEC_ADD_DEVKEY,154 IEEE802154_LLSEC_DEL_DEVKEY,155 IEEE802154_LLSEC_LIST_SECLEVEL,156 IEEE802154_LLSEC_ADD_SECLEVEL,157 IEEE802154_LLSEC_DEL_SECLEVEL,158 159 __IEEE802154_CMD_MAX,160};161 162#define IEEE802154_CMD_MAX (__IEEE802154_CMD_MAX - 1)163 164enum {165 __IEEE802154_DEV_INVALID = -1,166 167 IEEE802154_DEV_WPAN,168 IEEE802154_DEV_MONITOR,169 170 __IEEE802154_DEV_MAX,171};172 173#endif174