include/linux/mISDNdsp.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     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