X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-odbc%2Fodbc-ff-interface.lisp;h=68270c88e8dad839c1879b01cd5f285ca3df67ce;hp=4fbb8356dc6884378e460ba4e889845e29892a61;hb=d2d49ab13c98bc7a1819a0fd3968268a5567bdc3;hpb=6684280691d01cc6d761f24288f9ea80d77bca29 diff --git a/db-odbc/odbc-ff-interface.lisp b/db-odbc/odbc-ff-interface.lisp index 4fbb835..68270c8 100644 --- a/db-odbc/odbc-ff-interface.lisp +++ b/db-odbc/odbc-ff-interface.lisp @@ -6,8 +6,6 @@ ;;;; Purpose: Function definitions for UFFI interface to ODBC ;;;; Author: Kevin M. Rosenberg ;;;; -;;;; $Id: odbc-package.lisp 7061 2003-09-07 06:34:45Z kevin $ -;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2004 by Kevin M. Rosenberg ;;;; and Copyright (C) Paul Meurer 1999 - 2001. All rights reserved. ;;;; @@ -19,17 +17,26 @@ (in-package #:odbc) (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 '(* #.$ODBC-LONG-TYPE)) +(def-foreign-type sql-handle-ptr (* sql-handle)) +(def-foreign-type string-ptr (* :unsigned-char)) +(def-type long-ptr-type (* #.$ODBC-LONG-TYPE)) +;; odbc v3 +(def-function "SQLAllocHandle" + ((handle-type :short) + (input-handle sql-handle) + (*phenv sql-handle-ptr)) + :module "odbc" + :returning :short) +;; deprecated (def-function "SQLAllocEnv" ((*phenv sql-handle-ptr) ; HENV FAR *phenv ) :module "odbc" :returning :short) ; RETCODE_SQL_API +;; deprecated (def-function "SQLAllocConnect" ((henv sql-handle) ; HENV henv (*phdbc sql-handle-ptr) ; HDBC FAR *phdbc @@ -41,7 +48,7 @@ ((hdbc sql-handle) ; HDBC hdbc (*szDSN :cstring) ; UCHAR FAR *szDSN (cbDSN :short) ; SWORD cbDSN - (*szUID :cstring) ; UCHAR FAR *szUID + (*szUID :cstring) ; UCHAR FAR *szUID (cbUID :short) ; SWORD cbUID (*szAuthStr :cstring) ; UCHAR FAR *szAuthStr (cbAuthStr :short) ; SWORD cbAuthStr @@ -52,7 +59,7 @@ (def-function "SQLDriverConnect" ((hdbc sql-handle) ; HDBC hdbc (hwnd sql-handle) ; SQLHWND hwnd - (*szConnStrIn string-ptr) ; UCHAR FAR *szConnStrIn + (*szConnStrIn :cstring) ; UCHAR FAR *szConnStrIn (cbConnStrIn :short) ; SWORD cbConnStrIn (*szConnStrOut string-ptr) ; UCHAR FAR *szConnStrOut (cbConnStrOutMax :short) ; SWORD cbConnStrOutMax @@ -66,7 +73,8 @@ ((hdbc sql-handle)) ; HDBC hdbc :module "odbc" :returning :short) ; RETCODE_SQL_API - + +;; deprecated (def-function "SQLAllocStmt" ((hdbc sql-handle) ; HDBC hdbc (*phstmt sql-handle-ptr) ; HSTMT FAR *phstmt @@ -290,7 +298,7 @@ :module "odbc" :returning :short) ; RETCODE_SQL_API - ; level 2 + ; level 2 (def-function "SQLExtendedFetch" ((hstmt sql-handle) ; HSTMT hstmt (fFetchType :short) ; UWORD fFetchType @@ -323,11 +331,11 @@ ;;; foreign type definitions -;;(defmacro %sql-len-data-at-exec (length) +;;(defmacro %sql-len-data-at-exec (length) ;; `(- $SQL_LEN_DATA_AT_EXEC_OFFSET ,length)) -(def-struct sql-c-time +(def-struct sql-c-time (hour :short) (minute :short) (second :short)) @@ -336,7 +344,7 @@ (year :short) (month :short) (day :short)) - + (def-struct sql-c-timestamp (year :short) (month :short) @@ -354,7 +362,16 @@ (*value :pointer-void) (szLength :int)) :module "odbc" - :returning :int) + :returning :short) + +(def-function "SQLGetEnvAttr" + ((henv sql-handle) ; HENV henv + (attr :int) + (*value :pointer-void) + (szLength :int) + (string-length-ptr (* :int))) + :module "odbc" + :returning :short) (def-function "SQLTables" ((hstmt :pointer-void) @@ -366,6 +383,7 @@ (table-name-length :short) (table-type-name :pointer-void) (table-type-name-length :short)) + :module "odbc" :returning :short) @@ -379,6 +397,7 @@ (table-name-length :short) (unique :short) (reserved :short)) + :module "odbc" :returning :short)