Changeset 2074 for trunk/reader-dre.c


Ignore:
Timestamp:
Apr 13, 2010, 4:55:28 PM (10 years ago)
Author:
_network
Message:

allow more than one emm filter per type

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/reader-dre.c

    r2052 r2074  
    318318}
    319319
    320 uchar *dre_get_emm_filter(struct s_reader * rdr, int type)
    321 {
    322         static uint8_t filter[32];
    323         memset(filter, 0x00, 32);
    324 
    325         switch (type) {
    326                 case GLOBAL:
    327             //FIXME: Dont now how to filter GLOBAL EMM's
    328                         filter[0]    = 0xFF; //dummy
    329                         filter[0+16] = 0xFF;
    330                         break;
    331                 case SHARED:
    332                         filter[0]    = 0x89;
    333                         filter[0+16] = 0xFF;
    334             // FIXME: Seems to be that SA is only used with caid 0x4ae1
    335             if (rdr->caid[0] == 0x4ae1) {
    336                             memcpy(filter+1, &rdr->sa[0][0], 4);
    337                             memset(filter+1+16, 0xFF, 4);
    338             }
    339                         break;
    340                 case UNIQUE:
    341             //FIXME: No filter for hexserial
    342                         filter[0]    = 0x87;
    343                         filter[0+16] = 0xFF;
    344             break;
     320void dre_get_emm_filter(struct s_reader * rdr, uchar *filter)
     321{
     322    filter[0]=0xFF;
     323    filter[1]=3;
     324
     325    filter[2]=GLOBAL;
     326    filter[3]=1; //not active
     327
     328    //FIXME: Dont now how to filter GLOBAL EMM's
     329    filter[4+0]    = 0xFF; //dummy
     330    filter[4+0+16] = 0xFF;
     331
     332
     333    filter[36]=SHARED;
     334    filter[37]=0;
     335
     336    filter[38+0]    = 0x89;
     337    filter[38+0+16] = 0xFF;
     338    // FIXME: Seems to be that SA is only used with caid 0x4ae1
     339    if (rdr->caid[0] == 0x4ae1) {
     340        memcpy(filter+38+1, &rdr->sa[0][0], 4);
     341        memset(filter+38+1+16, 0xFF, 4);
    345342    }
    346     return filter;
     343
     344
     345    //FIXME: No filter for hexserial
     346    filter[70]=UNIQUE;
     347    filter[71]=0;
     348
     349    filter[72+0]    = 0x87;
     350       filter[72+0+16] = 0xFF;
     351   
     352    return;
    347353}
    348354
Note: See TracChangeset for help on using the changeset viewer.