From 8369f94195142fc2da816f401ee7843f90677e54 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Fri, 21 Nov 2014 17:47:47 +0100 Subject: mkii: Implement mkii_get_sw_ver --- src/mkii.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/mkii.c') diff --git a/src/mkii.c b/src/mkii.c index e3738bc..bcf6a3a 100644 --- a/src/mkii.c +++ b/src/mkii.c @@ -500,11 +500,21 @@ int mkii_set_nolo_ver(struct usb_device_info * dev, const char * ver) { int mkii_get_sw_ver(struct usb_device_info * dev, char * ver, size_t size) { - ERROR("Not implemented yet"); - (void)dev; - (void)ver; - (void)size; - return -1; + char buf[2048]; + struct mkii_message * msg; + int ret; + + msg = (struct mkii_message *)buf; + + memcpy(msg->data, "/version/sw_release", sizeof("/version/sw_release")-1); + ret = mkii_send_receive(dev->udev, MKII_GET_DEVICE, msg, sizeof("/version/sw_release")-1, msg, sizeof(buf)); + if ( ret < 2 || msg->data[0] != 0 || msg->data[1] == 0 ) + return -1; + + msg->data[ret] = 0; + strncpy(ver, msg->data+1, size); + ver[size-1] = 0; + return strlen(ver); } -- cgit v1.2.3