Lines Matching defs:opt
2132 memset (s->opt, 0, sizeof (s->opt));
2134 s->opt[i].name = "filler";
2135 s->opt[i].size = sizeof (SANE_Word);
2136 s->opt[i].cap = SANE_CAP_INACTIVE;
2139 /* go ahead and setup the first opt, because
2143 s->opt[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS;
2144 s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS;
2145 s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS;
2146 s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT;
2147 s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT;
2242 SANE_Option_Descriptor *opt = &s->opt[option];
2251 opt->name = SANE_NAME_STANDARD;
2252 opt->title = SANE_TITLE_STANDARD;
2253 opt->desc = SANE_DESC_STANDARD;
2254 opt->type = SANE_TYPE_GROUP;
2255 opt->constraint_type = SANE_CONSTRAINT_NONE;
2286 opt->name = SANE_NAME_SCAN_SOURCE;
2287 opt->title = SANE_TITLE_SCAN_SOURCE;
2288 opt->desc = SANE_DESC_SCAN_SOURCE;
2289 opt->type = SANE_TYPE_STRING;
2290 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2291 opt->constraint.string_list = s->source_list;
2292 opt->size = maxStringSize (opt->constraint.string_list);
2293 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2313 opt->name = SANE_NAME_SCAN_MODE;
2314 opt->title = SANE_TITLE_SCAN_MODE;
2315 opt->desc = SANE_DESC_SCAN_MODE;
2316 opt->type = SANE_TYPE_STRING;
2317 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2318 opt->constraint.string_list = s->mode_list;
2319 opt->size = maxStringSize (opt->constraint.string_list);
2320 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2380 opt->name = SANE_NAME_SCAN_RESOLUTION;
2381 opt->title = SANE_TITLE_SCAN_RESOLUTION;
2382 opt->desc = SANE_DESC_SCAN_RESOLUTION;
2383 opt->type = SANE_TYPE_INT;
2384 opt->unit = SANE_UNIT_DPI;
2385 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2391 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2392 opt->constraint.range = &s->res_range;
2395 opt->constraint_type = SANE_CONSTRAINT_WORD_LIST;
2396 opt->constraint.word_list = s->res_list;
2402 opt->name = SANE_NAME_GEOMETRY;
2403 opt->title = SANE_TITLE_GEOMETRY;
2404 opt->desc = SANE_DESC_GEOMETRY;
2405 opt->type = SANE_TYPE_GROUP;
2406 opt->constraint_type = SANE_CONSTRAINT_NONE;
2417 opt->name = SANE_NAME_SCAN_TL_X;
2418 opt->title = SANE_TITLE_SCAN_TL_X;
2419 opt->desc = SANE_DESC_SCAN_TL_X;
2420 opt->type = SANE_TYPE_FIXED;
2421 opt->unit = SANE_UNIT_MM;
2422 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2423 opt->constraint.range = &(s->tl_x_range);
2424 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2435 opt->name = SANE_NAME_SCAN_TL_Y;
2436 opt->title = SANE_TITLE_SCAN_TL_Y;
2437 opt->desc = SANE_DESC_SCAN_TL_Y;
2438 opt->type = SANE_TYPE_FIXED;
2439 opt->unit = SANE_UNIT_MM;
2440 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2441 opt->constraint.range = &(s->tl_y_range);
2442 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2453 opt->name = SANE_NAME_SCAN_BR_X;
2454 opt->title = SANE_TITLE_SCAN_BR_X;
2455 opt->desc = SANE_DESC_SCAN_BR_X;
2456 opt->type = SANE_TYPE_FIXED;
2457 opt->unit = SANE_UNIT_MM;
2458 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2459 opt->constraint.range = &(s->br_x_range);
2460 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2471 opt->name = SANE_NAME_SCAN_BR_Y;
2472 opt->title = SANE_TITLE_SCAN_BR_Y;
2473 opt->desc = SANE_DESC_SCAN_BR_Y;
2474 opt->type = SANE_TYPE_FIXED;
2475 opt->unit = SANE_UNIT_MM;
2476 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2477 opt->constraint.range = &(s->br_y_range);
2478 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2489 opt->name = SANE_NAME_PAGE_WIDTH;
2490 opt->title = SANE_TITLE_PAGE_WIDTH;
2491 opt->desc = SANE_DESC_PAGE_WIDTH;
2492 opt->type = SANE_TYPE_FIXED;
2493 opt->unit = SANE_UNIT_MM;
2494 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2495 opt->constraint.range = &s->paper_x_range;
2498 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2500 opt->cap |= SANE_CAP_INACTIVE;
2504 opt->cap = SANE_CAP_INACTIVE;
2516 opt->name = SANE_NAME_PAGE_HEIGHT;
2517 opt->title = SANE_TITLE_PAGE_HEIGHT;
2518 opt->desc = SANE_DESC_PAGE_HEIGHT;
2519 opt->type = SANE_TYPE_FIXED;
2520 opt->unit = SANE_UNIT_MM;
2521 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2522 opt->constraint.range = &s->paper_y_range;
2525 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2527 opt->cap |= SANE_CAP_INACTIVE;
2531 opt->cap = SANE_CAP_INACTIVE;
2537 opt->name = SANE_NAME_ENHANCEMENT;
2538 opt->title = SANE_TITLE_ENHANCEMENT;
2539 opt->desc = SANE_DESC_ENHANCEMENT;
2540 opt->type = SANE_TYPE_GROUP;
2541 opt->constraint_type = SANE_CONSTRAINT_NONE;
2546 opt->name = SANE_NAME_BRIGHTNESS;
2547 opt->title = SANE_TITLE_BRIGHTNESS;
2548 opt->desc = SANE_DESC_BRIGHTNESS;
2549 opt->type = SANE_TYPE_INT;
2550 opt->unit = SANE_UNIT_NONE;
2551 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2552 opt->constraint.range = &s->brightness_range;
2560 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2563 opt->cap = SANE_CAP_INACTIVE;
2569 opt->name = SANE_NAME_CONTRAST;
2570 opt->title = SANE_TITLE_CONTRAST;
2571 opt->desc = SANE_DESC_CONTRAST;
2572 opt->type = SANE_TYPE_INT;
2573 opt->unit = SANE_UNIT_NONE;
2574 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2575 opt->constraint.range = &s->contrast_range;
2583 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2586 opt->cap = SANE_CAP_INACTIVE;
2592 opt->name = SANE_NAME_THRESHOLD;
2593 opt->title = SANE_TITLE_THRESHOLD;
2594 opt->desc = SANE_DESC_THRESHOLD;
2595 opt->type = SANE_TYPE_INT;
2596 opt->unit = SANE_UNIT_NONE;
2597 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2598 opt->constraint.range = &s->threshold_range;
2604 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2606 opt->cap |= SANE_CAP_INACTIVE;
2610 opt->cap = SANE_CAP_INACTIVE;
2615 opt->name = "rif";
2616 opt->title = "RIF";
2617 opt->desc = "Reverse image format";
2618 opt->type = SANE_TYPE_BOOL;
2619 opt->unit = SANE_UNIT_NONE;
2621 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2623 opt->cap = SANE_CAP_INACTIVE;
2628 opt->name = SANE_NAME_ADVANCED;
2629 opt->title = SANE_TITLE_ADVANCED;
2630 opt->desc = SANE_DESC_ADVANCED;
2631 opt->type = SANE_TYPE_GROUP;
2632 opt->constraint_type = SANE_CONSTRAINT_NONE;
2648 opt->name = "compression";
2649 opt->title = "Compression";
2650 opt->desc = "Enable compressed data. May crash your front-end program";
2651 opt->type = SANE_TYPE_STRING;
2652 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2653 opt->constraint.string_list = s->compress_list;
2654 opt->size = maxStringSize (opt->constraint.string_list);
2657 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2659 opt->cap |= SANE_CAP_INACTIVE;
2663 opt->cap = SANE_CAP_INACTIVE;
2669 opt->name = "compression-arg";
2670 opt->title = "Compression argument";
2671 opt->desc = "Level of JPEG compression. 1 is small file, 100 is large file.";
2672 opt->type = SANE_TYPE_INT;
2673 opt->unit = SANE_UNIT_NONE;
2674 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2675 opt->constraint.range = &s->compress_arg_range;
2681 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2684 opt->cap |= SANE_CAP_INACTIVE;
2688 opt->cap = SANE_CAP_INACTIVE;
2693 opt->name = "df-length";
2694 opt->title = "DF by length";
2695 opt->desc = "Detect double feeds by comparing document lengths";
2696 opt->type = SANE_TYPE_BOOL;
2697 opt->unit = SANE_UNIT_NONE;
2698 opt->constraint_type = SANE_CONSTRAINT_NONE;
2701 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2703 opt->cap = SANE_CAP_INACTIVE;
2709 opt->name = "df-thickness";
2710 opt->title = "DF by thickness";
2711 opt->desc = "Detect double feeds using thickness sensor";
2712 opt->type = SANE_TYPE_BOOL;
2713 opt->unit = SANE_UNIT_NONE;
2714 opt->constraint_type = SANE_CONSTRAINT_NONE;
2717 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2720 opt->cap = SANE_CAP_INACTIVE;
2725 opt->name = "rollerdeskew";
2726 opt->title = "Roller deskew";
2727 opt->desc = "Request scanner to correct skewed pages mechanically";
2728 opt->type = SANE_TYPE_BOOL;
2730 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2732 opt->cap = SANE_CAP_INACTIVE;
2737 opt->name = "swdeskew";
2738 opt->title = "Software deskew";
2739 opt->desc = "Request driver to rotate skewed pages digitally";
2740 opt->type = SANE_TYPE_BOOL;
2742 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2744 opt->cap = SANE_CAP_INACTIVE;
2750 opt->name = "swdespeck";
2751 opt->title = "Software despeckle diameter";
2752 opt->desc = "Maximum diameter of lone dots to remove from scan";
2753 opt->type = SANE_TYPE_INT;
2754 opt->unit = SANE_UNIT_NONE;
2755 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2756 opt->constraint.range = &s->swdespeck_range;
2762 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2765 opt->cap = SANE_CAP_INACTIVE;
2770 opt->name = "swcrop";
2771 opt->title = "Software crop";
2772 opt->desc = "Request driver to remove border from pages digitally";
2773 opt->type = SANE_TYPE_BOOL;
2775 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2777 opt->cap = SANE_CAP_INACTIVE;
2783 opt->name = "swskip";
2784 opt->title = SANE_I18N ("Software blank skip percentage");
2785 opt->desc = SANE_I18N("Request driver to discard pages with low percentage of dark pixels");
2786 opt->type = SANE_TYPE_FIXED;
2787 opt->unit = SANE_UNIT_PERCENT;
2788 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2789 opt->constraint.range = &s->swskip_range;
2795 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
2800 opt->name = "stapledetect";
2801 opt->title = "Staple detect";
2802 opt->desc = "Request scanner to halt if stapled pages are detected";
2803 opt->type = SANE_TYPE_BOOL;
2805 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2807 opt->cap = SANE_CAP_INACTIVE;
2821 opt->name = "dropout-front";
2822 opt->title = "Dropout color front";
2823 opt->desc = "One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink";
2824 opt->type = SANE_TYPE_STRING;
2825 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2826 opt->constraint.string_list = s->do_color_list;
2827 opt->size = maxStringSize (opt->constraint.string_list);
2830 opt->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
2832 opt->cap |= SANE_CAP_INACTIVE;
2835 opt->cap = SANE_CAP_INACTIVE;
2849 opt->name = "dropout-back";
2850 opt->title = "Dropout color back";
2851 opt->desc = "One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink";
2852 opt->type = SANE_TYPE_STRING;
2853 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2854 opt->constraint.string_list = s->do_color_list;
2855 opt->size = maxStringSize (opt->constraint.string_list);
2858 opt->cap = SANE_CAP_SOFT_SELECT|SANE_CAP_SOFT_DETECT|SANE_CAP_ADVANCED;
2860 opt->cap |= SANE_CAP_INACTIVE;
2863 opt->cap = SANE_CAP_INACTIVE;
2868 opt->name = "buffermode";
2869 opt->title = "Buffer mode";
2870 opt->desc = "Request scanner to read pages async into internal memory";
2871 opt->type = SANE_TYPE_BOOL;
2873 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2875 opt->cap = SANE_CAP_INACTIVE;
2879 opt->name = "side";
2880 opt->title = "Duplex side";
2881 opt->desc = "Tells which side (0=front, 1=back) of a duplex scan the next call to sane_read will return.";
2882 opt->type = SANE_TYPE_BOOL;
2883 opt->unit = SANE_UNIT_NONE;
2884 opt->size = sizeof(SANE_Word);
2885 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2886 opt->constraint_type = SANE_CONSTRAINT_NONE;
2891 opt->name = "hwcrop";
2892 opt->title = "Hardware crop";
2893 opt->desc = "Request scanner to crop image automatically";
2894 opt->type = SANE_TYPE_BOOL;
2896 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2898 opt->cap = SANE_CAP_INACTIVE;
2903 opt->name = "imprinter-options";
2904 opt->title = SANE_I18N ("Imprinter Options");
2905 opt->desc = SANE_I18N ("Controls for imprinter units");
2906 opt->type = SANE_TYPE_GROUP;
2907 opt->constraint_type = SANE_CONSTRAINT_NONE;
2911 opt->type = SANE_TYPE_BOOL;
2915 opt->name = "pre-imprint-string";
2916 opt->title = "Pre-Imprinter string";
2917 opt->desc = "String specifier for the pre-imprinter text";
2918 opt->type = SANE_TYPE_STRING;
2919 opt->size = IMPRINT_SPECSTRING_LEN;
2921 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2923 opt->cap = SANE_CAP_INACTIVE;
2927 opt->name = "pre-imprint-h-offset";
2928 opt->title = "Pre-Imprinter horizontal offset";
2929 opt->desc = "Integer specifying the horizontal positioning of the pre-imprinter";
2930 opt->type = SANE_TYPE_INT;
2931 opt->unit = SANE_UNIT_MM;
2932 opt->size = sizeof(SANE_Word);
2933 opt->constraint_type = SANE_CONSTRAINT_WORD_LIST;
2934 opt->constraint.word_list = s->pre_imprinter_h_offset_list;
2936 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2938 opt->cap = SANE_CAP_INACTIVE;
2942 opt->name = "pre-imprint-v-offset";
2943 opt->title = "Pre-Imprinter vertical offset";
2944 opt->desc = "Integer specifying the vertical positioning of the pre-imprinter";
2945 opt->type = SANE_TYPE_INT;
2946 opt->unit = SANE_UNIT_MM;
2947 opt->size = sizeof(SANE_Word);
2948 opt->constraint_type = SANE_CONSTRAINT_RANGE;
2949 opt->constraint.range = &s->imprinter_v_offset_range;
2951 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2953 opt->cap = SANE_CAP_INACTIVE;
2957 opt->name = "pre-imprint-font-size";
2958 opt->title = "Pre-Imprinter font size";
2959 opt->desc = "Integer specifying the pre-imprint font size";
2960 opt->type = SANE_TYPE_STRING;
2961 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
2962 opt->constraint.string_list = s->imprint_font_size_list;
2963 opt->size = maxStringSize (opt->constraint.string_list);
2965 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2967 opt->cap = SANE_CAP_INACTIVE;
2971 opt->name = "pre-imprint-font-rot";
2972 opt->title = "Pre-Imprinter font rotation";
2973 opt->desc = "Integer specifying the pre-imprint font rotation";
2974 opt->type = SANE_TYPE_INT;
2975 opt->unit = SANE_UNIT_NONE;
2976 opt->size = sizeof(SANE_Word);
2977 opt->constraint_type = SANE_CONSTRAINT_WORD_LIST;
2978 opt->constraint.word_list = s->imprinter_font_angle_list;
2980 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2982 opt->cap = SANE_CAP_INACTIVE;
2986 opt->name = "pre-imprint-spacing";
2987 opt->title = "Pre-Imprinter spacing";
2988 opt->desc = "Enables the pre-imprint extra spacing";
2989 opt->type = SANE_TYPE_BOOL;
2991 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
2993 opt->cap = SANE_CAP_INACTIVE;
2997 opt->name = "post-imprint-string";
2998 opt->title = "Post-Imprinter string";
2999 opt->desc = "String specifier for the post-imprinter text";
3000 opt->type = SANE_TYPE_STRING;
3001 opt->size = IMPRINT_SPECSTRING_LEN;
3003 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3005 opt->cap = SANE_CAP_INACTIVE;
3009 opt->name = "post-imprint-h-offset";
3010 opt->title = "Post-Imprinter horizontal offset";
3011 opt->desc = "Integer specifying the horizontal positioning of the post-imprinter";
3012 opt->type = SANE_TYPE_INT;
3013 opt->unit = SANE_UNIT_MM;
3014 opt->size = sizeof(SANE_Word);
3015 opt->constraint_type = SANE_CONSTRAINT_WORD_LIST;
3016 opt->constraint.word_list = s->post_imprinter_h_offset_list;
3018 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3020 opt->cap = SANE_CAP_INACTIVE;
3024 opt->name = "post-imprint-v-offset";
3025 opt->title = "Post-Imprinter vertical offset";
3026 opt->desc = "Integer specifying the vertical positioning of the post-imprinter";
3027 opt->type = SANE_TYPE_INT;
3028 opt->unit = SANE_UNIT_MM;
3029 opt->size = sizeof(SANE_Word);
3030 opt->constraint_type = SANE_CONSTRAINT_RANGE;
3031 opt->constraint.range = &s->imprinter_v_offset_range;
3033 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3035 opt->cap = SANE_CAP_INACTIVE;
3039 opt->name = "post-imprint-font-size";
3040 opt->title = "Post-Imprinter font size";
3041 opt->desc = "Integer specifying the post-imprint font size";
3042 opt->type = SANE_TYPE_STRING;
3043 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
3044 opt->constraint.string_list = s->imprint_font_size_list;
3045 opt->size = maxStringSize (opt->constraint.string_list);
3047 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3049 opt->cap = SANE_CAP_INACTIVE;
3053 opt->name = "post-imprint-font-rot";
3054 opt->title = "Post-Imprinter font rotation";
3055 opt->desc = "Integer specifying the post-imprint font rotation";
3056 opt->type = SANE_TYPE_INT;
3057 opt->unit = SANE_UNIT_NONE;
3058 opt->size = sizeof(SANE_Word);
3059 opt->constraint_type = SANE_CONSTRAINT_WORD_LIST;
3060 opt->constraint.word_list = s->imprinter_font_angle_list;
3062 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3064 opt->cap = SANE_CAP_INACTIVE;
3068 opt->name = "post-imprint-spacing";
3069 opt->title = "Post-Imprinter spacing";
3070 opt->desc = "Enables the post-imprint extra spacing";
3071 opt->type = SANE_TYPE_BOOL;
3073 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3075 opt->cap = SANE_CAP_INACTIVE;
3079 opt->name = "post-imprint-addon-mode";
3080 opt->title = "Post-Imprinter addon mode";
3081 opt->desc = "Integer specifying the type of post-imprint addon rendered in the scanned image";
3082 opt->type = SANE_TYPE_STRING;
3083 opt->constraint_type = SANE_CONSTRAINT_STRING_LIST;
3084 opt->constraint.string_list = s->imprint_addon_mode_list;
3085 opt->size = maxStringSize (opt->constraint.string_list);
3087 opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
3089 opt->cap = SANE_CAP_INACTIVE;
3094 opt->name = SANE_NAME_SENSORS;
3095 opt->title = SANE_TITLE_SENSORS;
3096 opt->desc = SANE_DESC_SENSORS;
3097 opt->type = SANE_TYPE_GROUP;
3098 opt->constraint_type = SANE_CONSTRAINT_NONE;
3102 opt->name = "start";
3103 opt->title = "Start/1 button";
3104 opt->desc = "Big green or small 1 button";
3105 opt->type = SANE_TYPE_BOOL;
3106 opt->unit = SANE_UNIT_NONE;
3107 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3109 opt->cap = SANE_CAP_INACTIVE;
3113 opt->name = "stop";
3114 opt->title = "Stop/2 button";
3115 opt->desc = "Small orange or small 2 button";
3116 opt->type = SANE_TYPE_BOOL;
3117 opt->unit = SANE_UNIT_NONE;
3118 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3120 opt->cap = SANE_CAP_INACTIVE;
3124 opt->name = "button-3";
3125 opt->title = "3 button";
3126 opt->desc = "Small 3 button";
3127 opt->type = SANE_TYPE_BOOL;
3128 opt->unit = SANE_UNIT_NONE;
3129 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3131 opt->cap = SANE_CAP_INACTIVE;
3135 opt->name = "newfile";
3136 opt->title = "New File button";
3137 opt->desc = "New File button";
3138 opt->type = SANE_TYPE_BOOL;
3139 opt->unit = SANE_UNIT_NONE;
3140 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3142 opt->cap = SANE_CAP_INACTIVE;
3146 opt->name = "countonly";
3147 opt->title = "Count Only button";
3148 opt->desc = "Count Only button";
3149 opt->type = SANE_TYPE_BOOL;
3150 opt->unit = SANE_UNIT_NONE;
3151 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3153 opt->cap = SANE_CAP_INACTIVE;
3157 opt->name = "bypassmode";
3158 opt->title = "Bypass Mode button";
3159 opt->desc = "Bypass Mode button";
3160 opt->type = SANE_TYPE_BOOL;
3161 opt->unit = SANE_UNIT_NONE;
3162 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3164 opt->cap = SANE_CAP_INACTIVE;
3168 opt->name = "counter";
3169 opt->title = "Counter";
3170 opt->desc = "Scan counter";
3171 opt->type = SANE_TYPE_INT;
3172 opt->unit = SANE_UNIT_NONE;
3173 opt->constraint_type = SANE_CONSTRAINT_RANGE;
3174 opt->constraint.range = &s->counter_range;
3180 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3182 opt->cap = SANE_CAP_INACTIVE;
3186 opt->name = "roller-counter";
3187 opt->title = "Roller Counter";
3188 opt->desc = "Scans since last roller replacement";
3189 opt->type = SANE_TYPE_INT;
3190 opt->unit = SANE_UNIT_NONE;
3191 opt->constraint_type = SANE_CONSTRAINT_NONE;
3194 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3196 opt->cap = SANE_CAP_INACTIVE;
3200 opt->name = "total-counter";
3201 opt->title = "Total Counter";
3202 opt->desc = "Total scan count of the device";
3203 opt->type = SANE_TYPE_INT;
3204 opt->unit = SANE_UNIT_NONE;
3205 opt->constraint_type = SANE_CONSTRAINT_NONE;
3208 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3210 opt->cap = SANE_CAP_INACTIVE;
3214 opt->name = "adf-loaded";
3215 opt->title = "ADF Loaded";
3216 opt->desc = "Paper available in ADF input hopper";
3217 opt->type = SANE_TYPE_BOOL;
3218 opt->unit = SANE_UNIT_NONE;
3219 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3221 opt->cap = SANE_CAP_INACTIVE;
3225 opt->name = "card-loaded";
3226 opt->title = "Card Loaded";
3227 opt->desc = "Paper available in card reader";
3228 opt->type = SANE_TYPE_BOOL;
3229 opt->unit = SANE_UNIT_NONE;
3230 opt->cap = SANE_CAP_SOFT_DETECT | SANE_CAP_HARD_SELECT | SANE_CAP_ADVANCED;
3232 opt->cap = SANE_CAP_INACTIVE;
3235 return opt;
3278 if (!SANE_OPTION_IS_ACTIVE (s->opt[option].cap)) {
3290 DBG (20, "sane_control_option: get value for '%s' (%d)\n", s->opt[option].name,option);
3669 DBG (20, "sane_control_option: set value for '%s' (%d)\n", s->opt[option].name,option);
3676 if (!SANE_OPTION_IS_SETTABLE (s->opt[option].cap)) {
3681 status = sanei_constrain_value (s->opt + option, val, info);