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