1*8ec969ceSTreehugger Robot /* 2*8ec969ceSTreehugger Robot * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 3*8ec969ceSTreehugger Robot * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 4*8ec969ceSTreehugger Robot * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 5*8ec969ceSTreehugger Robot */ 6*8ec969ceSTreehugger Robot 7*8ec969ceSTreehugger Robot /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/toast.h,v 1.4 1995/03/07 21:26:16 jutta Exp $ */ 8*8ec969ceSTreehugger Robot 9*8ec969ceSTreehugger Robot #ifndef TOAST_H 10*8ec969ceSTreehugger Robot #define TOAST_H /* Guard against multiple includes */ 11*8ec969ceSTreehugger Robot 12*8ec969ceSTreehugger Robot #include "config.h" 13*8ec969ceSTreehugger Robot 14*8ec969ceSTreehugger Robot #ifndef _POSIX_C_SOURCE 15*8ec969ceSTreehugger Robot #define _POSIX_C_SOURCE 200809L 16*8ec969ceSTreehugger Robot #endif 17*8ec969ceSTreehugger Robot 18*8ec969ceSTreehugger Robot #include <sys/types.h> 19*8ec969ceSTreehugger Robot #include <sys/stat.h> 20*8ec969ceSTreehugger Robot 21*8ec969ceSTreehugger Robot #include <stdio.h> 22*8ec969ceSTreehugger Robot #include <ctype.h> 23*8ec969ceSTreehugger Robot #include <signal.h> 24*8ec969ceSTreehugger Robot 25*8ec969ceSTreehugger Robot #include <errno.h> 26*8ec969ceSTreehugger Robot #ifndef HAS_ERRNO_DECL 27*8ec969ceSTreehugger Robot extern int errno; 28*8ec969ceSTreehugger Robot #endif 29*8ec969ceSTreehugger Robot 30*8ec969ceSTreehugger Robot #ifdef HAS_LIMITS_H 31*8ec969ceSTreehugger Robot #include <limits.h> 32*8ec969ceSTreehugger Robot #endif 33*8ec969ceSTreehugger Robot 34*8ec969ceSTreehugger Robot #ifdef HAS_FCNTL_H 35*8ec969ceSTreehugger Robot # include <fcntl.h> 36*8ec969ceSTreehugger Robot #endif 37*8ec969ceSTreehugger Robot 38*8ec969ceSTreehugger Robot #ifdef HAS_UTIME 39*8ec969ceSTreehugger Robot # ifdef HAS_UTIME_H 40*8ec969ceSTreehugger Robot # include <utime.h> 41*8ec969ceSTreehugger Robot # endif 42*8ec969ceSTreehugger Robot #endif 43*8ec969ceSTreehugger Robot 44*8ec969ceSTreehugger Robot #include "gsm.h" 45*8ec969ceSTreehugger Robot 46*8ec969ceSTreehugger Robot #ifndef S_ISREG 47*8ec969ceSTreehugger Robot #define S_ISREG(x) ((x) & S_IFREG) 48*8ec969ceSTreehugger Robot #endif /* S_ISREG */ 49*8ec969ceSTreehugger Robot 50*8ec969ceSTreehugger Robot 51*8ec969ceSTreehugger Robot # define READ "rb" 52*8ec969ceSTreehugger Robot # define WRITE "wb" 53*8ec969ceSTreehugger Robot #ifdef O_BINARY 54*8ec969ceSTreehugger Robot # define O_WRITE_EXCL O_WRONLY|O_CREAT|O_EXCL|O_BINARY 55*8ec969ceSTreehugger Robot #else 56*8ec969ceSTreehugger Robot # define O_WRITE_EXCL O_WRONLY|O_CREAT|O_EXCL 57*8ec969ceSTreehugger Robot #endif 58*8ec969ceSTreehugger Robot 59*8ec969ceSTreehugger Robot #ifndef SIGHANDLER_T 60*8ec969ceSTreehugger Robot #define SIGHANDLER_T void /* what does a signal handler return? */ 61*8ec969ceSTreehugger Robot #endif 62*8ec969ceSTreehugger Robot 63*8ec969ceSTreehugger Robot 64*8ec969ceSTreehugger Robot #ifdef HAS_STRING_H 65*8ec969ceSTreehugger Robot #include <string.h> 66*8ec969ceSTreehugger Robot #else 67*8ec969ceSTreehugger Robot # ifdef HAS_STRINGS_H 68*8ec969ceSTreehugger Robot # include <strings.h> 69*8ec969ceSTreehugger Robot # else 70*8ec969ceSTreehugger Robot # include "proto.h" 71*8ec969ceSTreehugger Robot 72*8ec969ceSTreehugger Robot extern int strlen P((char *)); 73*8ec969ceSTreehugger Robot extern char * strcpy P((char *, char *)); 74*8ec969ceSTreehugger Robot extern char * strcat P((char *, char *)); 75*8ec969ceSTreehugger Robot extern char * strrchr P((char *, int)); 76*8ec969ceSTreehugger Robot 77*8ec969ceSTreehugger Robot # include "unproto.h" 78*8ec969ceSTreehugger Robot # endif 79*8ec969ceSTreehugger Robot #endif 80*8ec969ceSTreehugger Robot 81*8ec969ceSTreehugger Robot 82*8ec969ceSTreehugger Robot #ifdef HAS_STDLIB_H 83*8ec969ceSTreehugger Robot #include <stdlib.h> 84*8ec969ceSTreehugger Robot #else 85*8ec969ceSTreehugger Robot # include "proto.h" 86*8ec969ceSTreehugger Robot # ifdef HAS_MALLOC_H 87*8ec969ceSTreehugger Robot # include <malloc.h> 88*8ec969ceSTreehugger Robot # else 89*8ec969ceSTreehugger Robot extern char * malloc P((unsigned)); 90*8ec969ceSTreehugger Robot # endif 91*8ec969ceSTreehugger Robot extern int exit P((int)); 92*8ec969ceSTreehugger Robot # include "unproto.h" 93*8ec969ceSTreehugger Robot #endif 94*8ec969ceSTreehugger Robot 95*8ec969ceSTreehugger Robot 96*8ec969ceSTreehugger Robot #ifdef HAS_UNISTD_H 97*8ec969ceSTreehugger Robot # include <unistd.h> 98*8ec969ceSTreehugger Robot #endif 99*8ec969ceSTreehugger Robot 100*8ec969ceSTreehugger Robot /* 101*8ec969ceSTreehugger Robot * This suffix is tacked onto/removed from filenames 102*8ec969ceSTreehugger Robot * similar to the way freeze and compress do it. 103*8ec969ceSTreehugger Robot */ 104*8ec969ceSTreehugger Robot #define SUFFIX_TOASTED ".gsm" 105*8ec969ceSTreehugger Robot 106*8ec969ceSTreehugger Robot #include "proto.h" 107*8ec969ceSTreehugger Robot 108*8ec969ceSTreehugger Robot extern int audio_init_input P((void)), audio_init_output P((void)); 109*8ec969ceSTreehugger Robot extern int ulaw_input P((gsm_signal*)), ulaw_output P((gsm_signal *)); 110*8ec969ceSTreehugger Robot extern int alaw_input P((gsm_signal*)), alaw_output P((gsm_signal *)); 111*8ec969ceSTreehugger Robot extern int linear_input P((gsm_signal*)), linear_output P((gsm_signal *)); 112*8ec969ceSTreehugger Robot 113*8ec969ceSTreehugger Robot #endif /* TOAST_H */ 114