rollback to 3428, before the mysterious removal of libs/* at 3431/3432
[ardour.git] / libs / libsndfile / src / GSM610 / gsm.h
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 ** Do not edit or modify anything in this comment block.
53 ** The arch-tag line is a file identity tag for the GNU Arch 
54 ** revision control system.
55 **
56 ** arch-tag: 8cfc7698-5433-4b6f-aeca-967c6fda4dec
57 */
58