Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6/mini2440.git] / include / linux / mISDNdsp.h
blob6b71d2dce50855aa637ed5d32648e657a5433115
1 #ifndef __mISDNdsp_H__
2 #define __mISDNdsp_H__
4 struct mISDN_dsp_element_arg {
5 char *name;
6 char *def;
7 char *desc;
8 };
10 struct mISDN_dsp_element {
11 char *name;
12 void *(*new)(const char *arg);
13 void (*free)(void *p);
14 void (*process_tx)(void *p, unsigned char *data, int len);
15 void (*process_rx)(void *p, unsigned char *data, int len);
16 int num_args;
17 struct mISDN_dsp_element_arg
18 *args;
21 extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem);
22 extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem);
24 struct dsp_features {
25 int hfc_id; /* unique id to identify the chip (or -1) */
26 int hfc_dtmf; /* set if HFCmulti card supports dtmf */
27 int hfc_loops; /* set if card supports tone loops */
28 int hfc_echocanhw; /* set if card supports echocancelation*/
29 int pcm_id; /* unique id to identify the pcm bus (or -1) */
30 int pcm_slots; /* number of slots on the pcm bus */
31 int pcm_banks; /* number of IO banks of pcm bus */
32 int unclocked; /* data is not clocked (has jitter/loss) */
33 int unordered; /* data is unordered (packets have index) */
36 #endif