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 72 __IEEE802154_ATTR_MAX, 73 }; 74 75 #define IEEE802154_ATTR_MAX (__IEEE802154_ATTR_MAX - 1) 76 77 extern const struct nla_policy ieee802154_policy[]; 78 79 /* commands */ 80 /* REQ should be responded with CONF 81 * and INDIC with RESP 82 */ 83 enum { 84 __IEEE802154_COMMAND_INVALID, 85 86 IEEE802154_ASSOCIATE_REQ, 87 IEEE802154_ASSOCIATE_CONF, 88 IEEE802154_DISASSOCIATE_REQ, 89 IEEE802154_DISASSOCIATE_CONF, 90 IEEE802154_GET_REQ, 91 IEEE802154_GET_CONF, 92 IEEE802154_RESET_REQ, 93 IEEE802154_RESET_CONF, 94 IEEE802154_SCAN_REQ, 95 IEEE802154_SCAN_CONF, 96 IEEE802154_SET_REQ, 97 IEEE802154_SET_CONF, 98 IEEE802154_START_REQ, 99 IEEE802154_START_CONF, 100 IEEE802154_SYNC_REQ, 101 IEEE802154_POLL_REQ, 102 IEEE802154_POLL_CONF, 103 104 IEEE802154_ASSOCIATE_INDIC, 105 IEEE802154_ASSOCIATE_RESP, 106 IEEE802154_DISASSOCIATE_INDIC, 107 IEEE802154_BEACON_NOTIFY_INDIC, 108 IEEE802154_ORPHAN_INDIC, 109 IEEE802154_ORPHAN_RESP, 110 IEEE802154_COMM_STATUS_INDIC, 111 IEEE802154_SYNC_LOSS_INDIC, 112 113 IEEE802154_GTS_REQ, /* Not supported yet */ 114 IEEE802154_GTS_INDIC, /* Not supported yet */ 115 IEEE802154_GTS_CONF, /* Not supported yet */ 116 IEEE802154_RX_ENABLE_REQ, /* Not supported yet */ 117 IEEE802154_RX_ENABLE_CONF, /* Not supported yet */ 118 119 IEEE802154_LIST_IFACE, 120 IEEE802154_LIST_PHY, 121 IEEE802154_ADD_IFACE, 122 IEEE802154_DEL_IFACE, 123 124 __IEEE802154_CMD_MAX, 125 }; 126 127 #define IEEE802154_CMD_MAX (__IEEE802154_CMD_MAX - 1) 128 129 #endif 130