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 /*$Header: /home/kbs/jutta/src/gsm/gsm-1.0/inc/RCS/gsm.h,v 1.11 1996/07/05 18:02:56 jutta Exp $*/ 8 9 #ifndef GSM_H 10 #define GSM_H 11 12 #ifdef __cplusplus 13 # define NeedFunctionPrototypes 1 14 #endif 15 16 #if __STDC__ 17 # define NeedFunctionPrototypes 1 18 #endif 19 20 #ifdef _NO_PROTO 21 # undef NeedFunctionPrototypes 22 #endif 23 24 #ifdef NeedFunctionPrototypes 25 # include <stdio.h> /* for FILE * */ 26 #endif 27 28 #undef GSM_P 29 #if NeedFunctionPrototypes 30 # define GSM_P( protos ) protos 31 #else 32 # define GSM_P( protos ) ( /* protos */ ) 33 #endif 34 35 /* 36 * Interface 37 */ 38 39 typedef struct gsm_state * gsm; 40 typedef short gsm_signal; /* signed 16 bit */ 41 typedef unsigned char gsm_byte; 42 typedef gsm_byte gsm_frame[33]; /* 33 * 8 bits */ 43 44 #define GSM_MAGIC 0xD /* 13 kbit/s RPE-LTP */ 45 46 #define GSM_PATCHLEVEL 18 47 #define GSM_MINOR 0 48 #define GSM_MAJOR 1 49 50 #define GSM_OPT_VERBOSE 1 51 #define GSM_OPT_FAST 2 52 #define GSM_OPT_LTP_CUT 3 53 #define GSM_OPT_WAV49 4 54 #define GSM_OPT_FRAME_INDEX 5 55 #define GSM_OPT_FRAME_CHAIN 6 56 57 extern gsm gsm_create GSM_P((void)); 58 extern void gsm_destroy GSM_P((gsm)); 59 60 extern int gsm_print GSM_P((FILE *, gsm, gsm_byte *)); 61 extern int gsm_option GSM_P((gsm, int, int *)); 62 63 extern void gsm_encode GSM_P((gsm, gsm_signal *, gsm_byte *)); 64 extern int gsm_decode GSM_P((gsm, gsm_byte *, gsm_signal *)); 65 66 extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *)); 67 extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *)); 68 69 #undef GSM_P 70 71 #endif /* GSM_H */ 72