1/*
2 * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26#ifndef __SOUNDDEFS_INCLUDED__
27#define __SOUNDDEFS_INCLUDED__
28
29
30// types for X_PLATFORM
31#define X_WINDOWS       1
32#define X_SOLARIS       2
33#define X_LINUX         3
34#define X_BSD           4
35#define X_MACOSX        5
36
37// **********************************
38// Make sure you set X_PLATFORM defines correctly.
39// Everything depends upon this flag being setup correctly.
40// **********************************
41
42#if (!defined(X_PLATFORM))
43#error "You need to define X_PLATFORM outside of the source. Use the types above."
44#endif
45
46
47// following is needed for _LP64
48#if ((X_PLATFORM == X_SOLARIS) || (X_PLATFORM == X_LINUX) || (X_PLATFORM == X_MACOSX))
49#include <sys/types.h>
50#endif
51
52#if X_PLATFORM == X_WINDOWS
53#ifndef WIN32_LEAN_AND_MEAN
54#define WIN32_LEAN_AND_MEAN
55#endif
56#include <windows.h>
57#endif /* X_PLATFORM == X_WINDOWS */
58
59
60/*
61* These types are defined elsewhere for newer 32/64-bit Windows
62* header files, but not on Solaris/Linux (X_PLATFORM != X_WINDOWS)
63*/
64#if (X_PLATFORM != X_WINDOWS)
65
66typedef unsigned char           UINT8;
67typedef char                    INT8;
68typedef short                   INT16;
69typedef unsigned short          UINT16;
70#ifdef _LP64
71typedef int                     INT32;
72typedef unsigned int            UINT32;
73typedef unsigned long           UINT64;
74typedef long                    INT64;
75#else /* _LP64 */
76typedef long                    INT32;
77typedef unsigned long           UINT32;
78/* generic 64 bit ? */
79typedef unsigned long long      UINT64;
80typedef long long               INT64;
81#endif /* _LP64 */
82
83typedef unsigned long           UINT_PTR;
84typedef long                    INT_PTR;
85
86#endif /* X_PLATFORM != X_WINDOWS */
87
88
89typedef unsigned char   UBYTE;
90typedef char            SBYTE;
91
92
93#undef TRUE
94#undef FALSE
95
96#ifndef TRUE
97#define TRUE    1
98#endif
99
100#ifndef FALSE
101#define FALSE   0
102#endif
103
104#undef NULL
105#ifndef NULL
106#define NULL    0L
107#endif
108
109
110
111
112#if X_PLATFORM == X_WINDOWS
113#include <stdlib.h>
114#define INLINE          _inline
115#endif
116
117
118#if X_PLATFORM == X_SOLARIS
119#define INLINE
120#endif
121
122
123#if X_PLATFORM == X_LINUX
124#define INLINE          inline
125#endif
126
127
128#if (X_PLATFORM == X_BSD) || (X_PLATFORM == X_MACOSX)
129#define INLINE          inline
130#endif
131
132
133#endif  // __SOUNDDEFS_INCLUDED__
134