module Bindings.Groonga.Raw.Plugin where
import Foreign.Ptr
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.Groonga.Raw
foreign import ccall "grn_plugin_impl_init" c'grn_plugin_impl_init
:: Ptr C'_grn_ctx -> IO C'grn_rc
foreign import ccall "&grn_plugin_impl_init" p'grn_plugin_impl_init
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "grn_plugin_impl_register" c'grn_plugin_impl_register
:: Ptr C'_grn_ctx -> IO C'grn_rc
foreign import ccall "&grn_plugin_impl_register" p'grn_plugin_impl_register
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "grn_plugin_impl_fin" c'grn_plugin_impl_fin
:: Ptr C'_grn_ctx -> IO C'grn_rc
foreign import ccall "&grn_plugin_impl_fin" p'grn_plugin_impl_fin
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "grn_plugin_malloc" c'grn_plugin_malloc
:: Ptr C'_grn_ctx -> CSize -> CString -> CInt -> CString -> IO (Ptr ())
foreign import ccall "&grn_plugin_malloc" p'grn_plugin_malloc
:: FunPtr (Ptr C'_grn_ctx -> CSize -> CString -> CInt -> CString -> IO (Ptr ()))
foreign import ccall "grn_plugin_realloc" c'grn_plugin_realloc
:: Ptr C'_grn_ctx -> Ptr () -> CSize -> CString -> CInt -> CString -> IO (Ptr ())
foreign import ccall "&grn_plugin_realloc" p'grn_plugin_realloc
:: FunPtr (Ptr C'_grn_ctx -> Ptr () -> CSize -> CString -> CInt -> CString -> IO (Ptr ()))
foreign import ccall "grn_plugin_free" c'grn_plugin_free
:: Ptr C'_grn_ctx -> Ptr () -> CString -> CInt -> CString -> IO ()
foreign import ccall "&grn_plugin_free" p'grn_plugin_free
:: FunPtr (Ptr C'_grn_ctx -> Ptr () -> CString -> CInt -> CString -> IO ())
foreign import ccall "grn_plugin_set_error" c'grn_plugin_set_error
:: Ptr C'_grn_ctx -> C'grn_log_level -> C'grn_rc -> CString -> CInt -> CString -> CString -> IO ()
foreign import ccall "&grn_plugin_set_error" p'grn_plugin_set_error
:: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> C'grn_rc -> CString -> CInt -> CString -> CString -> IO ())
foreign import ccall "grn_plugin_backtrace" c'grn_plugin_backtrace
:: Ptr C'_grn_ctx -> IO ()
foreign import ccall "&grn_plugin_backtrace" p'grn_plugin_backtrace
:: FunPtr (Ptr C'_grn_ctx -> IO ())
foreign import ccall "grn_plugin_logtrace" c'grn_plugin_logtrace
:: Ptr C'_grn_ctx -> C'grn_log_level -> IO ()
foreign import ccall "&grn_plugin_logtrace" p'grn_plugin_logtrace
:: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> IO ())
data C'_grn_plugin_mutex = C'_grn_plugin_mutex
type C'grn_plugin_mutex = C'_grn_plugin_mutex
foreign import ccall "grn_plugin_mutex_open" c'grn_plugin_mutex_open
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_plugin_mutex)
foreign import ccall "&grn_plugin_mutex_open" p'grn_plugin_mutex_open
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_plugin_mutex))
foreign import ccall "grn_plugin_mutex_create" c'grn_plugin_mutex_create
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_plugin_mutex)
foreign import ccall "&grn_plugin_mutex_create" p'grn_plugin_mutex_create
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_plugin_mutex))
foreign import ccall "grn_plugin_mutex_close" c'grn_plugin_mutex_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ()
foreign import ccall "&grn_plugin_mutex_close" p'grn_plugin_mutex_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ())
foreign import ccall "grn_plugin_mutex_destroy" c'grn_plugin_mutex_destroy
:: Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ()
foreign import ccall "&grn_plugin_mutex_destroy" p'grn_plugin_mutex_destroy
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ())
foreign import ccall "grn_plugin_mutex_lock" c'grn_plugin_mutex_lock
:: Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ()
foreign import ccall "&grn_plugin_mutex_lock" p'grn_plugin_mutex_lock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ())
foreign import ccall "grn_plugin_mutex_unlock" c'grn_plugin_mutex_unlock
:: Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ()
foreign import ccall "&grn_plugin_mutex_unlock" p'grn_plugin_mutex_unlock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_plugin_mutex -> IO ())
foreign import ccall "grn_plugin_proc_alloc" c'grn_plugin_proc_alloc
:: Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CUInt -> CUShort -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_plugin_proc_alloc" p'grn_plugin_proc_alloc
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CUInt -> CUShort -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_plugin_proc_get_var" c'grn_plugin_proc_get_var
:: Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CString -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_plugin_proc_get_var" p'grn_plugin_proc_get_var
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CString -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_plugin_proc_get_var_by_offset" c'grn_plugin_proc_get_var_by_offset
:: Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_plugin_proc_get_var_by_offset" p'grn_plugin_proc_get_var_by_offset
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_user_data -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_plugin_win32_base_dir" c'grn_plugin_win32_base_dir
:: IO CString
foreign import ccall "&grn_plugin_win32_base_dir" p'grn_plugin_win32_base_dir
:: FunPtr (IO CString)
foreign import ccall "grn_plugin_charlen" c'grn_plugin_charlen
:: Ptr C'_grn_ctx -> CString -> CUInt -> C'grn_encoding -> IO CInt
foreign import ccall "&grn_plugin_charlen" p'grn_plugin_charlen
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> C'grn_encoding -> IO CInt)
foreign import ccall "grn_plugin_isspace" c'grn_plugin_isspace
:: Ptr C'_grn_ctx -> CString -> CUInt -> C'grn_encoding -> IO CInt
foreign import ccall "&grn_plugin_isspace" p'grn_plugin_isspace
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> C'grn_encoding -> IO CInt)