summaryrefslogtreecommitdiff
path: root/package/lqtapi/src/include/linux/tapi/tapi-event.h
diff options
context:
space:
mode:
Diffstat (limited to 'package/lqtapi/src/include/linux/tapi/tapi-event.h')
-rw-r--r--package/lqtapi/src/include/linux/tapi/tapi-event.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/package/lqtapi/src/include/linux/tapi/tapi-event.h b/package/lqtapi/src/include/linux/tapi/tapi-event.h
new file mode 100644
index 0000000000..925c71369d
--- /dev/null
+++ b/package/lqtapi/src/include/linux/tapi/tapi-event.h
@@ -0,0 +1,37 @@
+#ifndef __LINUX_TAPI_TAPI_EVENT_H__
+#define __LINUX_TAPI_TAPI_EVENT_H__
+
+
+struct tapi_device;
+struct tapi_port;
+
+struct tapi_hook_event {
+ bool on;
+};
+
+struct tapi_dtmf_event {
+ unsigned char code;
+};
+
+enum tapi_event_type {
+ TAPI_EVENT_TYPE_HOOK,
+ TAPI_EVENT_TYPE_DTMF,
+};
+
+struct tapi_event {
+ struct timeval time;
+ enum tapi_event_type type;
+ unsigned int port;
+ union {
+ struct tapi_hook_event hook;
+ struct tapi_dtmf_event dtmf;
+ };
+};
+
+void tapi_report_event(struct tapi_device *tdev, struct tapi_event *event);
+void tapi_report_hook_event(struct tapi_device *tdev, struct tapi_port *port,
+ bool on);
+void tapi_report_dtmf_event(struct tapi_device *tdev, struct tapi_port *port,
+ unsigned char code);
+
+#endif