63
63
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
64
64
if ((ps->hpmud_handle = dlopen("libhpmud.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
66
BUG("unable to load restricted library: %s\n", dlerror());
66
if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
68
BUG("unable to load restricted library: %s\n", dlerror());
70
73
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
397
400
switch (ma.scantype)
399
402
case HPMUD_SCANTYPE_MARVELL:
400
session->version = MARVELL_1;
403
session->version = MARVELL_1;
402
405
case HPMUD_SCANTYPE_MARVELL2:
403
session->version = MARVELL_2;
406
session->version = MARVELL_2;
406
409
session->version = MARVELL_1;
454
457
/* Some of the marvell devices supports both flatbed and ADF, No command to get the src types supported */
455
458
/* Getting from the model file */
456
if ( session->scansrc == HPMUD_SCANSRC_BOTH)
458
session->input_source_list[i] = STR_ADF_MODE_ADF;
459
session->input_source_map[i++] = IS_ADF;
460
session->input_source_list[i] = STR_ADF_MODE_FLATBED;
461
session->input_source_map[i++] = IS_PLATEN;
462
DBG8("scan src HPMUD_SCANSRC_BOTH \n");
464
else if ( session->scansrc == HPMUD_SCANSRC_ADF)
459
if ( session->scansrc & HPMUD_SCANSRC_ADF)
466
461
session->input_source_list[i] = STR_ADF_MODE_ADF;
467
462
session->input_source_map[i++] = IS_ADF;
468
463
DBG8("scan src HPMUD_SCANSRC_ADF \n");
470
else if ( session->scansrc == HPMUD_SCANSRC_FLATBED)
465
if ( session->scansrc & HPMUD_SCANSRC_FLATBED)
472
467
session->input_source_list[i] = STR_ADF_MODE_FLATBED;
473
session->input_source_map[i++] = IS_PLATEN;
474
DBG8("scan src HPMUD_SCANSRC_FLATBED \n");
468
session->input_source_map[i++] = IS_PLATEN;
469
DBG8("scan src HPMUD_SCANSRC_FLATBED \n");
476
471
/* Values if un specified in the, value is 0, get ADF state from the printer */
477
else if (session->bb_is_paper_in_adf(session) == 2)
479
session->input_source_list[i] = STR_ADF_MODE_FLATBED;
480
session->input_source_map[i++] = IS_PLATEN;
481
DBG8("scan src b_is_paper_in_adf value 2 \n");
485
session->input_source_list[i] = STR_ADF_MODE_ADF;
486
session->input_source_map[i++] = IS_ADF;
487
DBG8("scan src b_is_paper_in_adf value not 2 \n");
472
if (session->scansrc == HPMUD_SCANSRC_NA)
474
if (session->bb_is_paper_in_adf(session) == 2)
476
session->input_source_list[i] = STR_ADF_MODE_FLATBED;
477
session->input_source_map[i++] = IS_PLATEN;
478
DBG8("scan src b_is_paper_in_adf value 2 \n");
482
session->input_source_list[i] = STR_ADF_MODE_ADF;
483
session->input_source_map[i++] = IS_ADF;
484
DBG8("scan src b_is_paper_in_adf value not 2 \n");
491
488
marvell_control_option(session, MARVELL_OPTION_INPUT_SOURCE, SANE_ACTION_SET_AUTO, NULL, NULL); /* set default option */
493
490
/* Set supported resolutions. */