]> git.zerfleddert.de Git - usb-driver/blobdiff - usb-driver.c
add another ioctl-stub
[usb-driver] / usb-driver.c
index 8558c6af7d9cb74763f629fc42db0400ba43be17..853c38ccdffad5bd23413dd52c0db518fb74b37d 100644 (file)
@@ -240,7 +240,7 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                return (*ioctl_func) (fd, request, wdioctl);
        }
 
-       switch(request) {
+       switch(request & ~(0xc0000000)) {
                case VERSION:
                        version = (struct version_struct*)(wdheader->data);
                        strcpy(version->version, "WinDriver no more");
@@ -252,11 +252,15 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                        DPRINTF("LICENSE\n");
                        break;
 
+               case CARD_REGISTER_OLD:
                case CARD_REGISTER:
                        /* TODO: Implement for LPT-support */
 #if 0
                        {
                                struct card_register* cr = (struct card_register*)(wdheader->data);
+#ifndef NO_WINDRVR
+                               ret = (*ioctl_func) (fd, request, wdioctl);
+#endif
                        }
 #endif
                        DPRINTF("CARD_REGISTER\n");
@@ -321,6 +325,7 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                        }
                        break;
 
+               case INT_ENABLE_OLD:
                case INT_ENABLE:
                        DPRINTF("INT_ENABLE\n");
                        {
@@ -403,6 +408,7 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                        }
                        break;
 
+               case USB_GET_DEVICE_DATA_OLD:
                case USB_GET_DEVICE_DATA:
                        DPRINTF("USB_GET_DEVICE_DATA\n");
                        {
@@ -424,6 +430,7 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                        }
                        break;
 
+               case EVENT_REGISTER_OLD:
                case EVENT_REGISTER:
                        DPRINTF("EVENT_REGISTER\n");
                        {
@@ -516,6 +523,7 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
                        }
                        break;
 
+               case TRANSFER_OLD:
                case TRANSFER:
                        DPRINTF("TRANSFER\n");
 #ifndef NO_WINDRVR
@@ -523,6 +531,13 @@ int do_wdioctl(int fd, unsigned int request, unsigned char *wdioctl) {
 #endif
                        break;
 
+               case MULTI_TRANSFER:
+                       DPRINTF("MULTI_TRANSFER\n");
+#ifndef NO_WINDRVR
+                       ret = (*ioctl_func) (fd, request, wdioctl);
+#endif
+                       break;
+
                case EVENT_UNREGISTER:
                        DPRINTF("EVENT_UNREGISTER\n");
 #ifndef NO_WINDRVR
Impressum, Datenschutz