Commit | Line | Data |
---|---|---|
960366cf KK |
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); | |
7cfa153d AE |
15 | void (*process_rx)(void *p, unsigned char *data, int len, |
16 | unsigned int txlen); | |
960366cf KK |
17 | int num_args; |
18 | struct mISDN_dsp_element_arg | |
19 | *args; | |
20 | }; | |
21 | ||
22 | extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem); | |
23 | extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem); | |
24 | ||
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 */ | |
db9bb63a | 28 | int hfc_conf; /* set if HFCmulti card supports conferences */ |
960366cf KK |
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) */ | |
36 | }; | |
37 | ||
38 | #endif | |
39 |