1/* 2 * iodbcunix.h 3 * 4 * $Id: iodbcunix.h,v 1.7 2006/01/24 15:02:23 source Exp $ 5 * 6 * ODBC defines for Unix 7 * 8 * The iODBC driver manager. 9 * 10 * Copyright (C) 1995 by Ke Jin <kejin@empress.com> 11 * Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com> 12 * All Rights Reserved. 13 * 14 * This software is released under the terms of either of the following 15 * licenses: 16 * 17 * - GNU Library General Public License (see LICENSE.LGPL) 18 * - The BSD License (see LICENSE.BSD). 19 * 20 * Note that the only valid version of the LGPL license as far as this 21 * project is concerned is the original GNU Library General Public License 22 * Version 2, dated June 1991. 23 * 24 * While not mandated by the BSD license, any patches you make to the 25 * iODBC source code may be contributed back into the iODBC project 26 * at your discretion. Contributions will benefit the Open Source and 27 * Data Access community as a whole. Submissions may be made at: 28 * 29 * http://www.iodbc.org 30 * 31 * 32 * GNU Library Generic Public License Version 2 33 * ============================================ 34 * This library is free software; you can redistribute it and/or 35 * modify it under the terms of the GNU Library General Public 36 * License as published by the Free Software Foundation; only 37 * Version 2 of the License dated June 1991. 38 * 39 * This library is distributed in the hope that it will be useful, 40 * but WITHOUT ANY WARRANTY; without even the implied warranty of 41 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 42 * Library General Public License for more details. 43 * 44 * You should have received a copy of the GNU Library General Public 45 * License along with this library; if not, write to the Free 46 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 47 * 48 * 49 * The BSD License 50 * =============== 51 * Redistribution and use in source and binary forms, with or without 52 * modification, are permitted provided that the following conditions 53 * are met: 54 * 55 * 1. Redistributions of source code must retain the above copyright 56 * notice, this list of conditions and the following disclaimer. 57 * 2. Redistributions in binary form must reproduce the above copyright 58 * notice, this list of conditions and the following disclaimer in 59 * the documentation and/or other materials provided with the 60 * distribution. 61 * 3. Neither the name of OpenLink Software Inc. nor the names of its 62 * contributors may be used to endorse or promote products derived 63 * from this software without specific prior written permission. 64 * 65 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 66 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 67 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 68 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR 69 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 70 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 71 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 72 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 73 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 74 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 75 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 76 */ 77 78#ifndef _IODBCUNIX_H 79#define _IODBCUNIX_H 80 81/* 82 * Standard header files 83 */ 84#include <stdlib.h> 85#include <unistd.h> 86#include <objc/objc.h> 87 88#if defined(__WCHAR_TYPE__) && !defined(MACOSX102) 89#include <wchar.h> 90#endif 91 92 93/* 94 * Windows-style declarations 95 */ 96#define NEAR 97#define FAR 98#define EXPORT 99#define PASCAL 100#define VOID void 101#define CALLBACK 102#define _cdecl 103#define __stdcall 104 105 106/* 107 * Boolean support 108 */ 109#ifndef TRUE 110#define TRUE 1 111#endif 112#ifndef FALSE 113#define FALSE 0 114#endif 115 116 117#ifdef __cplusplus 118extern "C" { 119#endif 120 121 122/* 123 * Windows-style typedefs 124 */ 125#if defined (OBSOLETE_WINDOWS_TYPES) 126typedef unsigned char BYTE; 127#endif 128typedef unsigned short WORD; 129typedef unsigned int DWORD; 130typedef char * LPSTR; 131typedef const char * LPCSTR; 132typedef wchar_t * LPWSTR; 133typedef const wchar_t * LPCWSTR; 134typedef DWORD * LPDWORD; 135 136#if !defined(BOOL) && !defined(_OBJC_OBJC_H_) 137typedef int BOOL; 138#endif 139 140 141/* 142 * Determine sizeof(long) in case it is not determined by configure/config.h 143 */ 144#ifndef SIZEOF_LONG 145#if defined (_LP64) || \ 146 defined (__LP64__) || \ 147 defined (__64BIT__) || \ 148 defined (__alpha) || \ 149 defined (__sparcv9) || \ 150 defined (__arch64__) 151#define SIZEOF_LONG 8 /* 64 bit operating systems */ 152#else 153#define SIZEOF_LONG 4 /* 32 bit operating systems */ 154#endif 155#endif /* SIZEOF_LONG */ 156 157#ifdef __cplusplus 158} 159#endif 160 161#endif /* _IODBCUNIX_H */ 162