]> git.zerfleddert.de Git - usb-driver/blobdiff - xpcu.c
add xpcu_close
[usb-driver] / xpcu.c
diff --git a/xpcu.c b/xpcu.c
index 28770fe6eba169a0690d52952443a593d29c7b54..17ab7cb7a2f6de6839387ef9106bb8410e220200 100644 (file)
--- a/xpcu.c
+++ b/xpcu.c
@@ -166,7 +166,7 @@ int xpcu_deviceinfo(struct xpcu_s *xpcu, unsigned char *buf) {
        return len;
 }
 
-int xpcu_claim(struct xpcu_s *xpcu, int claim) {
+static int xpcu_claim(struct xpcu_s *xpcu, int claim) {
        int ret = 0;
        static int claimed = 0;
 
@@ -247,3 +247,14 @@ struct xpcu_s *xpcu_open(void) {
 
        return &xpcu;
 }
+
+void xpcu_close(struct xpcu_s *xpcu) {
+       if (xpcu->handle) {
+               xpcu_claim(xpcu, XPCU_RELEASE);
+               usb_close(xpcu->handle);
+       }
+
+       xpcu->handle = NULL;
+       xpcu->interface = -1;
+       xpcu->alternate = -1;
+}
Impressum, Datenschutz