1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-03-20 23:28:53 +02:00
blogic 6ea7ec75d2 [ifxmips]
* 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
2010-11-03 19:12:34 +00:00

47 lines
1.0 KiB
C

#include <stdio.h>
#include "tapi-device.h"
#include "tapi-ioctl.h"
int tapi_device_open(unsigned int id, struct tapi_device *dev)
{
char path[100];
snprintf(path, sizeof(path), "/dev/tapi%dC", id);
dev->control_fd = open(path, 0);
if (dev->control_fd < 0)
return -1;
snprintf(dev->stream_path, 100, "/dev/tapi%dS", id);
dev->id = id;
dev->num_ports = 2;
return 0;
}
int tapi_link_alloc(struct tapi_device *dev, unsigned int ep1, unsigned int ep2)
{
return ioctl(dev->control_fd, TAPI_CONTROL_IOCTL_LINK_ALLOC, (ep1 << 16) | ep2);
}
int tapi_link_free(struct tapi_device *dev, unsigned int link)
{
return ioctl(dev->control_fd, TAPI_CONTROL_IOCTL_LINK_FREE, link);
}
int tapi_link_enable(struct tapi_device *dev, unsigned int link)
{
return ioctl(dev->control_fd, TAPI_CONTROL_IOCTL_LINK_ENABLE, link);
}
int tapi_link_disable(struct tapi_device *dev, unsigned int link)
{
return ioctl(dev->control_fd, TAPI_CONTROL_IOCTL_LINK_DISABLE, link);
}
int tapi_sync(struct tapi_device *dev)
{
return ioctl(dev->control_fd, TAPI_CONTROL_IOCTL_SYNC, 0);
}