1 diff -ru /store/store/joseph/sane/src-pre1.01r3/ChangeLog src-pre1.01r3-allarchs/ChangeLog
2 --- /store/store/joseph/sane/src-pre1.01r3/ChangeLog Fri Mar 5 07:20:00 1999
3 +++ src-pre1.01r3-allarchs/ChangeLog Wed Mar 10 22:12:55 1999
5 +1999-03-10 Petter Reinholdtsen <pere@td.org.uit.no>
7 + * backend/snapscan.c (add_device init_options inquiry
8 + sane_snapscan_get_parameters sane_snapscan_start
9 + sane_snapscan_set_io_mode) backend/snapscan.h
10 + backend/snapscan.desc: Rewrote scanner detection code to loop over
11 + array of supported SCSI names. Added AGFA SnapScan 1236 support.
12 + It seems to be compatible with SnapScan 600.
14 1999-03-04 David Mosberger-Tang <David.Mosberger@acm.org>
16 * backend/canon.c (adjust_hilo_points): Print values of type
17 diff -ru /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.c src-pre1.01r3-allarchs/backend/snapscan.c
18 --- /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.c Sun Feb 28 21:34:05 1999
19 +++ src-pre1.01r3-allarchs/backend/snapscan.c Wed Mar 10 22:17:56 1999
24 - DBG (DL_MINOR_INFO, "600 dpi mode untested on SnapScan 600\nPlease report bugs\n");
26 + DBG (DL_MINOR_INFO, "600 dpi mode untested on SnapScan 600 and 1236\n"
27 + "Please report bugs\n");
29 po[OPT_SCANRES].constraint.word_list = resolutions_300;
36 case VUEGO310S: /* WG changed */
37 po[OPT_MODE].constraint.string_list = names_310;
44 case VUEGO310S: /* WG changed */
45 po[OPT_PREVIEW_MODE].constraint.string_list = names_310;
52 case VUEGO310S: /* WG changed */
53 rgb_buf_set_diff (pss,
54 pss->buf[INQUIRY_G2R_DIFF],
56 static const char me[] = "add_device";
59 - SnapScan_Model model_num;
60 + SnapScan_Model model_num = UNKNOWN;
61 char vendor[8], model[17];
62 + int i, vendor_ok = 0;
64 DBG (DL_CALL_TRACE, "%s\n", me);
66 @@ -1561,38 +1567,38 @@
70 - if ((strncasecmp (vendor, SNAPSCAN_VENDOR, strlen (SNAPSCAN_VENDOR)) == 0)
72 - (strncasecmp (vendor, VUEGO_VENDOR, strlen (VUEGO_VENDOR)) == 0)) /* WG changed */
74 - /* original SnapScan */
75 - if (strncasecmp (model, SNAPSCAN_MODEL310,
76 - strlen (SNAPSCAN_MODEL310)) == 0)
77 - model_num = SNAPSCAN310;
78 - else if (strncasecmp (model, SNAPSCAN_MODEL600,
79 - strlen (SNAPSCAN_MODEL600)) == 0)
80 - model_num = SNAPSCAN600;
81 - else if (strncasecmp (model, SNAPSCAN_MODEL300,
82 - strlen (SNAPSCAN_MODEL300)) == 0)
83 - model_num = SNAPSCAN300;
84 - else if (strncasecmp (model, VUEGO_MODEL310S, /* WG changed */
85 - strlen (VUEGO_MODEL310S)) == 0)
86 - model_num = VUEGO310S;
88 + /* check if this is one of our supported vendors */
89 + for (i = 0; i < known_vendors; i++)
90 + if (0 == strncasecmp (vendor, vendors[i], strlen(vendors[i])))
97 + DBG (DL_MINOR_ERROR, "%s: \"%s %s\" is not an %s\n",
99 + "AGFA SnapScan model 300, 310, 600 and 1236"
100 + " or VUEGO model 310S"); /* WG changed */
101 + sanei_scsi_close (fd);
102 + return SANE_STATUS_INVAL;
105 + /* Known vendor. Check if it is one of our supported models */
106 + for (i = 0; i < known_scanners; i++)
108 + if (0 == strncasecmp (model, scanners[i].scsi_name,
109 + strlen(scanners[i].scsi_name)))
111 - DBG (DL_INFO, "%s: sorry, model %s is not supported.\n"
112 - "Currently supported models are the SnapScan 300 and 310.\n",
114 - sanei_scsi_close (fd);
115 - return SANE_STATUS_INVAL;
116 + model_num = scanners[i].id;
121 + if (UNKNOWN == model_num)
123 - DBG (DL_MINOR_ERROR, "%s: \"%s %s\" is not an %s %s\n",
126 - "AGFA SnapScan model 300, 310, and 600 or VUEGO model 310S"); /* WG changed */
127 + DBG (DL_INFO, "%s: sorry, model %s is not supported.\n"
128 + "Currently supported models are the SnapScan 300 and 310.\n",
130 sanei_scsi_close (fd);
131 return SANE_STATUS_INVAL;
133 @@ -2673,6 +2679,7 @@
138 case VUEGO310S: /* WG changed */
141 @@ -2699,6 +2706,7 @@
146 case VUEGO310S: /* WG changed */
147 pss->lines += line_offset;
148 p->lines -= line_offset;
149 @@ -3114,6 +3122,7 @@
154 case VUEGO310S: /* WG changed */
155 if (SANE_STATUS_GOOD != rgb_buf_init (pss))
156 return SANE_STATUS_NO_MEM;
157 @@ -3134,6 +3143,7 @@
162 case VUEGO310S: /* WG changed */
165 @@ -3153,6 +3163,7 @@
170 case VUEGO310S: /* WG changed */
171 transfer_data_diff (other_buf, pss);
173 @@ -3186,6 +3197,7 @@
178 case VUEGO310S: /* WG changed */
181 @@ -3231,13 +3243,14 @@
182 pss->bytes_per_line / pss->ms_per_line);
184 /* allocate and initialize rgb ring buffer if the device is
185 - a snapscan 310 or 600 model, in colour mode */
186 + a snapscan 310, 600 or 1236 model, in colour mode */
189 switch (pss->pdev->model)
194 case VUEGO310S: /* WG changed */
197 @@ -3413,6 +3426,7 @@
202 case VUEGO310S: /* WG changed */
203 transferred_bytes = transfer_data_diff (buf, pss);
205 @@ -3486,6 +3500,7 @@
210 case VUEGO310S: /* WG changed */
213 diff -ru /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.desc src-pre1.01r3-allarchs/backend/snapscan.desc
214 --- /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.desc Mon Sep 7 09:28:57 1998
215 +++ src-pre1.01r3-allarchs/backend/snapscan.desc Wed Mar 10 21:14:10 1999
218 :model "SnapScan 600"
220 +:model "SnapScan 1236"
224 :comment "Close SnapScan 310 compatible."
225 diff -ru /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.h src-pre1.01r3-allarchs/backend/snapscan.h
226 --- /store/store/joseph/sane/src-pre1.01r3/backend/snapscan.h Sun Feb 28 00:59:10 1999
227 +++ src-pre1.01r3-allarchs/backend/snapscan.h Wed Mar 10 22:19:16 1999
229 /* snapscan device field values */
231 #define SNAPSCAN_NAME "/dev/sga"
232 -#define SNAPSCAN_VENDOR "AGFA"
233 -#define VUEGO_VENDOR "COLOR"
234 -#define SNAPSCAN_MODEL300 "SnapScan"
235 -#define SNAPSCAN_MODEL310 "SNAPSCAN 310"
236 -#define VUEGO_MODEL310S "FlatbedScanner_4"
237 -#define SNAPSCAN_MODEL600 "SNAPSCAN 600"
238 #define SNAPSCAN_TYPE "flatbed scanner"
239 /*#define INOPERATIVE*/
244 SNAPSCAN300, /* the original SnapScan or SnapScan 300 */
245 SNAPSCAN310, /* the SnapScan 310 */
246 SNAPSCAN600, /* the SnapScan 600 */
247 + SNAPSCAN1236, /* the SnapScan 1236 */
248 VUEGO310S /* Vuego-Version of SnapScan 310 WG changed */
251 +struct SnapScan_Model_desc
257 +static struct SnapScan_Model_desc scanners[] =
259 + { "FlatbedScanner_4", VUEGO310S },
260 + { "SNAPSCAN 1236", SNAPSCAN1236 },
261 + { "SNAPSCAN 310", SNAPSCAN310 },
262 + { "SNAPSCAN 600", SNAPSCAN600 },
263 + { "SnapScan", SNAPSCAN300 },
265 +#define known_scanners (sizeof(scanners)/sizeof(struct SnapScan_Model_desc))
267 +static char *vendors[] =
272 +#define known_vendors (sizeof(vendors)/sizeof(char*))