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