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