1*ba62d9d3SAndroid Build Coastguard Worker /* 2*ba62d9d3SAndroid Build Coastguard Worker * Copyright (c) 2017, Intel Corporation 3*ba62d9d3SAndroid Build Coastguard Worker * 4*ba62d9d3SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*ba62d9d3SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Software"), 6*ba62d9d3SAndroid Build Coastguard Worker * to deal in the Software without restriction, including without limitation 7*ba62d9d3SAndroid Build Coastguard Worker * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*ba62d9d3SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*ba62d9d3SAndroid Build Coastguard Worker * Software is furnished to do so, subject to the following conditions: 10*ba62d9d3SAndroid Build Coastguard Worker * 11*ba62d9d3SAndroid Build Coastguard Worker * The above copyright notice and this permission notice shall be included 12*ba62d9d3SAndroid Build Coastguard Worker * in all copies or substantial portions of the Software. 13*ba62d9d3SAndroid Build Coastguard Worker * 14*ba62d9d3SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15*ba62d9d3SAndroid Build Coastguard Worker * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*ba62d9d3SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*ba62d9d3SAndroid Build Coastguard Worker * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 18*ba62d9d3SAndroid Build Coastguard Worker * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19*ba62d9d3SAndroid Build Coastguard Worker * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20*ba62d9d3SAndroid Build Coastguard Worker * OTHER DEALINGS IN THE SOFTWARE. 21*ba62d9d3SAndroid Build Coastguard Worker */ 22*ba62d9d3SAndroid Build Coastguard Worker // cm_include.h : include file for standard system include files, 23*ba62d9d3SAndroid Build Coastguard Worker // or project specific include files that are used frequently, but 24*ba62d9d3SAndroid Build Coastguard Worker // are changed infrequently 25*ba62d9d3SAndroid Build Coastguard Worker // 26*ba62d9d3SAndroid Build Coastguard Worker 27*ba62d9d3SAndroid Build Coastguard Worker #ifndef CMRTLIB_LINUX_SHARE_CM_INCLUDE_H_ 28*ba62d9d3SAndroid Build Coastguard Worker #define CMRTLIB_LINUX_SHARE_CM_INCLUDE_H_ 29*ba62d9d3SAndroid Build Coastguard Worker 30*ba62d9d3SAndroid Build Coastguard Worker #include <dlfcn.h> 31*ba62d9d3SAndroid Build Coastguard Worker 32*ba62d9d3SAndroid Build Coastguard Worker #ifndef ANDROID 33*ba62d9d3SAndroid Build Coastguard Worker #include "va/va.h" 34*ba62d9d3SAndroid Build Coastguard Worker #else 35*ba62d9d3SAndroid Build Coastguard Worker #include <va/va_android.h> 36*ba62d9d3SAndroid Build Coastguard Worker #define Display unsigned int 37*ba62d9d3SAndroid Build Coastguard Worker #define ANDROID_DISPLAY 0x18c34078 38*ba62d9d3SAndroid Build Coastguard Worker #endif 39*ba62d9d3SAndroid Build Coastguard Worker 40*ba62d9d3SAndroid Build Coastguard Worker #define sprintf_s snprintf 41*ba62d9d3SAndroid Build Coastguard Worker 42*ba62d9d3SAndroid Build Coastguard Worker #ifdef CM_RT_EXPORTS 43*ba62d9d3SAndroid Build Coastguard Worker #define CM_RT_API __attribute__((visibility("default"))) 44*ba62d9d3SAndroid Build Coastguard Worker #else 45*ba62d9d3SAndroid Build Coastguard Worker #define CM_RT_API 46*ba62d9d3SAndroid Build Coastguard Worker #endif 47*ba62d9d3SAndroid Build Coastguard Worker 48*ba62d9d3SAndroid Build Coastguard Worker #ifndef CM_NOINLINE 49*ba62d9d3SAndroid Build Coastguard Worker #define CM_NOINLINE __attribute__((noinline)) 50*ba62d9d3SAndroid Build Coastguard Worker #endif 51*ba62d9d3SAndroid Build Coastguard Worker 52*ba62d9d3SAndroid Build Coastguard Worker #define __cdecl 53*ba62d9d3SAndroid Build Coastguard Worker #define __stdcall __attribute__((__stdcall__)) 54*ba62d9d3SAndroid Build Coastguard Worker 55*ba62d9d3SAndroid Build Coastguard Worker #ifdef __try 56*ba62d9d3SAndroid Build Coastguard Worker #undef __try 57*ba62d9d3SAndroid Build Coastguard Worker #endif 58*ba62d9d3SAndroid Build Coastguard Worker #define __try try 59*ba62d9d3SAndroid Build Coastguard Worker 60*ba62d9d3SAndroid Build Coastguard Worker #ifdef __except 61*ba62d9d3SAndroid Build Coastguard Worker #undef __except 62*ba62d9d3SAndroid Build Coastguard Worker #endif 63*ba62d9d3SAndroid Build Coastguard Worker #define __except(e) catch(e) 64*ba62d9d3SAndroid Build Coastguard Worker 65*ba62d9d3SAndroid Build Coastguard Worker #define EXCEPTION_EXECUTE_HANDLER std::exception const& e 66*ba62d9d3SAndroid Build Coastguard Worker 67*ba62d9d3SAndroid Build Coastguard Worker #if NO_EXCEPTION_HANDLING || ANDROID 68*ba62d9d3SAndroid Build Coastguard Worker #define try if (true) 69*ba62d9d3SAndroid Build Coastguard Worker #define catch(x) if (false) 70*ba62d9d3SAndroid Build Coastguard Worker #define throw(...) 71*ba62d9d3SAndroid Build Coastguard Worker #endif 72*ba62d9d3SAndroid Build Coastguard Worker 73*ba62d9d3SAndroid Build Coastguard Worker typedef union _LARGE_INTEGER 74*ba62d9d3SAndroid Build Coastguard Worker { 75*ba62d9d3SAndroid Build Coastguard Worker struct 76*ba62d9d3SAndroid Build Coastguard Worker { 77*ba62d9d3SAndroid Build Coastguard Worker unsigned int LowPart; 78*ba62d9d3SAndroid Build Coastguard Worker int HighPart; 79*ba62d9d3SAndroid Build Coastguard Worker } u; 80*ba62d9d3SAndroid Build Coastguard Worker long long int QuadPart; 81*ba62d9d3SAndroid Build Coastguard Worker } LARGE_INTEGER; 82*ba62d9d3SAndroid Build Coastguard Worker 83*ba62d9d3SAndroid Build Coastguard Worker typedef int HANDLE; 84*ba62d9d3SAndroid Build Coastguard Worker 85*ba62d9d3SAndroid Build Coastguard Worker extern "C" int32_t QueryPerformanceFrequency(LARGE_INTEGER *frequency); 86*ba62d9d3SAndroid Build Coastguard Worker extern "C" int32_t QueryPerformanceCounter(LARGE_INTEGER *performanceCount); 87*ba62d9d3SAndroid Build Coastguard Worker 88*ba62d9d3SAndroid Build Coastguard Worker #endif // #ifndef CMRTLIB_LINUX_SHARE_CM_INCLUDE_H_ 89