diff options
Diffstat (limited to 'util/alevt/vbi.h')
-rw-r--r-- | util/alevt/vbi.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/util/alevt/vbi.h b/util/alevt/vbi.h new file mode 100644 index 0000000..edb9dab --- /dev/null +++ b/util/alevt/vbi.h @@ -0,0 +1,47 @@ +#ifndef VBI_H +#define VBI_H + +#include "vt.h" +#include "dllist.h" +#include "cache.h" +#include "lang.h" + +#define PLL_ADJUST 4 + +struct raw_page +{ + struct vt_page page[1]; + struct enhance enh[1]; +}; + +struct vbi +{ + int fd; + struct cache *cache; + struct dl_head clients[1]; + // page assembly + struct raw_page rpage[8]; // one for each magazin + struct raw_page *ppage; // points to page of previous pkt0 + // DVB stuff + unsigned int ttpid; + u_int16_t sid; +}; + +struct vbi_client +{ + struct dl_node node[1]; + void (*handler)(void *data, struct vt_event *ev); + void *data; +}; + +struct vbi *vbi_open(char *vbi_dev_name, struct cache *ca, + const char *channel, char *outfile, u_int16_t sid, int ttpid); +void vbi_close(struct vbi *vbi); +void vbi_reset(struct vbi *vbi); +int vbi_add_handler(struct vbi *vbi, void *handler, void *data); +void vbi_del_handler(struct vbi *vbi, void *handler, void *data); +struct vt_page *vbi_query_page(struct vbi *vbi, int pgno, int subno); + +struct vbi *open_null_vbi(struct cache *ca); +void send_errmsg(struct vbi *vbi, char *errmsg, ...); +#endif |