qtdatavis3d/tests/manual/kinectsurface/QtKinectWrapper/OpenNI/Include/ARC/XnOSARC.h

167 lines
6.4 KiB
C

/****************************************************************************
* *
* OpenNI 1.x Alpha *
* Copyright (C) 2011 PrimeSense Ltd. *
* *
* This file is part of OpenNI. *
* *
* OpenNI is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* OpenNI is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
****************************************************************************/
#ifndef _XN_OSLINUX_X86_H_
#define _XN_OSLINUX_X86_H_
//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include <sys/types.h>
#include <stdarg.h>
#include <time.h>
#include <stdio.h>
//---------------------------------------------------------------------------
// Files
//---------------------------------------------------------------------------
/** A generic handle type. */
typedef void* XN_HANDLE;
/** A file handle type. */
typedef FILE* XN_FILE_HANDLE;
/** The value of an invalid file handle. */
#define XN_INVALID_FILE_HANDLE NULL
/** A string that specifies the current directory. */
#define XN_FILE_LOCAL_DIR "./"
/** The file directory separator. */
#define XN_FILE_DIR_SEP "/"
/** The file extension separator. */
#define XN_FILE_EXT_SEP "."
/** The file "all" wildcard. */
#define XN_FILE_ALL_WILDCARD "*"
/** The newline separation string. */
#define XN_NEW_LINE_SEP "\n"
//---------------------------------------------------------------------------
// INI Files
//---------------------------------------------------------------------------
/** A string that specifies the extension of INI files. */
#define XN_INI_FILE_EXT "ini"
/** The maximum allowed INI string length (in bytes). */
// Note: This must always be big enough to contain a 32-bit number!
#define XN_INI_MAX_LEN 256
//---------------------------------------------------------------------------
// Shared Libraries
//---------------------------------------------------------------------------
/** A shared library handle type. */
typedef void* XN_LIB_HANDLE;
/** A string that specifies the prefix of shared library files. */
#define XN_SHARED_LIBRARY_PREFIX "lib"
/** A string that specifies the postfix of shared library files. */
#define XN_SHARED_LIBRARY_POSTFIX ".so"
//---------------------------------------------------------------------------
// Threads
//---------------------------------------------------------------------------
/** A Xiron thread type. */
typedef int XN_THREAD_HANDLE;
/** A Xiron thread ID. */
typedef int XN_THREAD_ID;
/** A Xiron process ID. */
typedef int XN_PROCESS_ID;
/** The thread entry point function prototype. */
typedef void* (*XN_THREAD_PROC_PROTO)(void* arg);
/** The thread entry point function definition. */
#define XN_THREAD_PROC void*
/** The thread return function. */
#define XN_THREAD_PROC_RETURN(ret) return((void*)ret)
/** The thread passable data pointer type. */
typedef void* XN_THREAD_PARAM;
//---------------------------------------------------------------------------
// Time Outs
//---------------------------------------------------------------------------
/** The mutex lock infinite timeout. */
#define XN_WAIT_INFINITE 0xFFFFFFFF
//---------------------------------------------------------------------------
// Mutex
//---------------------------------------------------------------------------
/** A Xiron mutex type. */
struct XnMutex;
typedef struct XnMutex* XN_MUTEX_HANDLE;
//---------------------------------------------------------------------------
// Critical Sections
//---------------------------------------------------------------------------
/** A Xiron critical sections type. */
typedef XN_MUTEX_HANDLE XN_CRITICAL_SECTION_HANDLE;
//---------------------------------------------------------------------------
// Events
//---------------------------------------------------------------------------
/** A Xiron event type. */
struct _XnEvent;
typedef struct _XnEvent *XN_EVENT_HANDLE;
//---------------------------------------------------------------------------
// Semaphores
//---------------------------------------------------------------------------
/** A Xiron event type. */
struct _XnSemaphore;
typedef struct _XnSemaphore *XN_SEMAPHORE_HANDLE;
//---------------------------------------------------------------------------
// Timer
//---------------------------------------------------------------------------
/** The Xiron OS timer structure. */
typedef struct XnOSTimer
{
XnUInt64 nStartTick;
} XnOSTimer;
//---------------------------------------------------------------------------
// Network
//---------------------------------------------------------------------------
/** The network host name and port separator. */
#define XN_NETWORK_HOST_PORT_SEP ":"
//---------------------------------------------------------------------------
// Swaps
//---------------------------------------------------------------------------
#define XN_PREPARE_VAR16_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR32_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR64_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR_FLOAT_IN_BUFFER(var) (var)
#define XN_IMPLEMENT_OS \
printf("Not Implemented: %s at %s(%u)\n", __FUNCTION__, __FILE__, __LINE__); \
_brk();
#endif //_XN_OSLINUX_X86_H_