Changeset 1766 for trunk/reader-irdeto.c
- Timestamp:
- 03/04/10 13:13:16 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/reader-irdeto.c
r1507 r1766 366 366 } 367 367 368 int irdeto_get_emm_type(EMM_PACKET *ep) //returns TRUE if shared emm matches SA, unique emm matches serial, or global or unknown 369 { 370 int i, l=(ep->emm[3]&0x07), ok=0; 371 int mode=(ep->emm[3]>>3); 372 if (mode&0x10) { // Hex addressed 373 ep->type = UNIQUE; 374 memset(ep->hexserial,0,8); 375 memcpy(ep->hexserial, ep->emm + 4, l); 376 return (mode==reader[ridx].hexserial[3] && 377 (!l || !memcmp(ep->emm+4, reader[ridx].hexserial, l))); 378 } 379 else { // Provider addressed 380 ep->type = SHARED; 381 for(i=0; i<reader[ridx].nprov; i++) { 382 ok=(mode==reader[ridx].prid[i][0] && 383 (!l || !memcmp(ep->emm+4, &reader[ridx].prid[i][1], l))); 384 if (ok) break; 385 } 386 memset(ep->hexserial,0,8); 387 memcpy(ep->hexserial, ep->emm+4, l); //prid in hezserial instread of SA 388 return ok; 389 } 390 } 391 368 392 int irdeto_do_emm(EMM_PACKET *ep) 369 393 { … … 375 399 376 400 uchar *emm=ep->emm; 377 ep->type=emm[3];378 401 if (mode&0x10) // Hex addressed 379 402 {
Note:
See TracChangeset
for help on using the changeset viewer.