diff options
Diffstat (limited to 'package/lqtapi/src/include')
-rw-r--r-- | package/lqtapi/src/include/linux/tapi/tapi-event.h | 37 | ||||
-rw-r--r-- | package/lqtapi/src/include/linux/tapi/tapi-ioctl.h | 20 | ||||
-rw-r--r-- | package/lqtapi/src/include/linux/tapi/tapi.h | 231 |
3 files changed, 0 insertions, 288 deletions
diff --git a/package/lqtapi/src/include/linux/tapi/tapi-event.h b/package/lqtapi/src/include/linux/tapi/tapi-event.h deleted file mode 100644 index 925c71369..000000000 --- a/package/lqtapi/src/include/linux/tapi/tapi-event.h +++ /dev/null @@ -1,37 +0,0 @@ -#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 diff --git a/package/lqtapi/src/include/linux/tapi/tapi-ioctl.h b/package/lqtapi/src/include/linux/tapi/tapi-ioctl.h deleted file mode 100644 index c43fac1e7..000000000 --- a/package/lqtapi/src/include/linux/tapi/tapi-ioctl.h +++ /dev/null @@ -1,20 +0,0 @@ - -#include <linux/ioctl.h> - -#define TAPI_MAGIC 't' -#define TAPI_IOCTL(x) _IO(TAPI_MAGIC, (x)) - -#define TAPI_CONTROL_IOCTL_LINK_ALLOC TAPI_IOCTL(0) -#define TAPI_CONTROL_IOCTL_LINK_FREE TAPI_IOCTL(1) -#define TAPI_CONTROL_IOCTL_LINK_ENABLE TAPI_IOCTL(2) -#define TAPI_CONTROL_IOCTL_LINK_DISABLE TAPI_IOCTL(3) - -#define TAPI_CONTROL_IOCTL_SYNC TAPI_IOCTL(4) - -#define TAPI_PORT_IOCTL_GET_ENDPOINT TAPI_IOCTL(5) -#define TAPI_PORT_IOCTL_SET_RING TAPI_IOCTL(6) - -#define TAPI_STREAM_IOCTL_GET_ENDPOINT TAPI_IOCTL(7) -#define TAPI_STREAM_IOCTL_CONFIGURE TAPI_IOCTL(8) -#define TAPI_STREAM_IOCTL_START TAPI_IOCTL(9) -#define TAPI_STREAM_IOCTL_STOP TAPI_IOCTL(10) diff --git a/package/lqtapi/src/include/linux/tapi/tapi.h b/package/lqtapi/src/include/linux/tapi/tapi.h deleted file mode 100644 index 410655d4c..000000000 --- a/package/lqtapi/src/include/linux/tapi/tapi.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef __LINUX_TAPI_H__ -#define __LINUX_TAPI_H__ - -#include <linux/kernel.h> -#include <linux/device.h> -#include <linux/mutex.h> - -#include <linux/input.h> - -#include <asm/atomic.h> -#include <linux/list.h> - -#include <linux/cdev.h> - -#include <linux/skbuff.h> -#include <linux/wait.h> - -#include <linux/tapi/tapi-event.h> - -struct tapi_device; - -struct tapi_char_device { - struct tapi_device *tdev; - struct device dev; - struct cdev cdev; -}; - -static inline struct tapi_char_device *cdev_to_tapi_char_device(struct cdev *cdev) -{ - return container_of(cdev, struct tapi_char_device, cdev); -} - -int tapi_char_device_register(struct tapi_device *tdev, - struct tapi_char_device *tchrdev, const struct file_operations *fops); - - -struct tapi_endpoint { - unsigned int id; - void *data; -}; - -static inline void tapi_endpoint_set_data(struct tapi_endpoint *ep, void *data) -{ - ep->data = data; -} - -static inline void *tapi_endpoint_get_data(struct tapi_endpoint *ep) -{ - return ep->data; -} - -struct tapi_port { - unsigned int id; - struct tapi_endpoint ep; - struct input_dev *input; - struct tapi_char_device chrdev; -}; - -struct tapi_stream { - unsigned int id; - struct list_head head; - struct tapi_endpoint ep; - - struct sk_buff_head recv_queue; - wait_queue_head_t recv_wait; - struct sk_buff_head send_queue; -}; - -struct tapi_link { - unsigned int id; - struct list_head head; -}; - -enum tapi_codec { - TAPI_CODEC_L16, -}; - -struct tapi_stream_config { - enum tapi_codec codec; - unsigned int buffer_size; -}; - -struct tapi_ops { - int (*send_dtmf_events)(struct tapi_device *, struct tapi_port *port, - struct tapi_dtmf_event *, size_t num_events, unsigned int dealy); - int (*send_dtmf_event)(struct tapi_device *, struct tapi_port *port, - struct tapi_dtmf_event *); - int (*ring)(struct tapi_device *, struct tapi_port *port, bool ring); - - struct tapi_stream *(*stream_alloc)(struct tapi_device *); - void (*stream_free)(struct tapi_device *, struct tapi_stream *); - int (*stream_configure)(struct tapi_device *, struct tapi_stream *, - struct tapi_stream_config *); - int (*stream_start)(struct tapi_device *, struct tapi_stream *); - int (*stream_stop)(struct tapi_device *, struct tapi_stream *); - int (*stream_send)(struct tapi_device *, struct tapi_stream *, - struct sk_buff *); - - struct tapi_link *(*link_alloc)(struct tapi_device *, - struct tapi_endpoint *ep1, struct tapi_endpoint *ep2); - void (*link_free)(struct tapi_device *, struct tapi_link *); - int (*link_enable)(struct tapi_device *, struct tapi_link *); - int (*link_disable)(struct tapi_device *, struct tapi_link *); - - int (*sync)(struct tapi_device *); -}; - -int tapi_stream_recv(struct tapi_device *, struct tapi_stream *, struct sk_buff *); - -struct tapi_device { - unsigned int id; - - const struct tapi_ops *ops; - unsigned int num_ports; - - struct device dev; - - struct mutex lock; - - struct tapi_port *ports; - struct list_head streams; - struct list_head links; - atomic_t stream_id; - atomic_t link_id; - - struct tapi_char_device stream_dev; - struct tapi_char_device control_dev; -}; - -static inline struct tapi_device *dev_to_tapi(struct device *dev) -{ - return container_of(dev, struct tapi_device, dev); -} - -static inline struct tapi_stream *tapi_stream_from_id(struct tapi_device *tdev, - unsigned int id) -{ - struct tapi_stream *stream; - - mutex_lock(&tdev->lock); - - list_for_each_entry(stream, &tdev->streams, head) { - if (stream->id == id) - goto out; - } - stream = NULL; - -out: - mutex_unlock(&tdev->lock); - return stream; -} - -struct tapi_link *tapi_link_alloc(struct tapi_device *, struct tapi_endpoint *, - struct tapi_endpoint *); -void tapi_link_free(struct tapi_device *, struct tapi_link *); - -struct tapi_stream *tapi_stream_alloc(struct tapi_device *tdev); -void tapi_stream_free(struct tapi_device *tdev, struct tapi_stream *stream); - -static inline int tapi_sync(struct tapi_device *tdev) -{ - if (!tdev->ops || !tdev->ops->sync) - return 0; - - return tdev->ops->sync(tdev); -} - -static inline int tapi_link_enable(struct tapi_device *tdev, - struct tapi_link *link) -{ - if (!tdev->ops || !tdev->ops->link_enable) - return 0; - - return tdev->ops->link_enable(tdev, link); -} - -static inline int tapi_link_disable(struct tapi_device *tdev, - struct tapi_link *link) -{ - if (!tdev->ops || !tdev->ops->link_disable) - return 0; - - return tdev->ops->link_disable(tdev, link); -} - -static inline int tapi_port_send_dtmf(struct tapi_device *tdev, - struct tapi_port *port, struct tapi_dtmf_event *dtmf) -{ - if (!tdev->ops || !tdev->ops->send_dtmf_event) - return -ENOSYS; - - return tdev->ops->send_dtmf_event(tdev, port, dtmf); -} - -static inline int tapi_port_set_ring(struct tapi_device *tdev, - struct tapi_port *port, bool ring) -{ - if (!tdev->ops || !tdev->ops->ring) - return -ENOSYS; - - return tdev->ops->ring(tdev, port, ring); -} - -static inline int tapi_stream_start(struct tapi_device *tdev, -struct tapi_stream *stream) -{ - if (!tdev->ops || !tdev->ops->stream_start) - return -ENOSYS; - - return tdev->ops->stream_start(tdev, stream); -} - -static inline int tapi_stream_stop(struct tapi_device *tdev, -struct tapi_stream *stream) -{ - if (!tdev->ops || !tdev->ops->stream_stop) - return -ENOSYS; - - return tdev->ops->stream_stop(tdev, stream); -} - -int tapi_device_register(struct tapi_device *tdev, const char *name, - struct device *parent); -void tapi_device_unregister(struct tapi_device *tdev); - -struct tapi_sysfs_port; - -struct tapi_sysfs_port *tapi_port_alloc(struct tapi_device *tdev, unsigned int id); -void tapi_port_delete(struct tapi_sysfs_port *); - -#endif |