X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-odbc%2Fodbc-ff-interface.lisp;h=96c9c5187c411a11c63663b3734c567bf3c51521;hp=864436dac09712e4f612dd003505ad8ad14b2c4c;hb=5148be446aee32ec705beac3fbba35f499df4fd4;hpb=6e8ef7161f2d2759bf8d78740e7e93bea5eca781 diff --git a/db-odbc/odbc-ff-interface.lisp b/db-odbc/odbc-ff-interface.lisp index 864436d..96c9c51 100644 --- a/db-odbc/odbc-ff-interface.lisp +++ b/db-odbc/odbc-ff-interface.lisp @@ -6,7 +6,7 @@ ;;;; Purpose: Function definitions for UFFI interface to ODBC ;;;; Author: Kevin M. Rosenberg ;;;; -;;;; $Id: odbc-package.lisp 7061 2003-09-07 06:34:45Z kevin $ +;;;; $Id$ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2004 by Kevin M. Rosenberg ;;;; and Copyright (C) Paul Meurer 1999 - 2001. All rights reserved. @@ -21,7 +21,7 @@ (def-foreign-type sql-handle :pointer-void) (def-foreign-type sql-handle-ptr '(* sql-handle)) (def-foreign-type string-ptr '(* :unsigned-char)) -(def-type long-ptr-type '(* :long)) +(def-type long-ptr-type '(* #.$ODBC-LONG-TYPE)) (def-function "SQLAllocEnv" @@ -87,7 +87,7 @@ (def-function "SQLPrepare" ((hstmt sql-handle) ; HSTMT hstmt (*szSqlStr :cstring) ; UCHAR FAR *szSqlStr - (cbSqlStr :long) ; SDWORD cbSqlStr + (cbSqlStr :int) ; SDWORD cbSqlStr ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -101,7 +101,7 @@ (def-function "SQLExecDirect" ((hstmt sql-handle) ; HSTMT hstmt (*szSqlStr :cstring) ; UCHAR FAR *szSqlStr - (cbSqlStr :long) ; SDWORD cbSqlStr + (cbSqlStr :int) ; SDWORD cbSqlStr ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -123,24 +123,24 @@ (hdbc sql-handle) ; HDBC hdbc (hstmt sql-handle) ; HSTMT hstmt (*szSqlState string-ptr) ; UCHAR FAR *szSqlState - (*pfNativeError :pointer-void) ; SDWORD FAR *pfNativeError + (*pfNativeError (* :int)) ; SDWORD FAR *pfNativeError (*szErrorMsg string-ptr) ; UCHAR FAR *szErrorMsg (cbErrorMsgMax :short) ; SWORD cbErrorMsgMax - (*pcbErrorMsg :pointer-void) ; SWORD FAR *pcbErrorMsg + (*pcbErrorMsg (* :short)) ; SWORD FAR *pcbErrorMsg ) :module "odbc" :returning :short) ; RETCODE_SQL_API (def-function "SQLNumResultCols" ((hstmt sql-handle) ; HSTMT hstmt - (*pccol :pointer-void) ; SWORD FAR *pccol + (*pccol (* :short)) ; SWORD FAR *pccol ) :module "odbc" :returning :short) ; RETCODE_SQL_API (def-function "SQLRowCount" ((hstmt sql-handle) ; HSTMT hstmt - (*pcrow :pointer-void) ; SDWORD FAR *pcrow + (*pcrow (* :int)) ; SDWORD FAR *pcrow ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -150,11 +150,11 @@ (icol :short) ; UWORD icol (*szColName string-ptr) ; UCHAR FAR *szColName (cbColNameMax :short) ; SWORD cbColNameMax - (*pcbColName :pointer-void) ; SWORD FAR *pcbColName - (*pfSqlType :pointer-void) ; SWORD FAR *pfSqlType - (*pcbColDef :pointer-void) ; UDWORD FAR *pcbColDef - (*pibScale :pointer-void) ; SWORD FAR *pibScale - (*pfNullable :pointer-void) ; SWORD FAR *pfNullable + (*pcbColName (* :short)) ; SWORD FAR *pcbColName + (*pfSqlType (* :short)) ; SWORD FAR *pfSqlType + (*pcbColDef (* #.$ODBC-ULONG-TYPE)) ; UDWORD FAR *pcbColDef + (*pibScale (* :short)) ; SWORD FAR *pibScale + (*pfNullable (* :short)) ; SWORD FAR *pfNullable ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -163,10 +163,10 @@ ((hstmt sql-handle) ; HSTMT hstmt (icol :short) ; UWORD icol (fDescType :short) ; UWORD fDescType - (rgbDesc :cstring) ; PTR rgbDesc + (rgbDesc string-ptr) ; PTR rgbDesc (cbDescMax :short) ; SWORD cbDescMax - (*pcbDesc :cstring) ; SWORD FAR *pcbDesc - (*pfDesc :pointer-void) ; SDWORD FAR *pfDesc + (*pcbDesc (* :short)) ; SWORD FAR *pcbDesc + (*pfDesc (* :int)) ; SDWORD FAR *pfDesc ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -190,8 +190,8 @@ (icol :short) ; UWORD icol (fCType :short) ; SWORD fCType (rgbValue :pointer-void) ; PTR rgbValue - (cbValueMax :long) ; SDWORD cbValueMax - (*pcbValue :pointer-void) ; SDWORD FAR *pcbValue + (cbValueMax :int) ; SDWORD cbValueMax + (*pcbValue (* :int)) ; SDWORD FAR *pcbValue ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -214,10 +214,10 @@ (def-function "SQLDescribeParam" ((hstmt sql-handle) ; HSTMT hstmt (ipar :short) ; UWORD ipar - (*pfSqlType :pointer-void) ; SWORD FAR *pfSqlType - (*pcbColDef :pointer-void) ; UDWORD FAR *pcbColDef - (*pibScale :pointer-void) ; SWORD FAR *pibScale - (*pfNullable :pointer-void) ; SWORD FAR *pfNullable + (*pfSqlType (* :short)) ; SWORD FAR *pfSqlType + (*pcbColDef (* :unsigned-int)) ; UDWORD FAR *pcbColDef + (*pibScale (* :short)) ; SWORD FAR *pibScale + (*pfNullable (* :short)) ; SWORD FAR *pfNullable ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -229,10 +229,10 @@ (fParamType :short) ; SWORD fParamType (fCType :short) ; SWORD fCType (fSqlType :short) ; SWORD fSqlType - (cbColDef :long) ; UDWORD cbColDef + (cbColDef :int) ; UDWORD cbColDef (ibScale :short) ; SWORD ibScale (rgbValue :pointer-void) ; PTR rgbValue - (cbValueMax :long) ; SDWORD cbValueMax + (cbValueMax :int) ; SDWORD cbValueMax (*pcbValue :pointer-void) ; SDWORD FAR *pcbValue ) :module "odbc" @@ -244,7 +244,7 @@ (icol :short) ; UWORD icol (fCType :short) ; SWORD fCType (rgbValue :pointer-void) ; PTR rgbValue - (cbValueMax :long) ; SDWORD cbValueMax + (cbValueMax :int) ; SDWORD cbValueMax (*pcbValue :pointer-void) ; SDWORD FAR *pcbValue ) :module "odbc" @@ -260,7 +260,7 @@ (def-function "SQLPutData" ((hstmt sql-handle) ; HSTMT hstmt (rgbValue :pointer-void) ; PTR rgbValue - (cbValue :long) ; SDWORD cbValue + (cbValue :int) ; SDWORD cbValue ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -276,7 +276,7 @@ (def-function "SQLSetConnectOption" ((hdbc sql-handle) ; HDBC hdbc (fOption :short) ; UWORD fOption - (vParam :long) ; UDWORD vParam + (vParam :int) ; UDWORD vParam ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -294,7 +294,7 @@ (def-function "SQLExtendedFetch" ((hstmt sql-handle) ; HSTMT hstmt (fFetchType :short) ; UWORD fFetchType - (irow :long) ; SDWORD irow + (irow :int) ; SDWORD irow (*pcrow :pointer-void) ; UDWORD FAR *pcrow (*rgfRowStatus :pointer-void) ; UWORD FAR *rgfRowStatus ) @@ -306,10 +306,10 @@ (fDirection :short) (*szDSN string-ptr) ; UCHAR FAR *szDSN (cbDSNMax :short) ; SWORD cbDSNMax - (*pcbDSN :pointer-void) ; SWORD *pcbDSN + (*pcbDSN (* :short)) ; SWORD *pcbDSN (*szDescription string-ptr) ; UCHAR *szDescription (cbDescriptionMax :short) ; SWORD cbDescriptionMax - (*pcbDescription :pointer-void) ; SWORD *pcbDescription + (*pcbDescription (* :short)) ; SWORD *pcbDescription ) :module "odbc" :returning :short) ; RETCODE_SQL_API @@ -344,7 +344,7 @@ (hour :short) (minute :short) (second :short) - (fraction :long)) + (fraction :int)) ;;; Added by KMR @@ -369,3 +369,16 @@ :returning :short) +(def-function "SQLStatistics" + ((hstmt :pointer-void) + (catalog-name :pointer-void) + (catalog-name-length :short) + (schema-name :pointer-void) + (schema-name-length :short) + (table-name :cstring) + (table-name-length :short) + (unique :short) + (reserved :short)) + :returning :short) + +