Lines Matching refs:device

140   Ricoh2_Device *device;
142 for (device = ricoh2_devices; device; device = device->next)
144 if (device == handle)
145 return device;
162 return "Unidentified device";
170 Ricoh2_Device *device = NULL;
173 for (device = ricoh2_devices; device; device = device->next)
175 if (strcmp (device->sane.name, devname) == 0)
177 device->active = SANE_TRUE;
182 device = (Ricoh2_Device *) malloc (sizeof (Ricoh2_Device));
183 if (!device)
192 DBG (1, "attach: couldn't open device `%s': %s\n", devname,
201 "attach: couldn't get vendor and product ids of device `%s': %s\n",
208 device->sane.name = strdup (devname);
209 device->sane.vendor = "Ricoh";
210 device->sane.model = get_model_by_productid (product);
211 device->sane.type = "flatbed scanner";
212 device->active = SANE_TRUE;
213 device->buffer = NULL;
215 device->next = ricoh2_devices;
216 ricoh2_devices = device;
218 DBG (2, "Found device %s\n", device->sane.name);
308 Ricoh2_Device *device = NULL;
325 for (device = ricoh2_devices; device; device = device->next)
326 if (device->active)
328 sane_devices[i++] = &(device->sane);
343 Ricoh2_Device *device;
352 /* walk the linked list of scanner device until there is a match
353 * with the device name */
354 for (device = ricoh2_devices; device; device = device->next)
357 device->sane.name);
360 || strcmp (name, device->sane.name) == 0)
364 *handle = device;
366 if (!device)
368 DBG (1, "sane_open: Not a Ricoh device\n");
372 status = init_options (device);
384 Ricoh2_Device *device;
396 if (!(device = lookup_handle(handle)))
399 if (device->opt[option].name)
402 device->opt[option].name);
405 return &(device->opt[option]);
415 Ricoh2_Device *device;
423 device = lookup_handle (handle);
424 CHECK_IF (device);
427 CHECK_IF (device->opt[option].type != SANE_TYPE_GROUP);
432 CHECK_IF (SANE_OPTION_IS_SETTABLE (device->opt[option].cap));
433 CHECK_IF (device->opt[option].cap & SANE_CAP_AUTOMATIC);
441 device->opt[option].name);
442 device->val[option].w = default_resolution;
449 device->opt[option].name);
450 strcpy (device->val[option].s, default_mode);
459 CHECK_IF (SANE_OPTION_IS_SETTABLE (device->opt[option].cap));
461 if (device->opt[option].type == SANE_TYPE_BOOL)
467 if (device->opt[option].constraint_type == SANE_CONSTRAINT_RANGE)
469 status = sanei_constrain_value (&(device->opt[option]), value, info);
480 device->opt[option].name);
481 device->val[option].w = *(SANE_Word *) value;
488 device->opt[option].name);
489 strcpy (device->val[option].s, value);
503 *(SANE_Word *) value = device->val[option].w;
505 device->opt[option].name);
508 strcpy (value, device->val[option].s);
524 update_scan_params (Ricoh2_Device *device)
527 if (strcmp(device->val[OPT_MODE].s, SANE_VALUE_SCAN_MODE_COLOR) == 0)
529 device->mode = SCAN_MODE_COLOR;
533 device->mode = SCAN_MODE_GRAY;
537 device->resolution = device->val[OPT_RESOLUTION].w;
544 Ricoh2_Device *device;
550 device = lookup_handle (handle);
551 CHECK_IF (device);
554 update_scan_params (device);
557 device->mode == SCAN_MODE_COLOR ? SANE_FRAME_RGB : SANE_FRAME_GRAY;
565 if (device->resolution == 600)
572 if (device->mode == SCAN_MODE_COLOR)
711 Ricoh2_Device *device;
719 device = lookup_handle (handle);
720 CHECK_IF (device);
722 update_scan_params (device);
723 device->cancelled = SANE_FALSE;
725 status = sanei_usb_open (device->sane.name, &(device->dn));
728 DBG (1, "could not open device %s: %s\n",
729 device->sane.name, sane_strstatus (status));
733 DBG (2, "usb device %s opened, device number is %d\n",
734 device->sane.name, device->dn);
736 status = sanei_usb_claim_interface (device->dn, 0);
741 sanei_usb_close (device->dn);
745 sanei_usb_set_endpoint (device->dn,
749 sanei_usb_set_endpoint (device->dn,
753 status = sanei_usb_reset (device->dn);
756 DBG (1, "could not reset device %s: %s\n",
757 device->sane.name, sane_strstatus (status));
758 sanei_usb_close (device->dn);
763 status = init_scan (device->dn, device->mode, device->resolution);
766 sanei_usb_close (device->dn);
770 resolution_factor = device->resolution == 600 ? 2 : 1;
774 device->bytes_to_read =
777 * (device->mode == SCAN_MODE_COLOR ? 3 : 1);
779 device->buffer =
783 device->mode == SCAN_MODE_COLOR);
785 DBG (8, "<sane_start: %lu bytes to read\n", device->bytes_to_read);
798 Ricoh2_Device *device;
806 device = lookup_handle (handle);
807 CHECK_IF (device);
815 if (device->bytes_to_read <= 0)
820 if (!ricoh2_buffer_get_bytes_remain (device->buffer))
825 ricoh2_buffer_get_internal_buffer (device->buffer);
831 status = send_receive (device->dn, &transfer);
834 device->bytes_to_read = 0;
839 *length = ricoh2_buffer_get_data (device->buffer,
841 min(maxlen, device->bytes_to_read));
843 device->bytes_to_read -= *length;
848 device->bytes_to_read);
852 ricoh2_buffer_get_bytes_remain(device->buffer));
855 if (device->bytes_to_read <= 0)
857 ricoh2_buffer_dispose(device->buffer);
858 device->buffer = NULL;
870 Ricoh2_Device *device;
875 device = lookup_handle (handle);
876 CHECK_IF (device);
887 Ricoh2_Device *device;
892 device = lookup_handle (handle);
893 CHECK_IF (device);
901 Ricoh2_Device *device;
908 if (!(device = lookup_handle (handle)))
911 if (device->cancelled)
914 device->cancelled = SANE_TRUE;
916 teardown_scan (device->dn);
917 if (device->buffer)
919 ricoh2_buffer_dispose (device->buffer);
920 device->buffer = NULL;
923 sanei_usb_close(device->dn);
931 Ricoh2_Device *device;
938 device = lookup_handle (handle);
939 if (!device)
950 Ricoh2_Device *device, *next;
957 for (device = ricoh2_devices, next = device; device; device = next)
959 next = device->next;
960 free (device);