diff options
author | Pali Rohár <pali.rohar@gmail.com> | 2014-11-21 17:47:47 +0100 |
---|---|---|
committer | Pali Rohár <pali.rohar@gmail.com> | 2014-11-21 17:47:47 +0100 |
commit | 8369f94195142fc2da816f401ee7843f90677e54 (patch) | |
tree | ecc409e9aba7176e634ada704ba8f5b01a19c4aa | |
parent | f1095777c6c92f284ba2a8eb8b08a21476e4cb5f (diff) | |
download | 0xFFFF-8369f94195142fc2da816f401ee7843f90677e54.tar.bz2 |
mkii: Implement mkii_get_sw_ver
-rw-r--r-- | src/mkii.c | 20 |
1 files changed, 15 insertions, 5 deletions
@@ -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); } |