• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  
7  /*$Header: /home/kbs/jutta/src/gsm/gsm-1.0/inc/RCS/gsm.h,v 1.11 1996/07/05 18:02:56 jutta Exp $*/
8  
9  #ifndef	GSM_H
10  #define	GSM_H
11  
12  #ifdef __cplusplus
13  #	define	NeedFunctionPrototypes	1
14  #endif
15  
16  #if __STDC__
17  #	define	NeedFunctionPrototypes	1
18  #endif
19  
20  #ifdef _NO_PROTO
21  #	undef	NeedFunctionPrototypes
22  #endif
23  
24  #ifdef NeedFunctionPrototypes
25  #   include	<stdio.h>		/* for FILE * 	*/
26  #endif
27  
28  #undef GSM_P
29  #if NeedFunctionPrototypes
30  #	define	GSM_P( protos )	protos
31  #else
32  #	define  GSM_P( protos )	( /* protos */ )
33  #endif
34  
35  /*
36   *	Interface
37   */
38  
39  typedef struct gsm_state * 	gsm;
40  typedef short		   	gsm_signal;		/* signed 16 bit */
41  typedef unsigned char		gsm_byte;
42  typedef gsm_byte 		gsm_frame[33];		/* 33 * 8 bits	 */
43  
44  #define	GSM_MAGIC		0xD		  	/* 13 kbit/s RPE-LTP */
45  
46  #define	GSM_PATCHLEVEL		10
47  #define	GSM_MINOR		0
48  #define	GSM_MAJOR		1
49  
50  #define	GSM_OPT_VERBOSE		1
51  #define	GSM_OPT_FAST		2
52  #define	GSM_OPT_LTP_CUT		3
53  #define	GSM_OPT_WAV49		4
54  #define	GSM_OPT_FRAME_INDEX	5
55  #define	GSM_OPT_FRAME_CHAIN	6
56  
57  extern gsm  gsm_create 	GSM_P((void));
58  extern void gsm_destroy GSM_P((gsm));
59  
60  extern int  gsm_print   GSM_P((FILE *, gsm, gsm_byte  *));
61  extern int  gsm_option  GSM_P((gsm, int, int *));
62  
63  extern void gsm_encode  GSM_P((gsm, gsm_signal *, gsm_byte  *));
64  extern int  gsm_decode  GSM_P((gsm, gsm_byte   *, gsm_signal *));
65  
66  extern int  gsm_explode GSM_P((gsm, gsm_byte   *, gsm_signal *));
67  extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte   *));
68  
69  #undef	GSM_P
70  
71  #endif	/* GSM_H */
72