00001 /***************************************************************************** 00002 * * 00003 * OpenNI 2.x Alpha * 00004 * Copyright (C) 2012 PrimeSense Ltd. * 00005 * * 00006 * This file is part of OpenNI. * 00007 * * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); * 00009 * you may not use this file except in compliance with the License. * 00010 * You may obtain a copy of the License at * 00011 * * 00012 * http://www.apache.org/licenses/LICENSE-2.0 * 00013 * * 00014 * Unless required by applicable law or agreed to in writing, software * 00015 * distributed under the License is distributed on an "AS IS" BASIS, * 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 00017 * See the License for the specific language governing permissions and * 00018 * limitations under the License. * 00019 * * 00020 *****************************************************************************/ 00021 #ifndef ONIPLATFORMLINUX_X86_H 00022 #define ONIPLATFORMLINUX_X86_H 00023 00024 //--------------------------------------------------------------------------- 00025 // Prerequisites 00026 //--------------------------------------------------------------------------- 00027 00028 //--------------------------------------------------------------------------- 00029 // Includes 00030 //--------------------------------------------------------------------------- 00031 #include <unistd.h> 00032 #include <stdlib.h> 00033 #include <stdio.h> 00034 #include <string.h> 00035 #include <assert.h> 00036 #include <limits.h> 00037 #include <stdint.h> 00038 00039 //--------------------------------------------------------------------------- 00040 // Platform Basic Definition 00041 //--------------------------------------------------------------------------- 00042 #define ONI_PLATFORM ONI_PLATFORM_LINUX_X86 00043 #define ONI_PLATFORM_STRING "Linux-x86" 00044 00045 //--------------------------------------------------------------------------- 00046 // Platform Capabilities 00047 //--------------------------------------------------------------------------- 00048 #define ONI_PLATFORM_ENDIAN_TYPE ONI_PLATFORM_IS_LITTLE_ENDIAN 00049 00050 #define ONI_PLATFORM_SUPPORTS_DYNAMIC_LIBS 1 00051 00052 //--------------------------------------------------------------------------- 00053 // Memory 00054 //--------------------------------------------------------------------------- 00056 #define ONI_DEFAULT_MEM_ALIGN 16 00057 00059 #define ONI_THREAD_STATIC __thread 00060 00061 //--------------------------------------------------------------------------- 00062 // Files 00063 //--------------------------------------------------------------------------- 00065 #define ONI_FILE_MAX_PATH 256 00066 00067 //--------------------------------------------------------------------------- 00068 // Call back 00069 //--------------------------------------------------------------------------- 00071 #define ONI_STDCALL __stdcall 00072 00074 #define ONI_CALLBACK_TYPE 00075 00077 #define ONI_C_DECL 00078 00079 //--------------------------------------------------------------------------- 00080 // Macros 00081 //--------------------------------------------------------------------------- 00083 #define ONI_TIMESTAMP __DATE__ " " __TIME__ 00084 00086 #define ONI_STRINGIFY(n) ONI_STRINGIFY_HELPER(n) 00087 #define ONI_STRINGIFY_HELPER(n) #n 00088 00089 //--------------------------------------------------------------------------- 00090 // API Export/Import Macros 00091 //--------------------------------------------------------------------------- 00093 #define ONI_API_EXPORT __attribute__ ((visibility("default"))) 00094 00096 #define ONI_API_IMPORT 00097 00099 #define ONI_API_DEPRECATED(msg) __attribute__((warning("This function is deprecated: " msg))) 00100 00101 #endif // ONIPLATFORMLINUX_X86_H 00102