Changeset 3672 for trunk/reader-seca.c
- Timestamp:
- 10/22/10 14:47:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-seca.c
r3349 r3672 208 208 static void seca_get_emm_filter(struct s_reader * rdr, uchar *filter) 209 209 { 210 int numfilter=1; 211 212 filter[2]=UNIQUE; 213 filter[3]=0; 214 215 filter[4+0] = 0x82; 216 filter[4+0+16] = 0xFF; 217 memcpy(filter+4+1, rdr->hexserial, 6); 218 memset(filter+4+1+16, 0xFF, 6); 219 220 int prov, startpos=36; 221 for (prov=0; prov<rdr->nprov; prov++) { 222 filter[startpos++]=SHARED; 223 filter[startpos++]=0; 224 225 filter[startpos+0] = 0x84; 226 filter[startpos+0+16] = 0xFF; 227 228 memcpy(filter+startpos+1, &rdr->prid[prov][2], 2); 229 memset(filter+startpos+1+16, 0xFF, 2); 230 231 memcpy(filter+startpos+3, &rdr->sa[prov], 3); 232 memset(filter+startpos+3+16, 0xFF, 2); 233 234 numfilter++; 235 startpos+=34; 236 if (startpos>221) { 237 cs_log("seca_get_emm_filter: could not start all emm filter"); 238 break; 239 } 240 } 241 210 242 filter[0]=0xFF; 211 filter[1]=3; 212 213 214 filter[2]=GLOBAL; 215 filter[3]=0; 216 217 // FIXME: Seems to be that seca has no EMM-G ?! 218 filter[4+0] = 0xFF; 219 filter[4+0+16] = 0xFF; 220 221 222 filter[36]=SHARED; 223 filter[37]=0; 224 225 filter[38+0] = 0x84; 226 filter[38+0+16] = 0xFF; 227 memcpy(filter+38+3, rdr->hexserial, 3); 228 memset(filter+38+3+16, 0xFF, 3); 229 230 231 filter[70]=UNIQUE; 232 filter[71]=0; 233 234 filter[72+0] = 0x82; 235 filter[72+0+16] = 0xFF; 236 memcpy(filter+72+1, rdr->hexserial, 6); 237 memset(filter+72+1+16, 0xFF, 6); 243 filter[1]=numfilter; 238 244 239 245 return; 240 246 } 247 241 248 242 249 static int seca_do_emm(struct s_reader * reader, EMM_PACKET *ep)
Note:
See TracChangeset
for help on using the changeset viewer.