summaryrefslogtreecommitdiff
path: root/src/interfaces/odbc/isql.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/odbc/isql.h')
-rw-r--r--src/interfaces/odbc/isql.h237
1 files changed, 237 insertions, 0 deletions
diff --git a/src/interfaces/odbc/isql.h b/src/interfaces/odbc/isql.h
new file mode 100644
index 00000000000..7c7cfca3c5b
--- /dev/null
+++ b/src/interfaces/odbc/isql.h
@@ -0,0 +1,237 @@
+/* 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 0x0200
+
+# 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);
+
+#ifdef __cplusplus
+}
+#endif
+#endif