zebra_decoder_t *zebra_decoder_create () { zebra_decoder_t *dcode = malloc(sizeof(zebra_decoder_t)); dcode->buflen = BUFFER_MIN; dcode->buf = malloc(dcode->buflen); dcode->handler = dcode->userdata = NULL; /* initialize default configs */ #ifdef ENABLE_EAN dcode->ean.enable = 1; dcode->ean.ean13_config = ((1 << ZEBRA_CFG_ENABLE) | (1 << ZEBRA_CFG_EMIT_CHECK)); dcode->ean.ean8_config = ((1 << ZEBRA_CFG_ENABLE) | (1 << ZEBRA_CFG_EMIT_CHECK)); dcode->ean.upca_config = 1 << ZEBRA_CFG_EMIT_CHECK; dcode->ean.upce_config = 1 << ZEBRA_CFG_EMIT_CHECK; dcode->ean.isbn10_config = 1 << ZEBRA_CFG_EMIT_CHECK; dcode->ean.isbn13_config = 1 << ZEBRA_CFG_EMIT_CHECK; #endif #ifdef ENABLE_I25 dcode->i25.config = 1 << ZEBRA_CFG_ENABLE; #endif #ifdef ENABLE_CODE39 dcode->code39.config = 1 << ZEBRA_CFG_ENABLE; #endif #ifdef ENABLE_CODE128 dcode->code128.config = 1 << ZEBRA_CFG_ENABLE; #endif #ifdef ENABLE_PDF417 dcode->pdf417.config = 1 << ZEBRA_CFG_ENABLE; #endif zebra_decoder_reset(dcode); return(dcode); }
zebra_symbol_type_t zebra_scanner_reset (zebra_scanner_t *scn) { memset(&scn->x, 0, sizeof(zebra_scanner_t) + (void*)scn - (void*)&scn->x); scn->y1_thresh = scn->y1_min_thresh; if(scn->decoder) zebra_decoder_reset(scn->decoder); return(ZEBRA_NONE); }