blob: 48aecc75aa106b6fdfe4c37970765cdc76e363bb [file] [log] [blame]
Alexandre Lision7c6f4a62013-09-05 13:27:01 -04001/*
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