Lines Matching defs:dev
73 static SANE_Status pieusb_initialize_device_definition (Pieusb_Device_Definition* dev, Pieusb_Scanner_Properties* inq, const char* devicename, SANE_Word vendor_id, SANE_Word product_id);
74 static void pieusb_print_inquiry (Pieusb_Device_Definition * dev);
211 Pieusb_Device_Definition *dev;
219 for (dev = pieusb_definition_list_head; dev; dev = dev->next) {
220 if (strcmp (dev->sane.name, devicename) == 0) {
226 dev = malloc (sizeof (*dev));
227 if (!dev) {
234 free (dev);
260 free (dev);
268 free (dev);
278 r = pieusb_initialize_device_definition(dev, &inq, devicename, pieusb_supported_usb_device.vendor, pieusb_supported_usb_device.product);
284 pieusb_print_inquiry (dev);
288 free (dev);
293 dev->flags = pieusb_supported_usb_device.flags;
297 dev->next = pieusb_definition_list_head;
298 pieusb_definition_list_head = dev;
307 * @param dev
310 pieusb_initialize_device_definition (Pieusb_Device_Definition* dev, Pieusb_Scanner_Properties* inq, const char* devicename,
316 dev->next = NULL;
317 dev->sane.name = strdup(devicename);
327 dev->sane.vendor = buf;
337 dev->sane.model = buf;
339 dev->sane.type = "film scanner";
340 dev->vendorId = vendor_id;
341 dev->productId = product_id;
351 dev->version = buf;
353 dev->model = inq->model;
356 dev->maximum_resolution_x = inq->maxResolutionX;
357 dev->maximum_resolution_y = inq->maxResolutionY;
358 if (dev->maximum_resolution_y < 256) {
360 dev->maximum_resolution = dev->maximum_resolution_x;
361 dev->maximum_resolution_x *= dev->maximum_resolution_y;
362 dev->maximum_resolution_y = dev->maximum_resolution_x;
365 dev->maximum_resolution = min (dev->maximum_resolution_x, dev->maximum_resolution_y);
369 dev->scan_bed_width = (double) inq->maxScanWidth / dev->maximum_resolution;
370 dev->scan_bed_height = (double) inq->maxScanHeight / dev->maximum_resolution;
371 dev->slide_top_left_x = inq->x0;
372 dev->slide_top_left_y = inq->y0;
373 dev->slide_width = (double) (inq->x1 - inq->x0) / dev->maximum_resolution;
374 dev->slide_height = (double) (inq->y1 - inq->y0) / dev->maximum_resolution;
377 dev->halftone_patterns = inq->halftones & 0x0f;
378 dev->color_filters = inq->filters;
379 dev->color_depths = inq->colorDepths;
380 dev->color_formats = inq->colorFormat;
381 dev->image_formats = inq->imageFormat;
382 dev->scan_capabilities = inq->scanCapability;
383 dev->optional_devices = inq->optionalDevices;
384 dev->enhancements = inq->enhancements;
385 dev->gamma_bits = inq->gammaBits;
386 dev->fast_preview_resolution = inq->previewScanResolution;
387 dev->minimum_highlight = inq->minumumHighlight;
388 dev->maximum_shadow = inq->maximumShadow;
389 dev->calibration_equation = inq->calibrationEquation;
390 dev->minimum_exposure = inq->minimumExposure;
391 dev->maximum_exposure = inq->maximumExposure*4; /* *4 to solve the strange situation that the default value is out of range */
393 dev->x0 = inq->x0;
394 dev->y0 = inq->y0;
395 dev->x1 = inq->x1;
396 dev->y1 = inq->y1;
397 dev->production = strndup(inq->production, 4);
398 dev->timestamp = strndup(inq->timestamp, 20);
399 dev->signature = (char *)strndup((char *)inq->signature, 40);
402 dev->x_range.min = SANE_FIX (0);
403 dev->x_range.quant = SANE_FIX (0);
404 dev->x_range.max = SANE_FIX (dev->scan_bed_width * MM_PER_INCH);
406 dev->y_range.min = SANE_FIX (0);
407 dev->y_range.quant = SANE_FIX (0);
408 dev->y_range.max = SANE_FIX (dev->scan_bed_height * MM_PER_INCH);
410 dev->dpi_range.min = SANE_FIX (25);
411 dev->dpi_range.quant = SANE_FIX (1);
412 dev->dpi_range.max = SANE_FIX (max (dev->maximum_resolution_x, dev->maximum_resolution_y));
414 dev->shadow_range.min = SANE_FIX (0);
415 dev->shadow_range.quant = SANE_FIX (1);
416 dev->shadow_range.max = SANE_FIX (dev->maximum_shadow);
418 dev->highlight_range.min = SANE_FIX (dev->minimum_highlight);
419 dev->highlight_range.quant = SANE_FIX (1);
420 dev->highlight_range.max = SANE_FIX (100);
422 dev->exposure_range.min = dev->minimum_exposure;
423 dev->exposure_range.quant = 1;
424 dev->exposure_range.max = dev->maximum_exposure;
426 dev->dust_range.min = 0;
427 dev->dust_range.quant = 1;
428 dev->dust_range.max = 100;
432 dev->scan_mode_list[0] = SANE_VALUE_SCAN_MODE_LINEART;
433 dev->scan_mode_list[1] = SANE_VALUE_SCAN_MODE_HALFTONE;
434 dev->scan_mode_list[2] = SANE_VALUE_SCAN_MODE_GRAY;
435 dev->scan_mode_list[3] = SANE_VALUE_SCAN_MODE_COLOR;
436 dev->scan_mode_list[4] = SANE_VALUE_SCAN_MODE_RGBI;
437 dev->scan_mode_list[5] = 0;
439 dev->calibration_mode_list[0] = SCAN_CALIBRATION_DEFAULT;
440 dev->calibration_mode_list[1] = SCAN_CALIBRATION_AUTO;
441 dev->calibration_mode_list[2] = SCAN_CALIBRATION_PREVIEW;
442 dev->calibration_mode_list[3] = SCAN_CALIBRATION_OPTIONS;
443 dev->calibration_mode_list[4] = 0;
445 dev->gain_adjust_list[0] = SCAN_GAIN_ADJUST_03;
446 dev->gain_adjust_list[1] = SCAN_GAIN_ADJUST_05;
447 dev->gain_adjust_list[2] = SCAN_GAIN_ADJUST_08;
448 dev->gain_adjust_list[3] = SCAN_GAIN_ADJUST_10;
449 dev->gain_adjust_list[4] = SCAN_GAIN_ADJUST_12;
450 dev->gain_adjust_list[5] = SCAN_GAIN_ADJUST_16;
451 dev->gain_adjust_list[6] = SCAN_GAIN_ADJUST_19;
452 dev->gain_adjust_list[7] = SCAN_GAIN_ADJUST_24;
453 dev->gain_adjust_list[8] = SCAN_GAIN_ADJUST_30;
454 dev->gain_adjust_list[9] = 0;
458 dev->bpp_list[0] = 3; /* count */
459 dev->bpp_list[1] = 1;
460 dev->bpp_list[2] = 8;
461 dev->bpp_list[3] = 16;
464 dev->ir_sw_list[0] = "None";
465 dev->ir_sw_list[1] = "Reduce red overlap";
466 dev->ir_sw_list[2] = "Remove dirt";
467 dev->ir_sw_list[3] = 0;
469 dev->grain_sw_list[0] = 4;
470 dev->grain_sw_list[1] = 0;
471 dev->grain_sw_list[2] = 1;
472 dev->grain_sw_list[3] = 2;
473 dev->grain_sw_list[4] = 3;
474 dev->grain_sw_list[5] = 0;
476 dev->crop_sw_list[0] = "None";
477 dev->crop_sw_list[1] = "Outside";
478 dev->crop_sw_list[2] = "Inside";
479 dev->crop_sw_list[3] = 0;
482 dev->halftone_list[0] = "53lpi 45d ROUND"; /* 8x8 pattern */
483 dev->halftone_list[1] = "70lpi 45d ROUND"; /* 6x6 pattern */
484 dev->halftone_list[2] = "75lpi Hori. Line"; /* 4x4 pattern */
485 dev->halftone_list[3] = "4X4 BAYER"; /* 4x4 pattern */
486 dev->halftone_list[4] = "4X4 SCROLL"; /* 4x4 pattern */
487 dev->halftone_list[5] = "5x5 26 Levels"; /* 5x5 pattern */
488 dev->halftone_list[6] = "4x4 SQUARE"; /* 4x4 pattern */
489 dev->halftone_list[7] = "5x5 TILE"; /* 5x5 pattern */
490 dev->halftone_list[8] = 0;
500 * @param dev Device to output
503 pieusb_print_inquiry (Pieusb_Device_Definition * dev)
508 DBG (DBG_inquiry, "vendor........................: '%s'\n", dev->sane.vendor);
509 DBG (DBG_inquiry, "product.......................: '%s'\n", dev->sane.model);
510 DBG (DBG_inquiry, "model .......................: 0x%04x\n", dev->model);
511 DBG (DBG_inquiry, "version.......................: '%s'\n", dev->version);
514 dev->maximum_resolution_x);
516 dev->maximum_resolution_y);
518 dev->maximum_resolution);
520 dev->scan_bed_width);
522 dev->scan_bed_height);
525 dev->slide_width);
527 dev->slide_height);
529 dev->slide_top_left_x, dev->slide_top_left_y);
532 dev->halftone_patterns);
535 dev->color_filters & SCAN_ONE_PASS_COLOR ? "yes" : "no");
538 dev->color_filters & SCAN_FILTER_INFRARED ? "Infrared " : "",
539 dev->color_filters & SCAN_FILTER_RED ? "Red " : "",
540 dev->color_filters & SCAN_FILTER_GREEN ? "Green " : "",
541 dev->color_filters & SCAN_FILTER_BLUE ? "Blue " : "",
542 dev->color_filters & SCAN_FILTER_NEUTRAL ? "Neutral " : "",
543 dev->color_filters);
546 dev->color_depths & SCAN_COLOR_DEPTH_16 ? "16 bit " : "",
547 dev->color_depths & SCAN_COLOR_DEPTH_12 ? "12 bit " : "",
548 dev->color_depths & SCAN_COLOR_DEPTH_10 ? "10 bit " : "",
549 dev->color_depths & SCAN_COLOR_DEPTH_8 ? "8 bit " : "",
550 dev->color_depths & SCAN_COLOR_DEPTH_4 ? "4 bit " : "",
551 dev->color_depths & SCAN_COLOR_DEPTH_1 ? "1 bit " : "",
552 dev->color_depths);
555 dev->color_formats & SCAN_COLOR_FORMAT_INDEX ? "Indexed " : "",
556 dev->color_formats & SCAN_COLOR_FORMAT_LINE ? "Line " : "",
557 dev->color_formats & SCAN_COLOR_FORMAT_PIXEL ? "Pixel " : "",
558 dev->color_formats);
561 dev->image_formats & SCAN_IMG_FMT_OKLINE ? "OKLine " : "",
562 dev->image_formats & SCAN_IMG_FMT_BLK_ONE ? "BlackOne " : "",
563 dev->image_formats & SCAN_IMG_FMT_MOTOROLA ? "Motorola " : "",
564 dev->image_formats & SCAN_IMG_FMT_INTEL ? "Intel" : "",
565 dev->image_formats);
569 dev->scan_capabilities & SCAN_CAP_PWRSAV ? "PowerSave " : "",
570 dev->scan_capabilities & SCAN_CAP_EXT_CAL ? "ExtCal " : "",
571 dev->scan_capabilities & SCAN_CAP_FAST_PREVIEW ? "FastPreview" :
573 dev->scan_capabilities & SCAN_CAP_DISABLE_CAL ? "DisCal " : "",
574 dev->scan_capabilities & SCAN_CAP_SPEEDS,
575 dev->scan_capabilities);
578 dev->optional_devices & SCAN_OPT_DEV_MPCL ? "MultiPageLoad " :
580 dev->optional_devices & SCAN_OPT_DEV_TP1 ? "TransModule1 " : "",
581 dev->optional_devices & SCAN_OPT_DEV_TP ? "TransModule " : "",
582 dev->optional_devices & SCAN_OPT_DEV_ADF ? "ADF " : "",
583 dev->optional_devices);
586 dev->enhancements);
588 dev->gamma_bits);
591 dev->fast_preview_resolution);
593 dev->minimum_highlight);
595 dev->maximum_shadow);
597 dev->calibration_equation);
599 dev->minimum_exposure);
601 dev->maximum_exposure);
604 dev->x0, dev->y0, dev->x1, dev->y1);
606 dev->production);
608 dev->timestamp);
610 dev->signature);