#include <signal.h>
#include <pthread.h>
#include <errno.h>
+#include <inttypes.h>
#include "usb-driver.h"
static int (*ioctl_func) (int, int, void *) = NULL;
-static int windrvrfd = 0;
-FILE *modulesfp;
+static int windrvrfd = -1;
+FILE *modulesfp = NULL;
static int modules_read = 0;
static struct usb_bus *busses = NULL;
static struct usb_device *usbdevice;
static usb_dev_handle *usb_devhandle = NULL;
-static unsigned long card_type;
+static uint32_t card_type;
static int ints_enabled = 0;
static pthread_mutex_t int_wait = PTHREAD_MUTEX_INITIALIZER;
argp = va_arg (args, void *);
va_end (args);
- if (windrvrfd && (fd == windrvrfd))
+ if (fd == windrvrfd)
ret = do_wdioctl(fd, request, argp);
else
ret = (*ioctl_func) (fd, request, argp);
if (!func)
func = (int (*) (int)) dlsym(RTLD_NEXT, "close");
- if (fd == windrvrfd) {
+ if (fd == windrvrfd && windrvrfd >= 0) {
DPRINTF("close windrvrfd\n");
- windrvrfd = 0;
+ windrvrfd = -1;
}
return (*func) (fd);