return &read_info;
}
-[[deprecated("use reade_info instead")]]
-metadata current_metadata;
-
-[[deprecated("use reade_info instead")]]
-metadata* get_current_metadata()
-{
- return ¤t_metadata;
-}
-
int _sane_kds_s2000w_net_find_first_data_byte(const char* data)
{
const int header_spaces = 3;
printf("get parameters 2\n");
for (int i = 0; i < 10; i++) {
sleep(1);
- current_metadata = kds_s2000w_handler_get_parameters();
- printf("valid %i\n", current_metadata.valid);
- if (current_metadata.valid)
+ read_info.current_metadata = kds_s2000w_handler_get_parameters();
+ printf("valid %i\n", read_info.current_metadata.valid);
+ if (read_info.current_metadata.valid)
break;
}
printf("get parameters 3\n");
- if (!current_metadata.valid)
+ if (!read_info.current_metadata.valid)
return SANE_STATUS_UNSUPPORTED;
- params->format = current_metadata.format;
- params->last_frame = current_metadata.is_last;
- params->bytes_per_line = current_metadata.bytes_per_line;
- params->pixels_per_line = current_metadata.pixels_per_line;
- params->lines = current_metadata.lines;
- params->depth = current_metadata.depth;
+ params->format = read_info.current_metadata.format;
+ params->last_frame = read_info.current_metadata.is_last;
+ params->bytes_per_line = read_info.current_metadata.bytes_per_line;
+ params->pixels_per_line = read_info.current_metadata.pixels_per_line;
+ params->lines = read_info.current_metadata.lines;
+ params->depth = read_info.current_metadata.depth;
read_info.read_size = 0;
read_info.readed_lines = 0;
read_info.readed_bytes_per_line = 0;
return SANE_STATUS_CANCELLED;
}
- int skip_header_bytes = _sane_kds_s2000w_net_find_first_data_byte(current_metadata.image);
+ int skip_header_bytes = _sane_kds_s2000w_net_find_first_data_byte(read_info.current_metadata.image);
if (read_info.read_size <= 0)
read_info.read_size += skip_header_bytes;
- if (read_info.readed_lines >= current_metadata.lines) {
+ if (read_info.readed_lines >= read_info.current_metadata.lines) {
*length = 0;
read_info.readed_lines = 0;
return SANE_STATUS_EOF;
}
int maxlen = max_length;
- if (current_metadata.bytes_per_line - read_info.readed_bytes_per_line < max_length)
- maxlen = current_metadata.bytes_per_line - read_info.readed_bytes_per_line;
+ if (read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line < max_length)
+ maxlen = read_info.current_metadata.bytes_per_line - read_info.readed_bytes_per_line;
*length = maxlen;
- memcpy(data, current_metadata.image + read_info.read_size, *length);
+ memcpy(data, read_info.current_metadata.image + read_info.read_size, *length);
read_info.readed_bytes_per_line += *length;
read_info.read_size += *length;
- if (read_info.readed_bytes_per_line >= current_metadata.bytes_per_line) {
+ if (read_info.readed_bytes_per_line >= read_info.current_metadata.bytes_per_line) {
read_info.readed_bytes_per_line = 0;
read_info.readed_lines++;
}
{
readinfo* read_info = get_read_info();
read_info->cancel = 0;
- metadata* current_metadata_ptr = get_current_metadata();
read_info->read_size = 0;
char* image = malloc(sizeof(char) * 53);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[4] = 0xff;
- current_metadata_ptr->image = image;
- current_metadata_ptr->bytes_per_line = 10;
- current_metadata_ptr->lines = 5;
+ read_info->current_metadata.image = image;
+ read_info->current_metadata.bytes_per_line = 10;
+ read_info->current_metadata.lines = 5;
int* length = malloc(sizeof(int));
*length = 0;
START_TEST(sane_kds_s2000w_net_read_test)
{
readinfo* read_info = get_read_info();
- metadata* current_metadata_ptr = get_current_metadata();
read_info->read_size = 0;
- current_metadata_ptr->lines = 1;
- current_metadata_ptr->bytes_per_line = 65536;
+ read_info->current_metadata.lines = 1;
+ read_info->current_metadata.bytes_per_line = 65536;
char* image = malloc(sizeof(char) * 65539);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[4] = 0xff;
- current_metadata_ptr->image = image;
+ read_info->current_metadata.image = image;
SANE_Int maxlen = 65536;
char* dataptr = malloc(sizeof(char) * maxlen);
{
readinfo* read_info = get_read_info();
read_info->read_size = 0;
- metadata* current_metadata_ptr = get_current_metadata();
- current_metadata_ptr->lines = 1;
- current_metadata_ptr->bytes_per_line = 95000;
+ read_info->current_metadata.lines = 1;
+ read_info->current_metadata.bytes_per_line = 95000;
char* image = malloc(sizeof(char) * 95003);
for (int i = 0; i < 3; i++) {
image[i] = 0x0a;
}
image[4] = 0xff;
- current_metadata_ptr->image = image;
+ read_info->current_metadata.image = image;
SANE_Int maxlen = 65536;
char* dataptr = malloc(sizeof(char) * maxlen);