From: Felix Varghese <felixvarg...@gmail.com> Added function prototypes, structure definitions and netlink attributes for supporting PIB get/set functionality
Signed-off-by: Felix Varghese <felixvarg...@gmail.com> Signed-off-by: Prajosh Premdas <premdas.praj...@gmail.com> --- include/linux/nl802154.h | 3 +++ include/net/ieee802154_netdev.h | 19 +++++++++++++++++++ include/net/nl802154.h | 23 +++++++++++++++++++++++ 3 files changed, 45 insertions(+), 0 deletions(-) diff --git a/include/linux/nl802154.h b/include/linux/nl802154.h index 69fe03a..94ec8af 100644 --- a/include/linux/nl802154.h +++ b/include/linux/nl802154.h @@ -71,6 +71,9 @@ enum { IEEE802154_ATTR_DEV_TYPE, IEEE802154_ATTR_SET_DEFAULT_PIB, + IEEE802154_ATTR_PIB_ATTRIBUTE, + IEEE802154_ATTR_PIB_VALUE, + IEEE802154_ATTR_PIB_SIZE, __IEEE802154_ATTR_MAX, }; diff --git a/include/net/ieee802154_netdev.h b/include/net/ieee802154_netdev.h index 25cb045..183b384 100644 --- a/include/net/ieee802154_netdev.h +++ b/include/net/ieee802154_netdev.h @@ -27,6 +27,21 @@ #define IEEE802154_NETDEVICE_H #include <net/af_ieee802154.h> +#include <net/ieee802154.h> + +/* PIB attribute value type */ +union pib_value_t { + /* PIB attribute 8-bit */ + u8 pib_value_8bit; + /* PIB attribute 16-bit */ + u8 pib_value_16bit; + /* PIB attribute 32-bit */ + u8 pib_value_32bit; + /* PIB attribute 64-bit */ + u8 pib_value_64bit; + /* PIB attribute array */ + u8 pib_array[aMaxBeaconPayloadLength]; +}; /* * A control block of skb passed between the ARPHRD_IEEE802154 device @@ -94,6 +109,10 @@ struct wpan_phy; struct ieee802154_mlme_ops { int (*reset_req)(struct net_device *dev, u8 SetDefaultPIB); + int (*get_req)(struct net_device *dev, + u8 PIBattr); + int (*set_req)(struct net_device *dev, + u8 PIBattr, void *PIBval); int (*assoc_req)(struct net_device *dev, struct ieee802154_addr *addr, u8 channel, u8 page, u8 cap); diff --git a/include/net/nl802154.h b/include/net/nl802154.h index 23c2302..c3bec60 100644 --- a/include/net/nl802154.h +++ b/include/net/nl802154.h @@ -132,4 +132,27 @@ int ieee802154_nl_start_confirm(struct net_device *dev, u8 status); */ int ieee802154_reset_confirm(struct net_device *dev, u8 status); +/** + * ieee802154_nl_get_confirm - Notify userland of completion of get confirm. + * @dev: The device which was instructed the get operation. + * @PIBattr: + * @PIBval: + * @size: + * + * Note: This is in section xxxxx of the IEEE 802.15.4 document. + */ +int ieee802154_nl_get_confirm(struct net_device *dev, u8 PIBattr, + void *PIBval, int size); + +/** + * ieee802154_nl_set_confirm - Notify userland of completion of set confirm. + * @dev: The device which was instructed the set operation. + * @PIBattr: + * @status: + * + * Note: This is in section xxxxx of the IEEE 802.15.4 document. + */ +int ieee802154_nl_set_confirm(struct net_device *dev, u8 PIBattr, + int status); + #endif -- 1.7.4.1 ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Linux-zigbee-devel mailing list Linux-zigbee-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel