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