diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-02-04 23:00:48 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-02-04 23:00:48 +0000 |
commit | 7e068801fbf82413ac0a5e63e586c268bd457434 (patch) | |
tree | 9b61e9a4e07167e0b7d347e4336245724befa29c /hpec | |
parent | 29daeebad888269fa0ee2ca7e54e238c8498ca2d (diff) |
Move kernel stuff to under kernel/
(merged branch /zaptel/team/tzafrir/move )
Closes issue #7117.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3793 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'hpec')
-rw-r--r-- | hpec/hpec.h | 47 | ||||
-rw-r--r-- | hpec/hpec_user.h | 40 | ||||
-rw-r--r-- | hpec/hpec_zaptel.h | 146 |
3 files changed, 0 insertions, 233 deletions
diff --git a/hpec/hpec.h b/hpec/hpec.h deleted file mode 100644 index 7e90f12..0000000 --- a/hpec/hpec.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Zapata Telephony Interface to Digium High-Performance Echo Canceller - * - * Copyright (C) 2006 Digium, Inc. - * - * All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#if !defined(_HPEC_H) -#define _HPEC_H - -struct echo_can_state; - -void __attribute__((regparm(0))) hpec_init(int __attribute__((regparm(0))) __attribute__((format (printf, 1, 2))) (*logger)(const char *format, ...), - unsigned int debug, - unsigned int chunk_size, - void * (*memalloc)(size_t len), - void (*memfree)(void *ptr)); - -void __attribute__((regparm(0))) hpec_shutdown(void); - -int __attribute__((regparm(0))) hpec_license_challenge(struct hpec_challenge *challenge); - -int __attribute__((regparm(0))) hpec_license_check(struct hpec_license *license); - -struct echo_can_state __attribute__((regparm(0))) *hpec_channel_alloc(unsigned int len); - -void __attribute__((regparm(0))) hpec_channel_free(struct echo_can_state *channel); - -void __attribute__((regparm(0))) hpec_channel_update(struct echo_can_state *channel, short *iref, short *isig); - -#endif /* !defined(_HPEC_H) */ - diff --git a/hpec/hpec_user.h b/hpec/hpec_user.h deleted file mode 100644 index bf006eb..0000000 --- a/hpec/hpec_user.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Zapata Telephony Interface to Digium High-Performance Echo Canceller - * - * Copyright (C) 2006 Digium, Inc. - * - * All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#if !defined(_HPEC_USER_H) -#define _HPEC_USER_H - -struct hpec_challenge { - __u8 challenge[16]; -}; - -struct hpec_license { - __u32 numchannels; - __u8 userinfo[256]; - __u8 response[16]; -}; - -#define ZT_EC_LICENSE_CHALLENGE _IOR(ZT_CODE, 60, struct hpec_challenge) -#define ZT_EC_LICENSE_RESPONSE _IOW(ZT_CODE, 61, struct hpec_license) - -#endif /* !defined(_HPEC_USER_H) */ - diff --git a/hpec/hpec_zaptel.h b/hpec/hpec_zaptel.h deleted file mode 100644 index 2fb5a14..0000000 --- a/hpec/hpec_zaptel.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Zapata Telephony Interface to Digium High-Performance Echo Canceller - * - * Copyright (C) 2006 Digium, Inc. - * - * All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#if !defined(_HPEC_ZAPTEL_H) -#define _HPEC_ZAPTEL_H - -#define ZT_EC_ARRAY_UPDATE - -#include "hpec_user.h" -#include "hpec.h" - -static int __attribute__((regparm(0))) __attribute__((format (printf, 1, 2))) logger(const char *format, ...) -{ - int res; - va_list args; - -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9) - va_start(args, format); - res = vprintk(format, args); - va_end(args); -#else - char buf[256]; - - va_start(args, format); - res = vsnprintf(buf, sizeof(buf), format, args); - va_end(args); - printk(buf); -#endif - - return res; -} - -static void *memalloc(size_t len) -{ - return kmalloc(len, GFP_KERNEL); -} - -static void memfree(void *ptr) -{ - kfree(ptr); -} - -static void echo_can_init(void) -{ - printk("Zaptel Echo Canceller: Digium High-Performance Echo Canceller\n"); - hpec_init(logger, debug, ZT_CHUNKSIZE, memalloc, memfree); -} - -static void echo_can_identify(char *buf, size_t len) -{ - strncpy(buf, "HPEC", len); -} - -static void echo_can_shutdown(void) -{ - hpec_shutdown(); -} - -static inline void echo_can_free(struct echo_can_state *ec) -{ - hpec_channel_free(ec); -} - -static inline void echo_can_array_update(struct echo_can_state *ec, short *iref, short *isig) -{ - hpec_channel_update(ec, iref, isig); -} - -DECLARE_MUTEX(alloc_lock); - -static int echo_can_create(struct zt_echocanparams *ecp, struct zt_echocanparam *p, - struct echo_can_state **ec) -{ - if (ecp->param_count > 0) { - printk(KERN_WARNING "HPEC does not support parameters; failing request\n"); - return -EINVAL; - } - - if (down_interruptible(&alloc_lock)) - return -ENOTTY; - - *ec = hpec_channel_alloc(ecp->tap_length); - - up(&alloc_lock); - - return *ec ? 0 : -ENOTTY; -} - -static inline int echo_can_traintap(struct echo_can_state *ec, int pos, short val) -{ - return 1; -} - -DECLARE_MUTEX(license_lock); - -static int hpec_license_ioctl(unsigned int cmd, unsigned long data) -{ - struct hpec_challenge challenge; - struct hpec_license license; - int result = 0; - - switch (cmd) { - case ZT_EC_LICENSE_CHALLENGE: - if (down_interruptible(&license_lock)) - return -EINTR; - memset(&challenge, 0, sizeof(challenge)); - if (hpec_license_challenge(&challenge)) - result = -ENODEV; - if (!result && copy_to_user((unsigned char *) data, &challenge, sizeof(challenge))) - result = -EFAULT; - up(&license_lock); - return result; - case ZT_EC_LICENSE_RESPONSE: - if (down_interruptible(&license_lock)) - return -EINTR; - if (copy_from_user(&license, (unsigned char *) data, sizeof(license))) - result = -EFAULT; - if (!result && hpec_license_check(&license)) - result = -EACCES; - up(&license_lock); - return result; - default: - return -ENOSYS; - } -} - -#endif /* !defined(_HPEC_ZAPTEL_H) */ |