diff options
author | John Crispin <john@openwrt.org> | 2010-11-03 19:12:34 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2010-11-03 19:12:34 +0000 |
commit | a8b2a07f375edefec242de9f20d4aefafa927517 (patch) | |
tree | d15f5bb696bfa9dfd9555788d411e0ba59b99a65 /package/tapi_sip/src/dialdetector.h | |
parent | 72ae8452cda47d6e18e664097a4adbc0eee3fc7b (diff) | |
download | mtk-20170518-a8b2a07f375edefec242de9f20d4aefafa927517.zip mtk-20170518-a8b2a07f375edefec242de9f20d4aefafa927517.tar.gz mtk-20170518-a8b2a07f375edefec242de9f20d4aefafa927517.tar.bz2 |
* adds a rewrite of the tapi drivers + sip app. this is the result of lars' gsoc 2010 project, Thanks !
SVN-Revision: 23840
Diffstat (limited to 'package/tapi_sip/src/dialdetector.h')
-rw-r--r-- | package/tapi_sip/src/dialdetector.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/package/tapi_sip/src/dialdetector.h b/package/tapi_sip/src/dialdetector.h new file mode 100644 index 0000000..c3737c3 --- /dev/null +++ b/package/tapi_sip/src/dialdetector.h @@ -0,0 +1,49 @@ +#include <linux/input.h> +#include <sys/epoll.h> +#include <stdint.h> +#include <stdbool.h> + + +#include <stdlib.h> +#include <stdio.h> + +#include "events.h" +#include "timerfd.h" + +#include "tapi-port.h" + +enum dialdetector_dial_state { + DIALDETECTOR_DIAL_WAIT = 1, + DIALDETECTOR_DIAL_WAIT_TIMEOUT = 2, +}; + +enum dialdetector_port_state { + DIALDETECTOR_PORT_INACTIVE = 0, + DIALDETECTOR_PORT_ACTIVE = 1, + DIALDETECTOR_PORT_ACTIVE_DOWN = 2, +}; + +struct dialdetector { + enum dialdetector_dial_state dial_state; + enum dialdetector_port_state port_state; + + struct tapi_port *port; + int timer_fd; + int impulse_timer_fd; + + struct event_callback timeout_cb; + struct event_callback impulse_cb; + struct tapi_port_event_listener port_listener; + + size_t num_digits; + unsigned char digits[20]; + + unsigned int impulses; + + void (*dial_callback)(struct tapi_port *port, size_t num_digits, const unsigned char *digits); +}; + + +struct tapi_port; + +struct dialdetector *dialdetector_alloc(struct tapi_port *port); |