Linux-DVB
view release on metacpan or search on metacpan
{
I8 bandwidth_mhz = -1;
HVS (hv, centre_frequency, newSVuv (decode_field (32) * 10));
DEC_I (hv, 3, bandwidth);
if (dec_field <= 3)
bandwidth_mhz = 8 - dec_field;
HVS (hv, bandwidth_mhz, newSViv (bandwidth_mhz));
DEC_I (hv, 1, priority);
DEC_I (hv, 1, time_slicing_indicator);
DEC_I (hv, 1, mpe_fec_indicator);
decode_field (2); // reserved
DEC_I (hv, 2, constellation);
DEC_I (hv, 3, hierarchy_information);
DEC_I (hv, 3, code_rate_hp_stream);
DEC_I (hv, 3, code_rate_lp_stream);
DEC_I (hv, 2, guard_interval);
DEC_I (hv, 2, transmission_mode);
DEC_I (hv, 1, other_frequency_use);
decode_field (32);
}
break;
case DT_private_data_specifier:
DEC_I (hv, 32, private_data_specifier);
break;
default:
//fprintf (stderr, "UNKXXX %x\n", type);//D
case 0:
case 0x80:
case 0x81:
case 0x82:
case 0x83:
case 0x84:
case 0x85:
case 0x8d:
case 0x8e:
case 0xb2:
DEC_S (hv, len, raw_data);
break;
}
dec_ofs = end; // re-sync, in case of problems
}
return av;
}
MODULE = Linux::DVB PACKAGE = Linux::DVB
PROTOTYPES: DISABLE
void
_consts ()
PPCODE:
const struct consts *c;
for (c = consts;
c < consts + sizeof (consts) / sizeof (consts[0]);
c++)
{
XPUSHs (sv_2mortal (newSVpv (c->name, 0)));
XPUSHs (sv_2mortal (newSViv (c->value)));
}
MODULE = Linux::DVB PACKAGE = Linux::DVB::Frontend
SV *
frontend_info (FE_fd fd)
CODE:
struct dvb_frontend_info fi;
HV *hv;
if (ioctl (fd, FE_GET_INFO, &fi) < 0)
XSRETURN_UNDEF;
hv = newHV ();
HVS_S (hv, fi, name);
HVS_I (hv, fi, type);
HVS_I (hv, fi, type);
HVS_I (hv, fi, frequency_min);
HVS_I (hv, fi, frequency_max);
HVS_I (hv, fi, frequency_stepsize);
HVS_I (hv, fi, frequency_tolerance);
HVS_I (hv, fi, symbol_rate_min);
HVS_I (hv, fi, symbol_rate_max);
HVS_I (hv, fi, symbol_rate_tolerance);
HVS_I (hv, fi, notifier_delay);
HVS_I (hv, fi, caps);
RETVAL = (SV *)newRV_noinc ((SV *)hv);
OUTPUT:
RETVAL
long
read_status (FE_fd fd)
CODE:
fe_status_t st;
if (ioctl (fd, FE_READ_STATUS, &st) < 0)
XSRETURN_UNDEF;
RETVAL = st;
OUTPUT:
RETVAL
U32
read_ber (FE_fd fd)
CODE:
uint32_t ber;
if (ioctl (fd, FE_READ_BER, &ber) < 0)
XSRETURN_UNDEF;
RETVAL = ber;
OUTPUT:
RETVAL
( run in 3.062 seconds using v1.01-cache-2.11-cpan-71847e10f99 )