]> git.zerfleddert.de Git - hmcfgusb/blobdiff - culfw.c
add culfw firmware version-check
[hmcfgusb] / culfw.c
diff --git a/culfw.c b/culfw.c
index 0dfb807e290ce968a79c8be60a52aa71319526e0..a4c949baff77fdc6e1325c9a236bec427836f7c8 100644 (file)
--- a/culfw.c
+++ b/culfw.c
@@ -175,3 +175,34 @@ void culfw_close(struct culfw_dev *dev)
 {
        close(dev->fd);
 }
+
+void culfw_flush(struct culfw_dev *dev)
+{
+       struct pollfd pfds[1];
+       int ret;
+       int r = 0;
+       uint8_t buf[1024];
+
+       tcflush(dev->fd, TCIOFLUSH);
+
+       while(1) {
+               memset(pfds, 0, sizeof(struct pollfd) * 1);
+
+               pfds[0].fd = dev->fd;
+               pfds[0].events = POLLIN;
+
+               ret = poll(pfds, 1, 100);
+               if (ret <= 0)
+                       break;
+
+               if (!(pfds[0].revents & POLLIN))
+                       break;
+
+               memset(buf, 0, sizeof(buf));
+               r = read(dev->fd, buf, sizeof(buf));
+               if (r <= 0)
+                       break;
+       }
+
+       return;
+}
Impressum, Datenschutz