current_scan_status.mdata.bytes_per_line = channels * current_scan_status.mdata.pixels_per_line * current_scan_status.mdata.depth / 8;
current_scan_status.mdata.valid = 1;
+ current_scan_status.mdata.is_last = 0;
metadata = NULL;
kds_s2000w_client_response_free(resp);
&& current_scan_status.downloaded_images == current_scan_status.available_images) {
current_scan_status.mdata.valid = 1;
current_scan_status.mdata.scanned_all_complete = 1;
+ current_scan_status.mdata.is_last = 1;
return current_scan_status.mdata;
}
return SANE_STATUS_GOOD;
}
+void _sane_kds_s2000w_net_cancel(SANE_Handle handle)
+{
+ cancel = 1;
+ return;
+}
+
SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
SANE_Parameters* params)
{
return SANE_STATUS_GOOD;
}
-void _sane_kds_s2000w_net_cancel(SANE_Handle handle)
-{
- cancel = 1;
- return;
-}
-
SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data,
SANE_Int max_length, SANE_Int* length)
{
printf("is all scanned: %i\n", current_metadata.scanned_all_complete);
- if (current_metadata.scanned_all_complete && !cancel) {
- printf("scan is finished\n");
- read_size = 0;
- *length = 0;
- _sane_kds_s2000w_net_cancel(NULL);
- return SANE_STATUS_EOF;
- }
int length_count = 0;
while(length_count < max_length) {