summaryrefslogtreecommitdiff
path: root/eit.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-01-06 14:44:27 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2003-01-06 14:44:27 +0100
commit4e15f6d658139fca773b76088bf1523839c20ffd (patch)
tree6d51dd4546800274eeddace2069fe08837186076 /eit.h
parent43b582a04d3b77c0f0f92284bdccbbad190f9d41 (diff)
downloadvdr-4e15f6d658139fca773b76088bf1523839c20ffd.tar.gz
vdr-4e15f6d658139fca773b76088bf1523839c20ffd.tar.bz2
Implemented 'Link Layer' based CAM support
Diffstat (limited to 'eit.h')
-rw-r--r--eit.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/eit.h b/eit.h
index 36c0a3e8..ec203eae 100644
--- a/eit.h
+++ b/eit.h
@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: eit.h 1.22 2002/11/24 12:45:55 kls Exp $
+ * $Id: eit.h 1.23 2003/01/04 10:12:54 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@@ -134,21 +134,29 @@ typedef struct sip_filter {
}SIP_FILTER;
+class cCaDescriptor;
+class cCaDescriptors;
+
class cSIProcessor : public cThread {
private:
static int numSIProcessors;
static cSchedules *schedules;
static cMutex schedulesMutex;
+ static cCaDescriptors *caDescriptors;
+ static cMutex caDescriptorsMutex;
static const char *epgDataFileName;
static time_t lastDump;
bool masterSIProcessor;
int currentSource;
int currentTransponder;
+ int pmtIndex;
+ int pmtPid;
SIP_FILTER *filters;
char *fileName;
bool active;
void Action(void);
bool AddFilter(u_char pid, u_char tid);
+ bool DelFilter(u_char pid, u_char tid);
bool ShutDownFilters(void);
public:
cSIProcessor(const char *FileName);
@@ -159,6 +167,12 @@ public:
// Caller must provide a cMutexLock which has to survive the entire
// time the returned cSchedules is accessed. Once the cSchedules is no
// longer used, the cMutexLock must be destroyed.
+ static int GetCaDescriptors(int Source, int Transponder, int ServiceId, int BufSize, uchar *Data);
+ ///< Gets all CA descriptors for a given channel.
+ ///< Copies all available CA descriptors for the given Source, Transponder and ServiceId
+ ///< into the provided buffer at Data (at most BufSize bytes).
+ ///< \return Returns the number of bytes copied into Data (0 if no CA descriptors are
+ ///< available), or -1 if BufSize was too small to hold all CA descriptors.
static bool Read(FILE *f = NULL);
static void Clear(void);
void SetStatus(bool On);