Logo Search packages:      
Sourcecode: wine-unstable version File versions  Download package

sqltypes.h

/*
 * Copyright (C) 1999 Xiang Li
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef __SQLTYPES_H
#define __SQLTYPES_H

#ifndef ODBCVER
#define ODBCVER   0x0351
#endif

#ifdef __cplusplus
extern "C" {
#endif

typedef unsigned char   SQLCHAR;
#ifdef WINE_UNICODE_NATIVE
typedef wchar_t         SQLWCHAR;
#else
typedef unsigned short  SQLWCHAR;
#endif
#ifndef UNICODE
typedef SQLCHAR         SQLTCHAR;
#else
typedef SQLWCHAR        SQLTCHAR;
#endif

#if (ODBCVER >= 0x0300)
typedef unsigned char   SQLDATE;
typedef unsigned char   SQLDECIMAL;
typedef double          SQLDOUBLE;
typedef double          SQLFLOAT;
#endif

typedef long            SQLINTEGER;

#if (ODBCVER >= 0x0300)
typedef unsigned char   SQLNUMERIC;
#endif

typedef void *          SQLPOINTER;

#if (ODBCVER >= 0x0300)
typedef float           SQLREAL;
#endif

typedef signed short int   SQLSMALLINT;
typedef unsigned short  SQLUSMALLINT;

#if (ODBCVER >= 0x0300)
typedef unsigned char   SQLTIME;
typedef unsigned char   SQLTIMESTAMP;
typedef unsigned char   SQLVARCHAR;
#endif

typedef SQLSMALLINT     SQLRETURN;

/* typedef void *                   SQLHANDLE; */

typedef SQLINTEGER            SQLHANDLE;
#if (ODBCVER >= 0x0300)

typedef SQLHANDLE               SQLHENV;
typedef SQLHANDLE               SQLHDBC;
typedef SQLHANDLE               SQLHSTMT;
typedef SQLHANDLE               SQLHDESC;

#else
typedef SQLINTEGER              SQLHENV;
typedef SQLINTEGER              SQLHDBC;
typedef SQLINTEGER              SQLHSTMT;
#endif

typedef signed char             SCHAR;
typedef SCHAR                   SQLSCHAR;
typedef long int                SDWORD;
typedef signed short int        SWORD;
typedef unsigned long int       UDWORD;
typedef unsigned short int      UWORD;
typedef UDWORD                  SQLUINTEGER;
typedef signed long             SLONG;
typedef signed short            SSHORT;
typedef double                  SDOUBLE;
typedef double                      LDOUBLE;
typedef float                   SFLOAT;
typedef void*                       PTR;
typedef signed short            RETCODE;
typedef void*                   SQLHWND;

#ifdef _WIN64
typedef INT64           SQLLEN;
typedef UINT64          SQLULEN;
typedef UINT64          SQLSETPOSIROW;
#else
#define SQLLEN          SQLINTEGER
#define SQLULEN         SQLUINTEGER
#define SQLSETPOSIROW   SQLUSMALLINT
#endif

typedef SQLHANDLE                   HENV;
typedef SQLHANDLE                   HDBC;
typedef SQLHANDLE                   HSTMT;

#ifndef     __SQLDATE
#define     __SQLDATE
typedef struct tagDATE_STRUCT
{
        SQLSMALLINT    year;
        SQLUSMALLINT   month;
        SQLUSMALLINT   day;
} DATE_STRUCT;

#if (ODBCVER >= 0x0300)
typedef DATE_STRUCT     SQL_DATE_STRUCT;
#endif

typedef struct tagTIME_STRUCT
{
        SQLUSMALLINT   hour;
        SQLUSMALLINT   minute;
        SQLUSMALLINT   second;
} TIME_STRUCT;

#if (ODBCVER >= 0x0300)
typedef TIME_STRUCT     SQL_TIME_STRUCT;
#endif

typedef struct tagTIMESTAMP_STRUCT
{
        SQLSMALLINT    year;
        SQLUSMALLINT   month;
        SQLUSMALLINT   day;
        SQLUSMALLINT   hour;
        SQLUSMALLINT   minute;
        SQLUSMALLINT   second;
        SQLUINTEGER    fraction;
} TIMESTAMP_STRUCT;

#if (ODBCVER >= 0x0300)
typedef TIMESTAMP_STRUCT      SQL_TIMESTAMP_STRUCT;
#endif


#if (ODBCVER >= 0x0300)
typedef enum
{
      SQL_IS_YEAR                               = 1,
      SQL_IS_MONTH                              = 2,
      SQL_IS_DAY                                = 3,
      SQL_IS_HOUR                               = 4,
      SQL_IS_MINUTE                             = 5,
      SQL_IS_SECOND                             = 6,
      SQL_IS_YEAR_TO_MONTH                = 7,
      SQL_IS_DAY_TO_HOUR                        = 8,
      SQL_IS_DAY_TO_MINUTE                = 9,
      SQL_IS_DAY_TO_SECOND                = 10,
      SQL_IS_HOUR_TO_MINUTE               = 11,
      SQL_IS_HOUR_TO_SECOND               = 12,
      SQL_IS_MINUTE_TO_SECOND             = 13
} SQLINTERVAL;

#endif

#if (ODBCVER >= 0x0300)
typedef struct tagSQL_YEAR_MONTH
{
            SQLUINTEGER       year;
            SQLUINTEGER       month;
} SQL_YEAR_MONTH_STRUCT;

typedef struct tagSQL_DAY_SECOND
{
            SQLUINTEGER       day;
            SQLUINTEGER       hour;
            SQLUINTEGER       minute;
            SQLUINTEGER       second;
            SQLUINTEGER       fraction;
} SQL_DAY_SECOND_STRUCT;

typedef struct tagSQL_INTERVAL_STRUCT
{
      SQLINTERVAL       interval_type;
      SQLSMALLINT       interval_sign;
      union {
            SQL_YEAR_MONTH_STRUCT         year_month;
            SQL_DAY_SECOND_STRUCT         day_second;
      } intval;

} SQL_INTERVAL_STRUCT;

#endif

#endif

#if (ODBCVER >= 0x0300)
#define ODBCINT64 long
#ifdef ODBCINT64
typedef ODBCINT64 SQLBIGINT;
typedef unsigned ODBCINT64    SQLUBIGINT;
#endif
#endif

#if (ODBCVER >= 0x0300)
#define SQL_MAX_NUMERIC_LEN         16
typedef struct tagSQL_NUMERIC_STRUCT
{
      SQLCHAR           precision;
      SQLSCHAR    scale;
      SQLCHAR           sign; /* 1=pos 0=neg */
      SQLCHAR           val[SQL_MAX_NUMERIC_LEN];
} SQL_NUMERIC_STRUCT;
#endif

#if (ODBCVER >= 0x0350)
#ifdef GUID_DEFINED
typedef GUID      SQLGUID;
#else
typedef struct  tagSQLGUID
{
    DWORD Data1;
    WORD Data2;
    WORD Data3;
    BYTE Data4[ 8 ];
} SQLGUID;
#endif
#endif


typedef unsigned long int       BOOKMARK;

#define SQL_WCHAR             (-8)
#define SQL_C_WCHAR            SQL_WCHAR

#ifdef __cplusplus
}
#endif

#endif

Generated by  Doxygen 1.6.0   Back to index