+int pp_transfer(WD_TRANSFER *tr, int fd, unsigned int request, unsigned char *wdioctl) {
+ int ret = 0;
+
+ DPRINTF("dwPort: 0x%lx, cmdTrans: %lu, dwbytes: %ld, fautoinc: %ld, dwoptions: %ld\n",
+ (unsigned long)tr->dwPort, tr->cmdTrans, tr->dwBytes,
+ tr->fAutoinc, tr->dwOptions);
+
+#ifdef DEBUG
+ if (tr->cmdTrans == 13)
+ DPRINTF("write byte: %d\n", tr->Data.Byte);
+#endif
+
+#ifndef NO_WINDRVR
+ ret = (*ioctl_func) (fd, request, wdioctl);
+#endif
+
+ DPRINTF("dwPortReturn: 0x%lx, cmdTrans: %lu, dwbytes: %ld, fautoinc: %ld, dwoptions: %ld\n",
+ (unsigned long)tr->dwPort, tr->cmdTrans, tr->dwBytes,
+ tr->fAutoinc, tr->dwOptions);
+#ifdef DEBUG
+ if (tr->cmdTrans == 10)
+ DPRINTF("read byte: %d\n", tr->Data.Byte);
+#endif
+
+ return ret;
+}
+