mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-11 13:01:56 +02:00
6ea7ec75d2
* adds a rewrite of the tapi drivers + sip app. this is the result of lars' gsoc 2010 project, Thanks ! git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23840 3c298f89-4303-0410-b956-a3cf2f4a3e73
50 lines
981 B
C
50 lines
981 B
C
#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);
|