ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Linux-DVB/DVB.xs
(Generate patch)

Comparing Linux-DVB/DVB.xs (file contents):
Revision 1.5 by root, Wed May 24 17:17:16 2006 UTC vs.
Revision 1.6 by root, Wed May 24 21:00:09 2006 UTC

6 6
7#include <linux/dvb/frontend.h> 7#include <linux/dvb/frontend.h>
8#include <linux/dvb/dmx.h> 8#include <linux/dvb/dmx.h>
9 9
10#define CONST(name) { #name, name } 10#define CONST(name) { #name, name }
11
12typedef int FE_fd;
11 13
12enum { 14enum {
13 SCT_PAT = 0x00, 15 SCT_PAT = 0x00,
14 SCT_CAT = 0x01, 16 SCT_CAT = 0x01,
15 SCT_PMT = 0x02, 17 SCT_PMT = 0x02,
673 } 675 }
674 676
675MODULE = Linux::DVB PACKAGE = Linux::DVB::Frontend 677MODULE = Linux::DVB PACKAGE = Linux::DVB::Frontend
676 678
677SV * 679SV *
678_frontend_info (int fd) 680frontend_info (FE_fd fd)
679 CODE: 681 CODE:
680 struct dvb_frontend_info fi; 682 struct dvb_frontend_info fi;
681 HV *hv; 683 HV *hv;
682 684
683 if (ioctl (fd, FE_GET_INFO, &fi) < 0) 685 if (ioctl (fd, FE_GET_INFO, &fi) < 0)
700 RETVAL = (SV *)newRV_noinc ((SV *)hv); 702 RETVAL = (SV *)newRV_noinc ((SV *)hv);
701 OUTPUT: 703 OUTPUT:
702 RETVAL 704 RETVAL
703 705
704long 706long
705_read_status (int fd) 707read_status (FE_fd fd)
706 CODE: 708 CODE:
707 fe_status_t st; 709 fe_status_t st;
708 710
709 if (ioctl (fd, FE_READ_STATUS, &st) < 0) 711 if (ioctl (fd, FE_READ_STATUS, &st) < 0)
710 XSRETURN_UNDEF; 712 XSRETURN_UNDEF;
712 RETVAL = st; 714 RETVAL = st;
713 OUTPUT: 715 OUTPUT:
714 RETVAL 716 RETVAL
715 717
716U32 718U32
717_read_ber (int fd) 719read_ber (FE_fd fd)
718 CODE: 720 CODE:
719 uint32_t ber; 721 uint32_t ber;
720 if (ioctl (fd, FE_READ_BER, &ber) < 0) 722 if (ioctl (fd, FE_READ_BER, &ber) < 0)
721 XSRETURN_UNDEF; 723 XSRETURN_UNDEF;
722 724
723 RETVAL = ber; 725 RETVAL = ber;
724 OUTPUT: 726 OUTPUT:
725 RETVAL 727 RETVAL
726 728
727U32 729U32
728_read_snr (int fd) 730read_snr (FE_fd fd)
729 CODE: 731 CODE:
730 uint32_t ber; 732 uint32_t ber;
731 if (ioctl (fd, FE_READ_SNR, &ber) < 0) 733 if (ioctl (fd, FE_READ_SNR, &ber) < 0)
732 XSRETURN_UNDEF; 734 XSRETURN_UNDEF;
733 735
735 OUTPUT: 737 OUTPUT:
736 RETVAL 738 RETVAL
737 739
738 740
739I16 741I16
740_signal_strength (int fd) 742signal_strength (FE_fd fd)
741 CODE: 743 CODE:
742 int16_t st; 744 int16_t st;
743 if (ioctl (fd, FE_READ_SIGNAL_STRENGTH, &st) < 0) 745 if (ioctl (fd, FE_READ_SIGNAL_STRENGTH, &st) < 0)
744 XSRETURN_UNDEF; 746 XSRETURN_UNDEF;
745 747
747 OUTPUT: 749 OUTPUT:
748 RETVAL 750 RETVAL
749 751
750 752
751U32 753U32
752_uncorrected_blocks (int fd) 754uncorrected_blocks (FE_fd fd)
753 CODE: 755 CODE:
754 uint32_t ubl; 756 uint32_t ubl;
755 if (ioctl (fd, FE_READ_UNCORRECTED_BLOCKS, &ubl) < 0) 757 if (ioctl (fd, FE_READ_UNCORRECTED_BLOCKS, &ubl) < 0)
756 XSRETURN_UNDEF; 758 XSRETURN_UNDEF;
757 759
802 804
803 hv = newHV (); 805 hv = newHV ();
804 HVS_I (hv, e, status); 806 HVS_I (hv, e, status);
805 get_parameters (hv, &e.parameters, type); 807 get_parameters (hv, &e.parameters, type);
806 RETVAL = (SV *)newRV_noinc ((SV *)hv); 808 RETVAL = (SV *)newRV_noinc ((SV *)hv);
809 OUTPUT:
810 RETVAL
811
812int
813diseqc_reset_overload (FE_fd fd)
814 CODE:
815 RETVAL = !!ioctl (fd, FE_DISEQC_RESET_OVERLOAD);
816 OUTPUT:
817 RETVAL
818
819int
820diseqc_voltage (FE_fd fd, int volts)
821 CODE:
822 RETVAL = !!ioctl (fd, FE_SET_VOLTAGE, volts == 18
823 ? SEC_VOLTAGE_18
824 : SEC_VOLTAGE_13);
825 OUTPUT:
826 RETVAL
827
828int
829diseqc_tone (FE_fd fd, int on)
830 CODE:
831 RETVAL = !!ioctl (fd, FE_SET_TONE, on ? SEC_TONE_ON : SEC_TONE_OFF);
832 OUTPUT:
833 RETVAL
834
835int
836diseqc_send_burst (FE_fd fd, int type)
837 CODE:
838 RETVAL = !!ioctl (fd, FE_DISEQC_SEND_BURST, type ? SEC_MINI_B : SEC_MINI_A);
839 OUTPUT:
840 RETVAL
841
842int
843diseqc_cmd (FE_fd fd, SV *command_)
844 CODE:
845{
846 STRLEN len;
847 char *command = SvPVbyte (command_, len);
848 struct dvb_diseqc_master_cmd cmd;
849
850 memcpy (cmd.msg, command_, len);
851 cmd.msg_len = len;
852 RETVAL = !!ioctl (fd, FE_DISEQC_SEND_MASTER_CMD, &cmd);
853}
854 OUTPUT:
855 RETVAL
856
857SV *
858diseqc_reply (FE_fd fd, int timeout_ms)
859 CODE:
860{
861 struct dvb_diseqc_slave_reply rep;
862 rep.timeout = timeout_ms;
863
864 if (!!ioctl (fd, FE_DISEQC_RECV_SLAVE_REPLY, &rep))
865 RETVAL = newSVpvn ((char *)rep.msg, rep.msg_len);
866 else
867 RETVAL = &PL_sv_undef;
868}
807 OUTPUT: 869 OUTPUT:
808 RETVAL 870 RETVAL
809 871
810MODULE = Linux::DVB PACKAGE = Linux::DVB::Demux 872MODULE = Linux::DVB PACKAGE = Linux::DVB::Demux
811 873

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines