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