From e4deb1e50eee2ca01fe9594bdaf444f659db4e25 Mon Sep 17 00:00:00 2001
From: Martine Lenders <mlenders@inf.fu-berlin.de>
Date: Thu, 9 Apr 2015 19:57:31 +0200
Subject: [PATCH] xbee: add maximum packet size option

---
 drivers/xbee/xbee.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/xbee/xbee.c b/drivers/xbee/xbee.c
index 4e78c2fa08..b0ae0f1033 100644
--- a/drivers/xbee/xbee.c
+++ b/drivers/xbee/xbee.c
@@ -329,6 +329,17 @@ static int _set_channel(xbee_t *dev, uint8_t *val, size_t len)
     return -EINVAL;
 }
 
+static int _get_max_packet_size(xbee_t *dev, uint16_t *val, size_t max)
+{
+    if (max < 2) {
+        return -EOVERFLOW;
+    }
+
+    *val = XBEE_MAX_PAYLOAD_LENGTH;
+
+    return 2;
+}
+
 static int _get_panid(xbee_t *dev, uint8_t *val, size_t max)
 {
     uint8_t cmd[2];
@@ -611,6 +622,8 @@ static int _get(ng_netdev_t *netdev, ng_netconf_opt_t opt,
             return _get_addr_long(dev, (uint8_t *)value, max_len);
         case NETCONF_OPT_CHANNEL:
             return _get_channel(dev, (uint8_t *)value, max_len);
+        case NETCONF_OPT_MAX_PACKET_SIZE:
+            return _get_max_packet_size(dev, (uint16_t *)value, max_len);
         case NETCONF_OPT_NID:
             return _get_panid(dev, (uint8_t *)value, max_len);
         case NETCONF_OPT_PROTO:
-- 
GitLab