xref: /aosp_15_r20/external/libgsm/inc/toast.h (revision 8ec969cea971fe25ff2d3933a5a9f8504f8e86c9)
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