module DB.HSQL.ODBC.Functions where
import Foreign(FunPtr,Ptr)
import Foreign.C(CString)
import DB.HSQL.ODBC.Type(SQLSMALLINT,SQLUSMALLINT,SQLINTEGER,SQLLEN,SQLULEN
,SQLRETURN,HSTMT,HDBC,HENV,SQLHANDLE)
foreign import ccall "HsODBC.h SQLAllocEnv"
sqlAllocEnv:: Ptr HENV -> IO SQLRETURN
foreign import ccall "HsODBC.h &SQLFreeEnv"
sqlFreeEnv_p:: FunPtr (HENV -> IO ())
foreign import ccall "HsODBC.h SQLAllocConnect"
sqlAllocConnect:: HENV -> Ptr HDBC -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLFreeConnect"
sqlFreeConnect:: HDBC -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLConnect"
sqlConnect:: HDBC -> CString -> Int -> CString -> Int -> CString -> Int
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLDriverConnect"
sqlDriverConnect:: HDBC -> Ptr () -> CString -> SQLSMALLINT -> CString
-> SQLSMALLINT -> Ptr SQLSMALLINT -> SQLUSMALLINT
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLDisconnect"
sqlDisconnect:: HDBC -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLAllocStmt"
sqlAllocStmt:: HDBC -> Ptr HSTMT -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLFreeStmt"
sqlFreeStmt:: HSTMT -> SQLUSMALLINT -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLNumResultCols"
sqlNumResultCols:: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLDescribeCol"
sqlDescribeCol:: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT
-> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN
-> Ptr SQLSMALLINT -> Ptr SQLSMALLINT
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLBindCol"
sqlBindCol:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a
-> SQLLEN -> Ptr SQLINTEGER
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLFetch"
sqlFetch:: HSTMT -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLGetDiagRec"
sqlGetDiagRec:: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString
-> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLExecDirect"
sqlExecDirect:: HSTMT -> CString -> Int -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLSetConnectOption"
sqlSetConnectOption:: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLTransact"
sqlTransact:: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN
foreign import ccall "HsODBC.h SQLGetData"
sqlGetData:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr ()
-> SQLINTEGER -> Ptr SQLINTEGER
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLTables"
sqlTables:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT
-> CString -> SQLSMALLINT -> CString -> SQLSMALLINT
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLColumns"
sqlColumns:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT
-> CString -> SQLSMALLINT -> CString -> SQLSMALLINT
-> IO SQLRETURN
foreign import ccall "HsODBC.h SQLMoreResults"
sqlMoreResults:: HSTMT -> IO SQLRETURN
sqlNts:: SQLSMALLINT
sqlNts = 3
sqlDriverNoPrompt:: SQLUSMALLINT
sqlDriverNoPrompt = 0
sqlHandleEnv:: SQLSMALLINT
sqlHandleEnv = 1
sqlHandleDbc:: SQLSMALLINT
sqlHandleDbc = 2
sizeOfHStmt:: Int
sizeOfHStmt = 4
sizeOfField:: Int
sizeOfField = 276
sqlHandleStmt:: SQLSMALLINT
sqlHandleStmt = 3
sqlDrop:: SQLUSMALLINT
sqlDrop = 1
fieldNameLength:: SQLSMALLINT
fieldNameLength = 255
sqlAutoCommit:: SQLUSMALLINT
sqlAutoCommit = 102
sqlAutoCommitOff:: SQLULEN
sqlAutoCommitOff = 0
sqlAutoCommitOn:: SQLULEN
sqlAutoCommitOn = 1
sqlCommit:: SQLUSMALLINT
sqlCommit = 0
sqlRollback:: SQLUSMALLINT
sqlRollback = 1
sqlNullData:: SQLINTEGER
sqlNullData = 1
sqlCChar:: SQLSMALLINT
sqlCChar = 1
sqlAttrRowArraySize = 27
sqlIsInteger = 6
sqlAttrCursorType = 6
sqlCursorStatic = 3