1 #ifndef __dvbci_dvbci_tc_h
2 #define __dvbci_dvbci_tc_h
4 #include <lib/base/ebase.h>
5 #include <lib/dvb_ci/dvbci.h>
11 static eDVBCISession *sessions[SLMS];
12 static eDVBCISession *eDVBCISession::createSession(eDVBCISlot *slot, const unsigned char *resource_identifier, unsigned char &status);
13 void eDVBCISession::sendSPDU(eDVBCISlot *slot, unsigned char tag,const void *data, int len, unsigned short session_nb, const void *apdu=0,int alen=0);
14 void sendOpenSessionResponse(eDVBCISlot *slot,unsigned char session_status, const unsigned char *resource_identifier,unsigned short session_nb);
19 eDVBCISlot *slot; //base only
20 unsigned short session_nb;
22 eDVBCISession(eDVBCISlot *cislot);
25 enum { stateInCreation, stateBusy, stateInDeletion, stateStarted, statePrivate};
27 int parseLengthField(const unsigned char *pkt, int &len);
28 int buildLengthField(unsigned char *pkt, int len);
30 void receiveData(const unsigned char *ptr, size_t len);
32 int getState() { return state; }
33 int getStatus() { return status; }