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