1/*
2 * PROGRAM: Firebird RDBMS definitions
3 * MODULE: firebird.h
4 * DESCRIPTION: Main Firebird header.
5 *
6 * The contents of this file are subject to the Initial
7 * Developer's Public License Version 1.0 (the "License");
8 * you may not use this file except in compliance with the
9 * License. You may obtain a copy of the License at
10 * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
11 *
12 * Software distributed under the License is distributed AS IS,
13 * WITHOUT WARRANTY OF ANY KIND, either express or implied.
14 * See the License for the specific language governing rights
15 * and limitations under the License.
16 *
17 * The Original Code was created by Mark O'Donohue, Mike Nordell and John Bellardo
18 * for the Firebird Open Source RDBMS project.
19 *
20 * Copyright (c) 2001
21 * Mark O'Donohue <mark.odonohue@ludwig.edu.au>
22 * Mike Nordell <tamlin@algonet.se>
23 * John Bellardo <bellardo@cs.ucsd.edu>
24 * and all contributors signed below.
25 *
26 * All Rights Reserved.
27 * Contributor(s): ______________________________________.
28 *
29 * Alex Peshkov
30 */
31
32#ifndef INCLUDE_Firebird_H
33#define INCLUDE_Firebird_H
34
35#include "gen/autoconfig.h"
36
37// Using our debugging code is pointless when we may use Valgrind features
38#if defined(DEV_BUILD) && !defined(USE_VALGRIND)
39#define DEBUG_GDS_ALLOC
40#endif
41
42#if defined(WIN_NT)
43#define FB_DLL_EXPORT __declspec(dllexport)
44#elif defined(DARWIN)
45#define FB_DLL_EXPORT API_ROUTINE
46#else
47#define FB_DLL_EXPORT
48#endif
49//#if defined(SOLX86)
50// this pragmas is used only with gcc 2.95!
51//#define __PRAGMA_REDEFINE_EXTNAME
52//#define __EXTENSIONS__
53//
54//#endif
55
56//
57// Macro for function attribute definition
58//
59#if defined(__GNUC__)
60#define ATTRIBUTE_FORMAT(a, b) __attribute__ ((format(printf, a, b)))
61#else
62#define ATTRIBUTE_FORMAT(a, b)
63#endif
64
65#ifdef __cplusplus
66#include "../common/common.h"
67#include "fb_exception.h"
68#endif
69
70#ifndef NULL
71#define NULL 0L
72#endif
73
74#if defined(WIN_NT)
75#define TRUSTED_AUTH
76#endif
77
78#endif // INCLUDE_Firebird_H
79