diff options
author | jim <jim@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2004-11-04 20:04:53 +0000 |
---|---|---|
committer | jim <jim@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2004-11-04 20:04:53 +0000 |
commit | 7e99207e834bd395443af5f88453b0aea65d3315 (patch) | |
tree | 37bdd5563db7c329733f31693fa75e7b634a8529 /zaptel.c | |
parent | b420103c9e0c8eaf5bf9c0b040642f08539a487f (diff) |
Added support for Zapata Telephony Quad PCI Radio Interface card.
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@489 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel.c')
-rwxr-xr-x | zaptel.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -274,6 +274,8 @@ of the next sample chunk's data (next time around the world). #include "digits.h" +static int zt_chan_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long data, int unit); + #if defined(CONFIG_ZAPTEL_MMX) || defined(ECHO_CAN_FP) /* XXX kernel_fpu_begin() is NOT exported properly (in 2.4), so we have to make a local version. Somebody fix this! XXX */ @@ -2687,6 +2689,7 @@ static int zt_timer_ioctl(struct inode *node, struct file *file, unsigned int cm } return 0; } + static int zt_common_ioctl(struct inode *node, struct file *file, unsigned int cmd, unsigned long data, int unit) { union { @@ -2989,9 +2992,15 @@ static int zt_ctl_ioctl(struct inode *inode, struct file *file, unsigned int cmd struct zt_chan *newmaster; struct zt_dialparams tdp; struct zt_maintinfo maint; + struct zt_indirect_data ind; unsigned long flags; int rv; switch(cmd) { + case ZT_INDIRECT: + if (copy_from_user(&ind, (struct zt_indirect_data *)data, sizeof(ind))) + return -EFAULT; + VALID_CHANNEL(ind.chan); + return zt_chan_ioctl(inode, file, ind.op, (unsigned long) ind.data, ind.chan); case ZT_SPANCONFIG: if (copy_from_user(&lc, (struct zt_lineconfig *)data, sizeof(lc))) return -EFAULT; |