2001-07-29 19:19:15 +02:00
|
|
|
/*
|
2004-12-10 21:50:53 +01:00
|
|
|
* PROGRAM: Firebird RDBMS definitions
|
|
|
|
* MODULE: firebird.h
|
|
|
|
* DESCRIPTION: Main Firebird header.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2004-12-10 21:50:53 +01:00
|
|
|
* The contents of this file are subject to the Initial
|
|
|
|
* Developer's Public License Version 1.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the
|
|
|
|
* License. You may obtain a copy of the License at
|
|
|
|
* http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2004-12-10 21:50:53 +01:00
|
|
|
* Software distributed under the License is distributed AS IS,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing rights
|
|
|
|
* and limitations under the License.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2004-12-10 21:50:53 +01:00
|
|
|
* The Original Code was created by Mark O'Donohue, Mike Nordell and John Bellardo
|
|
|
|
* for the Firebird Open Source RDBMS project.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2004-12-10 21:50:53 +01:00
|
|
|
* Copyright (c) 2001
|
2001-07-29 19:19:15 +02:00
|
|
|
* Mark O'Donohue <mark.odonohue@ludwig.edu.au>
|
2001-12-28 06:16:31 +01:00
|
|
|
* Mike Nordell <tamlin@algonet.se>
|
2001-07-29 19:19:15 +02:00
|
|
|
* John Bellardo <bellardo@cs.ucsd.edu>
|
2004-12-10 21:50:53 +01:00
|
|
|
* and all contributors signed below.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2004-12-10 21:50:53 +01:00
|
|
|
* All Rights Reserved.
|
|
|
|
* Contributor(s): ______________________________________.
|
2001-07-29 19:19:15 +02:00
|
|
|
*
|
2007-04-25 16:10:47 +02:00
|
|
|
* Alex Peshkov
|
2001-07-29 19:19:15 +02:00
|
|
|
*/
|
|
|
|
|
2004-12-10 21:50:53 +01:00
|
|
|
#ifndef INCLUDE_Firebird_H
|
|
|
|
#define INCLUDE_Firebird_H
|
2001-07-29 19:19:15 +02:00
|
|
|
|
|
|
|
#include "gen/autoconfig.h"
|
|
|
|
|
2005-05-28 00:45:31 +02:00
|
|
|
// Vulcan definitions
|
|
|
|
#ifdef NAMESPACE
|
|
|
|
namespace NAMESPACE{} // declare namespace before use
|
|
|
|
using namespace NAMESPACE;
|
|
|
|
#define START_NAMESPACE namespace NAMESPACE {
|
2005-06-06 10:30:03 +02:00
|
|
|
#define CLASS(cls) namespace NAMESPACE { class cls; }
|
2005-05-28 00:45:31 +02:00
|
|
|
#define END_NAMESPACE }
|
|
|
|
#else
|
|
|
|
#define START_NAMESPACE
|
|
|
|
#define CLASS(cls) class cls;
|
|
|
|
#define END_NAMESPACE
|
|
|
|
#endif
|
|
|
|
|
2004-07-31 00:38:08 +02:00
|
|
|
// Using our debugging code is pointless when we may use Valgrind features
|
|
|
|
#if defined(DEV_BUILD) && !defined(USE_VALGRIND)
|
|
|
|
#define DEBUG_GDS_ALLOC
|
|
|
|
#endif
|
|
|
|
|
2003-01-18 20:39:12 +01:00
|
|
|
#if defined(WIN_NT)
|
2009-01-22 10:17:27 +01:00
|
|
|
#define FB_DLL_EXPORT __declspec(dllexport)
|
|
|
|
#elif defined(DARWIN)
|
|
|
|
#define FB_DLL_EXPORT API_ROUTINE
|
2001-12-28 06:16:31 +01:00
|
|
|
#else
|
|
|
|
#define FB_DLL_EXPORT
|
|
|
|
#endif
|
2005-02-17 13:51:13 +01:00
|
|
|
//#if defined(SOLX86)
|
2004-05-19 01:27:06 +02:00
|
|
|
// this pragmas is used only with gcc 2.95!
|
2008-12-05 01:56:15 +01:00
|
|
|
//#define __PRAGMA_REDEFINE_EXTNAME
|
2004-05-19 01:27:06 +02:00
|
|
|
//#define __EXTENSIONS__
|
|
|
|
//
|
2005-02-17 13:51:13 +01:00
|
|
|
//#endif
|
2001-12-28 06:16:31 +01:00
|
|
|
|
2003-02-27 22:34:41 +01:00
|
|
|
//
|
|
|
|
// Macro for function attribute definition
|
|
|
|
//
|
2003-03-09 03:23:56 +01:00
|
|
|
#if defined(__GNUC__)
|
2003-02-27 22:34:41 +01:00
|
|
|
#define ATTRIBUTE_FORMAT(a,b) __attribute__ ((format(printf,a,b)))
|
|
|
|
#else
|
|
|
|
#define ATTRIBUTE_FORMAT(a,b)
|
|
|
|
#endif
|
|
|
|
|
2001-12-24 03:51:06 +01:00
|
|
|
#ifdef __cplusplus
|
|
|
|
#include "fb_exception.h"
|
|
|
|
#endif
|
2001-07-29 19:19:15 +02:00
|
|
|
|
2004-05-22 04:11:56 +02:00
|
|
|
// from thd.h
|
2008-01-16 08:15:01 +01:00
|
|
|
#if defined(HAVE_POSIX_THREADS)
|
2004-05-22 04:11:56 +02:00
|
|
|
#define USE_POSIX_THREADS
|
|
|
|
#endif
|
2004-05-26 18:13:22 +02:00
|
|
|
|
2003-09-08 22:23:46 +02:00
|
|
|
#ifndef NULL
|
|
|
|
#define NULL 0L
|
|
|
|
#endif
|
|
|
|
|
2008-07-14 20:14:30 +02:00
|
|
|
#if defined(WIN_NT) && defined(SUPERSERVER)
|
2008-12-05 01:56:15 +01:00
|
|
|
// Comment this definition to build without priority scheduler
|
2004-06-08 15:41:08 +02:00
|
|
|
// OR:
|
|
|
|
// Uncomment this definition to build with priority scheduler
|
2004-08-16 14:28:43 +02:00
|
|
|
#define THREAD_PSCHED
|
2004-06-08 15:41:08 +02:00
|
|
|
#endif
|
|
|
|
|
2006-12-08 19:38:15 +01:00
|
|
|
#if defined(WIN_NT)
|
|
|
|
#define TRUSTED_AUTH
|
|
|
|
#endif
|
|
|
|
|
2005-08-10 16:47:42 +02:00
|
|
|
#endif /* INCLUDE_Firebird_H */
|