Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __mISDNdsp_H__
0003 #define __mISDNdsp_H__
0004 
0005 struct mISDN_dsp_element_arg {
0006     char    *name;
0007     char    *def;
0008     char    *desc;
0009 };
0010 
0011 struct mISDN_dsp_element {
0012     char    *name;
0013     void    *(*new)(const char *arg);
0014     void    (*free)(void *p);
0015     void    (*process_tx)(void *p, unsigned char *data, int len);
0016     void    (*process_rx)(void *p, unsigned char *data, int len,
0017             unsigned int txlen);
0018     int num_args;
0019     struct mISDN_dsp_element_arg
0020         *args;
0021 };
0022 
0023 extern int  mISDN_dsp_element_register(struct mISDN_dsp_element *elem);
0024 extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem);
0025 
0026 struct dsp_features {
0027     int hfc_id; /* unique id to identify the chip (or -1) */
0028     int hfc_dtmf; /* set if HFCmulti card supports dtmf */
0029     int hfc_conf; /* set if HFCmulti card supports conferences */
0030     int hfc_loops; /* set if card supports tone loops */
0031     int hfc_echocanhw; /* set if card supports echocancelation*/
0032     int pcm_id; /* unique id to identify the pcm bus (or -1) */
0033     int pcm_slots; /* number of slots on the pcm bus */
0034     int pcm_banks; /* number of IO banks of pcm bus */
0035     int unclocked; /* data is not clocked (has jitter/loss) */
0036     int unordered; /* data is unordered (packets have index) */
0037 };
0038 
0039 #endif
0040