1 #ifndef H_SNDLIB_H
2 #define H_SNDLIB_H
3 /* we're not supposed to use a name like _SNDLIB_H */
4 
5 #include "mus-config.h"
6 
7 #ifndef _MSC_VER
8   #include <unistd.h>
9 #endif
10 
11 #include <sys/types.h>
12 #include <stdio.h>
times_two(n: u32) -> u3213 
14 #if ((!__NetBSD__) && ((_MSC_VER) || (!defined(__STC__)) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ < 199901L))))
15   #define __func__ __FUNCTION__
16 #endif
17 
18 #if (!defined(M_PI))
19   #define M_PI 3.14159265358979323846264338327
20   #define M_PI_2 (M_PI / 2.0)
21 #endif
22 
23 #define is_power_of_2(x)	((((x) - 1) & (x)) == 0)
24 
25 #define MUS_MAX_MALLOC_DEFAULT (1 << 26)
26 #define MUS_MAX_TABLE_SIZE_DEFAULT (1024 * 1024 * 20) /* delay line allocation etc */
27 
28 #ifndef SEEK_SET
29   #define SEEK_SET 0
30   #define SEEK_END 2
31 #endif
32 
33 #ifdef _MSC_VER
34   #ifdef FOPEN
35     #undef FOPEN
36   #endif
37   #if USE_SND
38     #define OPEN(File, Flags, Mode) snd_open((File), (Flags), 0)
39   #else
40     #define OPEN(File, Flags, Mode) open((File), (Flags))
41   #endif
42 #else
43   #if USE_SND
44     #define OPEN(File, Flags, Mode) snd_open((File), (Flags), (Mode))
45    #else
46     #define OPEN(File, Flags, Mode) open((File), (Flags), (Mode))
47   #endif
48 #endif
49 
50 #if USE_SND
51   #define FOPEN(File, Flags)  snd_fopen((File), (Flags))
52   #define CREAT(File, Flags)  snd_creat((File), (Flags))
53   #define REMOVE(OldF)        snd_remove(OldF, IGNORE_CACHE)
54   #define STRERROR(Err)       snd_io_strerror()
55   #define CLOSE(Fd, Name)     snd_close(Fd, Name)
56   #define FCLOSE(Fd, Name)    snd_fclose(Fd, Name)
57 #else
58   #define FOPEN(File, Flags)  fopen((File), (Flags))
59   #define CREAT(File, Flags)  creat((File), (Flags))
60   #define REMOVE(OldF)        remove(OldF)
61   #define STRERROR(Err)       strerror(Err)
62   #define CLOSE(Fd, Name)     close(Fd)
63   #define FCLOSE(Fd, Name)    fclose(Fd)
64 #endif
65 
66 #ifndef S_set
67   #if (!HAVE_EXTENSION_LANGUAGE)
68     #define S_set "set-"
69   #else
70   #if HAVE_RUBY
71     #define S_set "set_"
72   #else
73   #if HAVE_SCHEME
74     #define S_set "set! "
75   #else
76   #if HAVE_FORTH
77     #define S_set "set-"
78   #endif
79   #endif
80   #endif
81   #endif
82 #endif
83 
84 #define MUS_LOOP_INFO_SIZE 8
85 #define MUS_ALSA_API 0
86 #define MUS_OSS_API 1
87 #define MUS_JACK_API 2
88 
89 #define G7XX 0
90 #define MUS_MAX_CHANS 256
91 
92 #include "sndlib.h"
93 #if (HAVE_EXTENSION_LANGUAGE)  /* make sndinfo for example sets this to 0 but does not change mus-config.h */
94   #include "xen.h"
95   #include "vct.h"
96 #endif
97 #endif
98