2019-01-25 15:58:24 +00:00
|
|
|
/*
|
|
|
|
* Humax EPG Tool
|
|
|
|
* by af123, 2011
|
|
|
|
*/
|
2011-06-01 23:34:35 +00:00
|
|
|
|
|
|
|
#include "epg.h"
|
2011-06-02 11:14:43 +00:00
|
|
|
#include "descriptor.h"
|
|
|
|
#include "util.h"
|
2011-06-01 23:34:35 +00:00
|
|
|
|
2011-06-04 21:45:40 +00:00
|
|
|
#define SYSOPT_PARSABLE 0x1
|
|
|
|
#define SYSOPT_BRIEF 0x2
|
2011-06-02 23:51:14 +00:00
|
|
|
|
2011-06-01 23:34:35 +00:00
|
|
|
extern int debug;
|
|
|
|
extern const char *version;
|
|
|
|
extern unsigned long sysopts;
|
2011-06-08 20:56:01 +00:00
|
|
|
extern unsigned long filterflags;
|
2011-06-01 23:34:35 +00:00
|
|
|
|
|
|
|
inline uint16_t read_uint16(uint8_t *, int);
|
|
|
|
inline uint32_t read_uint32(uint8_t *, int);
|
|
|
|
void hexdump(uint8_t *, uint32_t, uint32_t);
|
2011-06-02 11:14:43 +00:00
|
|
|
char *hexstr(uint8_t *, uint32_t);
|
|
|
|
char *ctime_nl(time_t *);
|
2011-06-02 23:51:14 +00:00
|
|
|
time_t mjd(uint16_t, int, int, int);
|
|
|
|
void safeprintf(char *, ...);
|
2011-06-05 20:27:10 +00:00
|
|
|
void uncompress_epg(char **, unsigned int *);
|
2017-03-09 15:25:49 +00:00
|
|
|
void iso6937_convert(char **, unsigned int *);
|
2011-06-01 23:34:35 +00:00
|
|
|
|
|
|
|
struct epg *open_file(char *);
|
|
|
|
void close_file(struct epg *);
|
2011-06-03 10:27:40 +00:00
|
|
|
void add_epgfilter(struct epgfilter **, enum epgfiltertype,
|
2011-06-04 21:45:40 +00:00
|
|
|
unsigned long, unsigned long, char *, enum matchtype);
|
2011-06-01 23:34:35 +00:00
|
|
|
|
2011-06-02 11:14:43 +00:00
|
|
|
struct section *read_section(struct epg *);
|
|
|
|
void dump_section(struct section *);
|
2011-06-01 23:34:35 +00:00
|
|
|
|
|
|
|
struct data *read_data(struct epg *);
|
|
|
|
void dump_data(struct data *);
|
|
|
|
|
2017-06-26 21:47:32 +00:00
|
|
|
int parse(char *,
|
2011-06-02 23:51:14 +00:00
|
|
|
void (*)(struct epg *, struct section *, struct data *,
|
2011-06-03 10:27:40 +00:00
|
|
|
struct descriptor **, void *), void *, struct epgfilter *);
|
2011-06-02 23:51:14 +00:00
|
|
|
|
2011-06-02 11:14:43 +00:00
|
|
|
struct descriptor *read_descriptor_header(struct epg *);
|
|
|
|
void read_descriptor(struct epg *, struct descriptor *);
|
|
|
|
void skip_descriptor(struct epg *, struct descriptor *);
|
|
|
|
void dump_descriptor(struct descriptor *, int);
|
2011-06-02 15:21:56 +00:00
|
|
|
void free_descriptor(struct descriptor *);
|
2011-06-06 13:48:49 +00:00
|
|
|
const char *content_type(struct descriptor *);
|
2011-06-02 01:32:55 +00:00
|
|
|
|
2011-06-05 18:23:29 +00:00
|
|
|
unsigned char *freeview_huffman_to_string(const unsigned char *, uint,
|
|
|
|
unsigned int *);
|
|
|
|
|
2011-06-05 22:09:29 +00:00
|
|
|
int is_bst(time_t);
|
|
|
|
void bstise(time_t *);
|
|
|
|
|
2011-06-02 23:51:14 +00:00
|
|
|
char *strcasestr (char *, char *);
|
|
|
|
|