Changeset 1977


Ignore:
Timestamp:
04/06/10 21:13:42 (12 years ago)
Author:
alno
Message:

prepare nagra demux filter and collector function in reader-common.c I hope that can be used this way - need crosscheck by a C crack

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/globals.h

    r1971 r1977  
    10071007extern int reader_emm(struct s_reader * reader, EMM_PACKET *);
    10081008int reader_get_emm_type(EMM_PACKET *ep, struct s_reader * reader);
     1009uchar *get_emm_filter(struct s_reader * rdr, int type);
    10091010
    10101011#ifdef HAVE_PCSC
  • trunk/reader-common.c

    r1960 r1977  
    418418}
    419419
     420uchar *get_emm_filter(struct s_reader * rdr, int type) {
     421
     422    static uint8_t filter[32];
     423    memset(filter, 0x00, 32);
     424
     425    switch(rdr->card_system) {
     426        case SC_NAGRA:
     427            memcpy(filter, nagra2_get_emm_filter(rdr, type), 32);
     428            break;
     429        case SC_IRDETO:
     430            memcpy(filter, irdeto_get_emm_filter(rdr, type), 32);
     431            break;
     432        case SC_CRYPTOWORKS:
     433
     434            break;
     435        case SC_VIACCESS:
     436
     437            break;
     438        case SC_CONAX:
     439
     440            break;
     441        case SC_SECA:
     442
     443            break;
     444        case SC_VIDEOGUARD2:
     445
     446            break;
     447        case SC_DRE:
     448
     449            break;
     450        default:
     451            break;
     452    }
     453
     454    return filter;
     455}
     456
    420457int reader_emm(struct s_reader * reader, EMM_PACKET *ep)
    421458{
  • trunk/reader-common.h

    r1976 r1977  
    5555int nagra2_get_emm_type(EMM_PACKET *, struct s_reader *);
    5656void nagra2_post_process(struct s_reader * reader);
     57uchar *nagra2_get_emm_filter(struct s_reader * rdr, int type);
    5758 
    5859// reader-conax
  • trunk/reader-nagra.c

    r1951 r1977  
    748748}
    749749
     750uchar *nagra2_get_emm_filter(struct s_reader * rdr, int type)
     751{
     752    static uint8_t filter[32];
     753    memset(filter, 0x00, 32);
     754
     755    switch (type) {
     756        case GLOBAL:
     757            filter[0]    = 0x82;
     758            filter[0+16] = 0xFF;
     759            break;
     760        case SHARED:
     761        case UNIQUE:
     762            filter[0]    = 0x83;
     763            filter[0+16] = 0xFF;
     764            //filter[1]    = rdr->hexserial[4] & 0xFF;
     765            //filter[1+16] = 0xFF;
     766            filter[2]    = rdr->hexserial[3] & 0xFF;
     767            filter[2+16] = 0xFF;
     768            filter[3]    = rdr->hexserial[2] & 0xFF;
     769            filter[3+16] = 0xFF;
     770            break;
     771    }
     772
     773    return filter;
     774}
    750775int nagra2_do_emm(struct s_reader * reader, EMM_PACKET *ep)
    751776{
Note: See TracChangeset for help on using the changeset viewer.