Lines Matching refs:dev
963 HS2P_Device *dev;
979 for (dev = first_dev; dev; dev = dev->next)
981 if (strcmp (dev->sane.name, devname) == 0)
984 *devp = dev;
991 status = sanei_scsi_open (devname, &fd, &sense_handler, &(dev->sense_data));
1079 dev = malloc (sizeof (*dev));
1080 if (!dev)
1082 memset (dev, 0, sizeof (*dev));
1087 dev->info.max_win_sections = 4;
1091 dev->info.max_win_sections = 6;
1097 get_basic_measurement_unit (fd, &(dev->info.bmu), &(dev->info.mud));
1112 get_connection_parameters (fd, &(dev->info.cxn))) != SANE_STATUS_GOOD)
1116 status = get_endorser_control (fd, &dev->info.endorser_control);
1117 if (status != SANE_STATUS_GOOD || dev->info.endorser_control != 0x01)
1121 dev->info.endorser_control);
1122 dev->info.endorser_control = 0x00;
1124 if ((dev->info.service_mode = get_service_mode (fd)) != 0x00
1125 && dev->info.service_mode != 0x01)
1128 dev->info.service_mode);
1129 dev->info.service_mode = 0x00;
1131 if ((dev->info.scan_wait_mode = get_scan_wait_mode (fd)) != 0x00
1132 && dev->info.scan_wait_mode != 0x01)
1136 dev->info.scan_wait_mode);
1137 dev->info.scan_wait_mode = 0x00;
1139 status = get_white_balance (fd, &dev->info.white_balance);
1140 if (status != SANE_STATUS_GOOD && dev->info.white_balance != 0x01)
1144 dev->info.white_balance);
1145 dev->info.white_balance = RELATIVE_WHITE;
1152 dev->info.devtype = ibuf.devtype;
1153 snprintf (dev->info.vendor, 9, "%-.5s", ibuf.vendor); /* RICOH */
1154 trim_spaces (dev->info.vendor, sizeof (dev->info.vendor));
1155 snprintf (dev->info.product, 16, "%-.16s", ibuf.product); /* IS450 */
1156 trim_spaces (dev->info.product, sizeof (dev->info.product));
1157 snprintf (dev->info.revision, 5, "%-.4s", ibuf.revision); /* 1R04 */
1158 trim_spaces (dev->info.revision, sizeof (dev->info.revision));
1161 dev->sane.name = strdup (devname);
1162 dev->sane.vendor =
1163 (strcmp (dev->info.vendor, "RICOH") ==
1164 0) ? strdup ("Ricoh") : strdup (dev->info.vendor);
1165 dev->sane.model = strdup (dev->info.product);
1166 dev->sane.type = strdup ("sheetfed scanner");
1168 dev->sane.email_backend_author = strdup("<Jeremy Johnson> jeremy@acjlaw.net");
1169 dev->sane.backend_website = strdup("http://www.acjlaw.net:8080/~jeremy/Ricoh");
1172 dev->sane.location = strdup();
1173 dev->sane.comment = strdup();
1174 dev->sane.backend_version_code = strdup();
1177 /* dev->sane.backend_capablity_flags = 0x00; */
1181 dev->info.hasADF = vbuf.adf_id == 0 ? SANE_FALSE : SANE_TRUE;
1182 dev->info.hasSimplex = vbuf.adf_id == 1 ? SANE_TRUE : SANE_FALSE;
1183 dev->info.hasDuplex = vbuf.adf_id == 2 ? SANE_TRUE : SANE_FALSE;
1184 dev->info.hasARDF = vbuf.adf_id == 3 ? SANE_TRUE : SANE_FALSE;
1187 dev->info.hasEndorser = vbuf.end_id == 1 ? SANE_TRUE : SANE_FALSE;
1189 dev->info.endorser_string[i] = '\0';
1195 dev->info.hasIPU = (vbuf.ipu_id & 0x01) == 0x01 ? SANE_TRUE : SANE_FALSE;
1196 dev->info.hasXBD = (vbuf.ipu_id & 0x02) == 0x02 ? SANE_TRUE : SANE_FALSE;
1200 dev->info.supports_lineart = (vbuf.imagecomposition & 0x01) == 0x01 ? SANE_TRUE : SANE_FALSE; /* TRUE */
1201 dev->info.supports_dithering = (vbuf.imagecomposition & 0x02) == 0x02 ? SANE_TRUE : SANE_FALSE; /* TRUE */
1202 dev->info.supports_errordiffusion = (vbuf.imagecomposition & 0x04) == 0x04 ? SANE_TRUE : SANE_FALSE; /* TRUE */
1203 dev->info.supports_color = (vbuf.imagecomposition & 0x08) == 0x08 ? SANE_TRUE : SANE_FALSE; /* FALSE */
1204 dev->info.supports_4bitgray = (vbuf.imagecomposition & 0x10) == 0x10 ? SANE_TRUE : SANE_FALSE; /* TRUE */
1205 dev->info.supports_8bitgray = (vbuf.imagecomposition & 0x20) == 0x20 ? SANE_TRUE : SANE_FALSE; /* TRUE */
1209 if (dev->info.supports_lineart)
1211 if (dev->info.supports_dithering || dev->info.supports_errordiffusion)
1213 if (dev->info.supports_color)
1215 if (dev->info.supports_4bitgray)
1217 if (dev->info.supports_8bitgray)
1222 dev->info.hasADF ? "/ADF" : "",
1223 dev->info.hasDuplex ? "/Duplex" : "",
1224 dev->info.hasEndorser ? "/Endorser" : "",
1225 dev->info.hasIPU ? "/IPU" : "",
1226 dev->info.supports_color ? " Color" : " B&W", " Scanner");
1227 dev->sane.type = strdup (device_string);
1233 dev->info.supports_whiteframing =
1235 dev->info.supports_blackframing =
1237 dev->info.supports_edgeextraction =
1239 dev->info.supports_noiseremoval =
1241 dev->info.supports_smoothing =
1243 dev->info.supports_linebolding =
1248 dev->info.supports_MH =
1250 dev->info.supports_MR =
1252 dev->info.supports_MMR =
1254 dev->info.supports_MHB = ((vbuf.compression & 0x08) == 0x08) ? SANE_TRUE : SANE_FALSE; /* MH Byte Boundary */
1259 if (dev->info.supports_MH)
1261 if (dev->info.supports_MR)
1263 if (dev->info.supports_MMR)
1265 if (dev->info.supports_MHB)
1270 dev->info.supports_markerrecognition =
1277 dev->info.supports_sizerecognition =
1285 dev->info.xmaxoutputpixels =
1289 dev->info.resBasicX = _2btol (&jbuf.BasicRes.x[0]); /* set to 400 */
1290 dev->info.resBasicY = _2btol (&jbuf.BasicRes.y[0]); /* set to 400 */
1292 dev->info.resXstep = (jbuf.resolutionstep >> 4) & 0x0F; /* set to 1 */
1293 dev->info.resYstep = jbuf.resolutionstep & 0x0F; /* set to 1 */
1294 dev->info.resMaxX = _2btol (&jbuf.MaxRes.x[0]); /* set to 800 */
1295 dev->info.resMaxY = _2btol (&jbuf.MaxRes.y[0]); /* set to 800 */
1296 dev->info.resMinX = _2btol (&jbuf.MinRes.x[0]); /* set to 100 for IS450 and 60 for IS420 */
1297 dev->info.resMinY = _2btol (&jbuf.MinRes.y[0]); /* set to 100 for IS450 and 60 for IS420 */
1299 dev->info.xres_range.min = _2btol (&jbuf.MinRes.x[0]); /* set to 100 for IS450 and 60 for IS420 */
1300 dev->info.xres_range.max = _2btol (&jbuf.MaxRes.x[0]); /* set to 800 */
1301 dev->info.resXstep = (jbuf.resolutionstep >> 4) & 0x0F; /* set to 1 */
1302 dev->info.xres_range.quant = dev->info.resXstep;
1304 dev->info.yres_range.min = _2btol (&jbuf.MinRes.y[0]); /* set to 100 for IS450 and 60 for IS420 */
1305 dev->info.yres_range.max = _2btol (&jbuf.MaxRes.y[0]); /* set to 800 */
1306 dev->info.resYstep = jbuf.resolutionstep & 0x0F; /* set to 1 */
1307 dev->info.yres_range.quant = dev->info.resYstep;
1312 dev->info.resStdList[++i] = 60;
1314 dev->info.resStdList[++i] = 75;
1316 dev->info.resStdList[++i] = 100;
1318 dev->info.resStdList[++i] = 120;
1320 dev->info.resStdList[++i] = 150;
1322 dev->info.resStdList[++i] = 160;
1324 dev->info.resStdList[++i] = 180;
1326 dev->info.resStdList[++i] = 200;
1328 dev->info.resStdList[++i] = 240;
1330 dev->info.resStdList[++i] = 300;
1332 dev->info.resStdList[++i] = 320;
1334 dev->info.resStdList[++i] = 400;
1336 dev->info.resStdList[++i] = 480;
1338 dev->info.resStdList[++i] = 600;
1340 dev->info.resStdList[++i] = 800;
1342 dev->info.resStdList[++i] = 1200;
1343 dev->info.resStdList[0] = i; /* number of resolutions */
1344 if (dev->info.resStdList[0] == 0)
1347 dev->info.resStdList[0] = 2;
1348 dev->info.resStdList[1] = 200;
1349 dev->info.resStdList[2] = 300;
1350 dev->info.resBasicX = dev->info.resBasicY = 300;
1354 dev->info.winWidth = _4btol (&jbuf.Window.width[0]);
1355 dev->info.winHeight = _4btol (&jbuf.Window.length[0]);
1356 if (dev->info.winWidth <= 0)
1358 dev->info.winWidth = (SANE_Int) (dev->info.resBasicX * 8.5);
1360 dev->info.winWidth);
1362 if (dev->info.winHeight <= 0)
1364 dev->info.winHeight = dev->info.resBasicY * 14;
1366 dev->info.winHeight);
1369 mm = (dev->info.resBasicX > 0) ?
1370 ((double) dev->info.winWidth / (double) dev->info.resBasicX *
1372 dev->info.x_range.min = SANE_FIX (0.0);
1373 dev->info.x_range.max = SANE_FIX (mm);
1374 dev->info.x_range.quant = SANE_FIX (0.0);
1376 dev->info.winWidth, dev->info.resBasicX, MM_PER_INCH, mm);
1378 mm = (dev->info.resBasicY > 0) ?
1379 ((double) dev->info.winHeight / (double) dev->info.resBasicY *
1381 dev->info.y_range.min = SANE_FIX (0.0);
1382 dev->info.y_range.max = SANE_FIX (mm);
1383 dev->info.y_range.quant = SANE_FIX (0.0);
1386 SANE_UNFIX (dev->info.x_range.max),
1387 SANE_UNFIX (dev->info.y_range.max));
1390 dev->info.brightness_range.min = 1;
1391 dev->info.brightness_range.max = 255;
1392 dev->info.brightness_range.quant = 1;
1394 dev->info.contrast_range.min = 1;
1395 dev->info.contrast_range.max = 255;
1396 dev->info.contrast_range.quant = 1;
1398 dev->info.threshold_range.min = 1;
1399 dev->info.threshold_range.max = 255;
1400 dev->info.threshold_range.quant = 1;
1403 dev->info.overflow_support =
1405 dev->info.lineart_support =
1407 dev->info.dither_support =
1409 dev->info.grayscale_support =
1413 dev->info.default_res = dev->info.resBasicX;
1414 dev->info.default_xres = dev->info.resBasicX;
1415 dev->info.default_yres = dev->info.resBasicY;
1416 dev->info.default_imagecomposition = LINEART;
1417 dev->info.default_media = FLATBED;
1418 dev->info.default_duplex = SANE_FALSE;
1420 /* dev->info.autoborder_default = dev->info.canBorderRecog; */
1422 dev->info.batch_default = SANE_FALSE;
1423 dev->info.deskew_default = SANE_FALSE;
1424 dev->info.check_adf_default = SANE_FALSE;
1425 dev->info.timeout_adf_default = 0;
1426 dev->info.timeout_manual_default = 0;
1428 /* dev->info.control_panel_default = dev->info.canACE; Image Data Processing */
1431 dev->next = first_dev;
1432 first_dev = dev;
1435 *devp = dev;
1489 else if ((t = strstr (s, "/dev/")) != NULL)
1491 /* /dev/scanner /dev/sg0 */
1611 HS2P_Device *dev, *next;
1614 for (dev = first_dev; dev; dev = next)
1616 next = dev->next;
1617 free ((void *) (SANE_String_Const *) dev->sane.name);
1618 free ((SANE_String_Const *) dev->sane.model);
1619 free (dev);
1629 HS2P_Device *dev;
1640 for (dev = first_dev; dev; dev = dev->next)
1641 devlist[i++] = &dev->sane;
1654 HS2P_Device *dev;
1660 for (dev = first_dev; dev; dev = dev->next)
1662 if (strcmp (dev->sane.name, devnam) == 0)
1665 if (!dev)
1667 status = attach (devnam, CONNECTION_SCSI, &dev);
1674 dev = first_dev;
1676 if (!dev)
1685 s->hw = dev;