]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add mask parameters into functions
authorBastian Dehn <hhaalo@arcor.de>
Wed, 25 Mar 2026 19:41:06 +0000 (20:41 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 25 Mar 2026 19:41:06 +0000 (20:41 +0100)
src/kds_s2000w_option_descriptors.c

index daccb3e00841c85f031ba1cc4c08a9e399db7f7c..a2d9b033d79dcb897d1da977e7589f03b62167c3 100644 (file)
@@ -3,7 +3,7 @@
 #include <sane/saneopts.h>
 #include "kds_s2000w_option_descriptors.h"
 
-typedef option_descriptor_t* (*descriptor_fn)();
+typedef option_descriptor_t* (*descriptor_fn)(mask_option_t* mask);
 typedef struct {
        option_descriptor_t** descriptors;
        size_t size;
@@ -69,7 +69,7 @@ SANE_Status _kds_s2000w_option_descriptor_validate()
        return SANE_STATUS_GOOD;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_num_options()
+option_descriptor_t* _kds_s2000w_option_descriptor_num_options(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -91,7 +91,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_num_options()
 /*******************************************************************************
  * standard group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_standard_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_standard_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -110,7 +110,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_standard_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_scan_source()
+option_descriptor_t* _kds_s2000w_option_descriptor_scan_source(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -141,7 +141,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_scan_source()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -172,7 +172,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_dpi()
+option_descriptor_t* _kds_s2000w_option_descriptor_dpi(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -205,7 +205,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_dpi()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_scanside()
+option_descriptor_t* _kds_s2000w_option_descriptor_scanside(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -238,7 +238,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_scanside()
 /*******************************************************************************
  * geometry group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_geometry_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_geometry_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -257,7 +257,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_geometry_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_cropping_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_cropping_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -289,7 +289,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_cropping_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_cropping_image()
+option_descriptor_t* _kds_s2000w_option_descriptor_cropping_image(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -319,7 +319,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_cropping_image()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_x()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_x(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -349,7 +349,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_x()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_y()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_y(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -379,7 +379,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_offset_y()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_image_width()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_width(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -409,7 +409,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_width()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_image_height()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_height(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -442,7 +442,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_height()
 /*******************************************************************************
  * boldness smoothing group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_boldness_smoothing_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_boldness_smoothing_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -461,7 +461,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_boldness_smoothing_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -492,7 +492,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness()
+option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -522,7 +522,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_foreground_boldness_aggressiv
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -553,7 +553,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_aggressiveness()
+option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_aggressiveness(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -586,7 +586,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_background_smoothing_aggressi
 /*******************************************************************************
  * boldness color group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_boldness_color_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_boldness_color_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -605,7 +605,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_boldness_color_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_drop()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_drop(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -641,7 +641,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_drop()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_drop_out_aggressiveness()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_drop_out_aggressiveness(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -671,7 +671,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_drop_out_aggressiveness
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_auto_brightness_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_auto_brightness_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -702,7 +702,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_auto_brightness_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_brightness()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_brightness(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -732,7 +732,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_brightness()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_contrast()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_contrast(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -762,7 +762,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_contrast()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_mode()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_mode(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -794,7 +794,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_mode()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_agressiveness()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_agressiveness(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -824,7 +824,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_agressiveness()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_red()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_red(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -854,7 +854,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_red()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_green()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_green(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -884,7 +884,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_green()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_blue()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_blue(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -914,7 +914,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_balance_blue()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_color_sharpen()
+option_descriptor_t* _kds_s2000w_option_descriptor_color_sharpen(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -946,7 +946,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_color_sharpen()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_binarization_contrast()
+option_descriptor_t* _kds_s2000w_option_descriptor_binarization_contrast(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -976,7 +976,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_binarization_contrast()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_config_reset()
+option_descriptor_t* _kds_s2000w_option_descriptor_config_reset(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -998,7 +998,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_config_reset()
 /*******************************************************************************
  * image processing group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_image_processing_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_processing_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1017,7 +1017,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_processing_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_pages()
+option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_pages(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1036,7 +1036,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_pages()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_page_content()
+option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_page_content(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1066,7 +1066,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_skip_blank_page_content()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_hole_fill()
+option_descriptor_t* _kds_s2000w_option_descriptor_hole_fill(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1085,7 +1085,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_hole_fill()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_post_scan_rotation()
+option_descriptor_t* _kds_s2000w_option_descriptor_post_scan_rotation(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1118,7 +1118,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_post_scan_rotation()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_edge_fill()
+option_descriptor_t* _kds_s2000w_option_descriptor_edge_fill(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1149,7 +1149,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_edge_fill()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_image_border()
+option_descriptor_t* _kds_s2000w_option_descriptor_image_border(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1180,7 +1180,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_image_border()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_jpeg_quality()
+option_descriptor_t* _kds_s2000w_option_descriptor_jpeg_quality(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1216,7 +1216,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_jpeg_quality()
 /*******************************************************************************
  * feeder group
  ******************************************************************************/
-option_descriptor_t* _kds_s2000w_option_descriptor_feeder_group()
+option_descriptor_t* _kds_s2000w_option_descriptor_feeder_group(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1235,7 +1235,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_feeder_group()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_autostart()
+option_descriptor_t* _kds_s2000w_option_descriptor_autostart(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1254,7 +1254,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_autostart()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_max_document_length()
+option_descriptor_t* _kds_s2000w_option_descriptor_max_document_length(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1284,7 +1284,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_max_document_length()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_transport_handling()
+option_descriptor_t* _kds_s2000w_option_descriptor_transport_handling(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1316,7 +1316,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_transport_handling()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_multifeed_sensitivity()
+option_descriptor_t* _kds_s2000w_option_descriptor_multifeed_sensitivity(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1348,7 +1348,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_multifeed_sensitivity()
        return descriptor;
 }
 
-option_descriptor_t *_kds_s2000w_option_descriptor_multifeed_response()
+option_descriptor_t *_kds_s2000w_option_descriptor_multifeed_response(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1378,7 +1378,7 @@ option_descriptor_t *_kds_s2000w_option_descriptor_multifeed_response()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout()
+option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1408,7 +1408,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout()
        return descriptor;
 }
 
-option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout_response()
+option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout_response(mask_option_t* mask)
 {
        option_descriptor_t* descriptor = _kds_s2000w_option_descriptor_descriptor_init();
        if (descriptor == NULL)
@@ -1442,7 +1442,7 @@ option_descriptor_t* _kds_s2000w_option_descriptor_document_feeder_timeout_respo
 /*******************************************************************************
  * profiles
  ******************************************************************************/
-SANE_Status _kds_s2000w_option_descriptor_init_profile(descriptor_fn* fn, size_t size)
+SANE_Status _kds_s2000w_option_descriptor_init_profile(descriptor_fn* fn, size_t size, mask_option_t* mask)
 {
        kds_s2000w_option_descriptors = malloc(sizeof(option_descriptors_t));
        if (kds_s2000w_option_descriptors == NULL)
@@ -1458,7 +1458,7 @@ SANE_Status _kds_s2000w_option_descriptor_init_profile(descriptor_fn* fn, size_t
 
 
        for (size_t i = 0; i < kds_s2000w_option_descriptors->size; i++) {
-               kds_s2000w_option_descriptors->descriptors[i] = fn[i]();
+               kds_s2000w_option_descriptors->descriptors[i] = fn[i](mask);
        }
 
        return _kds_s2000w_option_descriptor_validate();
@@ -1521,7 +1521,7 @@ SANE_Status kds_s2000w_option_descriptors_init(mask_option_t* mask)
        };
 
        size_t size = sizeof(fn) / sizeof(descriptor_fn);
-       return _kds_s2000w_option_descriptor_init_profile(fn, size);
+       return _kds_s2000w_option_descriptor_init_profile(fn, size, mask);
 }
 
 void kds_s2000w_option_descriptors_free()