1 /* 2 * nl802154.h 3 * 4 * Copyright (C) 2007, 2008, 2009 Siemens AG 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 8 * as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 */ 20 21 #ifndef NL802154_H 22 #define NL802154_H 23 24 #define IEEE802154_NL_NAME "802.15.4 MAC" 25 #define IEEE802154_MCAST_COORD_NAME "coordinator" 26 #define IEEE802154_MCAST_BEACON_NAME "beacon" 27 28 enum { 29 __IEEE802154_ATTR_INVALID, 30 31 IEEE802154_ATTR_DEV_NAME, 32 IEEE802154_ATTR_DEV_INDEX, 33 34 IEEE802154_ATTR_STATUS, 35 36 IEEE802154_ATTR_SHORT_ADDR, 37 IEEE802154_ATTR_HW_ADDR, 38 IEEE802154_ATTR_PAN_ID, 39 40 IEEE802154_ATTR_CHANNEL, 41 42 IEEE802154_ATTR_COORD_SHORT_ADDR, 43 IEEE802154_ATTR_COORD_HW_ADDR, 44 IEEE802154_ATTR_COORD_PAN_ID, 45 46 IEEE802154_ATTR_SRC_SHORT_ADDR, 47 IEEE802154_ATTR_SRC_HW_ADDR, 48 IEEE802154_ATTR_SRC_PAN_ID, 49 50 IEEE802154_ATTR_DEST_SHORT_ADDR, 51 IEEE802154_ATTR_DEST_HW_ADDR, 52 IEEE802154_ATTR_DEST_PAN_ID, 53 54 IEEE802154_ATTR_CAPABILITY, 55 IEEE802154_ATTR_REASON, 56 IEEE802154_ATTR_SCAN_TYPE, 57 IEEE802154_ATTR_CHANNELS, 58 IEEE802154_ATTR_DURATION, 59 IEEE802154_ATTR_ED_LIST, 60 IEEE802154_ATTR_BCN_ORD, 61 IEEE802154_ATTR_SF_ORD, 62 IEEE802154_ATTR_PAN_COORD, 63 IEEE802154_ATTR_BAT_EXT, 64 IEEE802154_ATTR_COORD_REALIGN, 65 IEEE802154_ATTR_SEC, 66 67 IEEE802154_ATTR_PAGE, 68 IEEE802154_ATTR_CHANNEL_PAGE_LIST, 69 70 IEEE802154_ATTR_PHY_NAME, 71 IEEE802154_ATTR_DEV_TYPE, 72 73 IEEE802154_ATTR_TXPOWER, 74 IEEE802154_ATTR_LBT_ENABLED, 75 IEEE802154_ATTR_CCA_MODE, 76 IEEE802154_ATTR_CCA_ED_LEVEL, 77 IEEE802154_ATTR_CSMA_RETRIES, 78 IEEE802154_ATTR_CSMA_MIN_BE, 79 IEEE802154_ATTR_CSMA_MAX_BE, 80 81 IEEE802154_ATTR_FRAME_RETRIES, 82 83 __IEEE802154_ATTR_MAX, 84 }; 85 86 #define IEEE802154_ATTR_MAX (__IEEE802154_ATTR_MAX - 1) 87 88 extern const struct nla_policy ieee802154_policy[]; 89 90 /* commands */ 91 /* REQ should be responded with CONF 92 * and INDIC with RESP 93 */ 94 enum { 95 __IEEE802154_COMMAND_INVALID, 96 97 IEEE802154_ASSOCIATE_REQ, 98 IEEE802154_ASSOCIATE_CONF, 99 IEEE802154_DISASSOCIATE_REQ, 100 IEEE802154_DISASSOCIATE_CONF, 101 IEEE802154_GET_REQ, 102 IEEE802154_GET_CONF, 103 IEEE802154_RESET_REQ, 104 IEEE802154_RESET_CONF, 105 IEEE802154_SCAN_REQ, 106 IEEE802154_SCAN_CONF, 107 IEEE802154_SET_REQ, 108 IEEE802154_SET_CONF, 109 IEEE802154_START_REQ, 110 IEEE802154_START_CONF, 111 IEEE802154_SYNC_REQ, 112 IEEE802154_POLL_REQ, 113 IEEE802154_POLL_CONF, 114 115 IEEE802154_ASSOCIATE_INDIC, 116 IEEE802154_ASSOCIATE_RESP, 117 IEEE802154_DISASSOCIATE_INDIC, 118 IEEE802154_BEACON_NOTIFY_INDIC, 119 IEEE802154_ORPHAN_INDIC, 120 IEEE802154_ORPHAN_RESP, 121 IEEE802154_COMM_STATUS_INDIC, 122 IEEE802154_SYNC_LOSS_INDIC, 123 124 IEEE802154_GTS_REQ, /* Not supported yet */ 125 IEEE802154_GTS_INDIC, /* Not supported yet */ 126 IEEE802154_GTS_CONF, /* Not supported yet */ 127 IEEE802154_RX_ENABLE_REQ, /* Not supported yet */ 128 IEEE802154_RX_ENABLE_CONF, /* Not supported yet */ 129 130 IEEE802154_LIST_IFACE, 131 IEEE802154_LIST_PHY, 132 IEEE802154_ADD_IFACE, 133 IEEE802154_DEL_IFACE, 134 135 IEEE802154_SET_MACPARAMS, 136 137 __IEEE802154_CMD_MAX, 138 }; 139 140 #define IEEE802154_CMD_MAX (__IEEE802154_CMD_MAX - 1) 141 142 enum { 143 __IEEE802154_DEV_INVALID = -1, 144 145 IEEE802154_DEV_WPAN, 146 IEEE802154_DEV_MONITOR, 147 148 __IEEE802154_DEV_MAX, 149 }; 150 151 #endif 152