]> pere.pagekite.me Git - homepage.git/blob - linux/sane/agfa-snapscan-1236.diff
Switched blog to hungry.com for now. Updated all links.
[homepage.git] / linux / sane / agfa-snapscan-1236.diff
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
4 @@ -1,3 +1,12 @@
5 +1999-03-10 Petter Reinholdtsen <pere@td.org.uit.no>
6 +
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.
13 +
14 1999-03-04 David Mosberger-Tang <David.Mosberger@acm.org>
15
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
20 @@ -276,7 +276,9 @@
21 break;
22
23 case SNAPSCAN600:
24 - DBG (DL_MINOR_INFO, "600 dpi mode untested on SnapScan 600\nPlease report bugs\n");
25 + case SNAPSCAN1236:
26 + DBG (DL_MINOR_INFO, "600 dpi mode untested on SnapScan 600 and 1236\n"
27 + "Please report bugs\n");
28 default:
29 po[OPT_SCANRES].constraint.word_list = resolutions_300;
30 break;
31 @@ -339,6 +341,7 @@
32 {
33 case SNAPSCAN310:
34 case SNAPSCAN600:
35 + case SNAPSCAN1236:
36 case VUEGO310S: /* WG changed */
37 po[OPT_MODE].constraint.string_list = names_310;
38 break;
39 @@ -370,6 +373,7 @@
40 {
41 case SNAPSCAN310:
42 case SNAPSCAN600:
43 + case SNAPSCAN1236:
44 case VUEGO310S: /* WG changed */
45 po[OPT_PREVIEW_MODE].constraint.string_list = names_310;
46 break;
47 @@ -995,6 +999,7 @@
48 {
49 case SNAPSCAN310:
50 case SNAPSCAN600:
51 + case SNAPSCAN1236:
52 case VUEGO310S: /* WG changed */
53 rgb_buf_set_diff (pss,
54 pss->buf[INQUIRY_G2R_DIFF],
55 @@ -1537,8 +1542,9 @@
56 static const char me[] = "add_device";
57 SANE_Status status;
58 SnapScan_Device *pd;
59 - SnapScan_Model model_num;
60 + SnapScan_Model model_num = UNKNOWN;
61 char vendor[8], model[17];
62 + int i, vendor_ok = 0;
63
64 DBG (DL_CALL_TRACE, "%s\n", me);
65
66 @@ -1561,38 +1567,38 @@
67 return status;
68 }
69
70 - if ((strncasecmp (vendor, SNAPSCAN_VENDOR, strlen (SNAPSCAN_VENDOR)) == 0)
71 - ||
72 - (strncasecmp (vendor, VUEGO_VENDOR, strlen (VUEGO_VENDOR)) == 0)) /* WG changed */
73 - {
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;
87 - else
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])))
91 + {
92 + vendor_ok = 1;
93 + break;
94 + }
95 + if (!vendor_ok)
96 + {
97 + DBG (DL_MINOR_ERROR, "%s: \"%s %s\" is not an %s\n",
98 + me, vendor, model,
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;
103 + }
104 +
105 + /* Known vendor. Check if it is one of our supported models */
106 + for (i = 0; i < known_scanners; i++)
107 + {
108 + if (0 == strncasecmp (model, scanners[i].scsi_name,
109 + strlen(scanners[i].scsi_name)))
110 {
111 - DBG (DL_INFO, "%s: sorry, model %s is not supported.\n"
112 - "Currently supported models are the SnapScan 300 and 310.\n",
113 - me, model);
114 - sanei_scsi_close (fd);
115 - return SANE_STATUS_INVAL;
116 + model_num = scanners[i].id;
117 + break;
118 }
119 }
120 - else
121 + if (UNKNOWN == model_num)
122 {
123 - DBG (DL_MINOR_ERROR, "%s: \"%s %s\" is not an %s %s\n",
124 - me, vendor, model,
125 - SNAPSCAN_VENDOR,
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",
129 + me, model);
130 sanei_scsi_close (fd);
131 return SANE_STATUS_INVAL;
132 }
133 @@ -2673,6 +2679,7 @@
134 {
135 case SNAPSCAN310:
136 case SNAPSCAN600:
137 + case SNAPSCAN1236:
138 case VUEGO310S: /* WG changed */
139 if (!pss->preview)
140 {
141 @@ -2699,6 +2706,7 @@
142 {
143 case SNAPSCAN310:
144 case SNAPSCAN600:
145 + case SNAPSCAN1236:
146 case VUEGO310S: /* WG changed */
147 pss->lines += line_offset;
148 p->lines -= line_offset;
149 @@ -3114,6 +3122,7 @@
150 {
151 case SNAPSCAN310:
152 case SNAPSCAN600:
153 + case SNAPSCAN1236:
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 @@
158 {
159 case SNAPSCAN310:
160 case SNAPSCAN600:
161 + case SNAPSCAN1236:
162 case VUEGO310S: /* WG changed */
163 rgb_buf_clean (pss);
164 break;
165 @@ -3153,6 +3163,7 @@
166 {
167 case SNAPSCAN310:
168 case SNAPSCAN600:
169 + case SNAPSCAN1236:
170 case VUEGO310S: /* WG changed */
171 transfer_data_diff (other_buf, pss);
172 break;
173 @@ -3186,6 +3197,7 @@
174 {
175 case SNAPSCAN310:
176 case SNAPSCAN600:
177 + case SNAPSCAN1236:
178 case VUEGO310S: /* WG changed */
179 rgb_buf_clean (pss);
180 break;
181 @@ -3231,13 +3243,14 @@
182 pss->bytes_per_line / pss->ms_per_line);
183
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 */
187 if (colour)
188 {
189 switch (pss->pdev->model)
190 {
191 case SNAPSCAN310:
192 case SNAPSCAN600:
193 + case SNAPSCAN1236:
194 case VUEGO310S: /* WG changed */
195 rgb_buf_init (pss);
196 break;
197 @@ -3413,6 +3426,7 @@
198 {
199 case SNAPSCAN310:
200 case SNAPSCAN600:
201 + case SNAPSCAN1236:
202 case VUEGO310S: /* WG changed */
203 transferred_bytes = transfer_data_diff (buf, pss);
204 break;
205 @@ -3486,6 +3500,7 @@
206 {
207 case SNAPSCAN310:
208 case SNAPSCAN600:
209 + case SNAPSCAN1236:
210 case VUEGO310S: /* WG changed */
211 rgb_buf_clean (pss);
212 break;
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
216 @@ -28,6 +28,8 @@
217 :comment "Ditto"
218 :model "SnapScan 600"
219 :comment "Ditto"
220 +:model "SnapScan 1236"
221 +:comment "Ditto"
222 :mfg "Vuego"
223 :model "310S"
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
228 @@ -54,22 +54,41 @@
229 /* snapscan device field values */
230
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*/
240
241 typedef enum
242 {
243 + UNKNOWN,
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 */
249 } SnapScan_Model;
250 +
251 +struct SnapScan_Model_desc
252 +{
253 + char *scsi_name;
254 + SnapScan_Model id;
255 +};
256 +
257 +static struct SnapScan_Model_desc scanners[] =
258 +{
259 + { "FlatbedScanner_4", VUEGO310S },
260 + { "SNAPSCAN 1236", SNAPSCAN1236 },
261 + { "SNAPSCAN 310", SNAPSCAN310 },
262 + { "SNAPSCAN 600", SNAPSCAN600 },
263 + { "SnapScan", SNAPSCAN300 },
264 +};
265 +#define known_scanners (sizeof(scanners)/sizeof(struct SnapScan_Model_desc))
266 +
267 +static char *vendors[] =
268 +{
269 + "AGFA",
270 + "COLOR",
271 +};
272 +#define known_vendors (sizeof(vendors)/sizeof(char*))
273
274 typedef enum
275 {