aboutsummaryrefslogtreecommitdiffstats
path: root/util/alevt/vbi.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/alevt/vbi.h')
-rw-r--r--util/alevt/vbi.h47
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