Lines Matching defs:dev

840   max_bytes_per_read = s->dev->info.bufsize / s->params.bytes_per_line;
845 max_bytes_per_read = s->dev->info.bufsize;
849 if (s->dev->info.queued_reads <= s->dev->info.buffers)
850 max_queue = s->dev->info.queued_reads;
852 max_queue = s->dev->info.buffers;
901 cmdindex = i % s->dev->info.buffers;
990 if (waitindex == s->dev->info.buffers)
1049 if (cmdindex == s->dev->info.buffers)
1116 if (s->read_buff == s->dev->info.buffers)
1147 if (nread > s->dev->info.bufsize)
1148 nread = s->dev->info.bufsize;
1216 get_max_scan_size(int fd, SHARP_Device *dev, int mode)
1241 dev->info.tl_x_ranges[mode].min = 0;
1242 dev->info.tl_x_ranges[mode].max = SANE_FIX(PIX_TO_MM(
1244 (m_subdev.max_x[2] << 8) + m_subdev.max_x[3] - 1, dev->info.mud));
1245 dev->info.tl_x_ranges[mode].quant = 0;
1247 dev->info.br_x_ranges[mode].min = SANE_FIX(PIX_TO_MM(1, dev->info.mud));
1248 dev->info.br_x_ranges[mode].max = SANE_FIX(PIX_TO_MM(
1250 (m_subdev.max_x[2] << 8) + m_subdev.max_x[3], dev->info.mud));
1251 dev->info.br_x_ranges[mode].quant = 0;
1253 dev->info.tl_y_ranges[mode].min = 0;
1254 if ((dev->sensedat.model != JX250 && dev->sensedat.model != JX350) ||
1256 dev->info.tl_y_ranges[mode].max = SANE_FIX(PIX_TO_MM(
1258 (m_subdev.max_y[2] << 8) + m_subdev.max_y[3] - 1, dev->info.mud));
1266 dev->info.tl_y_ranges[mode].max = 13199;
1267 dev->info.tl_y_ranges[mode].quant = 0;
1269 dev->info.br_y_ranges[mode].min = SANE_FIX(PIX_TO_MM(1, dev->info.mud));
1270 dev->info.br_y_ranges[mode].max = SANE_FIX(PIX_TO_MM(
1272 (m_subdev.max_y[2] << 8) + m_subdev.max_y[3], dev->info.mud));
1273 dev->info.br_y_ranges[mode].quant = 0;
1282 SHARP_Device *dev;
1293 for (dev = first_dev; dev; dev = dev->next)
1295 if (strcmp (dev->sane.name, devnam) == 0)
1298 *devp = dev;
1403 dev = malloc (sizeof (*dev));
1404 if (!dev)
1406 memset (dev, 0, sizeof (*dev));
1408 dev->sane.name = strdup (devnam);
1409 dev->sane.vendor = "SHARP";
1411 dev->sane.model = strndup (model_name, 10);
1412 dev->sane.type = "flatbed scanner";
1414 dev->sensedat.model = sensedat.model;
1416 DBG (5, "dev->sane.name = %s\n", dev->sane.name);
1417 DBG (5, "dev->sane.vendor = %s\n", dev->sane.vendor);
1418 DBG (5, "dev->sane.model = %s\n", dev->sane.model);
1419 DBG (5, "dev->sane.type = %s\n", dev->sane.type);
1421 dev->info.xres_range.quant = 0;
1422 dev->info.yres_range.quant = 0;
1424 dev->info.tl_x_ranges[SCAN_SIMPLE].min = SANE_FIX(0);
1425 dev->info.br_x_ranges[SCAN_SIMPLE].min = SANE_FIX(1);
1426 dev->info.tl_y_ranges[SCAN_SIMPLE].min = SANE_FIX(0);
1427 dev->info.br_y_ranges[SCAN_SIMPLE].min = SANE_FIX(1);
1428 dev->info.tl_x_ranges[SCAN_SIMPLE].quant = SANE_FIX(0);
1429 dev->info.br_x_ranges[SCAN_SIMPLE].quant = SANE_FIX(0);
1430 dev->info.tl_y_ranges[SCAN_SIMPLE].quant = SANE_FIX(0);
1431 dev->info.br_y_ranges[SCAN_SIMPLE].quant = SANE_FIX(0);
1433 dev->info.xres_default = 150;
1434 dev->info.yres_default = 150;
1435 dev->info.tl_x_ranges[SCAN_SIMPLE].max = SANE_FIX(209);
1436 dev->info.br_x_ranges[SCAN_SIMPLE].max = SANE_FIX(210);
1437 dev->info.tl_y_ranges[SCAN_SIMPLE].max = SANE_FIX(296);
1438 dev->info.br_y_ranges[SCAN_SIMPLE].max = SANE_FIX(297);
1440 dev->info.bmu = msp.bmu;
1441 dev->info.mud = (msp.mud[0] << 8) + msp.mud[1];
1443 dev->info.adf_fsu_installed = 0;
1444 if (dev->sensedat.model == JX610)
1446 dev->info.xres_range.max = 600;
1447 dev->info.xres_range.min = 30;
1449 dev->info.yres_range.max = 600;
1450 dev->info.yres_range.min = 30;
1451 dev->info.x_default = SANE_FIX(210);
1452 dev->info.tl_x_ranges[SCAN_SIMPLE].max = SANE_FIX(303); /* 304.8mm is the real max */
1453 dev->info.br_x_ranges[SCAN_SIMPLE].max = SANE_FIX(304); /* 304.8mm is the real max */
1455 dev->info.y_default = SANE_FIX(297);
1456 dev->info.tl_y_ranges[SCAN_SIMPLE].max = SANE_FIX(430); /* 431.8 is the real max */
1457 dev->info.br_y_ranges[SCAN_SIMPLE].max = SANE_FIX(431); /* 431.8 is the real max */
1459 else if (dev->sensedat.model == JX320)
1461 dev->info.xres_range.max = 600;
1462 dev->info.xres_range.min = 30;
1464 dev->info.yres_range.max = 600;
1465 dev->info.yres_range.min = 30;
1466 dev->info.x_default = SANE_FIX(210);
1467 dev->info.tl_x_ranges[SCAN_SIMPLE].max = SANE_FIX(212);
1468 dev->info.br_x_ranges[SCAN_SIMPLE].max = SANE_FIX(213);
1470 dev->info.y_default = SANE_FIX(297);
1471 dev->info.tl_y_ranges[SCAN_SIMPLE].max = SANE_FIX(292);
1472 dev->info.br_y_ranges[SCAN_SIMPLE].max = SANE_FIX(293);
1504 get_max_scan_size(fd, dev, SCAN_SIMPLE);
1508 dev->info.adf_fsu_installed = HAVE_ADF;
1509 get_max_scan_size(fd, dev, SCAN_WITH_ADF);
1513 dev->info.adf_fsu_installed |= HAVE_FSU;
1514 get_max_scan_size(fd, dev, SCAN_WITH_FSU);
1517 if ( dev->sensedat.model == JX320
1518 || dev->sensedat.model == JX330
1519 || dev->sensedat.model == JX350)
1521 dev->info.xres_range.max = 600;
1522 dev->info.xres_range.min = 30;
1524 dev->info.yres_range.max = 600;
1525 dev->info.yres_range.min = 30;
1526 dev->info.x_default = SANE_FIX(210);
1527 dev->info.y_default = SANE_FIX(297);
1529 else if (dev->sensedat.model == JX250)
1531 dev->info.xres_range.max = 400;
1532 dev->info.xres_range.min = 30;
1534 dev->info.yres_range.max = 400;
1535 dev->info.yres_range.min = 30;
1536 dev->info.x_default = SANE_FIX(210);
1537 dev->info.y_default = SANE_FIX(297);
1542 dev->info.threshold_range.min = 1;
1543 dev->info.threshold_range.max = 255;
1544 dev->info.threshold_range.quant = 0;
1546 DBG (5, "xres_default=%d\n", dev->info.xres_default);
1547 DBG (5, "xres_range.max=%d\n", dev->info.xres_range.max);
1548 DBG (5, "xres_range.min=%d\n", dev->info.xres_range.min);
1549 DBG (5, "xres_range.quant=%d\n", dev->info.xres_range.quant);
1550 DBG (5, "yres_default=%d\n", dev->info.yres_default);
1551 DBG (5, "yres_range.max=%d\n", dev->info.yres_range.max);
1552 DBG (5, "yres_range.min=%d\n", dev->info.yres_range.min);
1553 DBG (5, "xres_range.quant=%d\n", dev->info.xres_range.quant);
1555 DBG (5, "x_default=%f\n", SANE_UNFIX(dev->info.x_default));
1556 DBG (5, "tl_x_range[0].max=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_SIMPLE].max));
1557 DBG (5, "tl_x_range[0].min=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_SIMPLE].min));
1558 DBG (5, "tl_x_range[0].quant=%d\n", dev->info.tl_x_ranges[SCAN_SIMPLE].quant);
1559 DBG (5, "br_x_range[0].max=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_SIMPLE].max));
1560 DBG (5, "br_x_range[0].min=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_SIMPLE].min));
1561 DBG (5, "br_x_range[0].quant=%d\n", dev->info.br_x_ranges[SCAN_SIMPLE].quant);
1562 DBG (5, "y_default=%f\n", SANE_UNFIX(dev->info.y_default));
1563 DBG (5, "tl_y_range[0].max=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_SIMPLE].max));
1564 DBG (5, "tl_y_range[0].min=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_SIMPLE].min));
1565 DBG (5, "tl_y_range[0].quant=%d\n", dev->info.tl_y_ranges[SCAN_SIMPLE].quant);
1566 DBG (5, "br_y_range[0].max=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_SIMPLE].max));
1567 DBG (5, "br_y_range[0].min=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_SIMPLE].min));
1568 DBG (5, "br_y_range[0].quant=%d\n", dev->info.br_y_ranges[SCAN_SIMPLE].quant);
1570 if (dev->info.adf_fsu_installed & HAVE_FSU)
1572 DBG (5, "tl_x_range[1].max=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_WITH_FSU].max));
1573 DBG (5, "tl_x_range[1].min=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_WITH_FSU].min));
1574 DBG (5, "tl_x_range[1].quant=%d\n", dev->info.tl_x_ranges[SCAN_WITH_FSU].quant);
1575 DBG (5, "br_x_range[1].max=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_WITH_FSU].max));
1576 DBG (5, "br_x_range[1].min=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_WITH_FSU].min));
1577 DBG (5, "br_x_range[1].quant=%d\n", dev->info.br_x_ranges[SCAN_WITH_FSU].quant);
1578 DBG (5, "tl_y_range[1].max=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_WITH_FSU].max));
1579 DBG (5, "tl_y_range[1].min=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_WITH_FSU].min));
1580 DBG (5, "tl_y_range[1].quant=%d\n", dev->info.tl_y_ranges[SCAN_WITH_FSU].quant);
1581 DBG (5, "br_y_range[1].max=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_WITH_FSU].max));
1582 DBG (5, "br_y_range[1].min=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_WITH_FSU].min));
1583 DBG (5, "br_y_range[1].quant=%d\n", dev->info.br_y_ranges[SCAN_WITH_FSU].quant);
1586 if (dev->info.adf_fsu_installed & HAVE_ADF)
1588 DBG (5, "tl_x_range[2].max=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_WITH_ADF].max));
1589 DBG (5, "tl_x_range[2].min=%f\n", SANE_UNFIX(dev->info.tl_x_ranges[SCAN_WITH_ADF].min));
1590 DBG (5, "tl_x_range[2].quant=%d\n", dev->info.tl_x_ranges[SCAN_WITH_ADF].quant);
1591 DBG (5, "br_x_range[2].max=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_WITH_ADF].max));
1592 DBG (5, "br_x_range[2].min=%f\n", SANE_UNFIX(dev->info.br_x_ranges[SCAN_WITH_ADF].min));
1593 DBG (5, "br_x_range[2].quant=%d\n", dev->info.br_x_ranges[SCAN_WITH_ADF].quant);
1594 DBG (5, "tl_y_range[2].max=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_WITH_ADF].max));
1595 DBG (5, "tl_y_range[2].min=%f\n", SANE_UNFIX(dev->info.tl_y_ranges[SCAN_WITH_ADF].min));
1596 DBG (5, "tl_y_range[2].quant=%d\n", dev->info.tl_y_ranges[SCAN_WITH_ADF].quant);
1597 DBG (5, "br_y_range[2].max=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_WITH_ADF].max));
1598 DBG (5, "br_y_range[2].min=%f\n", SANE_UNFIX(dev->info.br_y_ranges[SCAN_WITH_ADF].min));
1599 DBG (5, "br_y_range[2].quant=%d\n", dev->info.br_y_ranges[SCAN_WITH_ADF].quant);
1602 DBG (5, "bmu=%d\n", dev->info.bmu);
1603 DBG (5, "mud=%d\n", dev->info.mud);
1606 dev->next = first_dev;
1607 first_dev = dev;
1610 *devp = dev;
1850 if (s->dev->sensedat.model == JX250 || s->dev->sensedat.model == JX350 ||
1851 s->dev->sensedat.model == JX610 || s->dev->sensedat.model == JX320)
1855 default_source = s->dev->info.default_scan_mode;
1859 if (s->dev->info.adf_fsu_installed && (s->dev->sensedat.model == JX330))
1860 s->dev->info->scansources[i++] = use_auto;
1862 if (s->dev->info.adf_fsu_installed & HAVE_ADF)
1868 s->dev->info.scansources[i++] = use_adf;
1875 if (s->dev->info.adf_fsu_installed & HAVE_FSU)
1881 s->dev->info.scansources[i++] = use_fsu;
1892 s->dev->info.scansources[i++] = use_simple;
1893 s->dev->info.scansources[i] = 0;
1900 s->opt[OPT_SCANSOURCE].size = max_string_size (s->dev->info.scansources);
1902 s->opt[OPT_SCANSOURCE].constraint.string_list = (SANE_String_Const*)s->dev->info.scansources;
1903 s->val[OPT_SCANSOURCE].s = strdup (s->dev->info.scansources[0]);
1907 SANE_DESC_SCAN_SOURCE, (SANE_String_Const*)s->dev->info.scansources,
1921 if (s->dev->sensedat.model == JX610)
1937 if (s->dev->sensedat.model == JX610)
1974 if (s->dev->sensedat.model == JX610 || s->dev->sensedat.model == JX330 ||
1975 s->dev->sensedat.model == JX350 || s->dev->sensedat.model == JX320)
1989 s->opt[OPT_X_RESOLUTION].constraint.range = &s->dev->info.xres_range;
1990 s->val[OPT_X_RESOLUTION].w = s->dev->info.xres_default;
2000 s->opt[OPT_Y_RESOLUTION].constraint.range = &s->dev->info.yres_range;
2001 s->val[OPT_Y_RESOLUTION].w = s->dev->info.yres_default;
2018 s->opt[OPT_TL_X].constraint.range = &s->dev->info.tl_x_ranges[default_source];
2019 s->val[OPT_TL_X].w = s->dev->info.tl_x_ranges[default_source].min;
2028 s->opt[OPT_TL_Y].constraint.range = &s->dev->info.tl_y_ranges[default_source];
2029 s->val[OPT_TL_Y].w = s->dev->info.tl_y_ranges[default_source].min;
2038 s->opt[OPT_BR_X].constraint.range = &s->dev->info.br_x_ranges[default_source];
2039 scalar = s->dev->info.x_default;
2050 s->opt[OPT_BR_Y].constraint.range = &s->dev->info.br_y_ranges[default_source];
2054 scalar = s->dev->info.y_default;
2080 if ( s->dev->sensedat.model == JX250 || s->dev->sensedat.model == JX350
2081 || s->dev->sensedat.model == JX320)
2091 s->opt[OPT_THRESHOLD].constraint.range = &s->dev->info.threshold_range;
2106 s->opt[OPT_THRESHOLD_R].constraint.range = &s->dev->info.threshold_range;
2116 s->opt[OPT_THRESHOLD_G].constraint.range = &s->dev->info.threshold_range;
2126 s->opt[OPT_THRESHOLD_B].constraint.range = &s->dev->info.threshold_range;
2269 if ( s->dev->sensedat.model != JX610
2270 && s->dev->sensedat.model != JX320)
2322 np->dev = devp;
2339 char devnam[PATH_MAX] = "/dev/scanner";
2369 /* use "/dev/scanner" as the default device name if no
2495 new_devs->dev->info.buffers = buffers[1];
2497 new_devs->dev->info.buffers = 2;
2499 new_devs->dev->info.wanted_bufsize = bufsize[1];
2501 new_devs->dev->info.wanted_bufsize = DEFAULT_BUFSIZE;
2503 new_devs->dev->info.queued_reads = queued_reads[1];
2505 new_devs->dev->info.queued_reads = 0;
2506 new_devs->dev->info.complain_on_errors = stop_on_fsu_error[1];
2507 new_devs->dev->info.default_scan_mode = default_scan_mode[1];
2531 new_devs->dev->info.buffers = buffers[1];
2533 new_devs->dev->info.buffers = 2;
2535 new_devs->dev->info.wanted_bufsize = bufsize[1];
2537 new_devs->dev->info.wanted_bufsize = DEFAULT_BUFSIZE;
2539 new_devs->dev->info.queued_reads = queued_reads[1];
2541 new_devs->dev->info.queued_reads = 0;
2542 new_devs->dev->info.complain_on_errors = stop_on_fsu_error[1];
2543 new_devs->dev->info.default_scan_mode = default_scan_mode[1];
2565 SHARP_Device *dev, *next;
2568 for (dev = first_dev; dev; dev = next)
2570 next = dev->next;
2571 free ((void *) dev->sane.name);
2572 free ((void *) dev->sane.model);
2573 free (dev);
2588 SHARP_Device *dev;
2599 for (dev = first_dev; dev; dev = dev->next)
2600 devlist[i++] = &dev->sane;
2613 SHARP_Device *dev;
2623 for (dev = first_dev; dev; dev = dev->next)
2625 if (strcmp (dev->sane.name, devnam) == 0)
2629 if (!dev)
2631 status = attach (devnam, &dev);
2634 dev->info.buffers = buffers[0];
2635 dev->info.wanted_bufsize = bufsize[0];
2636 dev->info.queued_reads = queued_reads[0];
2641 dev = first_dev;
2644 if (!dev)
2653 s->dev = dev;
2857 if (s->dev->sensedat.model == JX330)
2868 if (s->dev->sensedat.model == JX330)
2929 = &s->dev->info.tl_x_ranges[range_index];
2933 = &s->dev->info.tl_y_ranges[range_index];
2937 = &s->dev->info.br_x_ranges[range_index];
2941 = &s->dev->info.br_y_ranges[range_index];
3059 s->dev->info.mud);
3062 s->dev->info.mud);
3066 s->params.pixels_per_line = width * xres / s->dev->info.mud;
3067 s->params.lines = length * yres / s->dev->info.mud;
3165 if (s->dev->info.bufsize < 4106)
3259 if (s->dev->sensedat.model != JX250 && s->dev->sensedat.model != JX350)
3317 s->dev->sensedat.complain_on_errors
3318 = COMPLAIN_ON_ADF_ERROR | s->dev->info.complain_on_errors;
3321 s->dev->info.bufsize = s->dev->info.wanted_bufsize;
3322 if (s->dev->info.bufsize < 32 * 1024)
3323 s->dev->info.bufsize = 32 * 1024;
3325 int bsize = s->dev->info.bufsize;
3326 status = sanei_scsi_open_extended (s->dev->sane.name, &s->fd,
3327 &sense_handler, &s->dev->sensedat, &bsize);
3328 s->dev->info.bufsize = bsize;
3334 s->dev->sane.name, sane_strstatus (status));
3346 if (s->dev->info.bufsize < 32 * 1024)
3353 status = sanei_scsi_open(s->dev->sane.name, &s->fd, &sense_handler,
3354 &s->dev->sensedat);
3355 if (s->dev->info.wanted_bufsize < sanei_scsi_max_request_size)
3356 s->dev->info.bufsize = s->dev->info.wanted_bufsize;
3358 s->dev->info.bufsize = sanei_scsi_max_request_size;
3363 s->dev->sane.name, sane_strstatus (status));
3368 s->buffer = malloc(s->dev->info.bufsize);
3383 + s->dev->info.buffers *
3384 (sizeof(SHARP_shmem_ctl) + s->dev->info.bufsize),
3406 for (n = 0; n < s->dev->info.buffers; n++)
3409 (SANE_Byte*) &s->rdr_ctl->buf_ctl[s->dev->info.buffers]
3410 + n * s->dev->info.bufsize;
3427 status = mode_select_mud (s->fd, s->dev->info.mud);
3460 s->ulx = MM_TO_PIX(SANE_UNFIX(s->val[OPT_TL_X].w), s->dev->info.mud);
3461 s->uly = MM_TO_PIX(SANE_UNFIX(s->val[OPT_TL_Y].w), s->dev->info.mud);
3579 if ( s->dev->sensedat.model != JX610
3580 && s->dev->sensedat.model != JX320)
3619 if (s->dev->sensedat.model != JX250 && s->dev->sensedat.model != JX350)
3672 if (s->dev->sensedat.model != JX250 && s->dev->sensedat.model != JX350)
3703 if ( s->dev->sensedat.model == JX610
3704 || s->dev->sensedat.model == JX320)
3708 else if (s->dev->sensedat.model == JX330)
3747 if ( s->dev->sensedat.model == JX610
3748 || s->dev->sensedat.model == JX320)
3757 if (s->dev->sensedat.model == JX250 || s->dev->sensedat.model == JX350)
3892 for (i = 0; i < s->dev->info.buffers; i++)
3976 if (nread > s->dev->info.bufsize)
3977 nread = s->dev->info.bufsize;
4039 nread = s->dev->info.bufsize / s->params.bytes_per_line - 1;
4052 max_line = s->dev->info.bufsize / max_line;
4059 start_input = s->dev->info.bufsize - nread;
4165 else if (s->dev->sensedat.model != JX250 && s->dev->sensedat.model != JX350 )