diff --git a/drivers/xbee/xbee.c b/drivers/xbee/xbee.c index 4e78c2fa0827c3d05445f25416f7f5643b0fd372..b0ae0f10331b2a8a8caa2a20e41c508942ba6295 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: