#define PROFILE_230802_V1_0_36_MAX_OPTION_COUNT 26
#define PROFILE_MIN_MAX_OPTION_COUNT 12
-option_descriptor_t** descriptors = NULL;
-uint8_t max_option_count = 0;
+option_descriptor_t** kds_s2000w_descriptors = NULL;
+uint8_t kds_s2000w_max_option_count = 0;
void _kds_s2000w_option_descriptor_descriptor_free(option_descriptor_t* descriptor)
{
SANE_Status _kds_s2000w_option_descriptor_validate()
{
- for (int i = 0; i < max_option_count; i++) {
- if (descriptors[i]->descriptor == NULL) {
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ if (kds_s2000w_descriptors[i]->descriptor == NULL) {
kds_s2000w_option_descriptors_free();
return SANE_STATUS_NO_MEM;
}
******************************************************************************/
SANE_Status _kds_s2000w_option_descriptors_init_min_profile()
{
- max_option_count = PROFILE_MIN_MAX_OPTION_COUNT;
+ kds_s2000w_max_option_count = PROFILE_MIN_MAX_OPTION_COUNT;
- descriptors = malloc(sizeof(option_descriptor_t*) * max_option_count);
- if (descriptors == NULL)
+ kds_s2000w_descriptors = malloc(sizeof(option_descriptor_t*) * kds_s2000w_max_option_count);
+ if (kds_s2000w_descriptors == NULL)
return SANE_STATUS_NO_MEM;
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = NULL;
}
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = malloc(sizeof(option_descriptor_t));
- if (descriptors[i] == NULL) {
- kds_s2000w_option_descriptors_free(descriptors);
- descriptors = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = malloc(sizeof(option_descriptor_t));
+ if (kds_s2000w_descriptors[i] == NULL) {
+ kds_s2000w_option_descriptors_free(kds_s2000w_descriptors);
+ kds_s2000w_descriptors = NULL;
return SANE_STATUS_NO_MEM;
}
- descriptors[i]->descriptor = NULL;
+ kds_s2000w_descriptors[i]->descriptor = NULL;
}
- descriptors[0]->config_name = OPTION_COUNT;
- descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
- descriptors[1]->config_name = STANDARD_GROUP;
- descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
- descriptors[2]->config_name = COLOR_MODE;
- descriptors[2]->descriptor = _kds_s2000w_option_descriptor_color_mode();
- descriptors[3]->config_name = DPI;
- descriptors[3]->descriptor = _kds_s2000w_option_descriptor_dpi();
- descriptors[4]->config_name = SCAN_SIDE;
- descriptors[4]->descriptor = _kds_s2000w_option_descriptor_scanside();
- descriptors[5]->config_name = BOLDNESS_COLOR_GROUP;
- descriptors[5]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
- descriptors[6]->config_name = COLOR_DROP_OUT;
- descriptors[6]->descriptor = _kds_s2000w_option_descriptor_color_drop();
- descriptors[7]->config_name = RESET;
- descriptors[7]->descriptor = _kds_s2000w_option_descriptor_config_reset();
- descriptors[8]->config_name = IMAGE_PROCESSING_GROUP;
- descriptors[8]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
- descriptors[9]->config_name = SKIP_BLANK_PAGES;
- descriptors[9]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
- descriptors[10]->config_name = FEEDER_GROUP;
- descriptors[10]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
- descriptors[11]->config_name = AUTOSTART;
- descriptors[11]->descriptor = _kds_s2000w_option_descriptor_autostart();
+ kds_s2000w_descriptors[0]->config_name = OPTION_COUNT;
+ kds_s2000w_descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
+ kds_s2000w_descriptors[1]->config_name = STANDARD_GROUP;
+ kds_s2000w_descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
+ kds_s2000w_descriptors[2]->config_name = COLOR_MODE;
+ kds_s2000w_descriptors[2]->descriptor = _kds_s2000w_option_descriptor_color_mode();
+ kds_s2000w_descriptors[3]->config_name = DPI;
+ kds_s2000w_descriptors[3]->descriptor = _kds_s2000w_option_descriptor_dpi();
+ kds_s2000w_descriptors[4]->config_name = SCAN_SIDE;
+ kds_s2000w_descriptors[4]->descriptor = _kds_s2000w_option_descriptor_scanside();
+ kds_s2000w_descriptors[5]->config_name = BOLDNESS_COLOR_GROUP;
+ kds_s2000w_descriptors[5]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
+ kds_s2000w_descriptors[6]->config_name = COLOR_DROP_OUT;
+ kds_s2000w_descriptors[6]->descriptor = _kds_s2000w_option_descriptor_color_drop();
+ kds_s2000w_descriptors[7]->config_name = RESET;
+ kds_s2000w_descriptors[7]->descriptor = _kds_s2000w_option_descriptor_config_reset();
+ kds_s2000w_descriptors[8]->config_name = IMAGE_PROCESSING_GROUP;
+ kds_s2000w_descriptors[8]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
+ kds_s2000w_descriptors[9]->config_name = SKIP_BLANK_PAGES;
+ kds_s2000w_descriptors[9]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
+ kds_s2000w_descriptors[10]->config_name = FEEDER_GROUP;
+ kds_s2000w_descriptors[10]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
+ kds_s2000w_descriptors[11]->config_name = AUTOSTART;
+ kds_s2000w_descriptors[11]->descriptor = _kds_s2000w_option_descriptor_autostart();
return _kds_s2000w_option_descriptor_validate();
}
SANE_Status _kds_s2000w_option_descriptors_init_230802_v1_0_36_profile()
{
- max_option_count = PROFILE_230802_V1_0_36_MAX_OPTION_COUNT;
+ kds_s2000w_max_option_count = PROFILE_230802_V1_0_36_MAX_OPTION_COUNT;
- descriptors = malloc(sizeof(option_descriptor_t*) * max_option_count);
- if (descriptors == NULL)
+ kds_s2000w_descriptors = malloc(sizeof(option_descriptor_t*) * kds_s2000w_max_option_count);
+ if (kds_s2000w_descriptors == NULL)
return SANE_STATUS_NO_MEM;
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = NULL;
}
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = malloc(sizeof(option_descriptor_t));
- if (descriptors[i] == NULL) {
- kds_s2000w_option_descriptors_free(descriptors);
- descriptors = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = malloc(sizeof(option_descriptor_t));
+ if (kds_s2000w_descriptors[i] == NULL) {
+ kds_s2000w_option_descriptors_free(kds_s2000w_descriptors);
+ kds_s2000w_descriptors = NULL;
return SANE_STATUS_NO_MEM;
}
- descriptors[i]->descriptor = NULL;
+ kds_s2000w_descriptors[i]->descriptor = NULL;
}
- descriptors[0]->config_name = OPTION_COUNT;
- descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
- descriptors[1]->config_name = STANDARD_GROUP;
- descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
- descriptors[2]->config_name = SCAN_SOURCE;
- descriptors[2]->descriptor = _kds_s2000w_option_descriptor_scan_source();
- descriptors[3]->config_name = COLOR_MODE;
- descriptors[3]->descriptor = _kds_s2000w_option_descriptor_color_mode();
- descriptors[4]->config_name = DPI;
- descriptors[4]->descriptor = _kds_s2000w_option_descriptor_dpi();
- descriptors[5]->config_name = SCAN_SIDE;
- descriptors[5]->descriptor = _kds_s2000w_option_descriptor_scanside();
- descriptors[6]->config_name = BOLDNESS_SMOOTHING_GROUP;
- descriptors[6]->descriptor = _kds_s2000w_option_descriptor_boldness_smoothing_group();
- descriptors[7]->config_name = FOREGROUND_BOLDNESS_MODE;
- descriptors[7]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_mode();
- descriptors[8]->config_name = FOREGROUND_BOLDNESS_AGGRESSIVENESS;
- descriptors[8]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
- descriptors[9]->config_name = BACKGROUND_SMOOTHING_MODE;
- descriptors[9]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_mode();
- descriptors[10]->config_name = BACKGROUND_SMOOTHING_AGGRESSIVENESS;
- descriptors[10]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
- descriptors[11]->config_name = BOLDNESS_COLOR_GROUP;
- descriptors[11]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
- descriptors[12]->config_name = COLOR_DROP_OUT;
- descriptors[12]->descriptor = _kds_s2000w_option_descriptor_color_drop();
- descriptors[13]->config_name = COLOR_DROP_OUT_AGGRESSIVENESS;
- descriptors[13]->descriptor = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
- descriptors[14]->config_name = COLOR_AUTO_BRIGHTNESS_MODE;
- descriptors[14]->descriptor = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
- descriptors[15]->config_name = COLOR_BALANCE_MODE;
- descriptors[15]->descriptor = _kds_s2000w_option_descriptor_color_balance_mode();
- descriptors[16]->config_name = COLOR_BALANCE_AGGRESSIVENESS;
- descriptors[16]->descriptor = _kds_s2000w_option_descriptor_color_balance_agressiveness();
- descriptors[17]->config_name = COLOR_BALANCE_RED;
- descriptors[17]->descriptor = _kds_s2000w_option_descriptor_color_balance_red();
- descriptors[18]->config_name = COLOR_BALANCE_GREEN;
- descriptors[18]->descriptor = _kds_s2000w_option_descriptor_color_balance_green();
- descriptors[19]->config_name = COLOR_BALANCE_BLUE;
- descriptors[19]->descriptor = _kds_s2000w_option_descriptor_color_balance_blue();
- descriptors[20]->config_name = BINARIZATION_CONTRAST;
- descriptors[20]->descriptor = _kds_s2000w_option_descriptor_binarization_contrast();
- descriptors[21]->config_name = RESET;
- descriptors[21]->descriptor = _kds_s2000w_option_descriptor_config_reset();
- descriptors[22]->config_name = IMAGE_PROCESSING_GROUP;
- descriptors[22]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
- descriptors[23]->config_name = SKIP_BLANK_PAGES;
- descriptors[23]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
- descriptors[24]->config_name = FEEDER_GROUP;
- descriptors[24]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
- descriptors[25]->config_name = AUTOSTART;
- descriptors[25]->descriptor = _kds_s2000w_option_descriptor_autostart();
+ kds_s2000w_descriptors[0]->config_name = OPTION_COUNT;
+ kds_s2000w_descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
+ kds_s2000w_descriptors[1]->config_name = STANDARD_GROUP;
+ kds_s2000w_descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
+ kds_s2000w_descriptors[2]->config_name = SCAN_SOURCE;
+ kds_s2000w_descriptors[2]->descriptor = _kds_s2000w_option_descriptor_scan_source();
+ kds_s2000w_descriptors[3]->config_name = COLOR_MODE;
+ kds_s2000w_descriptors[3]->descriptor = _kds_s2000w_option_descriptor_color_mode();
+ kds_s2000w_descriptors[4]->config_name = DPI;
+ kds_s2000w_descriptors[4]->descriptor = _kds_s2000w_option_descriptor_dpi();
+ kds_s2000w_descriptors[5]->config_name = SCAN_SIDE;
+ kds_s2000w_descriptors[5]->descriptor = _kds_s2000w_option_descriptor_scanside();
+ kds_s2000w_descriptors[6]->config_name = BOLDNESS_SMOOTHING_GROUP;
+ kds_s2000w_descriptors[6]->descriptor = _kds_s2000w_option_descriptor_boldness_smoothing_group();
+ kds_s2000w_descriptors[7]->config_name = FOREGROUND_BOLDNESS_MODE;
+ kds_s2000w_descriptors[7]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_mode();
+ kds_s2000w_descriptors[8]->config_name = FOREGROUND_BOLDNESS_AGGRESSIVENESS;
+ kds_s2000w_descriptors[8]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
+ kds_s2000w_descriptors[9]->config_name = BACKGROUND_SMOOTHING_MODE;
+ kds_s2000w_descriptors[9]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_mode();
+ kds_s2000w_descriptors[10]->config_name = BACKGROUND_SMOOTHING_AGGRESSIVENESS;
+ kds_s2000w_descriptors[10]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
+ kds_s2000w_descriptors[11]->config_name = BOLDNESS_COLOR_GROUP;
+ kds_s2000w_descriptors[11]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
+ kds_s2000w_descriptors[12]->config_name = COLOR_DROP_OUT;
+ kds_s2000w_descriptors[12]->descriptor = _kds_s2000w_option_descriptor_color_drop();
+ kds_s2000w_descriptors[13]->config_name = COLOR_DROP_OUT_AGGRESSIVENESS;
+ kds_s2000w_descriptors[13]->descriptor = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
+ kds_s2000w_descriptors[14]->config_name = COLOR_AUTO_BRIGHTNESS_MODE;
+ kds_s2000w_descriptors[14]->descriptor = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
+ kds_s2000w_descriptors[15]->config_name = COLOR_BALANCE_MODE;
+ kds_s2000w_descriptors[15]->descriptor = _kds_s2000w_option_descriptor_color_balance_mode();
+ kds_s2000w_descriptors[16]->config_name = COLOR_BALANCE_AGGRESSIVENESS;
+ kds_s2000w_descriptors[16]->descriptor = _kds_s2000w_option_descriptor_color_balance_agressiveness();
+ kds_s2000w_descriptors[17]->config_name = COLOR_BALANCE_RED;
+ kds_s2000w_descriptors[17]->descriptor = _kds_s2000w_option_descriptor_color_balance_red();
+ kds_s2000w_descriptors[18]->config_name = COLOR_BALANCE_GREEN;
+ kds_s2000w_descriptors[18]->descriptor = _kds_s2000w_option_descriptor_color_balance_green();
+ kds_s2000w_descriptors[19]->config_name = COLOR_BALANCE_BLUE;
+ kds_s2000w_descriptors[19]->descriptor = _kds_s2000w_option_descriptor_color_balance_blue();
+ kds_s2000w_descriptors[20]->config_name = BINARIZATION_CONTRAST;
+ kds_s2000w_descriptors[20]->descriptor = _kds_s2000w_option_descriptor_binarization_contrast();
+ kds_s2000w_descriptors[21]->config_name = RESET;
+ kds_s2000w_descriptors[21]->descriptor = _kds_s2000w_option_descriptor_config_reset();
+ kds_s2000w_descriptors[22]->config_name = IMAGE_PROCESSING_GROUP;
+ kds_s2000w_descriptors[22]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
+ kds_s2000w_descriptors[23]->config_name = SKIP_BLANK_PAGES;
+ kds_s2000w_descriptors[23]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
+ kds_s2000w_descriptors[24]->config_name = FEEDER_GROUP;
+ kds_s2000w_descriptors[24]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
+ kds_s2000w_descriptors[25]->config_name = AUTOSTART;
+ kds_s2000w_descriptors[25]->descriptor = _kds_s2000w_option_descriptor_autostart();
return _kds_s2000w_option_descriptor_validate();
}
SANE_Status _kds_s2000w_option_descriptors_init_full_profile()
{
- max_option_count = PROFILE_FULL_MAX_OPTION_COUNT;
+ kds_s2000w_max_option_count = PROFILE_FULL_MAX_OPTION_COUNT;
- descriptors = malloc(sizeof(option_descriptor_t*) * max_option_count);
- if (descriptors == NULL)
+ kds_s2000w_descriptors = malloc(sizeof(option_descriptor_t*) * kds_s2000w_max_option_count);
+ if (kds_s2000w_descriptors == NULL)
return SANE_STATUS_NO_MEM;
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = NULL;
}
- for (int i = 0; i < max_option_count; i++) {
- descriptors[i] = malloc(sizeof(option_descriptor_t));
- if (descriptors[i] == NULL) {
- kds_s2000w_option_descriptors_free(descriptors);
- descriptors = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ kds_s2000w_descriptors[i] = malloc(sizeof(option_descriptor_t));
+ if (kds_s2000w_descriptors[i] == NULL) {
+ kds_s2000w_option_descriptors_free(kds_s2000w_descriptors);
+ kds_s2000w_descriptors = NULL;
return SANE_STATUS_NO_MEM;
}
- descriptors[i]->descriptor = NULL;
+ kds_s2000w_descriptors[i]->descriptor = NULL;
}
- descriptors[0]->config_name = OPTION_COUNT;
- descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
- descriptors[1]->config_name = STANDARD_GROUP;
- descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
- descriptors[2]->config_name = SCAN_SOURCE;
- descriptors[2]->descriptor = _kds_s2000w_option_descriptor_scan_source();
- descriptors[3]->config_name = COLOR_MODE;
- descriptors[3]->descriptor = _kds_s2000w_option_descriptor_color_mode();
- descriptors[4]->config_name = DPI;
- descriptors[4]->descriptor = _kds_s2000w_option_descriptor_dpi();
- descriptors[5]->config_name = SCAN_SIDE;
- descriptors[5]->descriptor = _kds_s2000w_option_descriptor_scanside();
- descriptors[6]->config_name = GEOMETRY_GROUP;
- descriptors[6]->descriptor = _kds_s2000w_option_descriptor_geometry_group();
- descriptors[7]->config_name = CROPPING_MODE;
- descriptors[7]->descriptor = _kds_s2000w_option_descriptor_cropping_mode();
- descriptors[8]->config_name = CROPPING_IMAGE;
- descriptors[8]->descriptor = _kds_s2000w_option_descriptor_cropping_image();
- descriptors[9]->config_name = IMAGE_OFFSET_X;
- descriptors[9]->descriptor = _kds_s2000w_option_descriptor_image_offset_x();
- descriptors[10]->config_name = IMAGE_OFFSET_Y;
- descriptors[10]->descriptor = _kds_s2000w_option_descriptor_image_offset_y();
- descriptors[11]->config_name = IMAGE_WIDTH;
- descriptors[11]->descriptor = _kds_s2000w_option_descriptor_image_width();
- descriptors[12]->config_name = IMAGE_HEIGHT;
- descriptors[12]->descriptor = _kds_s2000w_option_descriptor_image_height();
- descriptors[13]->config_name = BOLDNESS_SMOOTHING_GROUP;
- descriptors[13]->descriptor = _kds_s2000w_option_descriptor_boldness_smoothing_group();
- descriptors[14]->config_name = FOREGROUND_BOLDNESS_MODE;
- descriptors[14]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_mode();
- descriptors[15]->config_name = FOREGROUND_BOLDNESS_AGGRESSIVENESS;
- descriptors[15]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
- descriptors[16]->config_name = BACKGROUND_SMOOTHING_MODE;
- descriptors[16]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_mode();
- descriptors[17]->config_name = BACKGROUND_SMOOTHING_AGGRESSIVENESS;
- descriptors[17]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
- descriptors[18]->config_name = BOLDNESS_COLOR_GROUP;
- descriptors[18]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
- descriptors[19]->config_name = COLOR_DROP_OUT;
- descriptors[19]->descriptor = _kds_s2000w_option_descriptor_color_drop();
- descriptors[20]->config_name = COLOR_DROP_OUT_AGGRESSIVENESS;
- descriptors[20]->descriptor = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
- descriptors[21]->config_name = COLOR_AUTO_BRIGHTNESS_MODE;
- descriptors[21]->descriptor = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
- descriptors[22]->config_name = COLOR_BRIGHTNESS;
- descriptors[22]->descriptor = _kds_s2000w_option_descriptor_color_brightness();
- descriptors[23]->config_name = COLOR_CONTRAST;
- descriptors[23]->descriptor = _kds_s2000w_option_descriptor_color_contrast();
- descriptors[24]->config_name = COLOR_BALANCE_MODE;
- descriptors[24]->descriptor = _kds_s2000w_option_descriptor_color_balance_mode();
- descriptors[25]->config_name = COLOR_BALANCE_AGGRESSIVENESS;
- descriptors[25]->descriptor = _kds_s2000w_option_descriptor_color_balance_agressiveness();
- descriptors[26]->config_name = COLOR_BALANCE_RED;
- descriptors[26]->descriptor = _kds_s2000w_option_descriptor_color_balance_red();
- descriptors[27]->config_name = COLOR_BALANCE_GREEN;
- descriptors[27]->descriptor = _kds_s2000w_option_descriptor_color_balance_green();
- descriptors[28]->config_name = COLOR_BALANCE_BLUE;
- descriptors[28]->descriptor = _kds_s2000w_option_descriptor_color_balance_blue();
- descriptors[29]->config_name = COLOR_SHARPEN;
- descriptors[29]->descriptor = _kds_s2000w_option_descriptor_color_sharpen();
- descriptors[30]->config_name = BINARIZATION_CONTRAST;
- descriptors[30]->descriptor = _kds_s2000w_option_descriptor_binarization_contrast();
- descriptors[31]->config_name = RESET;
- descriptors[31]->descriptor = _kds_s2000w_option_descriptor_config_reset();
- descriptors[32]->config_name = IMAGE_PROCESSING_GROUP;
- descriptors[32]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
- descriptors[33]->config_name = SKIP_BLANK_PAGES;
- descriptors[33]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
- descriptors[34]->config_name = SKIP_BLANK_PAGES_CONTENT;
- descriptors[34]->descriptor = _kds_s2000w_option_descriptor_skip_blank_page_content();
- descriptors[35]->config_name = HOLE_FILL;
- descriptors[35]->descriptor = _kds_s2000w_option_descriptor_hole_fill();
- descriptors[36]->config_name = POST_SCAN_ROTATION;
- descriptors[36]->descriptor = _kds_s2000w_option_descriptor_post_scan_rotation();
- descriptors[37]->config_name = EDGE_FILL;
- descriptors[37]->descriptor = _kds_s2000w_option_descriptor_edge_fill();
- descriptors[38]->config_name = IMAGE_BORDER;
- descriptors[38]->descriptor = _kds_s2000w_option_descriptor_image_border();
- descriptors[39]->config_name = JPEG_QUALITY;
- descriptors[39]->descriptor = _kds_s2000w_option_descriptor_jpeg_quality();
- descriptors[40]->config_name = FEEDER_GROUP;
- descriptors[40]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
- descriptors[41]->config_name = AUTOSTART;
- descriptors[41]->descriptor = _kds_s2000w_option_descriptor_autostart();
- descriptors[42]->config_name = MAX_DOCUMENT_LENGTH;
- descriptors[42]->descriptor = _kds_s2000w_option_descriptor_max_document_length();
- descriptors[43]->config_name = TRANSPORT_HANDLING;
- descriptors[43]->descriptor = _kds_s2000w_option_descriptor_transport_handling();
- descriptors[44]->config_name = MULTIFEED_SENSITIVITY;
- descriptors[44]->descriptor = _kds_s2000w_option_descriptor_multifeed_sensitivity();
- descriptors[45]->config_name = MULTIFEED_RESPONSE;
- descriptors[45]->descriptor = _kds_s2000w_option_descriptor_multifeed_response();
- descriptors[46]->config_name = DOCUMENT_FEEDER_TIMEOUT;
- descriptors[46]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout();
- descriptors[47]->config_name = DOCUMENT_FEEDER_TIMEOUT_RESPONSE;
- descriptors[47]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout_response();
+ kds_s2000w_descriptors[0]->config_name = OPTION_COUNT;
+ kds_s2000w_descriptors[0]->descriptor = _kds_s2000w_option_descriptor_num_options();
+ kds_s2000w_descriptors[1]->config_name = STANDARD_GROUP;
+ kds_s2000w_descriptors[1]->descriptor = _kds_s2000w_option_descriptor_standard_group();
+ kds_s2000w_descriptors[2]->config_name = SCAN_SOURCE;
+ kds_s2000w_descriptors[2]->descriptor = _kds_s2000w_option_descriptor_scan_source();
+ kds_s2000w_descriptors[3]->config_name = COLOR_MODE;
+ kds_s2000w_descriptors[3]->descriptor = _kds_s2000w_option_descriptor_color_mode();
+ kds_s2000w_descriptors[4]->config_name = DPI;
+ kds_s2000w_descriptors[4]->descriptor = _kds_s2000w_option_descriptor_dpi();
+ kds_s2000w_descriptors[5]->config_name = SCAN_SIDE;
+ kds_s2000w_descriptors[5]->descriptor = _kds_s2000w_option_descriptor_scanside();
+ kds_s2000w_descriptors[6]->config_name = GEOMETRY_GROUP;
+ kds_s2000w_descriptors[6]->descriptor = _kds_s2000w_option_descriptor_geometry_group();
+ kds_s2000w_descriptors[7]->config_name = CROPPING_MODE;
+ kds_s2000w_descriptors[7]->descriptor = _kds_s2000w_option_descriptor_cropping_mode();
+ kds_s2000w_descriptors[8]->config_name = CROPPING_IMAGE;
+ kds_s2000w_descriptors[8]->descriptor = _kds_s2000w_option_descriptor_cropping_image();
+ kds_s2000w_descriptors[9]->config_name = IMAGE_OFFSET_X;
+ kds_s2000w_descriptors[9]->descriptor = _kds_s2000w_option_descriptor_image_offset_x();
+ kds_s2000w_descriptors[10]->config_name = IMAGE_OFFSET_Y;
+ kds_s2000w_descriptors[10]->descriptor = _kds_s2000w_option_descriptor_image_offset_y();
+ kds_s2000w_descriptors[11]->config_name = IMAGE_WIDTH;
+ kds_s2000w_descriptors[11]->descriptor = _kds_s2000w_option_descriptor_image_width();
+ kds_s2000w_descriptors[12]->config_name = IMAGE_HEIGHT;
+ kds_s2000w_descriptors[12]->descriptor = _kds_s2000w_option_descriptor_image_height();
+ kds_s2000w_descriptors[13]->config_name = BOLDNESS_SMOOTHING_GROUP;
+ kds_s2000w_descriptors[13]->descriptor = _kds_s2000w_option_descriptor_boldness_smoothing_group();
+ kds_s2000w_descriptors[14]->config_name = FOREGROUND_BOLDNESS_MODE;
+ kds_s2000w_descriptors[14]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_mode();
+ kds_s2000w_descriptors[15]->config_name = FOREGROUND_BOLDNESS_AGGRESSIVENESS;
+ kds_s2000w_descriptors[15]->descriptor = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
+ kds_s2000w_descriptors[16]->config_name = BACKGROUND_SMOOTHING_MODE;
+ kds_s2000w_descriptors[16]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_mode();
+ kds_s2000w_descriptors[17]->config_name = BACKGROUND_SMOOTHING_AGGRESSIVENESS;
+ kds_s2000w_descriptors[17]->descriptor = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
+ kds_s2000w_descriptors[18]->config_name = BOLDNESS_COLOR_GROUP;
+ kds_s2000w_descriptors[18]->descriptor = _kds_s2000w_option_descriptor_boldness_color_group();
+ kds_s2000w_descriptors[19]->config_name = COLOR_DROP_OUT;
+ kds_s2000w_descriptors[19]->descriptor = _kds_s2000w_option_descriptor_color_drop();
+ kds_s2000w_descriptors[20]->config_name = COLOR_DROP_OUT_AGGRESSIVENESS;
+ kds_s2000w_descriptors[20]->descriptor = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
+ kds_s2000w_descriptors[21]->config_name = COLOR_AUTO_BRIGHTNESS_MODE;
+ kds_s2000w_descriptors[21]->descriptor = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
+ kds_s2000w_descriptors[22]->config_name = COLOR_BRIGHTNESS;
+ kds_s2000w_descriptors[22]->descriptor = _kds_s2000w_option_descriptor_color_brightness();
+ kds_s2000w_descriptors[23]->config_name = COLOR_CONTRAST;
+ kds_s2000w_descriptors[23]->descriptor = _kds_s2000w_option_descriptor_color_contrast();
+ kds_s2000w_descriptors[24]->config_name = COLOR_BALANCE_MODE;
+ kds_s2000w_descriptors[24]->descriptor = _kds_s2000w_option_descriptor_color_balance_mode();
+ kds_s2000w_descriptors[25]->config_name = COLOR_BALANCE_AGGRESSIVENESS;
+ kds_s2000w_descriptors[25]->descriptor = _kds_s2000w_option_descriptor_color_balance_agressiveness();
+ kds_s2000w_descriptors[26]->config_name = COLOR_BALANCE_RED;
+ kds_s2000w_descriptors[26]->descriptor = _kds_s2000w_option_descriptor_color_balance_red();
+ kds_s2000w_descriptors[27]->config_name = COLOR_BALANCE_GREEN;
+ kds_s2000w_descriptors[27]->descriptor = _kds_s2000w_option_descriptor_color_balance_green();
+ kds_s2000w_descriptors[28]->config_name = COLOR_BALANCE_BLUE;
+ kds_s2000w_descriptors[28]->descriptor = _kds_s2000w_option_descriptor_color_balance_blue();
+ kds_s2000w_descriptors[29]->config_name = COLOR_SHARPEN;
+ kds_s2000w_descriptors[29]->descriptor = _kds_s2000w_option_descriptor_color_sharpen();
+ kds_s2000w_descriptors[30]->config_name = BINARIZATION_CONTRAST;
+ kds_s2000w_descriptors[30]->descriptor = _kds_s2000w_option_descriptor_binarization_contrast();
+ kds_s2000w_descriptors[31]->config_name = RESET;
+ kds_s2000w_descriptors[31]->descriptor = _kds_s2000w_option_descriptor_config_reset();
+ kds_s2000w_descriptors[32]->config_name = IMAGE_PROCESSING_GROUP;
+ kds_s2000w_descriptors[32]->descriptor = _kds_s2000w_option_descriptor_image_processing_group();
+ kds_s2000w_descriptors[33]->config_name = SKIP_BLANK_PAGES;
+ kds_s2000w_descriptors[33]->descriptor = _kds_s2000w_option_descriptor_skip_blank_pages();
+ kds_s2000w_descriptors[34]->config_name = SKIP_BLANK_PAGES_CONTENT;
+ kds_s2000w_descriptors[34]->descriptor = _kds_s2000w_option_descriptor_skip_blank_page_content();
+ kds_s2000w_descriptors[35]->config_name = HOLE_FILL;
+ kds_s2000w_descriptors[35]->descriptor = _kds_s2000w_option_descriptor_hole_fill();
+ kds_s2000w_descriptors[36]->config_name = POST_SCAN_ROTATION;
+ kds_s2000w_descriptors[36]->descriptor = _kds_s2000w_option_descriptor_post_scan_rotation();
+ kds_s2000w_descriptors[37]->config_name = EDGE_FILL;
+ kds_s2000w_descriptors[37]->descriptor = _kds_s2000w_option_descriptor_edge_fill();
+ kds_s2000w_descriptors[38]->config_name = IMAGE_BORDER;
+ kds_s2000w_descriptors[38]->descriptor = _kds_s2000w_option_descriptor_image_border();
+ kds_s2000w_descriptors[39]->config_name = JPEG_QUALITY;
+ kds_s2000w_descriptors[39]->descriptor = _kds_s2000w_option_descriptor_jpeg_quality();
+ kds_s2000w_descriptors[40]->config_name = FEEDER_GROUP;
+ kds_s2000w_descriptors[40]->descriptor = _kds_s2000w_option_descriptor_feeder_group();
+ kds_s2000w_descriptors[41]->config_name = AUTOSTART;
+ kds_s2000w_descriptors[41]->descriptor = _kds_s2000w_option_descriptor_autostart();
+ kds_s2000w_descriptors[42]->config_name = MAX_DOCUMENT_LENGTH;
+ kds_s2000w_descriptors[42]->descriptor = _kds_s2000w_option_descriptor_max_document_length();
+ kds_s2000w_descriptors[43]->config_name = TRANSPORT_HANDLING;
+ kds_s2000w_descriptors[43]->descriptor = _kds_s2000w_option_descriptor_transport_handling();
+ kds_s2000w_descriptors[44]->config_name = MULTIFEED_SENSITIVITY;
+ kds_s2000w_descriptors[44]->descriptor = _kds_s2000w_option_descriptor_multifeed_sensitivity();
+ kds_s2000w_descriptors[45]->config_name = MULTIFEED_RESPONSE;
+ kds_s2000w_descriptors[45]->descriptor = _kds_s2000w_option_descriptor_multifeed_response();
+ kds_s2000w_descriptors[46]->config_name = DOCUMENT_FEEDER_TIMEOUT;
+ kds_s2000w_descriptors[46]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout();
+ kds_s2000w_descriptors[47]->config_name = DOCUMENT_FEEDER_TIMEOUT_RESPONSE;
+ kds_s2000w_descriptors[47]->descriptor = _kds_s2000w_option_descriptor_document_feeder_timeout_response();
return _kds_s2000w_option_descriptor_validate();
}
void kds_s2000w_option_descriptors_free()
{
- if (descriptors == NULL)
+ if (kds_s2000w_descriptors == NULL)
return;
- for (int i = 0; i < max_option_count; i++) {
- _kds_s2000w_option_descriptor_descriptor_free(descriptors[i]);
- descriptors[i] = NULL;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ _kds_s2000w_option_descriptor_descriptor_free(kds_s2000w_descriptors[i]);
+ kds_s2000w_descriptors[i] = NULL;
}
- free(descriptors);
- descriptors = NULL;
+ free(kds_s2000w_descriptors);
+ kds_s2000w_descriptors = NULL;
}
uint8_t kds_s2000w_option_descriptors_get_max_option_count()
{
- return max_option_count;
+ return kds_s2000w_max_option_count;
}
option_descriptor_t* kds_s2000w_option_descriptors_full_get_by_number(uint32_t number)
{
- if (number >= max_option_count)
+ if (number >= kds_s2000w_max_option_count)
return NULL;
- return descriptors[number];
+ return kds_s2000w_descriptors[number];
}
SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_number(uint32_t number)
{
- if (number >= max_option_count)
+ if (number >= kds_s2000w_max_option_count)
return NULL;
- return descriptors[number]->descriptor;
+ return kds_s2000w_descriptors[number]->descriptor;
}
SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_config_name(const char* name)
{
- for (int i = 0; i < max_option_count; i++) {
- if (strcmp(descriptors[i]->config_name, name) == 0)
- return descriptors[i]->descriptor;
+ for (int i = 0; i < kds_s2000w_max_option_count; i++) {
+ if (strcmp(kds_s2000w_descriptors[i]->config_name, name) == 0)
+ return kds_s2000w_descriptors[i]->descriptor;
}
return NULL;