// file : odb/mssql/mssql-fwd.hxx // author : Boris Kolpackov // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2; see accompanying LICENSE file #ifndef ODB_MSSQL_MSSQL_FWD_HXX #define ODB_MSSQL_MSSQL_FWD_HXX #include #include // std::size_t // Forward declaration for some of the types defined in sqltypes.h or // sqlncli.h. This allows us to avoid having to include these files // in public headers. // #ifdef _WIN32 // Keep consistent with Windows ODBC headers. // typedef long SQLINTEGER; typedef unsigned long SQLUINTEGER; #ifdef _WIN64 typedef __int64 SQLLEN; typedef unsigned __int64 SQLULEN; #else #ifndef SQLLEN typedef SQLINTEGER SQLLEN; typedef SQLUINTEGER SQLULEN; #endif #endif #else // _WIN32 // Keep consistent with unixODBC headers. // template struct odbc_types; template <> struct odbc_types<4> { typedef long integer; typedef unsigned long uinteger; typedef integer len; typedef uinteger ulen; }; template <> struct odbc_types<8> { typedef int integer; typedef unsigned int uinteger; typedef long len; typedef unsigned long ulen; }; typedef odbc_types::integer SQLINTEGER; typedef odbc_types::uinteger SQLUINTEGER; #ifndef SQLLEN typedef odbc_types::len SQLLEN; typedef odbc_types::ulen SQLULEN; #endif #endif // _WIN32 typedef short SQLSMALLINT; typedef unsigned short SQLUSMALLINT; typedef SQLSMALLINT SQLRETURN; typedef void* SQLHANDLE; typedef SQLHANDLE SQLHENV; typedef SQLHANDLE SQLHDBC; typedef SQLHANDLE SQLHSTMT; typedef SQLHANDLE SQLHDESC; // If you get a redefinition error or warning for one of these macros, // then that means you included this header (or one that includes it), // before or . As a general rule, include or // before any of the ODB headers. // #ifndef SQL_HANDLE_ENV # define SQL_HANDLE_ENV 1 # define SQL_HANDLE_DBC 2 # define SQL_HANDLE_STMT 3 # define SQL_HANDLE_DESC 4 #endif #include #endif // ODB_MSSQL_MSSQL_FWD_HXX