databuf bugfixes
[cor_2_6_31.git] / include / linux / mISDNdsp.h
blob41d1eeb9b3bd5ea554308dd22bffbd05a8c23050
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 unsigned int txlen);
17 int num_args;
18 struct mISDN_dsp_element_arg
19 *args;
22 extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem);
23 extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem);
25 struct dsp_features {
26 int hfc_id; /* unique id to identify the chip (or -1) */
27 int hfc_dtmf; /* set if HFCmulti card supports dtmf */
28 int hfc_conf; /* set if HFCmulti card supports conferences */
29 int hfc_loops; /* set if card supports tone loops */
30 int hfc_echocanhw; /* set if card supports echocancelation*/
31 int pcm_id; /* unique id to identify the pcm bus (or -1) */
32 int pcm_slots; /* number of slots on the pcm bus */
33 int pcm_banks; /* number of IO banks of pcm bus */
34 int unclocked; /* data is not clocked (has jitter/loss) */
35 int unordered; /* data is unordered (packets have index) */
38 #endif