~ubuntu-dev/wxwidgets2.6/upstream-debian

« back to all changes in this revision

Viewing changes to src/iodbc/isql.h

  • Committer: Daniel T Chen
  • Date: 2006-06-26 10:15:11 UTC
  • Revision ID: crimsun@ubuntu.com-20060626101511-a4436cec4c6d9b35
ImportĀ DebianĀ 2.6.3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  isql.h
 
3
 *
 
4
 *  $Id: isql.h,v 1.9 2005/09/16 11:22:35 JS Exp $
 
5
 *
 
6
 *  iODBC defines
 
7
 *
 
8
 *  The iODBC driver manager.
 
9
 *
 
10
 *  Copyright (C) 1995 by Ke Jin <kejin@empress.com>
 
11
 *
 
12
 *  This library is free software; you can redistribute it and/or
 
13
 *  modify it under the terms of the GNU Library General Public
 
14
 *  License as published by the Free Software Foundation; either
 
15
 *  version 2 of the License, or (at your option) any later version.
 
16
 *
 
17
 *  This library is distributed in the hope that it will be useful,
 
18
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
19
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
20
 *  Library General Public License for more details.
 
21
 *
 
22
 *  You should have received a copy of the GNU Library General Public
 
23
 *  License along with this library; if not, write to the Free
 
24
 *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
25
 */
 
26
#ifndef _ISQL_H
 
27
#define _ISQL_H
 
28
 
 
29
#ifndef WIN16
 
30
#ifdef WIN32
 
31
#define SQL_API                         __stdcall
 
32
#else
 
33
#define FAR
 
34
#define EXPORT
 
35
#define CALLBACK
 
36
#define SQL_API                         EXPORT CALLBACK
 
37
#ifndef __EMX__
 
38
typedef void *HWND;
 
39
#endif
 
40
#endif
 
41
#endif
 
42
 
 
43
typedef void *SQLHWND;
 
44
 
 
45
typedef unsigned char UCHAR;
 
46
typedef long int SDWORD;
 
47
typedef short int SWORD;
 
48
typedef unsigned long int UDWORD;
 
49
typedef unsigned short int UWORD;
 
50
typedef long SQLINTEGER;
 
51
typedef UDWORD SQLUINTEGER;
 
52
 
 
53
typedef void FAR *PTR;
 
54
typedef void FAR *HENV;
 
55
typedef void FAR *HDBC;
 
56
typedef void FAR *HSTMT;
 
57
 
 
58
typedef signed short RETCODE;
 
59
#define SQLRETURN       RETCODE
 
60
 
 
61
 
 
62
#define ODBCVER                         0x0250
 
63
 
 
64
#define SQL_MAX_MESSAGE_LENGTH          512
 
65
#define SQL_MAX_DSN_LENGTH              32
 
66
 
 
67
/*
 
68
 *  Function return codes
 
69
 */
 
70
#define SQL_INVALID_HANDLE              (-2)
 
71
#define SQL_ERROR                       (-1)
 
72
#define SQL_SUCCESS                     0
 
73
#define SQL_SUCCESS_WITH_INFO           1
 
74
#define SQL_NO_DATA_FOUND               100
 
75
 
 
76
/*
 
77
 *  Standard SQL datatypes, using ANSI type numbering
 
78
 */
 
79
#define SQL_CHAR                        1
 
80
#define SQL_NUMERIC                     2
 
81
#define SQL_DECIMAL                     3
 
82
#define SQL_INTEGER                     4
 
83
#define SQL_SMALLINT                    5
 
84
#define SQL_FLOAT                       6
 
85
#define SQL_REAL                        7
 
86
#define SQL_DOUBLE                      8
 
87
#define SQL_VARCHAR                     12
 
88
 
 
89
#define SQL_TYPE_MIN                    SQL_CHAR
 
90
#define SQL_TYPE_NULL                   0
 
91
#define SQL_TYPE_MAX                    SQL_VARCHAR
 
92
 
 
93
/*
 
94
 *  C datatype to SQL datatype mapping
 
95
 */
 
96
#define SQL_C_CHAR                      SQL_CHAR
 
97
#define SQL_C_LONG                      SQL_INTEGER
 
98
#define SQL_C_SHORT                     SQL_SMALLINT
 
99
#define SQL_C_FLOAT                     SQL_REAL
 
100
#define SQL_C_DOUBLE                    SQL_DOUBLE
 
101
#define SQL_C_DEFAULT                   99
 
102
 
 
103
/*
 
104
 *  NULL status constants.
 
105
 */
 
106
#define SQL_NO_NULLS                    0
 
107
#define SQL_NULLABLE                    1
 
108
#define SQL_NULLABLE_UNKNOWN            2
 
109
 
 
110
/*
 
111
 *  Special length values
 
112
 */
 
113
#define SQL_NULL_DATA                   (-1)
 
114
#define SQL_DATA_AT_EXEC                (-2)
 
115
#define SQL_NTS                         (-3)
 
116
 
 
117
/*
 
118
 *  SQLFreeStmt
 
119
 */
 
120
#define SQL_CLOSE                       0
 
121
#define SQL_DROP                        1
 
122
#define SQL_UNBIND                      2
 
123
#define SQL_RESET_PARAMS                3
 
124
 
 
125
/*
 
126
 *  SQLTransact
 
127
 */
 
128
#define SQL_COMMIT                      0
 
129
#define SQL_ROLLBACK                    1
 
130
 
 
131
/*
 
132
 *  SQLColAttributes
 
133
 */
 
134
#define SQL_COLUMN_COUNT                0
 
135
#define SQL_COLUMN_NAME                 1
 
136
#define SQL_COLUMN_TYPE                 2
 
137
#define SQL_COLUMN_LENGTH               3
 
138
#define SQL_COLUMN_PRECISION            4
 
139
#define SQL_COLUMN_SCALE                5
 
140
#define SQL_COLUMN_DISPLAY_SIZE         6
 
141
#define SQL_COLUMN_NULLABLE             7
 
142
#define SQL_COLUMN_UNSIGNED             8
 
143
#define SQL_COLUMN_MONEY                9
 
144
#define SQL_COLUMN_UPDATABLE            10
 
145
#define SQL_COLUMN_AUTO_INCREMENT       11
 
146
#define SQL_COLUMN_CASE_SENSITIVE       12
 
147
#define SQL_COLUMN_SEARCHABLE           13
 
148
#define SQL_COLUMN_TYPE_NAME            14
 
149
#define SQL_COLUMN_TABLE_NAME           15
 
150
#define SQL_COLUMN_OWNER_NAME           16
 
151
#define SQL_COLUMN_QUALIFIER_NAME       17
 
152
#define SQL_COLUMN_LABEL                18
 
153
 
 
154
#define SQL_COLATT_OPT_MAX              SQL_COLUMN_LABEL
 
155
#define SQL_COLATT_OPT_MIN              SQL_COLUMN_COUNT
 
156
#define SQL_COLUMN_DRIVER_START         1000
 
157
 
 
158
/*
 
159
 *  SQLColAttributes : SQL_COLUMN_UPDATABLE
 
160
 */
 
161
#define SQL_ATTR_READONLY               0
 
162
#define SQL_ATTR_WRITE                  1
 
163
#define SQL_ATTR_READWRITE_UNKNOWN      2
 
164
 
 
165
/*
 
166
 *  SQLColAttributes : SQL_COLUMN_SEARCHABLE
 
167
 */
 
168
#define SQL_UNSEARCHABLE                0
 
169
#define SQL_LIKE_ONLY                   1
 
170
#define SQL_ALL_EXCEPT_LIKE             2
 
171
#define SQL_SEARCHABLE                  3
 
172
 
 
173
/*
 
174
 *  NULL Handles
 
175
 */
 
176
#define SQL_NULL_HENV                   0
 
177
#define SQL_NULL_HDBC                   0
 
178
#define SQL_NULL_HSTMT                  0
 
179
 
 
180
 
 
181
/*
 
182
 *  Function Prototypes
 
183
 */
 
184
#ifdef __cplusplus
 
185
extern "C"
 
186
{
 
187
#endif
 
188
 
 
189
  RETCODE SQL_API SQLAllocConnect (HENV henv, HDBC FAR * phdbc);
 
190
  RETCODE SQL_API SQLAllocEnv (HENV FAR * phenv);
 
191
  RETCODE SQL_API SQLAllocStmt (HDBC hdbc, HSTMT FAR * phstmt);
 
192
  RETCODE SQL_API SQLBindCol (HSTMT hstmt, UWORD icol, SWORD fCType,
 
193
      PTR rgbValue, SDWORD cbValueMax, SDWORD FAR * pcbValue);
 
194
  RETCODE SQL_API SQLCancel (HSTMT hstmt);
 
195
  RETCODE SQL_API SQLColAttributes (HSTMT hstmt, UWORD icol, UWORD fDescType,
 
196
      PTR rgbDesc, SWORD cbDescMax, SWORD FAR * pcbDesc, SDWORD FAR * pfDesc);
 
197
  RETCODE SQL_API SQLConnect (HDBC hdbc, UCHAR FAR * szDSN, SWORD cbDSN,
 
198
      UCHAR FAR * szUID, SWORD cbUID, UCHAR FAR * szAuthStr, SWORD cbAuthStr);
 
199
  RETCODE SQL_API SQLDescribeCol (HSTMT hstmt, UWORD icol,
 
200
      UCHAR FAR * szColName, SWORD cbColNameMax, SWORD FAR * pcbColName,
 
201
      SWORD FAR * pfSqlType, UDWORD FAR * pcbColDef, SWORD FAR * pibScale,
 
202
      SWORD FAR * pfNullable);
 
203
  RETCODE SQL_API SQLDisconnect (HDBC hdbc);
 
204
  RETCODE SQL_API SQLError (HENV henv, HDBC hdbc, HSTMT hstmt,
 
205
      UCHAR FAR * szSqlState, SDWORD FAR * pfNativeError, UCHAR FAR * szErrorMsg,
 
206
      SWORD cbErrorMsgMax, SWORD FAR * pcbErrorMsg);
 
207
  RETCODE SQL_API SQLExecDirect (HSTMT hstmt, UCHAR FAR * szSqlStr,
 
208
      SDWORD cbSqlStr);
 
209
  RETCODE SQL_API SQLExecute (HSTMT hstmt);
 
210
  RETCODE SQL_API SQLFetch (HSTMT hstmt);
 
211
  RETCODE SQL_API SQLFreeConnect (HDBC hdbc);
 
212
  RETCODE SQL_API SQLFreeEnv (HENV henv);
 
213
  RETCODE SQL_API SQLFreeStmt (HSTMT hstmt, UWORD fOption);
 
214
  RETCODE SQL_API SQLGetCursorName (HSTMT hstmt, UCHAR FAR * szCursor,
 
215
      SWORD cbCursorMax, SWORD FAR * pcbCursor);
 
216
  RETCODE SQL_API SQLNumResultCols (HSTMT hstmt, SWORD FAR * pccol);
 
217
  RETCODE SQL_API SQLPrepare (HSTMT hstmt, UCHAR FAR * szSqlStr,
 
218
      SDWORD cbSqlStr);
 
219
  RETCODE SQL_API SQLRowCount (HSTMT hstmt, SDWORD FAR * pcrow);
 
220
  RETCODE SQL_API SQLSetCursorName (HSTMT hstmt, UCHAR FAR * szCursor,
 
221
      SWORD cbCursor);
 
222
  RETCODE SQL_API SQLTransact (HENV henv, HDBC hdbc, UWORD fType);
 
223
 
 
224
/*
 
225
 *  Deprecated ODBC 1.0 function - Use SQLBindParameter
 
226
 */
 
227
  RETCODE SQL_API SQLSetParam (HSTMT hstmt, UWORD ipar, SWORD fCType,
 
228
      SWORD fSqlType, UDWORD cbColDef, SWORD ibScale, PTR rgbValue,
 
229
      SDWORD FAR * pcbValue);
 
230
 
 
231
#ifdef __cplusplus
 
232
}
 
233
#endif
 
234
 
 
235
#endif