Logo Search packages:      
Sourcecode: psqlodbc version File versions

isql.h

/*
 * Modified isql.h file from iodbc. This file should be placed in the
 * include path to be used to create ODBC compliant applications.
 */

#ifndef _INTRINSIC_SQL_H
#define _INTRINSIC_SQL_H

typedef unsigned char UCHAR;
typedef long int SDWORD;
typedef short int SWORD;
typedef unsigned long int UDWORD;
typedef unsigned short int UWORD;

typedef void FAR *PTR;

typedef void FAR *HENV;
typedef void FAR *HDBC;
typedef void FAR *HSTMT;

typedef signed short RETCODE;

#ifdef WIN32
#define SQL_API                __stdcall
#else
#define SQL_API                EXPORT CALLBACK
#endif

/*#define ODBCVER       0x0250 */

#define SQL_MAX_MESSAGE_LENGTH                  512
#define SQL_MAX_DSN_LENGTH                      32

/* return code */
#define SQL_INVALID_HANDLE                      (-2)
#define SQL_ERROR                               (-1)
#define SQL_SUCCESS                                   0
#define SQL_SUCCESS_WITH_INFO             1
#define SQL_NO_DATA_FOUND                       100

/* standard SQL datatypes (agree with ANSI type numbering) */
#define SQL_CHAR                                1
#define SQL_NUMERIC                                   2
#define SQL_DECIMAL                                   3
#define SQL_INTEGER                                   4
#define SQL_SMALLINT                            5
#define SQL_FLOAT                               6
#define SQL_REAL                                7
#define SQL_DOUBLE                                    8
#define SQL_VARCHAR                                   12

#define SQL_TYPE_MIN                            SQL_CHAR
#define SQL_TYPE_NULL                           0
#define SQL_TYPE_MAX                            SQL_VARCHAR

/* C to SQL datatype mapping */
#define SQL_C_CHAR                                    SQL_CHAR
#define SQL_C_LONG                                    SQL_INTEGER
#define SQL_C_SHORT                                   SQL_SMALLINT
#define SQL_C_FLOAT                                   SQL_REAL
#define SQL_C_DOUBLE                            SQL_DOUBLE
#define SQL_C_DEFAULT                           99

#define SQL_NO_NULLS                            0
#define SQL_NULLABLE                            1
#define SQL_NULLABLE_UNKNOWN              2

/* some special length values */
#define SQL_NULL_DATA                           (-1)
#define SQL_DATA_AT_EXEC                        (-2)
#define SQL_NTS                                       (-3)

/* SQLFreeStmt flag values */
#define SQL_CLOSE                               0
#define SQL_DROP                                1
#define SQL_UNBIND                                    2
#define SQL_RESET_PARAMS                        3

/* SQLTransact flag values */
#define SQL_COMMIT                                    0
#define SQL_ROLLBACK                            1

/* SQLColAttributes flag values */
#define SQL_COLUMN_COUNT                        0
#define SQL_COLUMN_LABEL                        18
#define SQL_COLATT_OPT_MAX                      SQL_COLUMN_LABEL
#define SQL_COLUMN_DRIVER_START                 1000

#define SQL_COLATT_OPT_MIN                      SQL_COLUMN_COUNT

/* Null handles */
#define SQL_NULL_HENV                           0
#define SQL_NULL_HDBC                           0
#define SQL_NULL_HSTMT                          0

/* All code below has been added to the original isql.h coming from iodbc */
typedef unsigned char BYTE;

/* More SQLColAttributes flag values */
#define SQL_COLUMN_NAME                         1
#define SQL_COLUMN_TYPE                         2
#define SQL_COLUMN_LENGTH                       3
#define SQL_COLUMN_PRECISION              4
#define SQL_COLUMN_SCALE                        5
#define SQL_COLUMN_DISPLAY_SIZE                 6
#define SQL_COLUMN_NULLABLE                     7
#define SQL_COLUMN_UNSIGNED                     8
#define SQL_COLUMN_MONEY                        9
#define SQL_COLUMN_UPDATABLE              10
#define SQL_COLUMN_AUTO_INCREMENT         11
#define SQL_COLUMN_CASE_SENSITIVE         12
#define SQL_COLUMN_SEARCHABLE             13
#define SQL_COLUMN_TYPE_NAME              14
#define SQL_COLUMN_TABLE_NAME             15
#define SQL_COLUMN_OWNER_NAME             16
#define SQL_COLUMN_QUALIFIER_NAME         17

/* SQLColAttributes Searchable flags */
#define SQL_UNSEARCHABLE                        0
#define SQL_LIKE_ONLY                           1
#define SQL_ALL_EXCEPT_LIKE                     2
#define SQL_SEARCHABLE                          3
#define SQL_PRED_SEARCHABLE                     SQL_SEARCHABLE

/* SQLColAttributes Updateable flags */
#define SQL_ATTR_READONLY                       0
#define SQL_ATTR_WRITE                          1
#define SQL_ATTR_READWRITE_UNKNOWN        2

/*
 *    function prototypes previously not contained in isql.h
 */
#ifdef __cplusplus
extern            "C"
{
#endif

RETCODE SQL_API SQLAllocConnect(HENV henv,
                        HDBC FAR * phdbc);
RETCODE SQL_API SQLAllocEnv(HENV FAR * phenv);
RETCODE SQL_API SQLAllocStmt(HDBC hdbc,
                   HSTMT FAR * phstmt);
RETCODE SQL_API SQLBindCol(HSTMT hstmt,
               UWORD icol,
               SWORD fCType,
               PTR rgbValue,
               SDWORD cbValueMax,
               SDWORD FAR * pcbValue);

RETCODE SQL_API SQLCancel(HSTMT hstmt);

RETCODE SQL_API SQLColAttributes(HSTMT hstmt,
                         UWORD icol,
                         UWORD fDescType,
                         PTR rgbDesc,
                         SWORD cbDescMax,
                         SWORD FAR * pcbDesc,
                         SDWORD FAR * pfDesc);

RETCODE SQL_API SQLConnect(HDBC hdbc,
               UCHAR FAR * szDSN,
               SWORD cbDSN,
               UCHAR FAR * szUID,
               SWORD cbUID,
               UCHAR FAR * szAuthStr,
               SWORD cbAuthStr);

RETCODE SQL_API SQLDescribeCol(HSTMT hstmt,
                     UWORD icol,
                     UCHAR FAR * szColName,
                     SWORD cbColNameMax,
                     SWORD FAR * pcbColName,
                     SWORD FAR * pfSqlType,
                     UDWORD FAR * pcbColDef,
                     SWORD FAR * pibScale,
                     SWORD FAR * pfNullable);

RETCODE SQL_API SQLDisconnect(HDBC hdbc);

RETCODE SQL_API SQLError(HENV henv,
             HDBC hdbc,
             HSTMT hstmt,
             UCHAR FAR * szSqlState,
             SDWORD FAR * pfNativeError,
             UCHAR FAR * szErrorMsg,
             SWORD cbErrorMsgMax,
             SWORD FAR * pcbErrorMsg);

RETCODE SQL_API SQLExecDirect(HSTMT hstmt,
                    UCHAR FAR * szSqlStr,
                    SDWORD cbSqlStr);

RETCODE SQL_API SQLExecute(HSTMT hstmt);

RETCODE SQL_API SQLFetch(HSTMT hstmt);

RETCODE SQL_API SQLFreeConnect(HDBC hdbc);

RETCODE SQL_API SQLFreeEnv(HENV henv);

RETCODE SQL_API SQLFreeStmt(HSTMT hstmt,
                  UWORD fOption);

RETCODE SQL_API SQLGetCursorName(HSTMT hstmt,
                         UCHAR FAR * szCursor,
                         SWORD cbCursorMax,
                         SWORD FAR * pcbCursor);

RETCODE SQL_API SQLNumResultCols(HSTMT hstmt,
                         SWORD FAR * pccol);

RETCODE SQL_API SQLPrepare(HSTMT hstmt,
               UCHAR FAR * szSqlStr,
               SDWORD cbSqlStr);

RETCODE SQL_API SQLRowCount(HSTMT hstmt,
                  SDWORD FAR * pcrow);

RETCODE SQL_API SQLSetCursorName(HSTMT hstmt,
                         UCHAR FAR * szCursor,
                         SWORD cbCursor);

RETCODE SQL_API SQLTransact(HENV henv,
                  HDBC hdbc,
                  UWORD fType);

RETCODE SQL_API SQLSetParam(HSTMT hstmt,
                  UWORD ipar,
                  SWORD fCType,
                  SWORD fSqlType,
                  UDWORD cbColDef,
                  SWORD ibScale,
                  PTR rgbValue,
                  SDWORD FAR * pcbValue);

RETCODE SQL_API SQLDataSources(HENV henv,
                     UWORD Direction, UCHAR FAR * ServerName,
                     WORD BufferLength1, WORD *NameLength1,
                     UCHAR FAR * Description, WORD BufferLength2,
                     WORD *NameLength2);

#ifdef __cplusplus
}
#endif

#endif

Generated by  Doxygen 1.6.0   Back to index