8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 21:23:02 +01:00
firebird-mirror/src/include/firebird.h

101 lines
2.5 KiB
C
Raw Normal View History

2001-07-29 19:19:15 +02:00
/*
* PROGRAM: Firebird RDBMS definitions
* MODULE: firebird.h
* DESCRIPTION: Main Firebird header.
2001-07-29 19:19:15 +02: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
*
* 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
*
* 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
*
* 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>
* and all contributors signed below.
2001-07-29 19:19:15 +02:00
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
2001-07-29 19:19:15 +02:00
*
* Alex Peshkov
2001-07-29 19:19:15 +02: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 {
#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)
2001-12-28 06:16:31 +01:00
#define FB_DLL_EXPORT __declspec(dllexport)
#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!
//#define __PRAGMA_REDEFINE_EXTNAME
//#define __EXTENSIONS__
//
2005-02-17 13:51:13 +01:00
//#endif
2001-12-28 06:16:31 +01:00
//
// Macro for function attribute definition
//
2003-03-09 03:23:56 +01:00
#if defined(__GNUC__)
#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
// from thd.h
2008-01-16 08:15:01 +01:00
#if defined(HAVE_POSIX_THREADS)
#define USE_POSIX_THREADS
#endif
#ifndef NULL
#define NULL 0L
#endif
#if defined(WIN_NT) && defined(SUPERSERVER)
// Comment this definition to build without priority scheduler
// OR:
// Uncomment this definition to build with priority scheduler
#define THREAD_PSCHED
#endif
2006-12-08 19:38:15 +01:00
#if defined(WIN_NT)
#define TRUSTED_AUTH
#endif
#endif /* INCLUDE_Firebird_H */