Lines Matching defs:dev
370 pie_init (Pie_Device * dev) /* pie_init is called once while driver-initialization */
374 dev->cal_info_count = 0;
375 dev->cal_info = NULL;
377 dev->devicename = NULL;
378 dev->inquiry_len = 0;
398 /* Pie_Device *dev = arg; */
636 pie_print_inquiry (Pie_Device * dev)
641 DBG (DBG_inquiry, "vendor........................: '%s'\n", dev->vendor);
642 DBG (DBG_inquiry, "product.......................: '%s'\n", dev->product);
643 DBG (DBG_inquiry, "version.......................: '%s'\n", dev->version);
646 dev->inquiry_x_res);
648 dev->inquiry_y_res);
650 dev->inquiry_pixel_resolution);
652 dev->inquiry_fb_width);
654 dev->inquiry_fb_length);
657 dev->inquiry_trans_width);
659 dev->inquiry_trans_length);
661 dev->inquiry_trans_top_left_x, dev->inquiry_trans_top_left_y);
664 dev->inquiry_halftones);
667 dev->inquiry_filters & INQ_ONE_PASS_COLOR ? "yes" : "no");
670 dev->inquiry_filters & INQ_FILTER_RED ? "Red " : "",
671 dev->inquiry_filters & INQ_FILTER_GREEN ? "Green " : "",
672 dev->inquiry_filters & INQ_FILTER_BLUE ? "Blue " : "",
673 dev->inquiry_filters & INQ_FILTER_NEUTRAL ? "Neutral " : "",
674 dev->inquiry_filters);
677 dev->inquiry_color_depths & INQ_COLOR_DEPTH_16 ? "16 bit " : "",
678 dev->inquiry_color_depths & INQ_COLOR_DEPTH_12 ? "12 bit " : "",
679 dev->inquiry_color_depths & INQ_COLOR_DEPTH_10 ? "10 bit " : "",
680 dev->inquiry_color_depths & INQ_COLOR_DEPTH_8 ? "8 bit " : "",
681 dev->inquiry_color_depths & INQ_COLOR_DEPTH_4 ? "4 bit " : "",
682 dev->inquiry_color_depths & INQ_COLOR_DEPTH_1 ? "1 bit " : "",
683 dev->inquiry_color_depths);
686 dev->inquiry_color_format & INQ_COLOR_FORMAT_INDEX ? "Indexed " : "",
687 dev->inquiry_color_format & INQ_COLOR_FORMAT_LINE ? "Line " : "",
688 dev->inquiry_color_format & INQ_COLOR_FORMAT_PIXEL ? "Pixel " : "",
689 dev->inquiry_color_format);
692 dev->inquiry_image_format & INQ_IMG_FMT_OKLINE ? "OKLine " : "",
693 dev->inquiry_image_format & INQ_IMG_FMT_BLK_ONE ? "BlackOne " : "",
694 dev->inquiry_image_format & INQ_IMG_FMT_MOTOROLA ? "Motorola " : "",
695 dev->inquiry_image_format & INQ_IMG_FMT_INTEL ? "Intel" : "",
696 dev->inquiry_image_format);
700 dev->inquiry_scan_capability & INQ_CAP_PWRSAV ? "PowerSave " : "",
701 dev->inquiry_scan_capability & INQ_CAP_EXT_CAL ? "ExtCal " : "",
702 dev->inquiry_scan_capability & INQ_CAP_FAST_PREVIEW ? "FastPreview" :
704 dev->inquiry_scan_capability & INQ_CAP_DISABLE_CAL ? "DisCal " : "",
705 dev->inquiry_scan_capability & INQ_CAP_SPEEDS,
706 dev->inquiry_scan_capability);
709 dev->inquiry_optional_devices & INQ_OPT_DEV_MPCL ? "MultiPageLoad " :
711 dev->inquiry_optional_devices & INQ_OPT_DEV_TP1 ? "TransModule1 " : "",
712 dev->inquiry_optional_devices & INQ_OPT_DEV_TP ? "TransModule " : "",
713 dev->inquiry_optional_devices & INQ_OPT_DEV_ADF ? "ADF " : "",
714 dev->inquiry_optional_devices);
717 dev->inquiry_enhancements);
719 dev->inquiry_gamma_bits);
722 dev->inquiry_fast_preview_res);
724 dev->inquiry_min_highlight);
726 dev->inquiry_max_shadow);
728 dev->inquiry_cal_eqn);
730 dev->inquiry_min_exp);
732 dev->inquiry_max_exp);
740 pie_get_inquiry_values (Pie_Device * dev, unsigned char *buffer)
744 dev->inquiry_len = get_inquiry_additional_length (buffer) + 5;
746 get_inquiry_vendor ((char *) buffer, dev->vendor);
747 get_inquiry_product ((char *) buffer, dev->product);
748 get_inquiry_version ((char *) buffer, dev->version);
750 dev->inquiry_x_res = get_inquiry_max_x_res (buffer);
751 dev->inquiry_y_res = get_inquiry_max_y_res (buffer);
753 if (dev->inquiry_y_res < 256)
756 dev->inquiry_pixel_resolution = dev->inquiry_x_res;
757 dev->inquiry_x_res *= dev->inquiry_y_res;
758 dev->inquiry_y_res = dev->inquiry_x_res;
763 dev->inquiry_pixel_resolution =
764 min (dev->inquiry_x_res, dev->inquiry_y_res);
767 dev->inquiry_fb_width =
769 dev->inquiry_pixel_resolution;
770 dev->inquiry_fb_length =
772 dev->inquiry_pixel_resolution;
774 dev->inquiry_trans_top_left_x = get_inquiry_trans_x1 (buffer);
775 dev->inquiry_trans_top_left_y = get_inquiry_trans_y1 (buffer);
777 dev->inquiry_trans_width =
779 get_inquiry_trans_x1 (buffer)) / dev->inquiry_pixel_resolution;
780 dev->inquiry_trans_length =
782 get_inquiry_trans_y1 (buffer)) / dev->inquiry_pixel_resolution;
784 dev->inquiry_halftones = get_inquiry_halftones (buffer) & 0x0f;
786 dev->inquiry_filters = get_inquiry_filters (buffer);
787 dev->inquiry_color_depths = get_inquiry_color_depths (buffer);
788 dev->inquiry_color_format = get_inquiry_color_format (buffer);
789 dev->inquiry_image_format = get_inquiry_image_format (buffer);
791 dev->inquiry_scan_capability = get_inquiry_scan_capability (buffer);
792 dev->inquiry_optional_devices = get_inquiry_optional_devices (buffer);
793 dev->inquiry_enhancements = get_inquiry_enhancements (buffer);
794 dev->inquiry_gamma_bits = get_inquiry_gamma_bits (buffer);
795 dev->inquiry_fast_preview_res = get_inquiry_fast_preview_res (buffer);
796 dev->inquiry_min_highlight = get_inquiry_min_highlight (buffer);
797 dev->inquiry_max_shadow = get_inquiry_max_shadow (buffer);
798 dev->inquiry_cal_eqn = get_inquiry_cal_eqn (buffer);
799 dev->inquiry_min_exp = get_inquiry_min_exp (buffer);
800 dev->inquiry_max_exp = get_inquiry_max_exp (buffer);
802 pie_print_inquiry (dev);
844 pie_identify_scanner (Pie_Device * dev, int sfd)
889 product, version, dev->devicename);
901 pie_get_inquiry_values (dev, inquiry_block);
915 pie_get_speeds (Pie_Device * dev)
917 int speeds = dev->inquiry_scan_capability & INQ_CAP_SPEEDS;
923 dev->speed_list[0] = strdup ("Normal");
924 dev->speed_list[1] = strdup ("Fine");
925 dev->speed_list[2] = strdup ("Pro");
926 dev->speed_list[3] = NULL;
938 dev->speed_list[i] = strdup (buf);
941 dev->speed_list[i] = NULL;
948 pie_get_halftones (Pie_Device * dev, int sfd)
958 for (i = 0; i < dev->inquiry_halftones; i++)
1004 dev->halftone_list[i] = strdup ((char *)s);
1008 dev->halftone_list[i] = NULL;
1014 pie_get_cal_info (Pie_Device * dev, int sfd)
1023 if (!(dev->inquiry_scan_capability & INQ_CAP_EXT_CAL))
1063 dev->cal_info_count = buffer[4];
1064 dev->cal_info =
1065 malloc (sizeof (struct Pie_cal_info) * dev->cal_info_count);
1067 for (i = 0; i < dev->cal_info_count; i++)
1069 dev->cal_info[i].cal_type = buffer[8 + i * buffer[5]];
1070 dev->cal_info[i].send_bits = buffer[9 + i * buffer[5]];
1071 dev->cal_info[i].receive_bits = buffer[10 + i * buffer[5]];
1072 dev->cal_info[i].num_lines = buffer[11 + i * buffer[5]];
1073 dev->cal_info[i].pixels_per_line =
1078 dev->cal_info[i].cal_type, dev->cal_info[i].send_bits,
1079 dev->cal_info[i].receive_bits, dev->cal_info[i].num_lines,
1080 dev->cal_info[i].pixels_per_line);
1091 Pie_Device *dev;
1097 for (dev = first_dev; dev; dev = dev->next)
1099 if (strcmp (dev->sane.name, devicename) == 0)
1103 *devp = dev;
1109 dev = malloc (sizeof (*dev));
1110 if (!dev)
1121 (devicename, &sfd, sense_handler, dev, &bufsize) != 0)
1124 free (dev);
1134 free (dev);
1144 if (sanei_scsi_open (devicename, &sfd, sense_handler, dev) != 0)
1147 free (dev);
1154 pie_init (dev); /* preset values in structure dev */
1156 dev->devicename = strdup (devicename);
1158 if (pie_identify_scanner (dev, sfd) != 0)
1162 free (dev);
1166 pie_get_halftones (dev, sfd);
1167 pie_get_cal_info (dev, sfd);
1168 pie_get_speeds (dev);
1170 dev->scan_mode_list[0] = COLOR_STR;
1171 dev->scan_mode_list[1] = GRAY_STR;
1172 dev->scan_mode_list[2] = LINEART_STR;
1173 dev->scan_mode_list[3] = HALFTONE_STR;
1174 dev->scan_mode_list[4] = 0;
1178 dev->sane.name = dev->devicename;
1179 dev->sane.vendor = dev->vendor;
1180 dev->sane.model = dev->product;
1181 dev->sane.type = "flatbed scanner";
1183 dev->x_range.min = SANE_FIX (0);
1184 dev->x_range.quant = SANE_FIX (0);
1185 dev->x_range.max = SANE_FIX (dev->inquiry_fb_width * MM_PER_INCH);
1187 dev->y_range.min = SANE_FIX (0);
1188 dev->y_range.quant = SANE_FIX (0);
1189 dev->y_range.max = SANE_FIX (dev->inquiry_fb_length * MM_PER_INCH);
1191 dev->dpi_range.min = SANE_FIX (25);
1192 dev->dpi_range.quant = SANE_FIX (1);
1193 dev->dpi_range.max =
1194 SANE_FIX (max (dev->inquiry_x_res, dev->inquiry_y_res));
1196 dev->shadow_range.min = SANE_FIX (0);
1197 dev->shadow_range.quant = SANE_FIX (1);
1198 dev->shadow_range.max = SANE_FIX (dev->inquiry_max_shadow);
1200 dev->highlight_range.min = SANE_FIX (dev->inquiry_min_highlight);
1201 dev->highlight_range.quant = SANE_FIX (1);
1202 dev->highlight_range.max = SANE_FIX (100);
1204 dev->exposure_range.min = SANE_FIX (dev->inquiry_min_exp);
1205 dev->exposure_range.quant = SANE_FIX (1);
1206 dev->exposure_range.max = SANE_FIX (dev->inquiry_max_exp);
1209 dev->analog_gamma_range.min = SANE_FIX (1.0);
1210 dev->analog_gamma_range.quant = SANE_FIX (0.01);
1211 dev->analog_gamma_range.max = SANE_FIX (2.0);
1215 dev->next = first_dev;
1216 first_dev = dev;
1220 *devp = dev;
2941 attach_scanner ("/dev/scanner", 0); /* no config-file: /dev/scanner */
2974 Pie_Device *dev, *next;
2979 for (dev = first_dev; dev; dev = next)
2981 next = dev->next;
2982 free (dev->devicename);
2983 free (dev->cal_info);
2985 while (dev->halftone_list[i] != NULL)
2986 free (dev->halftone_list[i++]);
2988 while (dev->speed_list[i] != NULL)
2989 free (dev->speed_list[i++]);
2991 free (dev);
3010 Pie_Device *dev;
3016 for (dev = first_dev; dev; dev = dev->next)
3032 for (dev = first_dev; dev; dev = dev->next)
3034 devlist[i++] = &dev->sane;
3050 Pie_Device *dev;
3059 for (dev = first_dev; dev; dev = dev->next)
3061 if (strcmp (dev->sane.name, devicename) == 0)
3067 if (!dev)
3069 status = attach_scanner (devicename, &dev);
3078 dev = first_dev; /* empty devicename -> use first device */
3082 if (!dev)
3096 scanner->device = dev;