mtollari 63d98e39cd Patch level : 12.0 no-patch
Files correlati     : 
Commento            : 
- Creazione nuova cartella per contenere tutte le librerie esterne
- Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB

git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-10-26 09:07:39 +00:00

135 lines
4.7 KiB
C

// *****************************************************
// Copyright (c) 2001-2011 iAnywhere Solutions, Inc.
// Portions copyright (c) 1988-2011 Sybase, Inc.
// All rights reserved. All unpublished rights reserved.
// *****************************************************
#ifndef _SQLOS_H_INCLUDED
#define _SQLOS_H_INCLUDED
/******************************************************************/
/* NOTE: _SQL_OS_<operating-system> will be defined by the */
/* preprocessor -o option. */
/* - also use macros that are defined in various environments*/
/* by various compilers to set the appropriate _SQL_OS */
/* macro for those files that are not preprocessed */
/******************************************************************/
#if !defined( UNIX ) && ( defined( _SQL_OS_UNIX ) || defined( _SQL_OS_UNIX64 ) || defined( __unix__ ) || defined( __APPLE__ ) || defined( __sun ) || defined( __hpux ) || defined( FREEBSD ) || defined( _AIX ) || defined( __linux__ ) )
#if !defined( ULPLAT_UNIXBASE )
#define UNIX
#endif
#endif
#if !defined( UNIX64 ) && defined( UNIX ) && ( defined( _SQL_OS_UNIX64 ) || defined( __LP64__ ) || defined( __64BIT__ ) || defined( __sparcv9 ) || defined( __amd64 ) )
#define UNIX64
#endif
#if defined( UNDER_PALM_OS )
#define _SQL_OS_PALM
#endif
#if defined( WINNT ) \
|| defined( _WINNT ) \
|| defined( __NT__ ) \
|| defined( WIN32 ) \
|| defined( _WIN32 ) \
|| defined( __WIN32__ ) \
|| defined( UNDER_CE )
#define _SQL_OS_WINNT
#endif
#if defined( UNIX64 )
#define _SQL_OS_UNIX64
#elif defined( UNIX ) \
|| defined( UNDER_UNIX ) \
|| defined( UNDER_VXW ) \
|| defined( ULPLAT_UNIXBASE )
#define _SQL_OS_UNIX
#endif
/******************************************************************/
/* Make sure that one of the _SQL_OS_ macros has been defined */
/******************************************************************/
#if !defined( _SQL_OS_WINNT ) \
&& !defined( _SQL_OS_PALM ) \
&& !defined( _SQL_OS_UNIX ) \
&& !defined( _SQL_OS_UNIX64 )
#error The appropriate _SQL_OS macro has not been defined
#endif
/******************************************************/
/* Define the variant of UNIX being used */
/******************************************************/
#if defined( _SQL_OS_UNIX ) || defined( _SQL_OS_UNIX64 )
#if defined( _AIX ) || defined( __aix__ )
#define _SQL_OS_UNIX_VARIANT_AIX
#elif defined( __sun ) || defined( __sun__ )
#define _SQL_OS_UNIX_VARIANT_SUN
#elif defined( __hpux ) || defined( __hpux__ )
#define _SQL_OS_UNIX_VARIANT_HPUX
#elif defined( __linux__ )
#define _SQL_OS_UNIX_VARIANT_LINUX
#elif defined( __APPLE__ )
// (This is also on for iPhone.)
#define _SQL_OS_UNIX_VARIANT_MACOSX
#elif defined( FREEBSD )
#define _SQL_OS_UNIX_VARIANT_FREEBSD
#elif defined( UNDER_VXW )
// n/a
#else
#error Unknown UNIX variant used
#endif
#endif
/****************************************************************************/
/* Check for bitness mismatch */
/****************************************************************************/
#if ( defined( _SQL_OS_UNIX_VARIANT_LINUX ) && defined( __INTEL_COMPILER ) ) || ( defined( _SQL_OS_UNIX_VARIANT_HPUX ) && ( defined( __HP_cc ) || defined( __HP_aCC ) ) )
#if defined( UNIX64 ) && !defined( __LP64__ )
#error "UNIX64 defined but 64-bit compilation not requested"
#elif !defined( UNIX64 ) && defined( __LP64__ )
#error "64-bit compilation requested but UNIX64 is not defined"
#endif
#endif
#if ( defined( _SQL_OS_UNIX_VARIANT_LINUX ) || defined( _SQL_OS_UNIX_VARIANT_SUN ) ) && ( defined( __SUNPRO_C ) || defined( __SUNPRO_CC ) )
#if defined( UNIX64 ) && ! ( defined( __amd64 ) || defined( __sparcv9 ) )
#error "UNIX64 defined but 64-bit compilation not requested"
#elif !defined( UNIX64 ) && ( defined( __amd64 ) || defined( __sparcv9 ) )
#error "64-bit compilation requested but UNIX64 is not defined"
#endif
#endif
/****************************************/
/* Define a_sql_int32/a_sql_uint32 */
/****************************************/
#if defined( _SQL_OS_UNIX64 ) || defined( _SQL_OS_UNIX_VARIANT_AIX )
typedef int a_sql_int32;
typedef unsigned int a_sql_uint32;
typedef long a_sql_int64;
typedef unsigned long a_sql_uint64;
#else
#if defined( _SQL_OS_UNIX_VARIANT_MACOSX )
typedef int a_sql_int32;
typedef unsigned int a_sql_uint32;
#else
typedef long a_sql_int32;
typedef unsigned long a_sql_uint32;
#endif
#if ( defined( _MSC_VER ) && _MSC_VER < 1300 ) || ( defined(__BORLANDC__) && __BORLANDC__ <= 0x0560 )
typedef __int64 a_sql_int64;
typedef unsigned __int64 a_sql_uint64;
#else
typedef long long a_sql_int64;
typedef unsigned long long a_sql_uint64;
#endif
#endif
#endif