Changeset 4994 for trunk/globals.h
- Timestamp:
- 04/13/11 23:19:59 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/globals.h
r4991 r4994 295 295 E2_CCCAM_NOCARD=0x27, E2_CCCAM_NOK1=0x28, E2_CCCAM_NOK2=0x29, E2_CCCAM_LOOP=0x30}; 296 296 297 typedef unsigned char uint8; 298 typedef unsigned short uint16; 299 typedef unsigned int uint32; 300 typedef unsigned long long uint64; 301 typedef long long int64; 302 303 int server_pid; //alno: PID of server - set while startup 297 typedef unsigned char uint8_t; 298 299 pid_t server_pid; //alno: PID of server - set while startup 304 300 305 301 // constants … … 316 312 #define LED_BLINK_OFF 3 317 313 #define LED_DEFAULT 10 318 extern void cs_switch_led(int led, int action);314 extern void cs_switch_led(int32_t led, int32_t action); 319 315 #endif 320 316 321 317 #ifdef QBOXHD_LED 322 318 typedef struct { 323 u nsigned short H; // range 0-359319 uint16_t H; // range 0-359 324 320 unsigned char S; // range 0-99 325 321 unsigned char V; // range 0-99 … … 331 327 } qboxhdmini_led_color_struct; 332 328 333 extern void qboxhd_led_blink(int color, int duration);329 extern void qboxhd_led_blink(int32_t color, int32_t duration); 334 330 335 331 #define QBOXHD_LED_DEVICE "/dev/sw0" … … 361 357 362 358 #define MAX_SIDBITS 64 // max services 363 #define SIDTABBITS uint64 // 64bit type for services, if a system does not support this type,364 // please use a define and define it as uint32 / MAX_SIDBITS 32359 #define SIDTABBITS uint64_t // 64bit type for services, if a system does not support this type, 360 // please use a define and define it as uint32_t / MAX_SIDBITS 32 365 361 366 362 #define BAN_UNKNOWN 1 //failban mask for anonymous/ unknown contact … … 374 370 typedef struct s_caidvaluetab 375 371 { 376 u short n;377 u short caid[CS_MAX_CAIDVALUETAB];378 u short value[CS_MAX_CAIDVALUETAB];372 uint16_t n; 373 uint16_t caid[CS_MAX_CAIDVALUETAB]; 374 uint16_t value[CS_MAX_CAIDVALUETAB]; 379 375 } CAIDVALUETAB; 380 376 … … 389 385 typedef struct s_caidtab 390 386 { 391 u short caid[CS_MAXCAIDTAB];392 u short mask[CS_MAXCAIDTAB];393 u short cmap[CS_MAXCAIDTAB];387 uint16_t caid[CS_MAXCAIDTAB]; 388 uint16_t mask[CS_MAXCAIDTAB]; 389 uint16_t cmap[CS_MAXCAIDTAB]; 394 390 } CAIDTAB; 395 391 396 392 typedef struct s_tuntab 397 393 { 398 u short bt_caidfrom[CS_MAXTUNTAB];399 u short bt_caidto[CS_MAXTUNTAB];400 u short bt_srvid[CS_MAXTUNTAB];394 uint16_t bt_caidfrom[CS_MAXTUNTAB]; 395 uint16_t bt_caidto[CS_MAXTUNTAB]; 396 uint16_t bt_srvid[CS_MAXTUNTAB]; 401 397 } TUNTAB; 402 398 … … 404 400 { 405 401 char label[64]; 406 u short num_caid;407 u short num_provid;408 u short num_srvid;409 u short *caid;410 u long*provid;411 u short *srvid;402 uint16_t num_caid; 403 uint16_t num_provid; 404 uint16_t num_srvid; 405 uint16_t *caid; 406 uint32_t *provid; 407 uint16_t *srvid; 412 408 struct s_sidtab *next; 413 409 } SIDTAB; … … 416 412 typedef struct s_filter 417 413 { 418 u short caid;414 uint16_t caid; 419 415 uchar nprids; 420 u longprids[CS_MAXPROV];416 uint32_t prids[CS_MAXPROV]; 421 417 } FILTER; 422 418 423 419 typedef struct s_ftab 424 420 { 425 int nfilts;421 int32_t nfilts; 426 422 FILTER filts[CS_MAXFILTERS]; 427 423 } FTAB; … … 429 425 typedef struct s_port 430 426 { 431 int fd;432 int s_port;433 int ncd_key_is_set; //0 or 1427 int32_t fd; 428 int32_t s_port; 429 int32_t ncd_key_is_set; //0 or 1 434 430 uchar ncd_key[16]; 435 431 FTAB ftab; … … 438 434 typedef struct s_ptab 439 435 { 440 int nports;436 int32_t nports; 441 437 PORT ports[CS_MAXPORTS]; 442 438 } PTAB; 443 439 444 440 typedef struct aes_entry { 445 u short keyid;446 u short caid;447 uint32 ident;441 uint16_t keyid; 442 uint16_t caid; 443 uint32_t ident; 448 444 uchar plainkey[16]; 449 445 AES_KEY key; … … 455 451 uchar ecmd5[CS_ECMSTORESIZE]; 456 452 uchar cw[16]; 457 u short caid;458 uint64 grp;453 uint16_t caid; 454 uint64_t grp; 459 455 struct s_reader *reader; 460 int rc;456 int32_t rc; 461 457 time_t time; 462 458 }; … … 466 462 uchar emmd5[CS_EMMSTORESIZE]; 467 463 uchar type; 468 int count;464 int32_t count; 469 465 }; 470 466 471 467 // failban listmember 472 468 typedef struct v_ban { 473 int v_count;474 uint v_ip;469 int32_t v_count; 470 uint32_t v_ip; 475 471 time_t v_time; 476 472 } V_BAN; … … 485 481 struct s_module 486 482 { 487 int active;488 int multi;489 int type;490 int watchdog;483 int32_t active; 484 int32_t multi; 485 int32_t type; 486 int32_t watchdog; 491 487 char desc[16]; 492 488 char *logtxt; 493 //int s_port;489 //int32_t s_port; 494 490 in_addr_t s_ip; 495 491 void *(*s_handler)(); 496 int (*recv)(struct s_client *, uchar *, int);492 int32_t (*recv)(struct s_client *, uchar *, int32_t); 497 493 void (*send_dcw)(struct s_client*, struct ecm_request_t *); 498 494 void (*cleanup)(struct s_client*); 499 int c_multi;500 int (*c_recv_chk)(struct s_client*, uchar *, int *, uchar *, int);501 int (*c_init)(struct s_client*);502 int (*c_send_ecm)(struct s_client *, struct ecm_request_t *, uchar *);503 int (*c_send_emm)(struct emm_packet_t *);504 int (*c_init_log)(void);505 int (*c_recv_log)(ushort *, ulong *, ushort *);506 int (*c_available)(struct s_reader *, int); //Schlocke: available check for load-balancing,495 int32_t c_multi; 496 int32_t (*c_recv_chk)(struct s_client*, uchar *, int32_t *, uchar *, int32_t); 497 int32_t (*c_init)(struct s_client*); 498 int32_t (*c_send_ecm)(struct s_client *, struct ecm_request_t *, uchar *); 499 int32_t (*c_send_emm)(struct emm_packet_t *); 500 int32_t (*c_init_log)(void); 501 int32_t (*c_recv_log)(uint16_t *, uint32_t *, uint16_t *); 502 int32_t (*c_available)(struct s_reader *, int32_t); //Schlocke: available check for load-balancing, 507 503 //params: 508 504 //rdr (reader to check) 509 //int checktype (0=return connected, 1=return loadbalance-avail) return int505 //int32_t checktype (0=return connected, 1=return loadbalance-avail) return int 510 506 void (*c_idle)(void); //Schlocke: called when reader is idle 511 507 void (*c_card_info)(void); //Schlocke: request card infos 512 int c_port;508 int32_t c_port; 513 509 PTAB *ptab; 514 int num;510 int32_t num; 515 511 }; 516 512 … … 519 515 struct s_cardreader 520 516 { 521 int active;517 int32_t active; 522 518 char desc[16]; 523 int (*reader_init)(struct s_reader*);524 int (*get_status)(struct s_reader*, int*);525 int (*activate)(struct s_reader*, struct s_ATR *);526 int (*transmit)(struct s_reader*, unsigned char *sent, unsigned int size);527 int (*receive)(struct s_reader*, unsigned char *data, unsigned int size);528 int (*close)(struct s_reader*);529 int (*set_parity)(struct s_reader*, uchar parity);530 int (*write_settings)(struct s_reader*, unsigned long ETU, unsigned long EGT, unsigned char P, unsigned char I, unsigned short Fi, unsigned char Di, unsigned char Ni);531 int (*set_protocol)(struct s_reader*, unsigned char * params, unsigned *length, uint len_request);532 int (*set_baudrate)(struct s_reader*, ulongbaud); //set only for readers which need baudrate setting and timings need to be guarded by OSCam533 int typ; //fixme: workaround, remove when all old code is converted534 535 int max_clock_speed; // 1 for reader->typ > R_MOUSE536 int need_inverse; //0 = reader does inversing; 1 = inversing done by oscam519 int32_t (*reader_init)(struct s_reader*); 520 int32_t (*get_status)(struct s_reader*, int*); 521 int32_t (*activate)(struct s_reader*, struct s_ATR *); 522 int32_t (*transmit)(struct s_reader*, unsigned char *sent, uint32_t size); 523 int32_t (*receive)(struct s_reader*, unsigned char *data, uint32_t size); 524 int32_t (*close)(struct s_reader*); 525 int32_t (*set_parity)(struct s_reader*, uchar parity); 526 int32_t (*write_settings)(struct s_reader*, uint32_t ETU, uint32_t EGT, unsigned char P, unsigned char I, uint16_t Fi, unsigned char Di, unsigned char Ni); 527 int32_t (*set_protocol)(struct s_reader*, unsigned char * params, uint32_t *length, uint32_t len_request); 528 int32_t (*set_baudrate)(struct s_reader*, uint32_t baud); //set only for readers which need baudrate setting and timings need to be guarded by OSCam 529 int32_t typ; //fixme: workaround, remove when all old code is converted 530 531 int32_t max_clock_speed; // 1 for reader->typ > R_MOUSE 532 int32_t need_inverse; //0 = reader does inversing; 1 = inversing done by oscam 537 533 //io_serial config 538 int flush;539 int read_written; // 1 = written bytes has to read from device534 int32_t flush; 535 int32_t read_written; // 1 = written bytes has to read from device 540 536 }; 541 537 542 538 struct s_cardsystem 543 539 { 544 int active;540 int32_t active; 545 541 char *desc; 546 int (*card_init)();547 int (*card_info)();548 int (*do_ecm)();549 int (*do_emm)();542 int32_t (*card_init)(); 543 int32_t (*card_info)(); 544 int32_t (*do_ecm)(); 545 int32_t (*do_emm)(); 550 546 void (*post_process)(); 551 int (*get_emm_type)();547 int32_t (*get_emm_type)(); 552 548 void (*get_emm_filter)(); 553 549 uchar caids[2]; … … 557 553 struct s_irdeto_quess 558 554 { 559 int b47;560 u short caid;561 u short sid;555 int32_t b47; 556 uint16_t caid; 557 uint16_t sid; 562 558 struct s_irdeto_quess *next; 563 559 }; … … 571 567 uchar ecmd5[CS_ECMSTORESIZE]; 572 568 // uchar l; 573 short l;574 u short caid;575 u short ocaid; //original caid, used for betatunneling576 u short srvid;577 u short chid;578 u short pid;579 u short idx;580 u longprid;569 int16_t l; 570 uint16_t caid; 571 uint16_t ocaid; //original caid, used for betatunneling 572 uint16_t srvid; 573 uint16_t chid; 574 uint16_t pid; 575 uint16_t idx; 576 uint32_t prid; 581 577 struct s_reader *selected_reader; 582 578 LLIST *matching_rdr; //list of matching readers 583 579 LL_NODE *fallback; // in *matching_rdr, at position "fallback" the first fallback reader is in the list 584 580 struct s_client *client; //contains pointer to 'c' client while running in 'r' client 585 int cpti; // client pending table index586 int stage; // processing stage in server module587 int level; // send-level in client module588 int rc;581 int32_t cpti; // client pending table index 582 int32_t stage; // processing stage in server module 583 int32_t level; // send-level in client module 584 int32_t rc; 589 585 uchar rcEx; 590 586 struct timeb tps; // incoming time stamp 591 587 uchar locals_done; 592 int btun; // mark er as betatunneled593 int reader_avail; //count of available readers594 int reader_count; //count of contacted readers588 int32_t btun; // mark er as betatunneled 589 int32_t reader_avail; //count of available readers 590 int32_t reader_count; //count of contacted readers 595 591 596 592 #ifdef CS_WITH_DOUBLECHECK 597 int checked;593 int32_t checked; 598 594 uchar cw_checked[16]; 599 595 #endif … … 609 605 #ifdef CS_ANTICASC 610 606 struct s_acasc_shm { 611 u short ac_count : 15;612 u short ac_deny : 1;607 uint16_t ac_count : 15; 608 uint16_t ac_deny : 1; 613 609 }; 614 610 615 611 struct s_acasc { 616 u short stat[10];612 uint16_t stat[10]; 617 613 uchar idx; // current active index in stat[] 618 614 }; … … 629 625 time_t lastecm; 630 626 time_t expirationdate; 631 int allowedtimeframe[2];632 int c35_suppresscmd08;633 int c35_sleepsend;634 int ncd_keepalive;635 int disabled;636 uint64 grp;637 int crypted;638 int dup;627 int32_t allowedtimeframe[2]; 628 int32_t c35_suppresscmd08; 629 int32_t c35_sleepsend; 630 int32_t ncd_keepalive; 631 int32_t disabled; 632 uint64_t grp; 633 int32_t crypted; 634 int32_t dup; 639 635 LLIST *aureader_list; 640 int autoau;641 int monlvl;636 int32_t autoau; 637 int32_t monlvl; 642 638 CAIDTAB ctab; 643 639 TUNTAB ttab; 644 640 SIDTABBITS sidtabok; // positiv services 645 641 SIDTABBITS sidtabno; // negative services 646 int typ; // first s_client is type s=starting (master) thread; type r = physical reader, type p = proxy reader both always have 1 s_reader struct allocated; type c = client (user logging in into oscam) type m = monitor type h = http server a = anticascader647 int ctyp;648 int stat;649 int last_srvid;650 int last_caid;651 int tosleep;642 int32_t typ; // first s_client is type s=starting (master) thread; type r = physical reader, type p = proxy reader both always have 1 s_reader struct allocated; type c = client (user logging in into oscam) type m = monitor type h = http server a = anticascader 643 int32_t ctyp; 644 int32_t stat; 645 int32_t last_srvid; 646 int32_t last_caid; 647 int32_t tosleep; 652 648 struct s_auth *account; 653 int udp_fd;654 int fd_m2c; //master writes to this fd655 int fd_m2c_c; //client reads from this fd649 int32_t udp_fd; 650 int32_t fd_m2c; //master writes to this fd 651 int32_t fd_m2c_c; //client reads from this fd 656 652 struct sockaddr_in udp_sa; 657 int log;658 int logcounter;659 int cwfound; // count found ECMs per client660 int cwcache; // count ECMs from cache1/2 per client661 int cwnot; // count not found ECMs per client662 int cwtun; // count betatunneled ECMs per client663 int cwignored; // count ignored ECMs per client664 int cwtout; // count timeouted ECMs per client665 int cwlastresptime; //last Responsetime (ms)666 int cwlastresptimes[CS_ECM_RINGBUFFER_MAX]; //ringbuffer for last 20 times667 int cwlastresptimes_last; // ringbuffer pointer668 int emmok; // count EMM ok669 int emmnok; // count EMM nok653 int32_t log; 654 int32_t logcounter; 655 int32_t cwfound; // count found ECMs per client 656 int32_t cwcache; // count ECMs from cache1/2 per client 657 int32_t cwnot; // count not found ECMs per client 658 int32_t cwtun; // count betatunneled ECMs per client 659 int32_t cwignored; // count ignored ECMs per client 660 int32_t cwtout; // count timeouted ECMs per client 661 int32_t cwlastresptime; //last Responsetime (ms) 662 int32_t cwlastresptimes[CS_ECM_RINGBUFFER_MAX]; //ringbuffer for last 20 times 663 int32_t cwlastresptimes_last; // ringbuffer pointer 664 int32_t emmok; // count EMM ok 665 int32_t emmnok; // count EMM nok 670 666 #ifdef WEBIF 671 int wihidden; // hidden in webinterface status667 int32_t wihidden; // hidden in webinterface status 672 668 char lastreader[64]; // last cw got from this reader 673 669 #endif 674 670 uchar ucrc[4]; // needed by monitor and used by camd35 675 u longpcrc; // pwd crc671 uint32_t pcrc; // pwd crc 676 672 AES_KEY aeskey; // encryption key needed by monitor and used by camd33, camd35 677 673 AES_KEY aeskey_decrypt; // decryption key needed by monitor and used by camd33, camd35 678 u short ncd_msgid;674 uint16_t ncd_msgid; 679 675 char ncd_client_id[5]; 680 676 uchar ncd_skey[16]; 681 677 void *cc; 682 678 void *gbox; 683 int port_idx; // index in server ptab684 int ncd_server; // newcamd server679 int32_t port_idx; // index in server ptab 680 int32_t ncd_server; // newcamd server 685 681 #ifdef CS_ANTICASC 686 u short ac_limit;682 uint16_t ac_limit; 687 683 struct s_acasc_shm acasc; 688 684 #endif … … 692 688 693 689 694 int pfd; // Primary FD, must be closed on exit690 int32_t pfd; // Primary FD, must be closed on exit 695 691 struct s_reader *reader; //points to s_reader when cl->typ='r' 696 692 … … 703 699 704 700 //reader common 705 int last_idx;706 u short idx;707 int rotate;701 int32_t last_idx; 702 uint16_t idx; 703 int32_t rotate; 708 704 709 705 uchar *req; 710 706 711 int ncd_proto;707 int32_t ncd_proto; 712 708 713 709 //camd35 714 710 uchar upwd[64]; 715 int is_udp;716 int stopped;717 int lastcaid;718 int lastsrvid;719 int lastpid;711 int32_t is_udp; 712 int32_t stopped; 713 int32_t lastcaid; 714 int32_t lastsrvid; 715 int32_t lastpid; 720 716 time_t emm_last; 721 int disable_counter;717 int32_t disable_counter; 722 718 uchar lastserial[8]; 723 719 724 720 //cccam 725 int g_flag;726 int cc_use_rc4;721 int32_t g_flag; 722 int32_t cc_use_rc4; 727 723 728 724 //monitor 729 int auth;725 int32_t auth; 730 726 731 727 //cs_hexdump buffer … … 734 730 //an iterator to be used across OSCam; threadspecific 735 731 LL_ITER it; 736 int itused;732 int32_t itused; 737 733 738 734 //oscam.c … … 740 736 741 737 //failban value set bitwise - compared with BAN_ 742 int failban;743 int cleaned;738 int32_t failban; 739 int32_t cleaned; 744 740 struct s_client *next; //make client a linked list 745 741 }; … … 749 745 struct geo_cache 750 746 { 751 u longprovid;747 uint32_t provid; 752 748 uchar geo[256]; 753 749 uchar geo_len; 754 int number_ecm;750 int32_t number_ecm; 755 751 }; 756 752 // for videoguard in s_reader … … 771 767 //ratelimit 772 768 struct ecmrl { 773 u short srvid;769 uint16_t srvid; 774 770 time_t last; 775 771 }; … … 778 774 struct s_reader //contains device info, reader info and card info 779 775 { 780 u longauprovid; // AU only for this provid781 int audisabled; // exclude reader from auto AU782 int smargopatch;776 uint32_t auprovid; // AU only for this provid 777 int32_t audisabled; // exclude reader from auto AU 778 int32_t smargopatch; 783 779 struct s_client * client; //pointer to 'r'client this reader is running in 784 int enable;785 int available; //Schlocke: New flag for loadbalancing. Only reader if reader supports ph.c_available function786 int fd_error;787 int fd;788 uint64 grp;789 int fallback;790 int typ;780 int32_t enable; 781 int32_t available; //Schlocke: New flag for loadbalancing. Only reader if reader supports ph.c_available function 782 int32_t fd_error; 783 int32_t fd; 784 uint64_t grp; 785 int32_t fallback; 786 int32_t typ; 791 787 char label[64]; 792 788 char device[128]; 793 789 void *spec_dev; //pointer to structure that contains specific device data 794 u short slot; //in case of multiple slots like sc8in1; first slot = 1795 int handle; //device handle796 int fdmc; //device handle for multicam790 uint16_t slot; //in case of multiple slots like sc8in1; first slot = 1 791 int32_t handle; //device handle 792 int32_t fdmc; //device handle for multicam 797 793 #ifdef WITH_STAPI 798 u nsigned int stsmart_handle; //device handle for stsmart driver794 uint32_t stsmart_handle; //device handle for stsmart driver 799 795 #endif 800 796 char pcsc_name[128]; 801 int pcsc_has_card;802 int detect;803 int mhz; //actual clock rate of reader in 10khz steps804 int cardmhz; //standard clock speed your card should have in 10khz steps; normally 357 but for Irdeto cards 600805 int r_port;797 int32_t pcsc_has_card; 798 int32_t detect; 799 int32_t mhz; //actual clock rate of reader in 10khz steps 800 int32_t cardmhz; //standard clock speed your card should have in 10khz steps; normally 357 but for Irdeto cards 600 801 int32_t r_port; 806 802 char r_usr[64]; 807 803 char r_pwd[64]; 808 804 char l_pwd[64]; 809 int r_crypted;810 int l_port;811 int log_port;805 int32_t r_crypted; 806 int32_t l_port; 807 int32_t log_port; 812 808 CAIDTAB ctab; 813 u longboxid;814 int nagra_read; // read nagra ncmed records: 0 disabled (default), 1 read all records, 2 read valid records only809 uint32_t boxid; 810 int32_t nagra_read; // read nagra ncmed records: 0 disabled (default), 1 read all records, 2 read valid records only 815 811 uchar nagra_boxkey[16]; //n3 boxkey 8byte or tiger idea key 16byte 816 812 char country_code[3]; // irdeto country code. 817 int force_irdeto;813 int32_t force_irdeto; 818 814 uchar rsa_mod[120]; //rsa modulus for nagra cards. 819 815 uchar atr[64]; 820 int atrlen;816 int32_t atrlen; 821 817 SIDTABBITS sidtabok; // positiv services 822 818 SIDTABBITS sidtabno; // negative services 823 819 uchar hexserial[8]; 824 int nprov;820 int32_t nprov; 825 821 uchar prid[CS_MAXPROV][8]; 826 822 uchar availkeys[CS_MAXPROV][16]; // viaccess; misused in seca, if availkeys[PROV][0]=0 then expired, 1 then valid. 827 823 uchar sa[CS_MAXPROV][4]; // viaccess & seca 828 u short acs; // irdeto829 u short caid;824 uint16_t acs; // irdeto 825 uint16_t caid; 830 826 uint16_t b_nano; 831 827 uint16_t s_nano; 832 int blockemm;828 int32_t blockemm; 833 829 char * emmfile; 834 830 char pincode[5]; 835 int ucpk_valid;836 int logemm;837 int cachemm;838 int rewritemm;839 int card_status;840 int deprecated; //if 0 ATR obeyed, if 1 default speed (9600) is chosen; for devices that cannot switch baudrate831 int32_t ucpk_valid; 832 int32_t logemm; 833 int32_t cachemm; 834 int32_t rewritemm; 835 int32_t card_status; 836 int32_t deprecated; //if 0 ATR obeyed, if 1 default speed (9600) is chosen; for devices that cannot switch baudrate 841 837 struct s_module ph; 842 838 struct s_cardreader crdr; … … 844 840 uchar ncd_key[16]; 845 841 uchar ncd_skey[16]; 846 int ncd_disable_server_filt;847 u short ncd_msgid;848 int ncd_proto;842 int32_t ncd_disable_server_filt; 843 uint16_t ncd_msgid; 844 int32_t ncd_proto; 849 845 char cc_version[7]; // cccam version 850 846 char cc_build[7]; // cccam build number 851 int cc_maxhop; // cccam max distance852 int cc_mindown; // cccam min downhops853 int cc_currenthops; // number of hops for CCCam854 int cc_want_emu; //Schlocke: Client want to have EMUs, 0 - NO; 1 - YES855 uint32 cc_id;856 int cc_keepalive;847 int32_t cc_maxhop; // cccam max distance 848 int32_t cc_mindown; // cccam min downhops 849 int32_t cc_currenthops; // number of hops for CCCam 850 int32_t cc_want_emu; //Schlocke: Client want to have EMUs, 0 - NO; 1 - YES 851 uint32_t cc_id; 852 int32_t cc_keepalive; 857 853 uchar tcp_connected; 858 int tcp_ito; // inactivity timeout859 int tcp_rto; // reconnect timeout854 int32_t tcp_ito; // inactivity timeout 855 int32_t tcp_rto; // reconnect timeout 860 856 struct timeb tcp_block_connect_till; //time tcp connect ist blocked 861 int tcp_block_delay; //incrementing block time857 int32_t tcp_block_delay; //incrementing block time 862 858 time_t last_g; // get (if last_s-last_g>tcp_rto - reconnect ) 863 859 time_t last_s; // send … … 867 863 CLASSTAB cltab; 868 864 char *init_history; 869 int init_history_pos;870 int brk_pos;871 int msg_idx;865 int32_t init_history_pos; 866 int32_t brk_pos; 867 int32_t msg_idx; 872 868 #ifdef WEBIF 873 int emmwritten[4]; //count written EMM874 int emmskipped[4]; //count skipped EMM875 int emmerror[4]; //count error EMM876 int emmblocked[4]; //count blocked EMM877 int lbvalue; //loadbalance Value869 int32_t emmwritten[4]; //count written EMM 870 int32_t emmskipped[4]; //count skipped EMM 871 int32_t emmerror[4]; //count error EMM 872 int32_t emmblocked[4]; //count blocked EMM 873 int32_t lbvalue; //loadbalance Value 878 874 #endif 879 875 #ifdef HAVE_PCSC … … 883 879 #endif 884 880 #ifdef LIBUSB 885 uint8_t device_endpoint; // usb endpoint for Infinity USB Smart in smartreader mode.881 uint8_t device_endpoint; // usb endpoint32_t for Infinity USB Smart in smartreader mode. 886 882 struct s_sr_config *sr_config; 887 883 #endif 888 884 #ifdef AZBOX 889 int mode;885 int32_t mode; 890 886 #endif 891 887 ////variables from icc_async.h start 892 int convention; //Convention of this ICC888 int32_t convention; //Convention of this ICC 893 889 unsigned char protocol_type; // Type of protocol 894 u nsigned short BWT,CWT; // (for overclocking uncorrected) block waiting time, character waiting time, in ETU895 u nsigned longcurrent_baudrate; // (for overclocking uncorrected) baudrate to prevent unnecessary conversions from/to termios structure896 u nsigned int read_timeout; // Max timeout (ms) to receive characters897 u nsigned int block_delay; // Delay (ms) after starting to transmit898 u nsigned int char_delay; // Delay (ms) after transmiting each sucesive char890 uint16_t BWT,CWT; // (for overclocking uncorrected) block waiting time, character waiting time, in ETU 891 uint32_t current_baudrate; // (for overclocking uncorrected) baudrate to prevent unnecessary conversions from/to termios structure 892 uint32_t read_timeout; // Max timeout (ms) to receive characters 893 uint32_t block_delay; // Delay (ms) after starting to transmit 894 uint32_t char_delay; // Delay (ms) after transmiting each sucesive char 899 895 ////variables from io_serial.h 900 int written; //keep score of how much bytes are written to serial port, since they are echoed back they have to be read896 int32_t written; //keep score of how much bytes are written to serial port, since they are echoed back they have to be read 901 897 ////variables from protocol_t1.h 902 u nsigned short ifsc; /* Information field size for the ICC */898 uint16_t ifsc; /* Information field size for the ICC */ 903 899 unsigned char ns; /* Send sequence number */ 904 900 ////variables from reader-dre.c … … 906 902 ////variables from reader-nagra.c 907 903 IDEA_KEY_SCHEDULE ksSession; 908 int is_pure_nagra;909 int is_tiger;910 int is_n3_na;911 int has_dt08;912 int swapCW;904 int32_t is_pure_nagra; 905 int32_t is_tiger; 906 int32_t is_n3_na; 907 int32_t has_dt08; 908 int32_t swapCW; 913 909 uint8_t ExpiryDate[2]; 914 910 uint8_t ActivationDate[2]; … … 921 917 unsigned char cam_state[3]; 922 918 ////variables from reader-irdeto.c 923 int acs57; // A flag for the ACS57 ITA DVB-T919 int32_t acs57; // A flag for the ACS57 ITA DVB-T 924 920 ////variables from reader-cryptoworks.c 925 921 BIGNUM exp; … … 927 923 ////variables from reader-viaccess.c 928 924 struct geo_cache last_geo; 929 int cc_reshare;930 int lb_weight; //loadbalance weight factor, if unset, weight=100. The higher the value, the higher the usage-possibility931 int lb_usagelevel; //usagelevel for loadbalancer932 int lb_usagelevel_ecmcount;925 int32_t cc_reshare; 926 int32_t lb_weight; //loadbalance weight factor, if unset, weight=100. The higher the value, the higher the usage-possibility 927 int32_t lb_usagelevel; //usagelevel for loadbalancer 928 int32_t lb_usagelevel_ecmcount; 933 929 time_t lb_usagelevel_time; //time for counting ecms, this creates usagelevel 934 930 struct timeb lb_last; //time for oldest reader … … 937 933 AES_ENTRY *aes_list; 938 934 // variables from reader-videoguard* 939 int ndsversion; // 0 auto (default), 1 NDS1, 12 NDS1+, 2 NDS2935 int32_t ndsversion; // 0 auto (default), 1 NDS1, 12 NDS1+, 2 NDS2 940 936 const char * card_desc; 941 int card_baseyear;942 int card_tierstart;943 int card_system_version;937 int32_t card_baseyear; 938 int32_t card_tierstart; 939 int32_t card_system_version; 944 940 struct s_CmdTab *cmd_table; 945 u nsigned short cardkeys[3][32];941 uint16_t cardkeys[3][32]; 946 942 unsigned char stateD3A[16]; 947 943 AES_KEY ekey; 948 944 AES_KEY astrokey; 949 945 //ratelimit 950 int ratelimitecm;951 int ratelimitseconds;946 int32_t ratelimitecm; 947 int32_t ratelimitseconds; 952 948 struct ecmrl rlecmh[MAXECMRATELIMIT]; 953 int fix_9993;949 int32_t fix_9993; 954 950 struct s_reader *next; 955 951 }; … … 958 954 struct s_cpmap 959 955 { 960 u short caid;961 u longprovid;962 u short sid;963 u short chid;964 u short dwtime;956 uint16_t caid; 957 uint32_t provid; 958 uint16_t sid; 959 uint16_t chid; 960 uint16_t dwtime; 965 961 struct s_cpmap *next; 966 962 }; … … 974 970 char description[64]; 975 971 #endif 976 int uniq;972 int32_t uniq; 977 973 LLIST *aureader_list; 978 int autoau;979 int monlvl;980 uint64 grp;981 int tosleep;974 int32_t autoau; 975 int32_t monlvl; 976 uint64_t grp; 977 int32_t tosleep; 982 978 CAIDTAB ctab; 983 979 SIDTABBITS sidtabok; // positiv services … … 988 984 TUNTAB ttab; 989 985 #ifdef CS_ANTICASC 990 int ac_users; // 0 - unlimited986 int32_t ac_users; // 0 - unlimited 991 987 uchar ac_penalty; // 0 - log, >0 - fake dw 992 988 struct s_acasc ac_stat; … … 996 992 time_t expirationdate; 997 993 time_t firstlogin; 998 int allowedtimeframe[2];999 int c35_suppresscmd08;1000 int c35_sleepsend;1001 int ncd_keepalive;1002 int cccmaxhops;1003 int cccreshare;1004 int cccignorereshare;1005 int cccstealth;1006 int disabled;1007 int failban;994 int32_t allowedtimeframe[2]; 995 int32_t c35_suppresscmd08; 996 int32_t c35_sleepsend; 997 int32_t ncd_keepalive; 998 int32_t cccmaxhops; 999 int32_t cccreshare; 1000 int32_t cccignorereshare; 1001 int32_t cccstealth; 1002 int32_t disabled; 1003 int32_t failban; 1008 1004 1009 int cwfound;1010 int cwcache;1011 int cwnot;1012 int cwtun;1013 int cwignored;1014 int cwtout;1015 int emmok;1016 int emmnok;1005 int32_t cwfound; 1006 int32_t cwcache; 1007 int32_t cwnot; 1008 int32_t cwtun; 1009 int32_t cwignored; 1010 int32_t cwtout; 1011 int32_t emmok; 1012 int32_t emmnok; 1017 1013 1018 1014 struct s_auth *next; … … 1021 1017 struct s_srvid 1022 1018 { 1023 int srvid;1024 int ncaid;1025 int caid[10];1019 int32_t srvid; 1020 int32_t ncaid; 1021 int32_t caid[10]; 1026 1022 char *data; 1027 1023 char *prov; … … 1034 1030 struct s_tierid 1035 1031 { 1036 int tierid;1037 int ncaid;1038 int caid[10];1032 int32_t tierid; 1033 int32_t ncaid; 1034 int32_t caid[10]; 1039 1035 char name[33]; 1040 1036 struct s_tierid *next; … … 1044 1040 struct s_provid 1045 1041 { 1046 int caid;1047 u longprovid;1042 int32_t caid; 1043 uint32_t provid; 1048 1044 char prov[33]; 1049 1045 char sat[33]; … … 1060 1056 struct s_config 1061 1057 { 1062 int nice;1063 u longnetprio;1064 u longctimeout;1065 u longftimeout;1066 u longcmaxidle;1067 int ulparent;1068 u longdelay;1069 int bindwait;1070 int tosleep;1058 int32_t nice; 1059 uint32_t netprio; 1060 uint32_t ctimeout; 1061 uint32_t ftimeout; 1062 uint32_t cmaxidle; 1063 int32_t ulparent; 1064 uint32_t delay; 1065 int32_t bindwait; 1066 int32_t tosleep; 1071 1067 in_addr_t srvip; 1072 1068 char *usrfile; 1073 1069 char *cwlogdir; 1074 1070 char *logfile; 1075 uint8 logtostdout;1076 uint8 logtosyslog;1077 int disablelog;1078 int disableuserfile;1079 int usrfileflag;1071 uint8_t logtostdout; 1072 uint8_t logtosyslog; 1073 int32_t disablelog; 1074 int32_t disableuserfile; 1075 int32_t usrfileflag; 1080 1076 struct s_auth *account; 1081 1077 struct s_srvid *srvid; … … 1084 1080 struct s_provid *provid; 1085 1081 struct s_sidtab *sidtab; 1086 int mon_port;1082 int32_t mon_port; 1087 1083 in_addr_t mon_srvip; 1088 1084 struct s_ip *mon_allowed; 1089 int mon_aulow;1090 int mon_hideclient_to;1091 int mon_level;1092 int mon_appendchaninfo;1085 int32_t mon_aulow; 1086 int32_t mon_hideclient_to; 1087 int32_t mon_level; 1088 int32_t mon_appendchaninfo; 1093 1089 #ifdef WEBIF 1094 int http_port;1090 int32_t http_port; 1095 1091 char http_user[65]; 1096 1092 char http_pwd[65]; … … 1099 1095 char http_tpl[128]; 1100 1096 char http_script[128]; 1101 int http_refresh;1102 int http_hide_idle_clients;1097 int32_t http_refresh; 1098 int32_t http_hide_idle_clients; 1103 1099 struct s_ip *http_allowed; 1104 int http_readonly;1100 int32_t http_readonly; 1105 1101 in_addr_t http_dynip; 1106 1102 uchar http_dyndns[64]; 1107 int http_use_ssl;1103 int32_t http_use_ssl; 1108 1104 char http_cert[128]; 1109 1105 char http_help_lang[3]; 1110 1106 #endif 1111 int http_full_cfg;1112 int failbantime;1113 int failbancount;1107 int32_t http_full_cfg; 1108 int32_t failbantime; 1109 int32_t failbancount; 1114 1110 LLIST *v_list; //failban list 1115 int c33_port;1111 int32_t c33_port; 1116 1112 in_addr_t c33_srvip; 1117 1113 uchar c33_key[16]; 1118 int c33_crypted;1119 int c33_passive;1114 int32_t c33_crypted; 1115 int32_t c33_passive; 1120 1116 struct s_ip *c33_plain; 1121 int c35_port;1117 int32_t c35_port; 1122 1118 in_addr_t c35_srvip; 1123 int c35_suppresscmd08;1124 int c35_tcp_suppresscmd08;1125 int c35_udp_suppresscmd08;1119 int32_t c35_suppresscmd08; 1120 int32_t c35_tcp_suppresscmd08; 1121 int32_t c35_udp_suppresscmd08; 1126 1122 PTAB c35_tcp_ptab; 1127 1123 in_addr_t c35_tcp_srvip; … … 1129 1125 in_addr_t ncd_srvip; 1130 1126 uchar ncd_key[16]; 1131 int ncd_keepalive;1132 int ncd_mgclient;1127 int32_t ncd_keepalive; 1128 int32_t ncd_mgclient; 1133 1129 struct s_ip *ncd_allowed; 1134 1130 PTAB cc_ptab; 1135 int rad_port;1131 int32_t rad_port; 1136 1132 in_addr_t rad_srvip; 1137 int cc_port;1138 int cc_reshare;1139 int cc_ignore_reshare;1140 int cc_update_interval;1133 int32_t cc_port; 1134 int32_t cc_reshare; 1135 int32_t cc_ignore_reshare; 1136 int32_t cc_update_interval; 1141 1137 in_addr_t cc_srvip; 1142 1138 char cc_version[7]; 1143 int cc_minimize_cards;1144 int cc_keep_connected;1145 int cc_stealth;1146 int cc_reshare_services;1147 int cc_forward_origin_card;1139 int32_t cc_minimize_cards; 1140 int32_t cc_keep_connected; 1141 int32_t cc_stealth; 1142 int32_t cc_reshare_services; 1143 int32_t cc_forward_origin_card; 1148 1144 char gbox_hostname[128]; 1149 1145 char gbox_key[9]; 1150 1146 char gbox_gsms_path[200]; 1151 int gbox_port;1147 int32_t gbox_port; 1152 1148 struct s_ip *rad_allowed; 1153 1149 char rad_usr[32]; 1154 1150 char ser_device[512]; 1155 ulong srtimeout; // SerialReaderTimeount in millisec 1156 int max_log_size; 1157 int waitforcards; 1158 int waitforcards_extra_delay; 1159 int preferlocalcards; 1160 int saveinithistory; 1161 int reader_restart_seconds; //schlocke: reader restart auf x seconds, disable = 0 1162 int dropdups; //drop duplicate logins 1151 uint32_t srtimeout; // SerialReaderTimeount in millisec 1152 int32_t max_log_size; 1153 int32_t waitforcards; 1154 int32_t waitforcards_extra_delay; 1155 int32_t preferlocalcards; 1156 int32_t saveinithistory; 1157 int32_t reader_restart_seconds; //schlocke: reader restart auf x seconds, disable = 0 1158 int32_t dropdups; //drop duplicate logins 1159 1163 1160 1164 1161 //Loadbalancer-Config: 1165 int lb_mode; //schlocke: reader loadbalancing mode1166 int lb_save; //schlocke: load/save statistics to file, save every x ecms1167 int lb_nbest_readers; // count of best readers1168 int lb_nfb_readers; // count of fallback readers1169 int lb_min_ecmcount; // minimal ecm count to evaluate lbvalues1170 int lb_max_ecmcount; // maximum ecm count before reseting lbvalues1171 int lb_reopen_seconds; //time between retrying failed readers/caids/prov/srv1172 int lb_retrylimit; //reopen only happens if reader response time > retrylimit1162 int32_t lb_mode; //schlocke: reader loadbalancing mode 1163 int32_t lb_save; //schlocke: load/save statistics to file, save every x ecms 1164 int32_t lb_nbest_readers; // count of best readers 1165 int32_t lb_nfb_readers; // count of fallback readers 1166 int32_t lb_min_ecmcount; // minimal ecm count to evaluate lbvalues 1167 int32_t lb_max_ecmcount; // maximum ecm count before reseting lbvalues 1168 int32_t lb_reopen_seconds; //time between retrying failed readers/caids/prov/srv 1169 int32_t lb_retrylimit; //reopen only happens if reader response time > retrylimit 1173 1170 CAIDVALUETAB lb_retrylimittab; 1174 1171 CAIDVALUETAB lb_nbest_readers_tab; //like nbest_readers, but for special caids 1175 1172 CAIDTAB lb_noproviderforcaid; //do not store loadbalancer stats with providers for this caid 1176 1173 char *lb_savepath; //path where the stat file is save. Empty=default=/tmp/.oscam/stat 1177 int lb_stat_cleanup; //duration in hours for cleaning old statistics1178 int lb_use_locking; //use a mutex lock while searching for readers (get_cw())1179 int lb_reopen_mode; //reopen readers mode1174 int32_t lb_stat_cleanup; //duration in hours for cleaning old statistics 1175 int32_t lb_use_locking; //use a mutex lock while searching for readers (get_cw()) 1176 int32_t lb_reopen_mode; //reopen readers mode 1180 1177 1181 int resolve_gethostbyname;1178 int32_t resolve_gethostbyname; 1182 1179 1183 1180 #ifdef CS_WITH_DOUBLECHECK 1184 int double_check; //schlocke: Double checks each ecm+dcw from two (or more) readers1181 int32_t double_check; //schlocke: Double checks each ecm+dcw from two (or more) readers 1185 1182 #endif 1186 1183 … … 1190 1187 1191 1188 #ifdef HAVE_DVBAPI 1192 int dvbapi_enabled;1193 int dvbapi_au;1189 int32_t dvbapi_enabled; 1190 int32_t dvbapi_au; 1194 1191 char dvbapi_usr[64]; 1195 int dvbapi_boxtype;1196 int dvbapi_pmtmode;1197 int dvbapi_requestmode;1192 int32_t dvbapi_boxtype; 1193 int32_t dvbapi_pmtmode; 1194 int32_t dvbapi_requestmode; 1198 1195 SIDTABBITS dvbapi_sidtabok; // positiv services 1199 1196 SIDTABBITS dvbapi_sidtabno; // negative services … … 1202 1199 #ifdef CS_ANTICASC 1203 1200 char ac_enabled; 1204 int ac_users; // num of users for account (0 - default)1205 int ac_stime; // time to collect AC statistics (3 min - default)1206 int ac_samples; // qty of samples1207 int ac_penalty; // 0 - write to log1208 int ac_fakedelay; // 100-1000 ms1209 int ac_denysamples;1201 int32_t ac_users; // num of users for account (0 - default) 1202 int32_t ac_stime; // time to collect AC statistics (3 min - default) 1203 int32_t ac_samples; // qty of samples 1204 int32_t ac_penalty; // 0 - write to log 1205 int32_t ac_fakedelay; // 100-1000 ms 1206 int32_t ac_denysamples; 1210 1207 char ac_logfile[128]; 1211 1208 struct s_cpmap *cpmap; … … 1213 1210 1214 1211 #ifdef QBOXHD_LED 1215 int disableqboxhdled; // disable qboxhd led , default = 01212 int32_t disableqboxhdled; // disable qboxhd led , default = 0 1216 1213 #endif 1217 1214 }; … … 1234 1231 typedef struct reader_stat_t 1235 1232 { 1236 int rc;1237 u short caid;1238 u longprid;1239 u short srvid;1240 short ecmlen;1233 int32_t rc; 1234 uint16_t caid; 1235 uint32_t prid; 1236 uint16_t srvid; 1237 int16_t ecmlen; 1241 1238 1242 1239 time_t last_received; 1243 1240 1244 int ecm_count;1245 int time_avg;1246 int time_stat[LB_MAX_STAT_TIME];1247 int time_idx;1248 1249 int request_count;1250 int fail_factor;1241 int32_t ecm_count; 1242 int32_t time_avg; 1243 int32_t time_stat[LB_MAX_STAT_TIME]; 1244 int32_t time_idx; 1245 1246 int32_t request_count; 1247 int32_t fail_factor; 1251 1248 } READER_STAT; 1252 1249 … … 1272 1269 extern char *trim(char *); 1273 1270 extern char *strtolower(char *); 1274 extern int gethexval(char);1275 extern int cs_atob(uchar *, char *, int);1276 extern u longcs_atoi(char *, int, int);1277 extern int byte_atob(char *);1278 extern longword_atob(char *);1279 extern longdyn_word_atob(char *asc);1280 extern int key_atob_l(char *, uchar *, int);1271 extern int32_t gethexval(char); 1272 extern int32_t cs_atob(uchar *, char *, int); 1273 extern uint32_t cs_atoi(char *, int, int); 1274 extern int32_t byte_atob(char *); 1275 extern int32_t word_atob(char *); 1276 extern int32_t dyn_word_atob(char *asc); 1277 extern int32_t key_atob_l(char *, uchar *, int); 1281 1278 extern char *key_btoa(char *, uchar *); 1282 1279 extern char *cs_hexdump(int, const uchar *, int); … … 1284 1281 extern char *cs_inet_ntoa(in_addr_t); 1285 1282 extern in_addr_t cs_inet_addr(char *txt); 1286 extern u longb2i(int, uchar *);1287 extern u llongb2ll(int, uchar *);1288 extern uchar *i2b(int, u long);1289 extern uchar *i2b_cl(int n, ulongi, struct s_client *cl);1290 extern uchar *i2b_buf(int n, ulongi, uchar *b);1283 extern uint32_t b2i(int, uchar *); 1284 extern uint64_t b2ll(int, uchar *); 1285 extern uchar *i2b(int, uint32_t); 1286 extern uchar *i2b_cl(int32_t n, uint32_t i, struct s_client *cl); 1287 extern uchar *i2b_buf(int32_t n, uint32_t i, uchar *b); 1291 1288 1292 extern u longa2i(char *, int);1293 extern int boundary(int, int);1289 extern uint32_t a2i(char *, int); 1290 extern int32_t boundary(int, int); 1294 1291 extern void cs_ftime(struct timeb *); 1295 extern void cs_sleepms(u nsigned int);1296 extern void cs_sleepus(u nsigned int);1297 extern int bytes_available(int);1292 extern void cs_sleepms(uint32_t); 1293 extern void cs_sleepus(uint32_t); 1294 extern int32_t bytes_available(int); 1298 1295 extern void cs_setpriority(int); 1299 1296 extern struct s_auth *find_user(char *); 1300 extern int check_filled(uchar *value, int length);1301 extern void *cs_malloc(void *result, size_t size, int quiterror);1302 extern void *cs_realloc(void *result, size_t size, int quiterror);1297 extern int32_t check_filled(uchar *value, int32_t length); 1298 extern void *cs_malloc(void *result, size_t size, int32_t quiterror); 1299 extern void *cs_realloc(void *result, size_t size, int32_t quiterror); 1303 1300 #ifdef WEBIF 1304 1301 extern char to_hex(char code); 1305 extern void char_to_hex(const unsigned char* p_array, u nsigned int p_array_len, unsigned char *result);1306 extern void create_rand_str(char *dst, int size);1307 #endif 1308 extern void uint64ToBitchar(uint64 value, int size, char *result);1309 extern int file_exists(const char * filename);1302 extern void char_to_hex(const unsigned char* p_array, uint32_t p_array_len, unsigned char *result); 1303 extern void create_rand_str(char *dst, int32_t size); 1304 #endif 1305 extern void uint64ToBitchar(uint64_t value, int32_t size, char *result); 1306 extern int32_t file_exists(const char * filename); 1310 1307 extern void clear_sip(struct s_ip **sip); 1311 1308 extern void clear_ptab(struct s_ptab *ptab); … … 1313 1310 void clear_caidtab(struct s_caidtab *ctab); 1314 1311 void clear_tuntab(struct s_tuntab *ttab); 1315 extern int file_copy(char *srcfile, char *destfile);1316 extern int safe_overwrite_with_bak(char *destfile, char *tmpfile, char *bakfile, int forceBakOverWrite);1317 extern void fprintf_conf(FILE *f, int varnameWidth, const char *varname, const char *fmtstring, ...);1312 extern int32_t file_copy(char *srcfile, char *destfile); 1313 extern int32_t safe_overwrite_with_bak(char *destfile, char *tmpfile, char *bakfile, int32_t forceBakOverWrite); 1314 extern void fprintf_conf(FILE *f, int32_t varnameWidth, const char *varname, const char *fmtstring, ...); 1318 1315 extern void cs_strncpy(char * destination, const char * source, size_t num); 1319 extern char *get_servicename(int srvid, int caid);1320 extern char *get_tiername(int tierid, int caid);1321 extern char *get_provider(int caid, ulongprovid);1322 extern void make_non_blocking(int fd);1316 extern char *get_servicename(int32_t srvid, int32_t caid); 1317 extern char *get_tiername(int32_t tierid, int32_t caid); 1318 extern char *get_provider(int32_t caid, uint32_t provid); 1319 extern void make_non_blocking(int32_t fd); 1323 1320 extern uchar fast_rnd(void); 1324 1321 extern void init_rnd(void); 1325 extern int hexserialset(struct s_reader *rdr);1322 extern int32_t hexserialset(struct s_reader *rdr); 1326 1323 extern char *monitor_get_proto(struct s_client *); 1327 extern char *reader_get_type_desc(struct s_reader * rdr, int extended);1324 extern char *reader_get_type_desc(struct s_reader * rdr, int32_t extended); 1328 1325 extern char *get_ncd_client_name(char *client_id); 1329 1326 extern char *strnew(char *str); 1330 extern void hexserial_to_newcamd(uchar *source, uchar *dest, u short caid);1331 extern void newcamd_to_hexserial(uchar *source, uchar *dest, u short caid);1332 extern int check_ip(struct s_ip *ip, in_addr_t n);1327 extern void hexserial_to_newcamd(uchar *source, uchar *dest, uint16_t caid); 1328 extern void newcamd_to_hexserial(uchar *source, uchar *dest, uint16_t caid); 1329 extern int32_t check_ip(struct s_ip *ip, in_addr_t n); 1333 1330 1334 1331 extern pthread_key_t getclient; … … 1340 1337 // oscam variables 1341 1338 1342 extern int cs_dblevel, loghistidx;1343 1344 extern u short len4caid[256];1339 extern int32_t cs_dblevel, loghistidx; 1340 1341 extern uint16_t len4caid[256]; 1345 1342 1346 1343 extern struct card_struct *Cards; 1347 1344 //extern struct idstore_struct *idstore; 1348 extern u nsigned long*IgnoreList;1345 extern uint32_t *IgnoreList; 1349 1346 1350 1347 extern struct s_config cfg; … … 1365 1362 extern void cs_exit_oscam(); 1366 1363 extern void cs_restart_oscam(); 1367 extern int cs_get_restartmode();1364 extern int32_t cs_get_restartmode(); 1368 1365 extern void start_thread(void * startroutine, char * nameroutine); 1369 1366 … … 1375 1372 #endif 1376 1373 extern void cs_reload_config(); 1377 extern int recv_from_udpipe(uchar *);1374 extern int32_t recv_from_udpipe(uchar *); 1378 1375 extern char* username(struct s_client *); 1379 extern struct s_client * get_client_by_tid(u nsigned long);1380 extern int chk_bcaid(ECM_REQUEST *, CAIDTAB *);1381 extern void cs_exit(int sig);1382 extern int comp_timeb(struct timeb *tpa, struct timeb *tpb);1376 extern struct s_client * get_client_by_tid(uint32_t); 1377 extern int32_t chk_bcaid(ECM_REQUEST *, CAIDTAB *); 1378 extern void cs_exit(int32_t sig); 1379 extern int32_t comp_timeb(struct timeb *tpa, struct timeb *tpb); 1383 1380 extern struct s_client * create_client(in_addr_t); 1384 extern int cs_auth_client(struct s_client *, struct s_auth *, const char*);1381 extern int32_t cs_auth_client(struct s_client *, struct s_auth *, const char*); 1385 1382 extern void cs_disconnect_client(struct s_client *); 1386 extern int check_cwcache2(ECM_REQUEST *, uint64grp);1387 extern int write_to_pipe(int, int, uchar *, int);1388 extern int read_from_pipe(int, uchar **, int);1389 extern int write_ecm_answer(struct s_reader *, ECM_REQUEST *);1383 extern int32_t check_cwcache2(ECM_REQUEST *, uint64_t grp); 1384 extern int32_t write_to_pipe(int, int, uchar *, int); 1385 extern int32_t read_from_pipe(int, uchar **, int); 1386 extern int32_t write_ecm_answer(struct s_reader *, ECM_REQUEST *); 1390 1387 extern void log_emm_request(struct s_reader *); 1391 extern u long chk_provid(uchar *, ushort);1388 extern uint32_t chk_provid(uchar *, uint16_t); 1392 1389 #ifdef IRDETO_GUESSING 1393 1390 extern void guess_irdeto(ECM_REQUEST *); … … 1397 1394 extern ECM_REQUEST *get_ecmtask(void); 1398 1395 extern void request_cw(ECM_REQUEST *, int, int); 1399 extern int send_dcw(struct s_client *, ECM_REQUEST *);1400 extern int process_input(uchar *, int, int);1401 extern int has_srvid(struct s_client *cl, ECM_REQUEST *er);1402 extern int chk_srvid(struct s_client *, ECM_REQUEST *);1403 extern int chk_srvid_match(ECM_REQUEST *, SIDTAB *);1404 extern int chk_sfilter(ECM_REQUEST *, PTAB*);1405 extern int chk_ufilters(ECM_REQUEST *);1406 extern int chk_rsfilter(struct s_reader * reader, ECM_REQUEST *);1407 extern int matching_reader(ECM_REQUEST *, struct s_reader *);1408 extern int emm_reader_match(struct s_reader *reader, ushort caid, ulongprovid);1409 extern void set_signal_handler(int , int , void (*));1396 extern int32_t send_dcw(struct s_client *, ECM_REQUEST *); 1397 extern int32_t process_input(uchar *, int, int); 1398 extern int32_t has_srvid(struct s_client *cl, ECM_REQUEST *er); 1399 extern int32_t chk_srvid(struct s_client *, ECM_REQUEST *); 1400 extern int32_t chk_srvid_match(ECM_REQUEST *, SIDTAB *); 1401 extern int32_t chk_sfilter(ECM_REQUEST *, PTAB*); 1402 extern int32_t chk_ufilters(ECM_REQUEST *); 1403 extern int32_t chk_rsfilter(struct s_reader * reader, ECM_REQUEST *); 1404 extern int32_t matching_reader(ECM_REQUEST *, struct s_reader *); 1405 extern int32_t emm_reader_match(struct s_reader *reader, uint16_t caid, uint32_t provid); 1406 extern void set_signal_handler(int32_t , int32_t , void (*)); 1410 1407 extern void cs_log_config(void); 1411 1408 extern void cs_waitforcardinit(void); 1412 1409 extern void cs_reinit_clients(struct s_auth *new_accounts); 1413 extern int process_client_pipe(struct s_client *cl, uchar *buf, int l);1410 extern int32_t process_client_pipe(struct s_client *cl, uchar *buf, int32_t l); 1414 1411 extern void update_reader_config(uchar *ptr); 1415 extern int chk_ctab(ushort caid, CAIDTAB *ctab);1416 extern int chk_srvid_by_caid_prov(struct s_client *, ushort caid, ulongprovid);1417 extern void nullclose(int *fd);1412 extern int32_t chk_ctab(uint16_t caid, CAIDTAB *ctab); 1413 extern int32_t chk_srvid_by_caid_prov(struct s_client *, uint16_t caid, uint32_t provid); 1414 extern void nullclose(int32_t *fd); 1418 1415 extern void *clientthread_init(void * init); 1419 1416 extern void cleanup_thread(void *var); 1420 1417 extern void kill_thread(struct s_client *cl); 1421 extern int get_threadnum(struct s_client *client);1422 extern void cs_add_violation(uint ip);1418 extern int32_t get_threadnum(struct s_client *client); 1419 extern void cs_add_violation(uint32_t ip); 1423 1420 1424 1421 extern void cs_card_info(void); … … 1430 1427 extern void ac_clear(); 1431 1428 extern void ac_done_stat(); 1432 extern int ac_init_log();1429 extern int32_t ac_init_log(); 1433 1430 extern void ac_do_stat(void); 1434 1431 extern void ac_init_client(struct s_client *, struct s_auth *); … … 1437 1434 1438 1435 // oscam-config 1439 extern int init_config(void);1440 extern int init_free_userdb(struct s_auth *auth);1436 extern int32_t init_config(void); 1437 extern int32_t init_free_userdb(struct s_auth *auth); 1441 1438 extern struct s_auth *init_userdb(); 1442 extern int init_readerdb(void);1443 extern int init_sidtab(void);1439 extern int32_t init_readerdb(void); 1440 extern int32_t init_sidtab(void); 1444 1441 extern void free_sidtab(struct s_sidtab *sidtab); 1445 1442 extern void init_free_sidtab(); 1446 extern int init_srvid(void);1447 extern int init_tierid(void);1448 extern int search_boxkey(ushort, char *);1443 extern int32_t init_srvid(void); 1444 extern int32_t init_tierid(void); 1445 extern int32_t search_boxkey(uint16_t, char *); 1449 1446 extern void init_len4caid(void); 1450 1447 #ifdef IRDETO_GUESSING 1451 extern int init_irdeto_guess_tab(void);1448 extern int32_t init_irdeto_guess_tab(void); 1452 1449 #endif 1453 1450 extern void chk_caidtab(char *caidasc, CAIDTAB *ctab); … … 1486 1483 extern void chk_account(const char *token, char *value, struct s_auth *account); 1487 1484 extern void chk_sidtab(char *token, char *value, struct s_sidtab *sidtab); 1488 extern int write_services();1489 extern int write_userdb(struct s_auth *authptr);1490 extern int write_config();1491 extern int write_server();1485 extern int32_t write_services(); 1486 extern int32_t write_userdb(struct s_auth *authptr); 1487 extern int32_t write_config(); 1488 extern int32_t write_server(); 1492 1489 extern void write_versionfile(); 1493 1490 extern char *mk_t_caidtab(CAIDTAB *ctab); 1494 1491 extern char *mk_t_caidvaluetab(CAIDVALUETAB *tab); 1495 1492 extern char *mk_t_tuntab(TUNTAB *ttab); 1496 extern char *mk_t_group(uint64 grp);1493 extern char *mk_t_group(uint64_t grp); 1497 1494 extern char *mk_t_ftab(FTAB *ftab); 1498 1495 extern char *mk_t_camd35tcp_port(); … … 1501 1498 extern char *mk_t_aureader(struct s_auth *account); 1502 1499 extern char *mk_t_nano(struct s_reader *rdr, uchar flag); 1503 extern char *mk_t_service( uint64 sidtabok, uint64sidtabno);1500 extern char *mk_t_service( uint64_t sidtabok, uint64_t sidtabno); 1504 1501 extern char *mk_t_logfile(); 1505 1502 extern char *mk_t_iprange(struct s_ip *range); … … 1507 1504 1508 1505 //Todo #ifdef CCCAM 1509 extern int init_provid();1506 extern int32_t init_provid(); 1510 1507 extern char * get_tmp_dir(); 1511 1508 extern void init_share(); … … 1513 1510 1514 1511 // oscam-reader 1515 extern int logfd;1516 extern int reader_cmd2icc(struct s_reader * reader, const uchar *buf, const int l, uchar *response, ushort *response_length);1517 extern int card_write(struct s_reader * reader, const uchar *, const uchar *, uchar *, ushort *);1518 extern int check_sct_len(const unsigned char *data, int off);1512 extern int32_t logfd; 1513 extern int32_t reader_cmd2icc(struct s_reader * reader, const uchar *buf, const int32_t l, uchar *response, uint16_t *response_length); 1514 extern int32_t card_write(struct s_reader * reader, const uchar *, const uchar *, uchar *, uint16_t *); 1515 extern int32_t check_sct_len(const unsigned char *data, int32_t off); 1519 1516 extern void cs_ri_brk(struct s_reader * reader, int); 1520 1517 extern void cs_ri_log(struct s_reader * reader, char *,...); 1521 1518 extern void * start_cardreader(void *); 1522 1519 extern void reader_card_info(struct s_reader * reader); 1523 extern int hostResolve(struct s_reader * reader);1524 extern int network_tcp_connection_open();1520 extern int32_t hostResolve(struct s_reader * reader); 1521 extern int32_t network_tcp_connection_open(); 1525 1522 extern void network_tcp_connection_close(struct s_client *, int); 1526 extern int casc_recv_timer(struct s_reader * reader, uchar *buf, int l, int msec);1523 extern int32_t casc_recv_timer(struct s_reader * reader, uchar *buf, int32_t l, int32_t msec); 1527 1524 extern void clear_reader_pipe(struct s_reader * reader); 1528 1525 extern void block_connect(struct s_reader *rdr); 1529 extern int is_connect_blocked(struct s_reader *rdr);1526 extern int32_t is_connect_blocked(struct s_reader *rdr); 1530 1527 1531 1528 // oscam-log 1532 extern int cs_init_log();1533 extern int cs_open_logfiles();1529 extern int32_t cs_init_log(); 1530 extern int32_t cs_open_logfiles(); 1534 1531 extern void cs_write_log(char *); 1535 1532 extern void cs_log(const char *,...); 1536 1533 #ifdef WITH_DEBUG 1537 extern void cs_debug_mask(u nsigned short, const char *,...);1538 extern void cs_ddump_mask(u nsigned short, const uchar *, int, char *, ...);1534 extern void cs_debug_mask(uint16_t, const char *,...); 1535 extern void cs_ddump_mask(uint16_t, const uchar *, int, char *, ...); 1539 1536 #else 1540 1537 #define nop() asm volatile("nop") … … 1545 1542 #endif 1546 1543 extern void cs_close_log(void); 1547 extern int cs_init_statistics();1544 extern int32_t cs_init_statistics(); 1548 1545 extern void cs_dump(const uchar *, int, char *, ...); 1549 1546 1550 1547 // oscam-aes 1551 1548 extern void aes_set_key(char *); 1552 extern void add_aes_entry(struct s_reader *rdr, u short caid, uint32 ident, int keyid, uchar *aesKey);1549 extern void add_aes_entry(struct s_reader *rdr, uint16_t caid, uint32_t ident, int32_t keyid, uchar *aesKey); 1553 1550 extern void aes_encrypt_idx(struct s_client *, uchar *, int); 1554 1551 extern void aes_decrypt(uchar *, int); 1555 extern int aes_decrypt_from_list(AES_ENTRY *list, ushort caid, uint32 provid,int keyid, uchar *buf, int n);1556 extern int aes_present(AES_ENTRY *list, ushort caid, uint32 provid,int keyid);1552 extern int32_t aes_decrypt_from_list(AES_ENTRY *list, uint16_t caid, uint32_t provid,int32_t keyid, uchar *buf, int32_t n); 1553 extern int32_t aes_present(AES_ENTRY *list, uint16_t caid, uint32_t provid,int32_t keyid); 1557 1554 extern void parse_aes_keys(struct s_reader *rdr,char *value); 1558 1555 extern void aes_clear_entries(struct s_reader *rdr); … … 1561 1558 1562 1559 // reader-common 1563 extern int reader_device_init(struct s_reader * reader);1564 extern int reader_checkhealth(struct s_reader * reader);1560 extern int32_t reader_device_init(struct s_reader * reader); 1561 extern int32_t reader_checkhealth(struct s_reader * reader); 1565 1562 extern void reader_post_process(struct s_reader * reader); 1566 extern int reader_ecm(struct s_reader * reader, ECM_REQUEST *);1567 extern int reader_emm(struct s_reader * reader, EMM_PACKET *);1568 int reader_get_emm_type(EMM_PACKET *ep, struct s_reader * reader);1569 struct s_cardsystem *get_cardsystem_by_caid(u short caid);1563 extern int32_t reader_ecm(struct s_reader * reader, ECM_REQUEST *); 1564 extern int32_t reader_emm(struct s_reader * reader, EMM_PACKET *); 1565 int32_t reader_get_emm_type(EMM_PACKET *ep, struct s_reader * reader); 1566 struct s_cardsystem *get_cardsystem_by_caid(uint16_t caid); 1570 1567 extern void reader_device_close(struct s_reader * reader); 1571 1568 1572 1569 //module-stat 1573 1570 extern void init_stat(); 1574 extern int get_best_reader(ECM_REQUEST *er);1571 extern int32_t get_best_reader(ECM_REQUEST *er); 1575 1572 extern void clear_reader_stat(struct s_reader *reader); 1576 extern void add_stat(struct s_reader *rdr, ECM_REQUEST *er, int ecm_time, int rc);1573 extern void add_stat(struct s_reader *rdr, ECM_REQUEST *er, int32_t ecm_time, int32_t rc); 1577 1574 extern void load_stat_from_file(); 1578 1575 extern void save_stat_to_file(int); 1579 1576 extern void clear_all_stat(); 1580 extern void housekeeping_stat(int force);1577 extern void housekeeping_stat(int32_t force); 1581 1578 1582 1579 #ifdef HAVE_PCSC … … 1604 1601 1605 1602 // protocol modules 1606 extern int monitor_send_idx(struct s_client *, char *);1603 extern int32_t monitor_send_idx(struct s_client *, char *); 1607 1604 extern void module_monitor(struct s_module *); 1608 1605 extern void module_camd35(struct s_module *); … … 1627 1624 // oscam-garbage 1628 1625 #ifdef WITH_DEBUG 1629 extern void add_garbage_debug(void *data, char *file, int line);1626 extern void add_garbage_debug(void *data, char *file, int32_t line); 1630 1627 #define add_garbage(x) add_garbage_debug(x,__FILE__, __LINE__) 1631 1628 #else
Note:
See TracChangeset
for help on using the changeset viewer.