Ignore:
Timestamp:
07/17/03 13:16:01 (9 years ago)
Author:
aj
Message:

Improvements for the *BSD port.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ifd/sys-bsd.c

    r268 r279  
    44 * Copyright (C) 2003 Olaf Kirch <okir@suse.de> 
    55 * Copyright (C) 2003 Andreas Jellinghaus <aj@suse.de> 
     6 * Copyright (C) 2003 Markus Friedl <aj@suse.de> 
    67 * 
    78 * These functions need to be re-implemented for every 
     
    3132                return -1; 
    3233 
    33         if (!strncmp(name, "/proc/bus/usb", 13)) 
     34        if (!strncmp(name, "/dev/ugen", 7)) 
    3435                return IFD_DEVICE_TYPE_USB; 
    3536 
     
    6768                sprintf(namebuf, "/dev/ugen%d", num); 
    6869#else 
    69                 sprintf(namebuf, "/dev/ugen%d.%02d", 
    70                                 (num >> 8) & 0xff, 
    71                                 num & 0xff); 
     70                sprintf(namebuf, "/dev/ugen%d.00", num); 
    7271#endif 
    7372                break; 
     
    9291{ 
    9392        struct usb_ctl_request ctrl; 
    94         int             rc; 
     93        int             rc,val; 
    9594 
    9695        memset(&ctrl, 0, sizeof(ctrl)); 
    9796         
    98         ctrl.ucr_addr = 2; 
     97        ctrl.ucr_addr = 0; 
    9998        ctrl.ucr_request.bmRequestType = requesttype; 
    10099        ctrl.ucr_request.bRequest = request; 
    101         ctrl.ucr_request.wValue[0] = value; 
    102         ctrl.ucr_request.wIndex[0] = index; 
    103         ctrl.ucr_request.wLength[0] = len; 
     100        USETW(ctrl.ucr_request.wValue, value); 
     101        USETW(ctrl.ucr_request.wIndex, index); 
     102        USETW(ctrl.ucr_request.wLength, len); 
    104103        ctrl.ucr_actlen = 0; 
    105104        ctrl.ucr_data = data; 
    106105        ctrl.ucr_flags = USBD_SHORT_XFER_OK; 
     106 
     107        val = timeout; 
     108        rc = ioctl(fd, USB_SET_TIMEOUT, &val); 
     109        if (rc < 0) { 
     110                ct_error("usb_set_timeout failed: %m"); 
     111                return IFD_ERROR_COMM_ERROR; 
     112        } 
    107113  
    108114        if ((rc = ioctl(fd, USB_DO_REQUEST, &ctrl)) < 0) { 
     
    110116                return IFD_ERROR_COMM_ERROR; 
    111117        } 
    112         printf("usb returned %d, actlen %d\n",rc,ctrl.ucr_actlen); 
    113118 
    114119        return rc; 
Note: See TracChangeset for help on using the changeset viewer.