Blame view

include/linux/mISDNdsp.h 1.15 KB
960366cf8   Karsten Keil   Add mISDN DSP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  #ifndef __mISDNdsp_H__
  #define __mISDNdsp_H__
  
  struct mISDN_dsp_element_arg {
  	char	*name;
  	char	*def;
  	char	*desc;
  };
  
  struct mISDN_dsp_element {
  	char	*name;
  	void	*(*new)(const char *arg);
  	void	(*free)(void *p);
  	void	(*process_tx)(void *p, unsigned char *data, int len);
7cfa153dd   Andreas Eversberg   mISDN: Echo cance...
15
16
  	void	(*process_rx)(void *p, unsigned char *data, int len,
  			unsigned int txlen);
960366cf8   Karsten Keil   Add mISDN DSP
17
18
19
20
21
22
23
24
25
26
27
  	int	num_args;
  	struct mISDN_dsp_element_arg
  		*args;
  };
  
  extern int  mISDN_dsp_element_register(struct mISDN_dsp_element *elem);
  extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem);
  
  struct dsp_features {
  	int	hfc_id; /* unique id to identify the chip (or -1) */
  	int	hfc_dtmf; /* set if HFCmulti card supports dtmf */
db9bb63a1   Karsten Keil   mISDN: Add XHFC s...
28
  	int	hfc_conf; /* set if HFCmulti card supports conferences */
960366cf8   Karsten Keil   Add mISDN DSP
29
30
31
32
33
34
35
36
37
38
  	int	hfc_loops; /* set if card supports tone loops */
  	int	hfc_echocanhw; /* set if card supports echocancelation*/
  	int	pcm_id; /* unique id to identify the pcm bus (or -1) */
  	int	pcm_slots; /* number of slots on the pcm bus */
  	int	pcm_banks; /* number of IO banks of pcm bus */
  	int	unclocked; /* data is not clocked (has jitter/loss) */
  	int	unordered; /* data is unordered (packets have index) */
  };
  
  #endif