2
* Modified isql.h file from iodbc. This file should be placed in the
3
* include path to be used to create ODBC compliant applications.
6
#ifndef _INTRINSIC_SQL_H
7
#define _INTRINSIC_SQL_H
9
typedef unsigned char UCHAR;
10
typedef long int SDWORD;
11
typedef short int SWORD;
12
typedef unsigned long int UDWORD;
13
typedef unsigned short int UWORD;
15
typedef void FAR *PTR;
17
typedef void FAR *HENV;
18
typedef void FAR *HDBC;
19
typedef void FAR *HSTMT;
21
typedef signed short RETCODE;
24
#define SQL_API __stdcall
26
#define SQL_API EXPORT CALLBACK
29
/*#define ODBCVER 0x0250 */
31
#define SQL_MAX_MESSAGE_LENGTH 512
32
#define SQL_MAX_DSN_LENGTH 32
35
#define SQL_INVALID_HANDLE (-2)
36
#define SQL_ERROR (-1)
38
#define SQL_SUCCESS_WITH_INFO 1
39
#define SQL_NO_DATA_FOUND 100
41
/* standard SQL datatypes (agree with ANSI type numbering) */
46
#define SQL_SMALLINT 5
50
#define SQL_VARCHAR 12
52
#define SQL_TYPE_MIN SQL_CHAR
53
#define SQL_TYPE_NULL 0
54
#define SQL_TYPE_MAX SQL_VARCHAR
56
/* C to SQL datatype mapping */
57
#define SQL_C_CHAR SQL_CHAR
58
#define SQL_C_LONG SQL_INTEGER
59
#define SQL_C_SHORT SQL_SMALLINT
60
#define SQL_C_FLOAT SQL_REAL
61
#define SQL_C_DOUBLE SQL_DOUBLE
62
#define SQL_C_DEFAULT 99
64
#define SQL_NO_NULLS 0
65
#define SQL_NULLABLE 1
66
#define SQL_NULLABLE_UNKNOWN 2
68
/* some special length values */
69
#define SQL_NULL_DATA (-1)
70
#define SQL_DATA_AT_EXEC (-2)
73
/* SQLFreeStmt flag values */
77
#define SQL_RESET_PARAMS 3
79
/* SQLTransact flag values */
81
#define SQL_ROLLBACK 1
83
/* SQLColAttributes flag values */
84
#define SQL_COLUMN_COUNT 0
85
#define SQL_COLUMN_LABEL 18
86
#define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
87
#define SQL_COLUMN_DRIVER_START 1000
89
#define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
92
#define SQL_NULL_HENV 0
93
#define SQL_NULL_HDBC 0
94
#define SQL_NULL_HSTMT 0
96
/* All code below has been added to the original isql.h coming from iodbc */
97
typedef unsigned char BYTE;
99
/* More SQLColAttributes flag values */
100
#define SQL_COLUMN_NAME 1
101
#define SQL_COLUMN_TYPE 2
102
#define SQL_COLUMN_LENGTH 3
103
#define SQL_COLUMN_PRECISION 4
104
#define SQL_COLUMN_SCALE 5
105
#define SQL_COLUMN_DISPLAY_SIZE 6
106
#define SQL_COLUMN_NULLABLE 7
107
#define SQL_COLUMN_UNSIGNED 8
108
#define SQL_COLUMN_MONEY 9
109
#define SQL_COLUMN_UPDATABLE 10
110
#define SQL_COLUMN_AUTO_INCREMENT 11
111
#define SQL_COLUMN_CASE_SENSITIVE 12
112
#define SQL_COLUMN_SEARCHABLE 13
113
#define SQL_COLUMN_TYPE_NAME 14
114
#define SQL_COLUMN_TABLE_NAME 15
115
#define SQL_COLUMN_OWNER_NAME 16
116
#define SQL_COLUMN_QUALIFIER_NAME 17
118
/* SQLColAttributes Searchable flags */
119
#define SQL_UNSEARCHABLE 0
120
#define SQL_LIKE_ONLY 1
121
#define SQL_ALL_EXCEPT_LIKE 2
122
#define SQL_SEARCHABLE 3
123
#define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
125
/* SQLColAttributes Updateable flags */
126
#define SQL_ATTR_READONLY 0
127
#define SQL_ATTR_WRITE 1
128
#define SQL_ATTR_READWRITE_UNKNOWN 2
131
* function prototypes previously not contained in isql.h
138
RETCODE SQL_API SQLAllocConnect(HENV henv,
140
RETCODE SQL_API SQLAllocEnv(HENV FAR * phenv);
141
RETCODE SQL_API SQLAllocStmt(HDBC hdbc,
143
RETCODE SQL_API SQLBindCol(HSTMT hstmt,
148
SDWORD FAR * pcbValue);
150
RETCODE SQL_API SQLCancel(HSTMT hstmt);
152
RETCODE SQL_API SQLColAttributes(HSTMT hstmt,
158
SDWORD FAR * pfDesc);
160
RETCODE SQL_API SQLConnect(HDBC hdbc,
165
UCHAR FAR * szAuthStr,
168
RETCODE SQL_API SQLDescribeCol(HSTMT hstmt,
170
UCHAR FAR * szColName,
172
SWORD FAR * pcbColName,
173
SWORD FAR * pfSqlType,
174
UDWORD FAR * pcbColDef,
175
SWORD FAR * pibScale,
176
SWORD FAR * pfNullable);
178
RETCODE SQL_API SQLDisconnect(HDBC hdbc);
180
RETCODE SQL_API SQLError(HENV henv,
183
UCHAR FAR * szSqlState,
184
SDWORD FAR * pfNativeError,
185
UCHAR FAR * szErrorMsg,
187
SWORD FAR * pcbErrorMsg);
189
RETCODE SQL_API SQLExecDirect(HSTMT hstmt,
190
UCHAR FAR * szSqlStr,
193
RETCODE SQL_API SQLExecute(HSTMT hstmt);
195
RETCODE SQL_API SQLFetch(HSTMT hstmt);
197
RETCODE SQL_API SQLFreeConnect(HDBC hdbc);
199
RETCODE SQL_API SQLFreeEnv(HENV henv);
201
RETCODE SQL_API SQLFreeStmt(HSTMT hstmt,
204
RETCODE SQL_API SQLGetCursorName(HSTMT hstmt,
205
UCHAR FAR * szCursor,
207
SWORD FAR * pcbCursor);
209
RETCODE SQL_API SQLNumResultCols(HSTMT hstmt,
212
RETCODE SQL_API SQLPrepare(HSTMT hstmt,
213
UCHAR FAR * szSqlStr,
216
RETCODE SQL_API SQLRowCount(HSTMT hstmt,
219
RETCODE SQL_API SQLSetCursorName(HSTMT hstmt,
220
UCHAR FAR * szCursor,
223
RETCODE SQL_API SQLTransact(HENV henv,
227
RETCODE SQL_API SQLSetParam(HSTMT hstmt,
234
SDWORD FAR * pcbValue);
236
RETCODE SQL_API SQLDataSources(HENV henv,
237
UWORD Direction, UCHAR FAR * ServerName,
238
WORD BufferLength1, WORD *NameLength1,
239
UCHAR FAR * Description, WORD BufferLength2,