{-# LINE 1 "DB/HSQL/ODBC/Functions.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "DB/HSQL/ODBC/Functions.hsc" #-}
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)



{-# LINE 12 "DB/HSQL/ODBC/Functions.hsc" #-}


{-# LINE 16 "DB/HSQL/ODBC/Functions.hsc" #-}

{-# LINE 17 "DB/HSQL/ODBC/Functions.hsc" #-}

{-# LINE 18 "DB/HSQL/ODBC/Functions.hsc" #-}

foreign import ccall "HsODBC.h SQLAllocEnv" 
{-# LINE 20 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlAllocEnv:: Ptr HENV -> IO SQLRETURN


{-# LINE 26 "DB/HSQL/ODBC/Functions.hsc" #-}
foreign import ccall "HsODBC.h &SQLFreeEnv" 
 sqlFreeEnv_p:: FunPtr (HENV -> IO ())

{-# LINE 29 "DB/HSQL/ODBC/Functions.hsc" #-}

foreign import ccall "HsODBC.h SQLAllocConnect" 
{-# LINE 31 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlAllocConnect:: HENV -> Ptr HDBC -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLFreeConnect" 
{-# LINE 34 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlFreeConnect:: HDBC -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLConnect" 
{-# LINE 37 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlConnect:: HDBC -> CString -> Int -> CString -> Int -> CString -> Int 
           -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLDriverConnect" 
{-# LINE 41 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlDriverConnect:: HDBC -> Ptr () -> CString -> SQLSMALLINT -> CString 
                 -> SQLSMALLINT -> Ptr SQLSMALLINT -> SQLUSMALLINT 
                 -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLDisconnect" 
{-# LINE 46 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlDisconnect:: HDBC -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLAllocStmt" 
{-# LINE 49 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlAllocStmt:: HDBC -> Ptr HSTMT -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLFreeStmt" 
{-# LINE 52 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlFreeStmt:: HSTMT -> SQLUSMALLINT -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLNumResultCols" 
{-# LINE 55 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlNumResultCols:: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLDescribeCol" 
{-# LINE 58 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlDescribeCol:: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT 
               -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN 
               -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT 
               -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLBindCol" 
{-# LINE 64 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlBindCol:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a 
           -> SQLLEN -> Ptr SQLINTEGER 
           -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLFetch" 
{-# LINE 69 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlFetch:: HSTMT -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLGetDiagRec" 
{-# LINE 72 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlGetDiagRec:: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString 
              -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT 
              -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLExecDirect" 
{-# LINE 77 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlExecDirect:: HSTMT -> CString -> Int -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLSetConnectOption" 
{-# LINE 80 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlSetConnectOption:: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLTransact" 
{-# LINE 83 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlTransact:: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLGetData" 
{-# LINE 86 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlGetData:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () 
           -> SQLINTEGER -> Ptr SQLINTEGER 
           -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLTables" 
{-# LINE 91 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlTables:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
          -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
          -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLColumns" 
{-# LINE 96 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlColumns:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
           -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
           -> IO SQLRETURN

foreign import ccall "HsODBC.h SQLMoreResults" 
{-# LINE 101 "DB/HSQL/ODBC/Functions.hsc" #-}
 sqlMoreResults:: HSTMT -> IO SQLRETURN


{-# LINE 108 "DB/HSQL/ODBC/Functions.hsc" #-}


-- |

-- ptrField thinc = (#ptr FIELD, thinc)

-- peekField = #peek FIELD


-- | 
sqlNts:: SQLSMALLINT
sqlNts = -3
{-# LINE 120 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlDriverNoPrompt:: SQLUSMALLINT
sqlDriverNoPrompt = 0
{-# LINE 123 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlHandleEnv:: SQLSMALLINT
sqlHandleEnv = 1
{-# LINE 126 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlHandleDbc:: SQLSMALLINT
sqlHandleDbc = 2
{-# LINE 129 "DB/HSQL/ODBC/Functions.hsc" #-}

sizeOfHStmt:: Int
sizeOfHStmt = 4
{-# LINE 132 "DB/HSQL/ODBC/Functions.hsc" #-}

sizeOfField:: Int
sizeOfField = 276
{-# LINE 135 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlHandleStmt:: SQLSMALLINT
sqlHandleStmt = 3
{-# LINE 138 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlDrop:: SQLUSMALLINT
sqlDrop = 1
{-# LINE 141 "DB/HSQL/ODBC/Functions.hsc" #-}

fieldNameLength:: SQLSMALLINT
fieldNameLength = 255
{-# LINE 144 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlAutoCommit:: SQLUSMALLINT
sqlAutoCommit = 102
{-# LINE 147 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlAutoCommitOff:: SQLULEN
sqlAutoCommitOff = 0
{-# LINE 150 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlAutoCommitOn:: SQLULEN
sqlAutoCommitOn = 1
{-# LINE 153 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlCommit:: SQLUSMALLINT
sqlCommit = 0
{-# LINE 156 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlRollback:: SQLUSMALLINT
sqlRollback = 1
{-# LINE 159 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlNullData:: SQLINTEGER
sqlNullData = -1
{-# LINE 162 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlCChar:: SQLSMALLINT
sqlCChar = 1
{-# LINE 165 "DB/HSQL/ODBC/Functions.hsc" #-}

-- (no #include <HsODBC.h> needed??
sqlAttrRowArraySize = 27
{-# LINE 168 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlIsInteger = -6
{-# LINE 170 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlAttrCursorType = 6
{-# LINE 172 "DB/HSQL/ODBC/Functions.hsc" #-}

sqlCursorStatic = 3
{-# LINE 174 "DB/HSQL/ODBC/Functions.hsc" #-}