soundmodem.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
  3.  * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
  4.  */
  5. #ifndef _SOUNDMODEM_H
  6. #define _SOUNDMODEM_H
  7. /* -------------------------------------------------------------------- */
  8. /*
  9.  * structs for the IOCTL commands
  10.  */
  11. struct sm_debug_data {
  12. unsigned int int_rate;
  13. unsigned int mod_cycles;
  14. unsigned int demod_cycles;
  15. unsigned int dma_residue;
  16. };
  17. struct sm_diag_data {
  18. unsigned int mode;
  19. unsigned int flags;
  20. unsigned int samplesperbit;
  21. unsigned int datalen;
  22. short *data;
  23. };
  24. struct sm_mixer_data {
  25. unsigned int mixer_type;
  26. unsigned int sample_rate;
  27. unsigned int bit_rate;
  28. unsigned int reg;
  29. unsigned int data;
  30. };
  31. struct sm_config {
  32. int hardware;
  33. int mode;
  34. };
  35. struct sm_ioctl {
  36. int cmd;
  37. union {
  38. struct sm_config cfg;
  39. struct sm_diag_data diag;
  40. struct sm_mixer_data mix;
  41. struct sm_debug_data dbg;
  42. } data;
  43. };
  44. /* -------------------------------------------------------------------- */
  45. /*
  46.  * diagnose modes
  47.  */
  48. #define SM_DIAGMODE_OFF            0
  49. #define SM_DIAGMODE_INPUT          1
  50. #define SM_DIAGMODE_DEMOD          2
  51. #define SM_DIAGMODE_CONSTELLATION  3
  52. /*
  53.  * diagnose flags
  54.  */
  55. #define SM_DIAGFLAG_DCDGATE    (1<<0)
  56. #define SM_DIAGFLAG_VALID      (1<<1)
  57. /*
  58.  * mixer types
  59.  */
  60. #define SM_MIXER_INVALID       0
  61. #define SM_MIXER_AD1848        0x10
  62. #define SM_MIXER_CRYSTAL       0x11
  63. #define SM_MIXER_CT1335        0x20
  64. #define SM_MIXER_CT1345        0x21
  65. #define SM_MIXER_CT1745        0x22
  66. /*
  67.  * ioctl values
  68.  */
  69. #define SMCTL_DIAGNOSE         0x82
  70. #define SMCTL_GETMIXER         0x83
  71. #define SMCTL_SETMIXER         0x84
  72. #define SMCTL_GETDEBUG         0x85
  73. /* -------------------------------------------------------------------- */
  74. #endif /* _SOUNDMODEM_H */
  75. /* --------------------------------------------------------------------- */