equal
deleted
inserted
replaced
|
1 #ifndef __mISDNdsp_H__ |
|
2 #define __mISDNdsp_H__ |
|
3 |
|
4 struct mISDN_dsp_element_arg { |
|
5 char *name; |
|
6 char *def; |
|
7 char *desc; |
|
8 }; |
|
9 |
|
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; |
|
19 }; |
|
20 |
|
21 extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem); |
|
22 extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem); |
|
23 |
|
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) */ |
|
34 }; |
|
35 |
|
36 #endif |
|
37 |