00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MULTIPLEX_H_
00024 #define _MULTIPLEX_H_
00025 #include <sys/types.h>
00026 #include <linux/dvb/dmx.h>
00027 #include <linux/dvb/frontend.h>
00028 #include "objects.h"
00029 #include "dvb.h"
00040 typedef struct Multiplex_t
00041 {
00042 int uid;
00043 int freq;
00044 int tsId;
00045 int networkId;
00046 fe_type_t type;
00047 int patVersion;
00048 }
00049 Multiplex_t;
00050
00054 typedef void * MultiplexEnumerator_t;
00055
00059 #define MultiplexAreEqual(_multiplex1, _multiplex2) \
00060 ((_multiplex1)->uid == (_multiplex2)->uid)
00061
00066 int MultiplexInit(void);
00067
00072 int MultiplexDeinit(void);
00073
00078 int MultiplexCount();
00079
00085 Multiplex_t *MultiplexFind(char *mux);
00086
00093 Multiplex_t *MultiplexFindUID(int uid);
00094
00102 Multiplex_t *MultiplexFindId(int netid, int tsid);
00103
00110 Multiplex_t *MultiplexFindFrequency(int freq);
00111
00116 MultiplexEnumerator_t MultiplexEnumeratorGet();
00117
00122 void MultiplexEnumeratorDestroy(MultiplexEnumerator_t enumerator);
00123
00130 Multiplex_t *MultiplexGetNext(MultiplexEnumerator_t enumerator);
00131
00139 int MultiplexFrontendParametersGet(Multiplex_t *multiplex, struct dvb_frontend_parameters *feparams, DVBDiSEqCSettings_t *diseqc);
00140
00149 int MultiplexAdd(fe_type_t type, struct dvb_frontend_parameters *feparams, DVBDiSEqCSettings_t *diseqc, int *uid);
00150
00157 int MultiplexPATVersionSet(Multiplex_t *multiplex, int patversion);
00158
00165 int MultiplexTSIdSet(Multiplex_t *multiplex, int tsid);
00166
00173 int MultiplexNetworkIdSet(Multiplex_t *multiplex, int netid);
00174
00175
00179 #define MultiplexNew() (Multiplex_t*)ObjectCreateType(Multiplex_t)
00180
00185 #define MultiplexRefInc(__multiplex) \
00186 do{ \
00187 if ((__multiplex)) \
00188 { \
00189 ObjectRefInc((__multiplex)); \
00190 } \
00191 }while(0)
00192
00198 #define MultiplexRefDec(__multiplex) \
00199 do{ \
00200 if ((__multiplex)) \
00201 { \
00202 ObjectRefDec((__multiplex)); \
00203 } \
00204 }while(0)
00205
00207 #endif