vdr  2.2.0
Classes | Macros | Functions | Variables
pat.c File Reference
#include "pat.h"
#include <malloc.h>
#include "channels.h"
#include "libsi/section.h"
#include "libsi/descriptor.h"
#include "vdrttxtsubshooks.h"

Go to the source code of this file.

Classes

class  cCaDescriptor
 
class  cCaDescriptors
 
class  cCaDescriptorHandler
 

Macros

#define PMT_SCAN_TIMEOUT   1000
 
#define DBGLOG(a...)
 

Functions

int GetCaDescriptors (int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, uchar *Data, int EsPid)
 
int GetCaPids (int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids)
 
int GetPmtPid (int Source, int Transponder, int ServiceId)
 

Variables

cCaDescriptorHandler CaDescriptorHandler
 

Macro Definition Documentation

#define DBGLOG (   a...)
#define PMT_SCAN_TIMEOUT   1000

Definition at line 17 of file pat.c.

Referenced by cPatFilter::Process().

Function Documentation

int GetCaDescriptors ( int  Source,
int  Transponder,
int  ServiceId,
const int *  CaSystemIds,
int  BufSize,
uchar Data,
int  EsPid 
)

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). Only those CA descriptors are copied that match one of the given CA system IDs (or all of them, if CaSystemIds is 0xFFFF). 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.

Definition at line 278 of file pat.c.

References cCaDescriptorHandler::GetCaDescriptors().

Referenced by cCiCaPmt::AddPid(), cCiCaPmt::cCiCaPmt(), cCaDescriptors::Empty(), and cPatFilter::MakePmtId().

int GetCaPids ( int  Source,
int  Transponder,
int  ServiceId,
const int *  CaSystemIds,
int  BufSize,
int *  Pids 
)

Gets all CA pids for a given channel.

Copies all available CA pids from the CA descriptors for the given Source, Transponder and ServiceId into the provided buffer at Pids (at most BufSize - 1 entries, the list will be zero-terminated). Only the CA pids of those CA descriptors are copied that match one of the given CA system IDs (or all of them, if CaSystemIds is 0xFFFF). Returns the number of pids copied into Pids (0 if no CA descriptors are available), or -1 if BufSize was too small to hold all CA pids.

Definition at line 283 of file pat.c.

References cCaDescriptorHandler::GetCaPids().

Referenced by cCaDescriptors::Empty(), cPatFilter::MakePmtId(), and cCamSlot::SendCaPmt().

int GetPmtPid ( int  Source,
int  Transponder,
int  ServiceId 
)

Gets the Pid of the PMT in which the CA descriptors for this channel are defined.

Definition at line 288 of file pat.c.

References cCaDescriptorHandler::GetPmtPid().

Referenced by cPatFilter::Process(), and cPatFilter::SwitchToNextPmtPid().

Variable Documentation

cCaDescriptorHandler CaDescriptorHandler

Definition at line 276 of file pat.c.