1 #ifndef OSCAM_CONFIG_H_
2 #define OSCAM_CONFIG_H_
4 char *get_config_filename(char *dest
, size_t destlen
, const char *filename
);
6 int32_t init_config(void);
7 void config_set(char *section
, const char *token
, char *value
);
8 void config_free(void);
9 int32_t write_config(void);
11 void chk_account(const char *token
, char *value
, struct s_auth
*account
);
12 void account_set_defaults(struct s_auth
*auth
);
13 int32_t init_free_userdb(struct s_auth
*auth
);
14 struct s_auth
*init_userdb(void);
15 int32_t write_userdb(void);
16 void cs_accounts_chk(void);
18 void chk_reader(char *token
, char *value
, struct s_reader
*rdr
);
19 void reader_set_defaults(struct s_reader
*rdr
);
20 int32_t init_readerdb(void);
21 void free_reader(struct s_reader
*rdr
);
22 int32_t free_readerdb(void);
23 int32_t write_server(void);
24 void reload_readerdb(void);
25 void reader_fixups_fn(void *var
);
27 void chk_sidtab(char *token
, char *value
, struct s_sidtab
*sidtab
);
28 int32_t init_sidtab(void);
29 void init_free_sidtab(void);
30 void free_sidtab(struct s_sidtab
*sidtab
);
31 int32_t write_services(void);
33 int32_t chk_global_whitelist(ECM_REQUEST
*er
, uint32_t *line
);
34 void global_whitelist_read(void);
35 struct ecmrl
get_ratelimit(ECM_REQUEST
*er
); // get ratelimits for ecm request (if available)
36 void ratelimit_read(void);
37 int32_t init_provid(void);
38 int32_t init_srvid(void);
39 int32_t init_tierid(void);
40 int32_t init_fakecws(void);
43 struct ecmtw
get_twin(ECM_REQUEST
*er
); // get twin channel
47 /* Shared parser functions */
48 void check_caidtab_fn(const char *token
, char *value
, void *setting
, FILE *f
);
49 void caidvaluetab_fn(const char *token
, char *value
, void *setting
, FILE *f
);
50 void cacheex_valuetab_fn(const char *token
, char *value
, void *setting
, FILE *f
);
51 void cacheex_hitvaluetab_fn(const char *token
, char *value
, void *setting
, FILE *f
);
52 void class_fn(const char *token
, char *value
, void *setting
, FILE *f
);
53 void group_fn(const char *token
, char *value
, void *setting
, FILE *f
);
54 void services_fn(const char *token
, char *value
, void *setting
, FILE *f
);
55 void chk_ftab_fn(const char *token
, char *value
, void *setting
, FILE *f
);
64 FTAB_LOCALCARDS
= 0x20,
65 FTAB_IGNCHKSMCAID
= 0x40,
66 FTAB_IGNCRCCEX4USERONLYFOR
= 0x80,
68 FTAB_CCCGBXRESHARE
= 0x200
71 void ftab_fn(const char *token
, char *value
, void *setting
, long ftab_type
, FILE *f
);