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 #ifndef	GSM_H
8 #define	GSM_H
9 
10 #include	<stdio.h>		/* for FILE * 	*/
11 
12 /*
13  *	Interface
14  */
15 
16 typedef struct gsm_state * 	gsm ;
17 typedef short				gsm_signal ;		/* signed 16 bit */
18 typedef unsigned char		gsm_byte ;
19 typedef gsm_byte 			gsm_frame [33] ;	/* 33 * 8 bits	 */
20 
21 #define GSM_MAGIC			0xD			/* 13 kbit/s RPE-LTP */
22 
23 #define	GSM_PATCHLEVEL		10
24 #define	GSM_MINOR			0
25 #define	GSM_MAJOR			1
26 
27 #define	GSM_OPT_VERBOSE		1
28 #define	GSM_OPT_FAST		2
29 #define	GSM_OPT_LTP_CUT		3
30 #define	GSM_OPT_WAV49		4
31 #define	GSM_OPT_FRAME_INDEX	5
32 #define	GSM_OPT_FRAME_CHAIN	6
33 
34 gsm gsm_create (void) ;
35 
36 /* Added for libsndfile : May 6, 2002 */
37 void gsm_init (gsm) ;
38 
39 void gsm_destroy (gsm) ;
40 
41 int gsm_print	(FILE *, gsm, gsm_byte *) ;
42 int gsm_option	(gsm, int, int *) ;
43 
44 void gsm_encode	(gsm, gsm_signal *, gsm_byte *) ;
45 int gsm_decode	(gsm, gsm_byte *, gsm_signal *) ;
46 
47 int gsm_explode (gsm, gsm_byte *, gsm_signal *) ;
48 void gsm_implode (gsm, gsm_signal *, gsm_byte *) ;
49 
50 #endif	/* GSM_H */
51 
52 
53