xref: /third_party/libsnd/src/GSM610/gsm.h (revision b815c7f3)
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
16typedef struct gsm_state * 	gsm ;
17typedef short				gsm_signal ;		/* signed 16 bit */
18typedef unsigned char		gsm_byte ;
19typedef 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
34gsm gsm_create (void) ;
35
36/* Added for libsndfile : May 6, 2002 */
37void gsm_init (gsm) ;
38
39void gsm_destroy (gsm) ;
40
41int gsm_print	(FILE *, gsm, gsm_byte *) ;
42int gsm_option	(gsm, int, int *) ;
43
44void gsm_encode	(gsm, gsm_signal *, gsm_byte *) ;
45int gsm_decode	(gsm, gsm_byte *, gsm_signal *) ;
46
47int gsm_explode (gsm, gsm_byte *, gsm_signal *) ;
48void gsm_implode (gsm, gsm_signal *, gsm_byte *) ;
49
50#endif	/* GSM_H */
51
52
53