CR_EDGE
if (cmd->scan_begin_arg & ~(CR_EDGE | CR_INVERT)) {
cmd->scan_begin_arg &= (CR_EDGE | CR_INVERT);
if (cmd->start_arg & CR_FLAGS_MASK & ~CR_EDGE) {
CR_FLAGS_MASK & ~CR_EDGE);
~(CR_EDGE | CR_INVERT)) {
CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT));
if (cmd->stop_arg & CR_FLAGS_MASK & ~CR_EDGE) {
COMBINE(cmd->stop_arg, 0, CR_FLAGS_MASK & ~CR_EDGE);
CR_EDGE) {
COMBINE(cmd->start_arg, CR_EDGE | 0,
if (cmd->scan_begin_arg & CR_FLAGS_MASK & ~CR_EDGE) {
CR_FLAGS_MASK & ~CR_EDGE);
if (cmd->convert_arg & CR_EDGE) {
~(CR_EDGE | CR_INVERT)) {
CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT));
& (CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT))) != 0) {
~(CR_EDGE | CR_INVERT));
if (cmd->start_arg & CR_EDGE)
if (cmd->start_arg & CR_EDGE)
if (cmd->scan_begin_arg & CR_EDGE)
(cmd->scan_begin_arg & ~CR_EDGE) !=
(cmd->convert_arg & ~CR_EDGE))
if (cmd->start_arg & CR_EDGE)
if ((cmd->scan_begin_arg & ~(CR_EDGE | CR_INVERT)) != 0) {
cmd->scan_begin_arg &= (CR_EDGE | CR_INVERT);
ret |= CR_EDGE;
if (src & CR_EDGE)