1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 #ifndef __mISDNdsp_H__ 1 #ifndef __mISDNdsp_H__ 3 #define __mISDNdsp_H__ 2 #define __mISDNdsp_H__ 4 3 5 struct mISDN_dsp_element_arg { 4 struct mISDN_dsp_element_arg { 6 char *name; 5 char *name; 7 char *def; 6 char *def; 8 char *desc; 7 char *desc; 9 }; 8 }; 10 9 11 struct mISDN_dsp_element { 10 struct mISDN_dsp_element { 12 char *name; 11 char *name; 13 void *(*new)(const char *arg); 12 void *(*new)(const char *arg); 14 void (*free)(void *p); 13 void (*free)(void *p); 15 void (*process_tx)(void *p, unsigne 14 void (*process_tx)(void *p, unsigned char *data, int len); 16 void (*process_rx)(void *p, unsigne 15 void (*process_rx)(void *p, unsigned char *data, int len, 17 unsigned int txlen); 16 unsigned int txlen); 18 int num_args; 17 int num_args; 19 struct mISDN_dsp_element_arg 18 struct mISDN_dsp_element_arg 20 *args; 19 *args; 21 }; 20 }; 22 21 23 extern int mISDN_dsp_element_register(struct 22 extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem); 24 extern void mISDN_dsp_element_unregister(struc 23 extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem); 25 24 26 struct dsp_features { 25 struct dsp_features { 27 int hfc_id; /* unique id to identi 26 int hfc_id; /* unique id to identify the chip (or -1) */ 28 int hfc_dtmf; /* set if HFCmulti c 27 int hfc_dtmf; /* set if HFCmulti card supports dtmf */ 29 int hfc_conf; /* set if HFCmulti c 28 int hfc_conf; /* set if HFCmulti card supports conferences */ 30 int hfc_loops; /* set if card supp 29 int hfc_loops; /* set if card supports tone loops */ 31 int hfc_echocanhw; /* set if card 30 int hfc_echocanhw; /* set if card supports echocancelation*/ 32 int pcm_id; /* unique id to identi 31 int pcm_id; /* unique id to identify the pcm bus (or -1) */ 33 int pcm_slots; /* number of slots 32 int pcm_slots; /* number of slots on the pcm bus */ 34 int pcm_banks; /* number of IO ban 33 int pcm_banks; /* number of IO banks of pcm bus */ 35 int unclocked; /* data is not cloc 34 int unclocked; /* data is not clocked (has jitter/loss) */ 36 int unordered; /* data is unordere 35 int unordered; /* data is unordered (packets have index) */ 37 }; 36 }; 38 37 39 #endif 38 #endif 40 39 41 40
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.