+ fprintf(stderr,"\n");
+ hexdump(wdheader->data, wdheader->size);
+ fprintf(stderr,"\n");
+ diff(lastbuf, wdheader->data, wdheader->size);
+ break;
+ }
+ fprintf(stderr, ", size: %d\n", wdheader->size);
+}
+
+int do_wdioctl(unsigned int request, unsigned char *wdioctl) {
+ struct header_struct* wdheader = (struct header_struct*)wdioctl;
+ struct version_struct *version;
+
+ if (wdheader->magic != MAGIC) {
+ fprintf(stderr,"!!!ERROR: Header does not match!!!\n");
+ return;
+ }
+
+ switch(request) {
+ case VERSION:
+ version = (struct version_struct*)(wdheader->data);
+ strcpy(version->version, "WinDriver no more");
+ version->versionul = 999;
+ fprintf(stderr,"faking VERSION\n");
+ break;
+ case CARD_REGISTER:
+ {
+ struct card_register* cr = (struct card_register*)(wdheader->data);
+ /* Todo: LPT-Port already in use */
+ }
+ fprintf(stderr,"faking CARD_REGISTER\n");