Lines Matching defs:dev
49 KV_DEV *dev;
51 dev = *pdev;
53 if (dev == NULL)
58 kv_close (dev);
61 if (dev->img_buffers[0])
62 free (dev->img_buffers[0]);
64 if (dev->img_buffers[1])
65 free (dev->img_buffers[1]);
67 if (dev->scsi_device_name)
68 free (dev->scsi_device_name);
71 if (dev->buffer0)
72 free (dev->buffer0);
74 DBG (DBG_proc, "kv_free : free dev \n");
75 free (dev);
86 PKV_DEV dev;
89 dev = g_devices;
90 g_devices = dev->next;
91 kv_free (&dev);
156 kv_open (PKV_DEV dev)
163 if (dev->bus_mode == KV_USB_BUS)
165 status = kv_usb_open (dev);
172 status = CMD_test_unit_ready (dev, &dev_ready);
180 status = CMD_read_support_info (dev);
185 kv_init_options (dev);
186 status = CMD_set_timeout (dev, dev->val[OPT_FEED_TIMEOUT].w);
189 dev->scanning = 0;
196 kv_already_open (PKV_DEV dev)
200 if (dev->bus_mode == KV_USB_BUS)
202 status = kv_usb_already_open (dev);
210 kv_close (PKV_DEV dev)
212 if (dev->bus_mode == KV_USB_BUS)
214 kv_usb_close (dev);
216 dev->scanning = 0;
221 kv_send_command (PKV_DEV dev,
225 if (dev->bus_mode == KV_USB_BUS)
227 if (!kv_usb_already_open(dev))
233 status = kv_usb_send_command (dev, header, response);
242 CMD_test_unit_ready (PKV_DEV dev, SANE_Bool * ready)
256 status = kv_send_command (dev, &hdr, &rs);
267 CMD_set_timeout (PKV_DEV dev, SANE_Word timeout)
282 hdr.data = dev->buffer;
283 dev->buffer[0] = 0;
284 dev->buffer[1] = (SANE_Byte) timeout;
287 status = kv_send_command (dev, &hdr, &rs);
293 CMD_read_support_info (PKV_DEV dev)
308 hdr.data = dev->buffer;
311 status = kv_send_command (dev, &hdr, &rs);
322 dev->support_info.memory_size
323 = (dev->buffer[2] << 8 | dev->buffer[3]);
324 min_x_res = (dev->buffer[4] << 8) | dev->buffer[5];
325 min_y_res = (dev->buffer[6] << 8) | dev->buffer[7];
326 max_x_res = (dev->buffer[8] << 8) | dev->buffer[9];
327 max_y_res = (dev->buffer[10] << 8) | dev->buffer[11];
328 step_x_res = (dev->buffer[12] << 8) | dev->buffer[13];
329 step_y_res = (dev->buffer[14] << 8) | dev->buffer[15];
331 dev->support_info.min_resolution =
333 dev->support_info.max_resolution =
335 dev->support_info.step_resolution =
337 dev->support_info.support_duplex =
338 ((dev->buffer[0] & 0x08) == 0) ? 1 : 0;
339 dev->support_info.support_lamp =
340 ((dev->buffer[23] & 0x80) != 0) ? 1 : 0;
342 dev->support_info.max_x_range = KV_MAX_X_RANGE;
343 dev->support_info.max_y_range = KV_MAX_Y_RANGE;
345 dev->x_range.min = dev->y_range.min = 0;
346 dev->x_range.max = SANE_FIX (dev->support_info.max_x_range);
347 dev->y_range.max = SANE_FIX (dev->support_info.max_y_range);
348 dev->x_range.quant = dev->y_range.quant = 0;
352 dev->support_info.memory_size);
355 dev->support_info.min_resolution);
358 dev->support_info.max_resolution);
361 dev->support_info.step_resolution);
364 dev->support_info.support_duplex ? "TRUE" : "FALSE");
366 dev->support_info.support_lamp ? "TRUE" : "FALSE");
382 CMD_scan (PKV_DEV dev)
396 status = kv_send_command (dev, &hdr, &rs);
410 CMD_set_window (PKV_DEV dev, int side, PKV_CMD_RESPONSE rs)
420 window = (unsigned char *) dev->buffer;
430 scan_mode = kv_get_mode (dev);
432 kv_set_window_data (dev, scan_mode, side, windowdata);
443 return kv_send_command (dev, &hdr, rs);
447 CMD_reset_window (PKV_DEV dev)
461 status = kv_send_command (dev, &hdr, &rs);
469 CMD_get_buff_status (PKV_DEV dev, int *front_size, int *back_size)
474 unsigned char *data = (unsigned char *) dev->buffer;
486 status = kv_send_command (dev, &hdr, &rs);
509 CMD_wait_buff_status (PKV_DEV dev, int *front_size, int *back_size)
517 dev->val[OPT_MANUALFEED].s);
522 dev->val[OPT_FEED_TIMEOUT].w);
523 status = CMD_get_buff_status (dev, front_size, back_size);
527 && (*back_size == 0) && cnt++ < dev->val[OPT_FEED_TIMEOUT].w);
529 if (cnt > dev->val[OPT_FEED_TIMEOUT].w)
542 CMD_read_pic_elements (PKV_DEV dev, int page, int side,
560 hdr.data = dev->buffer;
563 status = kv_send_command (dev, &hdr, &rs);
569 int depth = kv_get_depth (kv_get_mode (dev));
570 *width = B32TOI (dev->buffer);
571 *height = B32TOI (&dev->buffer[4]);
579 dev->params[s].format = kv_get_mode (dev) == SM_COLOR ?
581 dev->params[s].last_frame = SANE_TRUE;
582 dev->params[s].depth = depth > 8 ? 8 : depth;
583 dev->params[s].lines = *height ? *height
584 : dev->val[OPT_LANDSCAPE].w ? (*width * 3) / 4 : (*width * 4) / 3;
585 dev->params[s].pixels_per_line = *width;
586 dev->params[s].bytes_per_line =
587 (dev->params[s].pixels_per_line / 8) * depth;
600 CMD_read_image (PKV_DEV dev, int page, int side,
622 status = kv_send_command (dev, &hdr, rs);
645 CMD_get_document_existanse (PKV_DEV dev)
660 hdr.data = dev->buffer;
663 status = kv_send_command (dev, &hdr, &rs);
668 if ((dev->buffer[0] & 0x20) != 0)
677 CMD_wait_document_existanse (PKV_DEV dev)
693 hdr.data = dev->buffer;
696 for (cnt = 0; cnt < dev->val[OPT_FEED_TIMEOUT].w; cnt++)
699 dev->val[OPT_FEED_TIMEOUT].w);
700 status = kv_send_command (dev, &hdr, &rs);
705 if ((dev->buffer[0] & 0x20) != 0)
709 else if (strcmp (dev->val[OPT_MANUALFEED].s, "off") == 0)
720 CMD_request_sense (PKV_DEV dev)
732 hdr.data = dev->buffer;
734 return kv_send_command (dev, &hdr, &rs);
742 AllocateImageBuffer (PKV_DEV dev)
744 int *size = dev->bytes_to_read;
745 int sides = IS_DUPLEX (dev) ? 2 : 1;
747 size[0] = dev->params[0].bytes_per_line * dev->params[0].lines;
748 size[1] = dev->params[1].bytes_per_line * dev->params[1].lines;
758 if (dev->img_buffers[i] == NULL)
765 dev->img_buffers[i] = p;
769 p = (SANE_Byte *) realloc (dev->img_buffers[i], size[i]);
776 dev->img_buffers[i] = p;
785 /* Read image data from scanner dev->img_buffers[0],
788 ReadImageDataSimplex (PKV_DEV dev, int page)
790 int bytes_to_read = dev->bytes_to_read[0];
791 SANE_Byte *buffer = (SANE_Byte *) dev->buffer;
793 SANE_Byte *pt = dev->img_buffers[0];
795 dev->img_size[0] = 0;
796 dev->img_size[1] = 0;
804 status = CMD_read_image (dev, page, SIDE_FRONT, buffer, &size, &rs);
838 dev->img_size[0] += size;
843 assert (pt == dev->img_buffers[0] + dev->img_size[0]);
844 DBG (DBG_error, "Image size = %d\n", dev->img_size[0]);
848 /* Read image data from scanner dev->img_buffers[0],
851 ReadImageDataDuplex (PKV_DEV dev, int page)
854 SANE_Byte *buffer = (SANE_Byte *) dev->buffer;
862 bytes_to_read[0] = dev->bytes_to_read[0];
863 bytes_to_read[1] = dev->bytes_to_read[1];
865 pt[0] = dev->img_buffers[0];
866 pt[1] = dev->img_buffers[1];
874 dev->img_size[0] = 0;
875 dev->img_size[1] = 0;
885 status = CMD_read_image (dev, page, sides[current_side],
920 dev->img_size[current_side] += size;
937 DBG (DBG_error, "Image size (F) = %d\n", dev->img_size[0]);
938 DBG (DBG_error, "Image size (B) = %d\n", dev->img_size[1]);
940 assert (pt[0] == dev->img_buffers[0] + dev->img_size[0]);
941 assert (pt[1] == dev->img_buffers[1] + dev->img_size[1]);
948 ReadImageData (PKV_DEV dev, int page)
953 if (IS_DUPLEX (dev))
956 status = ReadImageDataDuplex (dev, page);
961 status = ReadImageDataSimplex (dev, page);
963 dev->img_pt[0] = dev->img_buffers[0];
964 dev->img_pt[1] = dev->img_buffers[1];