GSM.H
上传用户:amei960
上传日期:2007-02-05
资源大小:143k
文件大小:2k
源码类别:

Audio

开发平台:

Visual C++

  1. /*
  2.  * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
  3.  * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
  4.  * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
  5.  */
  6. /*$Header: n:\development/speak_freely/GSM/INC/GSM.H,v 1.1.1.1 1998/10/15 00:47:40 Administrator Exp $*/
  7. #ifndef GSM_H
  8. #define GSM_H
  9. #define  NeedFunctionPrototypes  1
  10. #ifdef __cplusplus
  11. #       define  NeedFunctionPrototypes  1
  12. #endif
  13. #if __STDC__
  14. #       define  NeedFunctionPrototypes  1
  15. #endif
  16. #ifdef _NO_PROTO
  17. #       undef   NeedFunctionPrototypes
  18. #endif
  19. #undef  GSM_P   /* gnu stdio.h actually defines this...         */
  20. #if NeedFunctionPrototypes
  21. #       define  GSM_P( protos ) protos
  22. #else
  23. #       define  GSM_P( protos ) ( /* protos */ )
  24. #endif
  25. #ifdef NeedFunctionPrototypes
  26. #   include     <stdio.h>               /* for FILE *   */
  27. #endif
  28. /* AUTO_SPARC_HACK added by John Walker.  If defined, USE_FLOAT_MUL   
  29.    automatically set when compiling on a Sparc.  This lets most
  30.    people avoid editing the Makefile. */
  31. #ifdef AUTO_SPARC_HACK
  32. #ifdef sparc
  33. #define USE_FLOAT_MUL
  34. #define FAST
  35. #endif
  36. #endif
  37. /*
  38.  *      Interface
  39.  */
  40. typedef struct gsm_state *      gsm;
  41. typedef short                   gsm_signal;             /* signed 16 bit */
  42. typedef unsigned char           gsm_byte;
  43. typedef gsm_byte                gsm_frame[33];          /* 33 * 8 bits   */
  44. #define GSM_MAGIC       0xD                             /* 13 kbit/s RPE-LTP */
  45. #define GSM_PATCHLEVEL  2
  46. #define GSM_MINOR       0
  47. #define GSM_MAJOR       1
  48. #define GSM_OPT_VERBOSE 1
  49. #define GSM_OPT_FAST    2
  50. #ifdef __cplusplus
  51. extern "C" {
  52. #endif 
  53. gsm  gsm_create  GSM_P((void));
  54. void gsm_destroy GSM_P((gsm));   
  55. int  gsm_print   GSM_P((FILE *, gsm, gsm_byte  *));
  56. int  gsm_option  GSM_P((gsm, long, long *));
  57. void gsm_encode  GSM_P((gsm, gsm_signal *, gsm_byte  *));
  58. int  gsm_decode  GSM_P((gsm, gsm_byte   *, gsm_signal *));
  59. int  gsm_explode GSM_P((gsm, gsm_byte   *, gsm_signal *));
  60. void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte   *));
  61. #ifdef __cplusplus
  62. }
  63. #endif 
  64. #undef  GSM_P
  65. #endif  /* GSM_H */