|
SASC-NG
DVBSoftCAM
|
#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <vdr/device.h>#include <vdr/channels.h>#include <vdr/thread.h>#include <vdr/ringbuffer.h>#include "cam.h"#include "global.h"#include "device.h"#include "scsetup.h"#include "filter.h"#include "system.h"#include "data.h"#include "override.h"#include "misc.h"#include "log-core.h"#include "FFdecsa/FFdecsa.h"Go to the source code of this file.
Classes | |
| class | cLogStats |
| class | cHookManager |
| class | cLogChain |
| class | cLogger |
| class | cEcmData |
| class | cEcmPri |
| class | cEcmHandler |
| class | cChannelCaids |
| class | cChannelList |
| class | cScCamSlot |
| class | cCams |
| SASC. More... | |
| struct | TPDU |
Defines | |
| #define | IDLE_SLEEP 0 |
| #define | IDLE_GETCA 200 |
| #define | IDLE_GETCA_SLOW 20000 |
| #define | IDLE_NO_SYNC 800 |
| #define | IDLE_SYNC 2000 |
| #define | CW_REPEAT_TIME 2000 |
| #define | LOG_COUNT 3 |
| #define | CHAIN_HOLD 120000 |
| #define | ECM_DATA_TIME 6000 |
| #define | MAX_ECM_IDLE 300000 |
| #define | MAX_ECM_HOLD 15000 |
| #define | ECMCACHE_FILE "ecm.cache" |
| #define | L_HEX 2 |
| #define | L_HEX_ECM LCLASS(L_HEX,2) |
| #define | L_HEX_EMM LCLASS(L_HEX,4) |
| #define | L_HEX_CAT LCLASS(L_HEX,8) |
| #define | L_HEX_PMT LCLASS(L_HEX,16) |
| #define | L_HEX_HOOK LCLASS(L_HEX,32) |
| #define | L_HEX_ALL LALL(L_HEX_HOOK) |
| #define | TYPENAME(type) (typeNames[(type)<=7?(type):7]) |
| #define | COUNTS 20 |
| #define | SAMPLE (30*1000) |
| #define | AVR1 (60*1000) |
| #define | AVR2 (4*60*1000) |
| #define | AVR3 (10*60*1000) |
| #define | REPORT (60*1000) |
| #define | CACHE_VERS 1 |
| #define | LEN_OFF 2 |
| #define | TDPU_SIZE_INDICATOR 0x80 |
| #define | CAID_TIME 300000 |
| #define | TRIGGER_TIME 10000 |
| #define | SLOT_CAID_CHECK 10000 |
| #define | SLOT_RESET_TIME 600 |
| #define | TPDU(data, slot) do { unsigned char *_d=(data); _d[0]=(slot); _d[1]=tcid; } while(0) |
| #define | TAG(data, tag, len) do { unsigned char *_d=(data); _d[0]=(tag); _d[1]=(len); } while(0) |
| #define | SB_TAG(data, sb) do { unsigned char *_d=(data); _d[0]=0x80; _d[1]=0x02; _d[2]=tcid; _d[3]=(sb); } while(0) |
| #define | MAX_STALL_MS 70 |
| #define | MAX_REL_WAIT 100 |
| #define | MAX_KEY_WAIT 500 |
| #define | FL_EVEN_GOOD 1 |
| #define | FL_ODD_GOOD 2 |
| #define | FL_ACTIVITY 4 |
Functions | |
| void | LogStatsUp (void) |
| void | LogStatsDown (void) |
Variables | |
| static struct LogModule | lm_hex |
| static const char * | typeNames [] = { "typ0","typ1","VIDEO","typ3","AUDIO","typ5","DOLBY","typ6+" } |
| static cMutex | logstatsMutex |
| static cLogStats * | logstats = 0 |
| cEcmCache | ecmcache |
| static cCams | cams |
| #define AVR1 (60*1000) |
Definition at line 83 of file cam.c.
Referenced by cLogStats::Action().
| #define AVR2 (4*60*1000) |
Definition at line 84 of file cam.c.
Referenced by cLogStats::Action().
| #define AVR3 (10*60*1000) |
Definition at line 85 of file cam.c.
Referenced by cLogStats::Action().
| #define CACHE_VERS 1 |
Definition at line 587 of file cam.c.
Referenced by cEcmData::Parse(), and cEcmData::ToString().
| #define CHAIN_HOLD 120000 |
Definition at line 53 of file cam.c.
Referenced by cHookManager::AddHook(), and cHookManager::TriggerHook().
| #define COUNTS 20 |
Definition at line 81 of file cam.c.
Referenced by cLogStats::Action(), and cLogStats::cLogStats().
| #define CW_REPEAT_TIME 2000 |
Definition at line 51 of file cam.c.
Referenced by cEcmHandler::Process().
| #define ECM_DATA_TIME 6000 |
Definition at line 54 of file cam.c.
Referenced by cEcmHandler::Process().
| #define FL_ACTIVITY 4 |
Definition at line 2718 of file cam.c.
Referenced by cDeCSA::Decrypt(), and cDeCSA::SetDescr().
| #define FL_EVEN_GOOD 1 |
Definition at line 2716 of file cam.c.
Referenced by cDeCSA::Decrypt(), and cDeCSA::SetDescr().
| #define FL_ODD_GOOD 2 |
Definition at line 2717 of file cam.c.
Referenced by cDeCSA::Decrypt(), and cDeCSA::SetDescr().
| #define IDLE_GETCA 200 |
Definition at line 46 of file cam.c.
Referenced by cEcmHandler::Process().
| #define IDLE_GETCA_SLOW 20000 |
Definition at line 47 of file cam.c.
Referenced by cEcmHandler::Process().
| #define IDLE_NO_SYNC 800 |
Definition at line 48 of file cam.c.
Referenced by cEcmHandler::Process().
| #define IDLE_SLEEP 0 |
Definition at line 45 of file cam.c.
Referenced by cEcmHandler::Process(), and cEcmHandler::SetPrg().
| #define IDLE_SYNC 2000 |
Definition at line 49 of file cam.c.
Referenced by cEcmHandler::Process().
| #define L_HEX_CAT LCLASS(L_HEX,8) |
Definition at line 63 of file cam.c.
Referenced by cLogger::Process().
| #define L_HEX_ECM LCLASS(L_HEX,2) |
Definition at line 61 of file cam.c.
Referenced by cEcmHandler::Process().
| #define L_HEX_EMM LCLASS(L_HEX,4) |
Definition at line 62 of file cam.c.
Referenced by cLogger::Process().
| #define L_HEX_HOOK LCLASS(L_HEX,32) |
Definition at line 65 of file cam.c.
Referenced by cHookManager::Process().
| #define LEN_OFF 2 |
Definition at line 1668 of file cam.c.
Referenced by cCam::cCam(), cCiFrame::Del(), cCiFrame::Get(), cCiFrame::GetBuff(), and cCiFrame::Put().
| #define LOG_COUNT 3 |
Definition at line 52 of file cam.c.
Referenced by cEcmHandler::Process().
| #define MAX_ECM_HOLD 15000 |
Definition at line 56 of file cam.c.
Referenced by cEcmHandler::Process().
| #define MAX_ECM_IDLE 300000 |
Definition at line 55 of file cam.c.
Referenced by cEcmHandler::IsRemoveable().
| #define MAX_KEY_WAIT 500 |
Definition at line 2714 of file cam.c.
Referenced by cDeCSA::Decrypt().
| #define MAX_REL_WAIT 100 |
Definition at line 2713 of file cam.c.
Referenced by cDeCSA::SetDescr().
| #define MAX_STALL_MS 70 |
Definition at line 2711 of file cam.c.
Referenced by cDeCSA::Decrypt().
| #define REPORT (60*1000) |
Definition at line 86 of file cam.c.
Referenced by cLogStats::Action().
| #define SAMPLE (30*1000) |
Definition at line 82 of file cam.c.
Referenced by cLogStats::Action(), and cLogStats::cLogStats().
| #define SB_TAG | ( | data, | |
| sb | |||
| ) | do { unsigned char *_d=(data); _d[0]=0x80; _d[1]=0x02; _d[2]=tcid; _d[3]=(sb); } while(0) |
Definition at line 2187 of file cam.c.
Referenced by cCam::Write().
| #define SLOT_RESET_TIME 600 |
Definition at line 1743 of file cam.c.
Referenced by cScCamSlot::Reset().
Definition at line 2186 of file cam.c.
Referenced by cCam::Write().
Definition at line 2185 of file cam.c.
Referenced by cCam::Write().
| #define TYPENAME | ( | type | ) | (typeNames[(type)<=7?(type):7]) |
Definition at line 77 of file cam.c.
Referenced by cCam::AddPrg(), and cEcmHandler::SetPrg().
| void LogStatsDown | ( | void | ) |
Definition at line 110 of file cam.c.
References cMutex::Lock(), logstats, and cMutex::Unlock().
Referenced by cScPlugin::Stop().
{
logstatsMutex.Lock();
if(logstats) { delete logstats; logstats=0; }
logstatsMutex.Unlock();
}
| void LogStatsUp | ( | void | ) |
Definition at line 103 of file cam.c.
References L_CORE_AUSTATS, cMutex::Lock(), LOG, and cMutex::Unlock().
{
logstatsMutex.Lock();
if(LOG(L_CORE_AUSTATS) && !logstats) logstats=new cLogStats;
logstatsMutex.Unlock();
}
Definition at line 640 of file cam.c.
Referenced by cMenuSetupSc::ProcessKey().
{
(LMOD_ENABLE|L_HEX_ALL)&LOPT_MASK,
(LMOD_ENABLE)&LOPT_MASK,
"hexdata",
{ "ecm","emm","cat","pmt","hook" }
}
Definition at line 101 of file cam.c.
Referenced by LogStatsDown().
cMutex logstatsMutex [static] |