module Bindings.Groonga.Raw 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
type C'grn_id = CUInt
type C'grn_bool = CUChar
type C'grn_rc = CInt
c'GRN_SUCCESS = 0
c'GRN_SUCCESS :: (Num a) => a
c'GRN_END_OF_DATA = 1
c'GRN_END_OF_DATA :: (Num a) => a
c'GRN_UNKNOWN_ERROR = 1
c'GRN_UNKNOWN_ERROR :: (Num a) => a
c'GRN_OPERATION_NOT_PERMITTED = 2
c'GRN_OPERATION_NOT_PERMITTED :: (Num a) => a
c'GRN_NO_SUCH_FILE_OR_DIRECTORY = 3
c'GRN_NO_SUCH_FILE_OR_DIRECTORY :: (Num a) => a
c'GRN_NO_SUCH_PROCESS = 4
c'GRN_NO_SUCH_PROCESS :: (Num a) => a
c'GRN_INTERRUPTED_FUNCTION_CALL = 5
c'GRN_INTERRUPTED_FUNCTION_CALL :: (Num a) => a
c'GRN_INPUT_OUTPUT_ERROR = 6
c'GRN_INPUT_OUTPUT_ERROR :: (Num a) => a
c'GRN_NO_SUCH_DEVICE_OR_ADDRESS = 7
c'GRN_NO_SUCH_DEVICE_OR_ADDRESS :: (Num a) => a
c'GRN_ARG_LIST_TOO_LONG = 8
c'GRN_ARG_LIST_TOO_LONG :: (Num a) => a
c'GRN_EXEC_FORMAT_ERROR = 9
c'GRN_EXEC_FORMAT_ERROR :: (Num a) => a
c'GRN_BAD_FILE_DESCRIPTOR = 10
c'GRN_BAD_FILE_DESCRIPTOR :: (Num a) => a
c'GRN_NO_CHILD_PROCESSES = 11
c'GRN_NO_CHILD_PROCESSES :: (Num a) => a
c'GRN_RESOURCE_TEMPORARILY_UNAVAILABLE = 12
c'GRN_RESOURCE_TEMPORARILY_UNAVAILABLE :: (Num a) => a
c'GRN_NOT_ENOUGH_SPACE = 13
c'GRN_NOT_ENOUGH_SPACE :: (Num a) => a
c'GRN_PERMISSION_DENIED = 14
c'GRN_PERMISSION_DENIED :: (Num a) => a
c'GRN_BAD_ADDRESS = 15
c'GRN_BAD_ADDRESS :: (Num a) => a
c'GRN_RESOURCE_BUSY = 16
c'GRN_RESOURCE_BUSY :: (Num a) => a
c'GRN_FILE_EXISTS = 17
c'GRN_FILE_EXISTS :: (Num a) => a
c'GRN_IMPROPER_LINK = 18
c'GRN_IMPROPER_LINK :: (Num a) => a
c'GRN_NO_SUCH_DEVICE = 19
c'GRN_NO_SUCH_DEVICE :: (Num a) => a
c'GRN_NOT_A_DIRECTORY = 20
c'GRN_NOT_A_DIRECTORY :: (Num a) => a
c'GRN_IS_A_DIRECTORY = 21
c'GRN_IS_A_DIRECTORY :: (Num a) => a
c'GRN_INVALID_ARGUMENT = 22
c'GRN_INVALID_ARGUMENT :: (Num a) => a
c'GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM = 23
c'GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM :: (Num a) => a
c'GRN_TOO_MANY_OPEN_FILES = 24
c'GRN_TOO_MANY_OPEN_FILES :: (Num a) => a
c'GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION = 25
c'GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION :: (Num a) => a
c'GRN_FILE_TOO_LARGE = 26
c'GRN_FILE_TOO_LARGE :: (Num a) => a
c'GRN_NO_SPACE_LEFT_ON_DEVICE = 27
c'GRN_NO_SPACE_LEFT_ON_DEVICE :: (Num a) => a
c'GRN_INVALID_SEEK = 28
c'GRN_INVALID_SEEK :: (Num a) => a
c'GRN_READ_ONLY_FILE_SYSTEM = 29
c'GRN_READ_ONLY_FILE_SYSTEM :: (Num a) => a
c'GRN_TOO_MANY_LINKS = 30
c'GRN_TOO_MANY_LINKS :: (Num a) => a
c'GRN_BROKEN_PIPE = 31
c'GRN_BROKEN_PIPE :: (Num a) => a
c'GRN_DOMAIN_ERROR = 32
c'GRN_DOMAIN_ERROR :: (Num a) => a
c'GRN_RESULT_TOO_LARGE = 33
c'GRN_RESULT_TOO_LARGE :: (Num a) => a
c'GRN_RESOURCE_DEADLOCK_AVOIDED = 34
c'GRN_RESOURCE_DEADLOCK_AVOIDED :: (Num a) => a
c'GRN_NO_MEMORY_AVAILABLE = 35
c'GRN_NO_MEMORY_AVAILABLE :: (Num a) => a
c'GRN_FILENAME_TOO_LONG = 36
c'GRN_FILENAME_TOO_LONG :: (Num a) => a
c'GRN_NO_LOCKS_AVAILABLE = 37
c'GRN_NO_LOCKS_AVAILABLE :: (Num a) => a
c'GRN_FUNCTION_NOT_IMPLEMENTED = 38
c'GRN_FUNCTION_NOT_IMPLEMENTED :: (Num a) => a
c'GRN_DIRECTORY_NOT_EMPTY = 39
c'GRN_DIRECTORY_NOT_EMPTY :: (Num a) => a
c'GRN_ILLEGAL_BYTE_SEQUENCE = 40
c'GRN_ILLEGAL_BYTE_SEQUENCE :: (Num a) => a
c'GRN_SOCKET_NOT_INITIALIZED = 41
c'GRN_SOCKET_NOT_INITIALIZED :: (Num a) => a
c'GRN_OPERATION_WOULD_BLOCK = 42
c'GRN_OPERATION_WOULD_BLOCK :: (Num a) => a
c'GRN_ADDRESS_IS_NOT_AVAILABLE = 43
c'GRN_ADDRESS_IS_NOT_AVAILABLE :: (Num a) => a
c'GRN_NETWORK_IS_DOWN = 44
c'GRN_NETWORK_IS_DOWN :: (Num a) => a
c'GRN_NO_BUFFER = 45
c'GRN_NO_BUFFER :: (Num a) => a
c'GRN_SOCKET_IS_ALREADY_CONNECTED = 46
c'GRN_SOCKET_IS_ALREADY_CONNECTED :: (Num a) => a
c'GRN_SOCKET_IS_NOT_CONNECTED = 47
c'GRN_SOCKET_IS_NOT_CONNECTED :: (Num a) => a
c'GRN_SOCKET_IS_ALREADY_SHUTDOWNED = 48
c'GRN_SOCKET_IS_ALREADY_SHUTDOWNED :: (Num a) => a
c'GRN_OPERATION_TIMEOUT = 49
c'GRN_OPERATION_TIMEOUT :: (Num a) => a
c'GRN_CONNECTION_REFUSED = 50
c'GRN_CONNECTION_REFUSED :: (Num a) => a
c'GRN_RANGE_ERROR = 51
c'GRN_RANGE_ERROR :: (Num a) => a
c'GRN_TOKENIZER_ERROR = 52
c'GRN_TOKENIZER_ERROR :: (Num a) => a
c'GRN_FILE_CORRUPT = 53
c'GRN_FILE_CORRUPT :: (Num a) => a
c'GRN_INVALID_FORMAT = 54
c'GRN_INVALID_FORMAT :: (Num a) => a
c'GRN_OBJECT_CORRUPT = 55
c'GRN_OBJECT_CORRUPT :: (Num a) => a
c'GRN_TOO_MANY_SYMBOLIC_LINKS = 56
c'GRN_TOO_MANY_SYMBOLIC_LINKS :: (Num a) => a
c'GRN_NOT_SOCKET = 57
c'GRN_NOT_SOCKET :: (Num a) => a
c'GRN_OPERATION_NOT_SUPPORTED = 58
c'GRN_OPERATION_NOT_SUPPORTED :: (Num a) => a
c'GRN_ADDRESS_IS_IN_USE = 59
c'GRN_ADDRESS_IS_IN_USE :: (Num a) => a
c'GRN_ZLIB_ERROR = 60
c'GRN_ZLIB_ERROR :: (Num a) => a
c'GRN_LZ4_ERROR = 61
c'GRN_LZ4_ERROR :: (Num a) => a
c'GRN_STACK_OVER_FLOW = 62
c'GRN_STACK_OVER_FLOW :: (Num a) => a
c'GRN_SYNTAX_ERROR = 63
c'GRN_SYNTAX_ERROR :: (Num a) => a
c'GRN_RETRY_MAX = 64
c'GRN_RETRY_MAX :: (Num a) => a
c'GRN_INCOMPATIBLE_FILE_FORMAT = 65
c'GRN_INCOMPATIBLE_FILE_FORMAT :: (Num a) => a
c'GRN_UPDATE_NOT_ALLOWED = 66
c'GRN_UPDATE_NOT_ALLOWED :: (Num a) => a
c'GRN_TOO_SMALL_OFFSET = 67
c'GRN_TOO_SMALL_OFFSET :: (Num a) => a
c'GRN_TOO_LARGE_OFFSET = 68
c'GRN_TOO_LARGE_OFFSET :: (Num a) => a
c'GRN_TOO_SMALL_LIMIT = 69
c'GRN_TOO_SMALL_LIMIT :: (Num a) => a
c'GRN_CAS_ERROR = 70
c'GRN_CAS_ERROR :: (Num a) => a
c'GRN_UNSUPPORTED_COMMAND_VERSION = 71
c'GRN_UNSUPPORTED_COMMAND_VERSION :: (Num a) => a
c'GRN_NORMALIZER_ERROR = 72
c'GRN_NORMALIZER_ERROR :: (Num a) => a
c'GRN_TOKEN_FILTER_ERROR = 73
c'GRN_TOKEN_FILTER_ERROR :: (Num a) => a
foreign import ccall "grn_init" c'grn_init
:: IO C'grn_rc
foreign import ccall "&grn_init" p'grn_init
:: FunPtr (IO C'grn_rc)
foreign import ccall "grn_fin" c'grn_fin
:: IO C'grn_rc
foreign import ccall "&grn_fin" p'grn_fin
:: FunPtr (IO C'grn_rc)
type C'grn_encoding = CUInt
c'GRN_ENC_DEFAULT = 0
c'GRN_ENC_DEFAULT :: (Num a) => a
c'GRN_ENC_NONE = 1
c'GRN_ENC_NONE :: (Num a) => a
c'GRN_ENC_EUC_JP = 2
c'GRN_ENC_EUC_JP :: (Num a) => a
c'GRN_ENC_UTF8 = 3
c'GRN_ENC_UTF8 :: (Num a) => a
c'GRN_ENC_SJIS = 4
c'GRN_ENC_SJIS :: (Num a) => a
c'GRN_ENC_LATIN1 = 5
c'GRN_ENC_LATIN1 :: (Num a) => a
c'GRN_ENC_KOI8R = 6
c'GRN_ENC_KOI8R :: (Num a) => a
type C'grn_command_version = CUInt
c'GRN_COMMAND_VERSION_DEFAULT = 0
c'GRN_COMMAND_VERSION_DEFAULT :: (Num a) => a
c'GRN_COMMAND_VERSION_1 = 1
c'GRN_COMMAND_VERSION_1 :: (Num a) => a
c'GRN_COMMAND_VERSION_2 = 2
c'GRN_COMMAND_VERSION_2 :: (Num a) => a
type C'grn_log_level = CUInt
c'GRN_LOG_NONE = 0
c'GRN_LOG_NONE :: (Num a) => a
c'GRN_LOG_EMERG = 1
c'GRN_LOG_EMERG :: (Num a) => a
c'GRN_LOG_ALERT = 2
c'GRN_LOG_ALERT :: (Num a) => a
c'GRN_LOG_CRIT = 3
c'GRN_LOG_CRIT :: (Num a) => a
c'GRN_LOG_ERROR = 4
c'GRN_LOG_ERROR :: (Num a) => a
c'GRN_LOG_WARNING = 5
c'GRN_LOG_WARNING :: (Num a) => a
c'GRN_LOG_NOTICE = 6
c'GRN_LOG_NOTICE :: (Num a) => a
c'GRN_LOG_INFO = 7
c'GRN_LOG_INFO :: (Num a) => a
c'GRN_LOG_DEBUG = 8
c'GRN_LOG_DEBUG :: (Num a) => a
c'GRN_LOG_DUMP = 9
c'GRN_LOG_DUMP :: (Num a) => a
c'GRN_QUERY_LOG_NONE = 0
c'GRN_QUERY_LOG_NONE :: (Num a) => a
c'GRN_QUERY_LOG_COMMAND = 1
c'GRN_QUERY_LOG_COMMAND :: (Num a) => a
c'GRN_QUERY_LOG_RESULT_CODE = 2
c'GRN_QUERY_LOG_RESULT_CODE :: (Num a) => a
c'GRN_QUERY_LOG_DESTINATION = 4
c'GRN_QUERY_LOG_DESTINATION :: (Num a) => a
c'GRN_QUERY_LOG_CACHE = 8
c'GRN_QUERY_LOG_CACHE :: (Num a) => a
c'GRN_QUERY_LOG_SIZE = 16
c'GRN_QUERY_LOG_SIZE :: (Num a) => a
c'GRN_QUERY_LOG_SCORE = 32
c'GRN_QUERY_LOG_SCORE :: (Num a) => a
c'GRN_QUERY_LOG_ALL = 63
c'GRN_QUERY_LOG_ALL :: (Num a) => a
c'GRN_QUERY_LOG_DEFAULT = 63
c'GRN_QUERY_LOG_DEFAULT :: (Num a) => a
type C'grn_content_type = CUInt
c'GRN_CONTENT_NONE = 0
c'GRN_CONTENT_NONE :: (Num a) => a
c'GRN_CONTENT_TSV = 1
c'GRN_CONTENT_TSV :: (Num a) => a
c'GRN_CONTENT_JSON = 2
c'GRN_CONTENT_JSON :: (Num a) => a
c'GRN_CONTENT_XML = 3
c'GRN_CONTENT_XML :: (Num a) => a
c'GRN_CONTENT_MSGPACK = 4
c'GRN_CONTENT_MSGPACK :: (Num a) => a
c'GRN_CTX_MSGSIZE = 128
c'GRN_CTX_MSGSIZE :: (Num a) => a
c'GRN_CTX_FIN = 255
c'GRN_CTX_FIN :: (Num a) => a
data C'grn_user_data = C'grn_user_data{
c'grn_user_data'int_value :: CInt,
c'grn_user_data'id :: CUInt,
c'grn_user_data'ptr :: Ptr ()
} deriving (Eq,Show)
p'grn_user_data'int_value p = plusPtr p 0
p'grn_user_data'int_value :: Ptr (C'grn_user_data) -> Ptr (CInt)
p'grn_user_data'id p = plusPtr p 0
p'grn_user_data'id :: Ptr (C'grn_user_data) -> Ptr (CUInt)
p'grn_user_data'ptr p = plusPtr p 0
p'grn_user_data'ptr :: Ptr (C'grn_user_data) -> Ptr (Ptr ())
u'grn_user_data'int_value :: C'grn_user_data -> CInt -> IO C'grn_user_data
u'grn_user_data'int_value v vf = alloca $ \p -> do
poke p v
pokeByteOff p 0 vf
vu <- peek p
return $ v
{c'grn_user_data'int_value = c'grn_user_data'int_value vu}
{c'grn_user_data'id = c'grn_user_data'id vu}
{c'grn_user_data'ptr = c'grn_user_data'ptr vu}
u'grn_user_data'id :: C'grn_user_data -> CUInt -> IO C'grn_user_data
u'grn_user_data'id v vf = alloca $ \p -> do
poke p v
pokeByteOff p 0 vf
vu <- peek p
return $ v
{c'grn_user_data'int_value = c'grn_user_data'int_value vu}
{c'grn_user_data'id = c'grn_user_data'id vu}
{c'grn_user_data'ptr = c'grn_user_data'ptr vu}
u'grn_user_data'ptr :: C'grn_user_data -> Ptr () -> IO C'grn_user_data
u'grn_user_data'ptr v vf = alloca $ \p -> do
poke p v
pokeByteOff p 0 vf
vu <- peek p
return $ v
{c'grn_user_data'int_value = c'grn_user_data'int_value vu}
{c'grn_user_data'id = c'grn_user_data'id vu}
{c'grn_user_data'ptr = c'grn_user_data'ptr vu}
instance Storable C'grn_user_data where
sizeOf _ = 8
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 0
v2 <- peekByteOff p 0
return $ C'grn_user_data v0 v1 v2
poke p (C'grn_user_data v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 0 v1
pokeByteOff p 0 v2
return ()
type C'grn_proc_func = FunPtr (Ptr C'_grn_ctx -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'grn_user_data -> IO (Ptr C'_grn_obj))
foreign import ccall "wrapper" mk'grn_proc_func
:: (Ptr C'_grn_ctx -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'grn_user_data -> IO (Ptr C'_grn_obj)) -> IO C'grn_proc_func
foreign import ccall "dynamic" mK'grn_proc_func
:: C'grn_proc_func -> (Ptr C'_grn_ctx -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'grn_user_data -> IO (Ptr C'_grn_obj))
data C'_grn_ctx_impl = C'_grn_ctx_impl
data C'_grn_ctx = C'_grn_ctx{
c'_grn_ctx'rc :: C'grn_rc,
c'_grn_ctx'flags :: CInt,
c'_grn_ctx'encoding :: C'grn_encoding,
c'_grn_ctx'ntrace :: CUChar,
c'_grn_ctx'errlvl :: CUChar,
c'_grn_ctx'stat :: CUChar,
c'_grn_ctx'seqno :: CUInt,
c'_grn_ctx'subno :: CUInt,
c'_grn_ctx'seqno2 :: CUInt,
c'_grn_ctx'errline :: CUInt,
c'_grn_ctx'user_data :: C'grn_user_data,
c'_grn_ctx'prev :: Ptr C'_grn_ctx,
c'_grn_ctx'next :: Ptr C'_grn_ctx,
c'_grn_ctx'errfile :: CString,
c'_grn_ctx'errfunc :: CString,
c'_grn_ctx'impl :: Ptr C'_grn_ctx_impl,
c'_grn_ctx'trace :: [Ptr ()],
c'_grn_ctx'errbuf :: [CChar]
} deriving (Eq,Show)
p'_grn_ctx'rc p = plusPtr p 0
p'_grn_ctx'rc :: Ptr (C'_grn_ctx) -> Ptr (C'grn_rc)
p'_grn_ctx'flags p = plusPtr p 4
p'_grn_ctx'flags :: Ptr (C'_grn_ctx) -> Ptr (CInt)
p'_grn_ctx'encoding p = plusPtr p 8
p'_grn_ctx'encoding :: Ptr (C'_grn_ctx) -> Ptr (C'grn_encoding)
p'_grn_ctx'ntrace p = plusPtr p 12
p'_grn_ctx'ntrace :: Ptr (C'_grn_ctx) -> Ptr (CUChar)
p'_grn_ctx'errlvl p = plusPtr p 13
p'_grn_ctx'errlvl :: Ptr (C'_grn_ctx) -> Ptr (CUChar)
p'_grn_ctx'stat p = plusPtr p 14
p'_grn_ctx'stat :: Ptr (C'_grn_ctx) -> Ptr (CUChar)
p'_grn_ctx'seqno p = plusPtr p 16
p'_grn_ctx'seqno :: Ptr (C'_grn_ctx) -> Ptr (CUInt)
p'_grn_ctx'subno p = plusPtr p 20
p'_grn_ctx'subno :: Ptr (C'_grn_ctx) -> Ptr (CUInt)
p'_grn_ctx'seqno2 p = plusPtr p 24
p'_grn_ctx'seqno2 :: Ptr (C'_grn_ctx) -> Ptr (CUInt)
p'_grn_ctx'errline p = plusPtr p 28
p'_grn_ctx'errline :: Ptr (C'_grn_ctx) -> Ptr (CUInt)
p'_grn_ctx'user_data p = plusPtr p 32
p'_grn_ctx'user_data :: Ptr (C'_grn_ctx) -> Ptr (C'grn_user_data)
p'_grn_ctx'prev p = plusPtr p 40
p'_grn_ctx'prev :: Ptr (C'_grn_ctx) -> Ptr (Ptr C'_grn_ctx)
p'_grn_ctx'next p = plusPtr p 48
p'_grn_ctx'next :: Ptr (C'_grn_ctx) -> Ptr (Ptr C'_grn_ctx)
p'_grn_ctx'errfile p = plusPtr p 56
p'_grn_ctx'errfile :: Ptr (C'_grn_ctx) -> Ptr (CString)
p'_grn_ctx'errfunc p = plusPtr p 64
p'_grn_ctx'errfunc :: Ptr (C'_grn_ctx) -> Ptr (CString)
p'_grn_ctx'impl p = plusPtr p 72
p'_grn_ctx'impl :: Ptr (C'_grn_ctx) -> Ptr (Ptr C'_grn_ctx_impl)
p'_grn_ctx'trace p = plusPtr p 80
p'_grn_ctx'trace :: Ptr (C'_grn_ctx) -> Ptr (Ptr ())
p'_grn_ctx'errbuf p = plusPtr p 208
p'_grn_ctx'errbuf :: Ptr (C'_grn_ctx) -> Ptr (CChar)
instance Storable C'_grn_ctx where
sizeOf _ = 336
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 13
v5 <- peekByteOff p 14
v6 <- peekByteOff p 16
v7 <- peekByteOff p 20
v8 <- peekByteOff p 24
v9 <- peekByteOff p 28
v10 <- peekByteOff p 32
v11 <- peekByteOff p 40
v12 <- peekByteOff p 48
v13 <- peekByteOff p 56
v14 <- peekByteOff p 64
v15 <- peekByteOff p 72
v16 <- let s = div 128 $ sizeOf $ (undefined :: Ptr ()) in peekArray s (plusPtr p 80)
v17 <- let s = div 128 $ sizeOf $ (undefined :: CChar) in peekArray s (plusPtr p 208)
return $ C'_grn_ctx v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17
poke p (C'_grn_ctx v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 13 v4
pokeByteOff p 14 v5
pokeByteOff p 16 v6
pokeByteOff p 20 v7
pokeByteOff p 24 v8
pokeByteOff p 28 v9
pokeByteOff p 32 v10
pokeByteOff p 40 v11
pokeByteOff p 48 v12
pokeByteOff p 56 v13
pokeByteOff p 64 v14
pokeByteOff p 72 v15
let s = div 128 $ sizeOf $ (undefined :: Ptr ())
pokeArray (plusPtr p 80) (take s v16)
let s = div 128 $ sizeOf $ (undefined :: CChar)
pokeArray (plusPtr p 208) (take s v17)
return ()
c'GRN_CTX_USE_QL = 3
c'GRN_CTX_USE_QL :: (Num a) => a
c'GRN_CTX_BATCH_MODE = 4
c'GRN_CTX_BATCH_MODE :: (Num a) => a
c'GRN_CTX_PER_DB = 8
c'GRN_CTX_PER_DB :: (Num a) => a
foreign import ccall "grn_ctx_init" c'grn_ctx_init
:: Ptr C'_grn_ctx -> CInt -> IO C'grn_rc
foreign import ccall "&grn_ctx_init" p'grn_ctx_init
:: FunPtr (Ptr C'_grn_ctx -> CInt -> IO C'grn_rc)
foreign import ccall "grn_ctx_fin" c'grn_ctx_fin
:: Ptr C'_grn_ctx -> IO C'grn_rc
foreign import ccall "&grn_ctx_fin" p'grn_ctx_fin
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "grn_ctx_open" c'grn_ctx_open
:: CInt -> IO (Ptr C'_grn_ctx)
foreign import ccall "&grn_ctx_open" p'grn_ctx_open
:: FunPtr (CInt -> IO (Ptr C'_grn_ctx))
foreign import ccall "grn_ctx_close" c'grn_ctx_close
:: Ptr C'_grn_ctx -> IO C'grn_rc
foreign import ccall "&grn_ctx_close" p'grn_ctx_close
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "grn_ctx_set_finalizer" c'grn_ctx_set_finalizer
:: Ptr C'_grn_ctx -> Ptr C'grn_proc_func -> IO C'grn_rc
foreign import ccall "&grn_ctx_set_finalizer" p'grn_ctx_set_finalizer
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_proc_func -> IO C'grn_rc)
foreign import ccall "grn_get_default_encoding" c'grn_get_default_encoding
:: IO C'grn_encoding
foreign import ccall "&grn_get_default_encoding" p'grn_get_default_encoding
:: FunPtr (IO C'grn_encoding)
foreign import ccall "grn_set_default_encoding" c'grn_set_default_encoding
:: C'grn_encoding -> IO C'grn_rc
foreign import ccall "&grn_set_default_encoding" p'grn_set_default_encoding
:: FunPtr (C'grn_encoding -> IO C'grn_rc)
foreign import ccall "grn_get_version" c'grn_get_version
:: IO CString
foreign import ccall "&grn_get_version" p'grn_get_version
:: FunPtr (IO CString)
foreign import ccall "grn_get_package" c'grn_get_package
:: IO CString
foreign import ccall "&grn_get_package" p'grn_get_package
:: FunPtr (IO CString)
foreign import ccall "grn_get_default_command_version" c'grn_get_default_command_version
:: IO C'grn_command_version
foreign import ccall "&grn_get_default_command_version" p'grn_get_default_command_version
:: FunPtr (IO C'grn_command_version)
foreign import ccall "grn_set_default_command_version" c'grn_set_default_command_version
:: C'grn_command_version -> IO C'grn_rc
foreign import ccall "&grn_set_default_command_version" p'grn_set_default_command_version
:: FunPtr (C'grn_command_version -> IO C'grn_rc)
foreign import ccall "grn_ctx_get_command_version" c'grn_ctx_get_command_version
:: Ptr C'_grn_ctx -> IO C'grn_command_version
foreign import ccall "&grn_ctx_get_command_version" p'grn_ctx_get_command_version
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_command_version)
foreign import ccall "grn_ctx_set_command_version" c'grn_ctx_set_command_version
:: Ptr C'_grn_ctx -> C'grn_command_version -> IO C'grn_rc
foreign import ccall "&grn_ctx_set_command_version" p'grn_ctx_set_command_version
:: FunPtr (Ptr C'_grn_ctx -> C'grn_command_version -> IO C'grn_rc)
foreign import ccall "grn_ctx_get_match_escalation_threshold" c'grn_ctx_get_match_escalation_threshold
:: Ptr C'_grn_ctx -> IO CLong
foreign import ccall "&grn_ctx_get_match_escalation_threshold" p'grn_ctx_get_match_escalation_threshold
:: FunPtr (Ptr C'_grn_ctx -> IO CLong)
foreign import ccall "grn_ctx_set_match_escalation_threshold" c'grn_ctx_set_match_escalation_threshold
:: Ptr C'_grn_ctx -> CLong -> IO C'grn_rc
foreign import ccall "&grn_ctx_set_match_escalation_threshold" p'grn_ctx_set_match_escalation_threshold
:: FunPtr (Ptr C'_grn_ctx -> CLong -> IO C'grn_rc)
foreign import ccall "grn_get_default_match_escalation_threshold" c'grn_get_default_match_escalation_threshold
:: IO CLong
foreign import ccall "&grn_get_default_match_escalation_threshold" p'grn_get_default_match_escalation_threshold
:: FunPtr (IO CLong)
foreign import ccall "grn_set_default_match_escalation_threshold" c'grn_set_default_match_escalation_threshold
:: CLong -> IO C'grn_rc
foreign import ccall "&grn_set_default_match_escalation_threshold" p'grn_set_default_match_escalation_threshold
:: FunPtr (CLong -> IO C'grn_rc)
foreign import ccall "grn_get_lock_timeout" c'grn_get_lock_timeout
:: IO CInt
foreign import ccall "&grn_get_lock_timeout" p'grn_get_lock_timeout
:: FunPtr (IO CInt)
foreign import ccall "grn_set_lock_timeout" c'grn_set_lock_timeout
:: CInt -> IO C'grn_rc
foreign import ccall "&grn_set_lock_timeout" p'grn_set_lock_timeout
:: FunPtr (CInt -> IO C'grn_rc)
data C'_grn_cache = C'_grn_cache
type C'grn_cache = C'_grn_cache
foreign import ccall "grn_cache_open" c'grn_cache_open
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_cache)
foreign import ccall "&grn_cache_open" p'grn_cache_open
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_cache))
foreign import ccall "grn_cache_close" c'grn_cache_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO C'grn_rc
foreign import ccall "&grn_cache_close" p'grn_cache_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO C'grn_rc)
foreign import ccall "grn_cache_current_set" c'grn_cache_current_set
:: Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO C'grn_rc
foreign import ccall "&grn_cache_current_set" p'grn_cache_current_set
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO C'grn_rc)
foreign import ccall "grn_cache_current_get" c'grn_cache_current_get
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_cache)
foreign import ccall "&grn_cache_current_get" p'grn_cache_current_get
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_cache))
foreign import ccall "grn_cache_set_max_n_entries" c'grn_cache_set_max_n_entries
:: Ptr C'_grn_ctx -> Ptr C'_grn_cache -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_cache_set_max_n_entries" p'grn_cache_set_max_n_entries
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_cache -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_cache_get_max_n_entries" c'grn_cache_get_max_n_entries
:: Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO CUInt
foreign import ccall "&grn_cache_get_max_n_entries" p'grn_cache_get_max_n_entries
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_cache -> IO CUInt)
foreign import ccall "grn_encoding_to_string" c'grn_encoding_to_string
:: C'grn_encoding -> IO CString
foreign import ccall "&grn_encoding_to_string" p'grn_encoding_to_string
:: FunPtr (C'grn_encoding -> IO CString)
foreign import ccall "grn_encoding_parse" c'grn_encoding_parse
:: CString -> IO C'grn_encoding
foreign import ccall "&grn_encoding_parse" p'grn_encoding_parse
:: FunPtr (CString -> IO C'grn_encoding)
type C'grn_obj_flags = CUShort
c'GRN_OBJ_TABLE_TYPE_MASK = 7
c'GRN_OBJ_TABLE_TYPE_MASK :: (Num a) => a
c'GRN_OBJ_TABLE_HASH_KEY = 0
c'GRN_OBJ_TABLE_HASH_KEY :: (Num a) => a
c'GRN_OBJ_TABLE_PAT_KEY = 1
c'GRN_OBJ_TABLE_PAT_KEY :: (Num a) => a
c'GRN_OBJ_TABLE_DAT_KEY = 2
c'GRN_OBJ_TABLE_DAT_KEY :: (Num a) => a
c'GRN_OBJ_TABLE_NO_KEY = 3
c'GRN_OBJ_TABLE_NO_KEY :: (Num a) => a
c'GRN_OBJ_KEY_MASK = 56
c'GRN_OBJ_KEY_MASK :: (Num a) => a
c'GRN_OBJ_KEY_UINT = 0
c'GRN_OBJ_KEY_UINT :: (Num a) => a
c'GRN_OBJ_KEY_INT = 8
c'GRN_OBJ_KEY_INT :: (Num a) => a
c'GRN_OBJ_KEY_FLOAT = 16
c'GRN_OBJ_KEY_FLOAT :: (Num a) => a
c'GRN_OBJ_KEY_GEO_POINT = 24
c'GRN_OBJ_KEY_GEO_POINT :: (Num a) => a
c'GRN_OBJ_KEY_WITH_SIS = 64
c'GRN_OBJ_KEY_WITH_SIS :: (Num a) => a
c'GRN_OBJ_KEY_NORMALIZE = 128
c'GRN_OBJ_KEY_NORMALIZE :: (Num a) => a
c'GRN_OBJ_COLUMN_TYPE_MASK = 7
c'GRN_OBJ_COLUMN_TYPE_MASK :: (Num a) => a
c'GRN_OBJ_COLUMN_SCALAR = 0
c'GRN_OBJ_COLUMN_SCALAR :: (Num a) => a
c'GRN_OBJ_COLUMN_VECTOR = 1
c'GRN_OBJ_COLUMN_VECTOR :: (Num a) => a
c'GRN_OBJ_COLUMN_INDEX = 2
c'GRN_OBJ_COLUMN_INDEX :: (Num a) => a
c'GRN_OBJ_COMPRESS_MASK = 112
c'GRN_OBJ_COMPRESS_MASK :: (Num a) => a
c'GRN_OBJ_COMPRESS_NONE = 0
c'GRN_OBJ_COMPRESS_NONE :: (Num a) => a
c'GRN_OBJ_COMPRESS_ZLIB = 16
c'GRN_OBJ_COMPRESS_ZLIB :: (Num a) => a
c'GRN_OBJ_COMPRESS_LZ4 = 32
c'GRN_OBJ_COMPRESS_LZ4 :: (Num a) => a
c'GRN_OBJ_WITH_SECTION = 128
c'GRN_OBJ_WITH_SECTION :: (Num a) => a
c'GRN_OBJ_WITH_WEIGHT = 256
c'GRN_OBJ_WITH_WEIGHT :: (Num a) => a
c'GRN_OBJ_WITH_POSITION = 512
c'GRN_OBJ_WITH_POSITION :: (Num a) => a
c'GRN_OBJ_RING_BUFFER = 1024
c'GRN_OBJ_RING_BUFFER :: (Num a) => a
c'GRN_OBJ_UNIT_MASK = 3840
c'GRN_OBJ_UNIT_MASK :: (Num a) => a
c'GRN_OBJ_UNIT_DOCUMENT_NONE = 0
c'GRN_OBJ_UNIT_DOCUMENT_NONE :: (Num a) => a
c'GRN_OBJ_UNIT_DOCUMENT_SECTION = 256
c'GRN_OBJ_UNIT_DOCUMENT_SECTION :: (Num a) => a
c'GRN_OBJ_UNIT_DOCUMENT_POSITION = 512
c'GRN_OBJ_UNIT_DOCUMENT_POSITION :: (Num a) => a
c'GRN_OBJ_UNIT_SECTION_NONE = 768
c'GRN_OBJ_UNIT_SECTION_NONE :: (Num a) => a
c'GRN_OBJ_UNIT_SECTION_POSITION = 1024
c'GRN_OBJ_UNIT_SECTION_POSITION :: (Num a) => a
c'GRN_OBJ_UNIT_POSITION_NONE = 1280
c'GRN_OBJ_UNIT_POSITION_NONE :: (Num a) => a
c'GRN_OBJ_UNIT_USERDEF_DOCUMENT = 1536
c'GRN_OBJ_UNIT_USERDEF_DOCUMENT :: (Num a) => a
c'GRN_OBJ_UNIT_USERDEF_SECTION = 1792
c'GRN_OBJ_UNIT_USERDEF_SECTION :: (Num a) => a
c'GRN_OBJ_UNIT_USERDEF_POSITION = 2048
c'GRN_OBJ_UNIT_USERDEF_POSITION :: (Num a) => a
c'GRN_OBJ_NO_SUBREC = 0
c'GRN_OBJ_NO_SUBREC :: (Num a) => a
c'GRN_OBJ_WITH_SUBREC = 8192
c'GRN_OBJ_WITH_SUBREC :: (Num a) => a
c'GRN_OBJ_KEY_VAR_SIZE = 16384
c'GRN_OBJ_KEY_VAR_SIZE :: (Num a) => a
c'GRN_OBJ_TEMPORARY = 0
c'GRN_OBJ_TEMPORARY :: (Num a) => a
c'GRN_OBJ_PERSISTENT = 32768
c'GRN_OBJ_PERSISTENT :: (Num a) => a
c'GRN_VOID = 0
c'GRN_VOID :: (Num a) => a
c'GRN_BULK = 2
c'GRN_BULK :: (Num a) => a
c'GRN_PTR = 3
c'GRN_PTR :: (Num a) => a
c'GRN_UVECTOR = 4
c'GRN_UVECTOR :: (Num a) => a
c'GRN_PVECTOR = 5
c'GRN_PVECTOR :: (Num a) => a
c'GRN_VECTOR = 6
c'GRN_VECTOR :: (Num a) => a
c'GRN_MSG = 7
c'GRN_MSG :: (Num a) => a
c'GRN_QUERY = 8
c'GRN_QUERY :: (Num a) => a
c'GRN_ACCESSOR = 9
c'GRN_ACCESSOR :: (Num a) => a
c'GRN_SNIP = 11
c'GRN_SNIP :: (Num a) => a
c'GRN_PATSNIP = 12
c'GRN_PATSNIP :: (Num a) => a
c'GRN_STRING = 13
c'GRN_STRING :: (Num a) => a
c'GRN_CURSOR_TABLE_HASH_KEY = 16
c'GRN_CURSOR_TABLE_HASH_KEY :: (Num a) => a
c'GRN_CURSOR_TABLE_PAT_KEY = 17
c'GRN_CURSOR_TABLE_PAT_KEY :: (Num a) => a
c'GRN_CURSOR_TABLE_DAT_KEY = 18
c'GRN_CURSOR_TABLE_DAT_KEY :: (Num a) => a
c'GRN_CURSOR_TABLE_NO_KEY = 19
c'GRN_CURSOR_TABLE_NO_KEY :: (Num a) => a
c'GRN_CURSOR_COLUMN_INDEX = 24
c'GRN_CURSOR_COLUMN_INDEX :: (Num a) => a
c'GRN_CURSOR_COLUMN_GEO_INDEX = 26
c'GRN_CURSOR_COLUMN_GEO_INDEX :: (Num a) => a
c'GRN_TYPE = 32
c'GRN_TYPE :: (Num a) => a
c'GRN_PROC = 33
c'GRN_PROC :: (Num a) => a
c'GRN_EXPR = 34
c'GRN_EXPR :: (Num a) => a
c'GRN_TABLE_HASH_KEY = 48
c'GRN_TABLE_HASH_KEY :: (Num a) => a
c'GRN_TABLE_PAT_KEY = 49
c'GRN_TABLE_PAT_KEY :: (Num a) => a
c'GRN_TABLE_DAT_KEY = 50
c'GRN_TABLE_DAT_KEY :: (Num a) => a
c'GRN_TABLE_NO_KEY = 51
c'GRN_TABLE_NO_KEY :: (Num a) => a
c'GRN_DB = 55
c'GRN_DB :: (Num a) => a
c'GRN_COLUMN_FIX_SIZE = 64
c'GRN_COLUMN_FIX_SIZE :: (Num a) => a
c'GRN_COLUMN_VAR_SIZE = 65
c'GRN_COLUMN_VAR_SIZE :: (Num a) => a
c'GRN_COLUMN_INDEX = 72
c'GRN_COLUMN_INDEX :: (Num a) => a
data C'_grn_section = C'_grn_section{
c'_grn_section'offset :: CUInt,
c'_grn_section'length :: CUInt,
c'_grn_section'weight :: CUInt,
c'_grn_section'domain :: CUInt
} deriving (Eq,Show)
p'_grn_section'offset p = plusPtr p 0
p'_grn_section'offset :: Ptr (C'_grn_section) -> Ptr (CUInt)
p'_grn_section'length p = plusPtr p 4
p'_grn_section'length :: Ptr (C'_grn_section) -> Ptr (CUInt)
p'_grn_section'weight p = plusPtr p 8
p'_grn_section'weight :: Ptr (C'_grn_section) -> Ptr (CUInt)
p'_grn_section'domain p = plusPtr p 12
p'_grn_section'domain :: Ptr (C'_grn_section) -> Ptr (CUInt)
instance Storable C'_grn_section where
sizeOf _ = 16
alignment _ = 4
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
return $ C'_grn_section v0 v1 v2 v3
poke p (C'_grn_section v0 v1 v2 v3) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
return ()
data C'_grn_obj_header = C'_grn_obj_header{
c'_grn_obj_header'type :: CUChar,
c'_grn_obj_header'impl_flags :: CUChar,
c'_grn_obj_header'flags :: CUShort,
c'_grn_obj_header'domain :: CUInt
} deriving (Eq,Show)
p'_grn_obj_header'type p = plusPtr p 0
p'_grn_obj_header'type :: Ptr (C'_grn_obj_header) -> Ptr (CUChar)
p'_grn_obj_header'impl_flags p = plusPtr p 1
p'_grn_obj_header'impl_flags :: Ptr (C'_grn_obj_header) -> Ptr (CUChar)
p'_grn_obj_header'flags p = plusPtr p 2
p'_grn_obj_header'flags :: Ptr (C'_grn_obj_header) -> Ptr (CUShort)
p'_grn_obj_header'domain p = plusPtr p 4
p'_grn_obj_header'domain :: Ptr (C'_grn_obj_header) -> Ptr (CUInt)
instance Storable C'_grn_obj_header where
sizeOf _ = 8
alignment _ = 4
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 1
v2 <- peekByteOff p 2
v3 <- peekByteOff p 4
return $ C'_grn_obj_header v0 v1 v2 v3
poke p (C'_grn_obj_header v0 v1 v2 v3) = do
pokeByteOff p 0 v0
pokeByteOff p 1 v1
pokeByteOff p 2 v2
pokeByteOff p 4 v3
return ()
data C'_grn_obj = C'_grn_obj{
} deriving (Eq,Show)
instance Storable C'_grn_obj where
sizeOf _ = 32
alignment _ = 8
peek p = do
return $ C'_grn_obj
poke p (C'_grn_obj) = do
return ()
data C'_grn_db_create_optarg = C'_grn_db_create_optarg{
c'_grn_db_create_optarg'builtin_type_names :: Ptr CString,
c'_grn_db_create_optarg'n_builtin_type_names :: CInt
} deriving (Eq,Show)
p'_grn_db_create_optarg'builtin_type_names p = plusPtr p 0
p'_grn_db_create_optarg'builtin_type_names :: Ptr (C'_grn_db_create_optarg) -> Ptr (Ptr CString)
p'_grn_db_create_optarg'n_builtin_type_names p = plusPtr p 8
p'_grn_db_create_optarg'n_builtin_type_names :: Ptr (C'_grn_db_create_optarg) -> Ptr (CInt)
instance Storable C'_grn_db_create_optarg where
sizeOf _ = 16
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
return $ C'_grn_db_create_optarg v0 v1
poke p (C'_grn_db_create_optarg v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
return ()
foreign import ccall "grn_db_create" c'grn_db_create
:: Ptr C'_grn_ctx -> CString -> Ptr C'_grn_db_create_optarg -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_db_create" p'grn_db_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> Ptr C'_grn_db_create_optarg -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_db_open" c'grn_db_open
:: Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_db_open" p'grn_db_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_db_touch" c'grn_db_touch
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ()
foreign import ccall "&grn_db_touch" p'grn_db_touch
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ())
foreign import ccall "grn_ctx_use" c'grn_ctx_use
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_ctx_use" p'grn_ctx_use
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_ctx_db" c'grn_ctx_db
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_ctx_db" p'grn_ctx_db
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_ctx_get" c'grn_ctx_get
:: Ptr C'_grn_ctx -> CString -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_ctx_get" p'grn_ctx_get
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> IO (Ptr C'_grn_obj))
type C'grn_builtin_type = CUInt
c'GRN_DB_VOID = 0
c'GRN_DB_VOID :: (Num a) => a
c'GRN_DB_DB = 1
c'GRN_DB_DB :: (Num a) => a
c'GRN_DB_OBJECT = 2
c'GRN_DB_OBJECT :: (Num a) => a
c'GRN_DB_BOOL = 3
c'GRN_DB_BOOL :: (Num a) => a
c'GRN_DB_INT8 = 4
c'GRN_DB_INT8 :: (Num a) => a
c'GRN_DB_UINT8 = 5
c'GRN_DB_UINT8 :: (Num a) => a
c'GRN_DB_INT16 = 6
c'GRN_DB_INT16 :: (Num a) => a
c'GRN_DB_UINT16 = 7
c'GRN_DB_UINT16 :: (Num a) => a
c'GRN_DB_INT32 = 8
c'GRN_DB_INT32 :: (Num a) => a
c'GRN_DB_UINT32 = 9
c'GRN_DB_UINT32 :: (Num a) => a
c'GRN_DB_INT64 = 10
c'GRN_DB_INT64 :: (Num a) => a
c'GRN_DB_UINT64 = 11
c'GRN_DB_UINT64 :: (Num a) => a
c'GRN_DB_FLOAT = 12
c'GRN_DB_FLOAT :: (Num a) => a
c'GRN_DB_TIME = 13
c'GRN_DB_TIME :: (Num a) => a
c'GRN_DB_SHORT_TEXT = 14
c'GRN_DB_SHORT_TEXT :: (Num a) => a
c'GRN_DB_TEXT = 15
c'GRN_DB_TEXT :: (Num a) => a
c'GRN_DB_LONG_TEXT = 16
c'GRN_DB_LONG_TEXT :: (Num a) => a
c'GRN_DB_TOKYO_GEO_POINT = 17
c'GRN_DB_TOKYO_GEO_POINT :: (Num a) => a
c'GRN_DB_WGS84_GEO_POINT = 18
c'GRN_DB_WGS84_GEO_POINT :: (Num a) => a
type C'grn_builtin_tokenizer = CUInt
c'GRN_DB_MECAB = 64
c'GRN_DB_MECAB :: (Num a) => a
c'GRN_DB_DELIMIT = 65
c'GRN_DB_DELIMIT :: (Num a) => a
c'GRN_DB_UNIGRAM = 66
c'GRN_DB_UNIGRAM :: (Num a) => a
c'GRN_DB_BIGRAM = 67
c'GRN_DB_BIGRAM :: (Num a) => a
c'GRN_DB_TRIGRAM = 68
c'GRN_DB_TRIGRAM :: (Num a) => a
foreign import ccall "grn_ctx_at" c'grn_ctx_at
:: Ptr C'_grn_ctx -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_ctx_at" p'grn_ctx_at
:: FunPtr (Ptr C'_grn_ctx -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_type_create" c'grn_type_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CUShort -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_type_create" p'grn_type_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CUShort -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_plugin_register" c'grn_plugin_register
:: Ptr C'_grn_ctx -> CString -> IO C'grn_rc
foreign import ccall "&grn_plugin_register" p'grn_plugin_register
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO C'grn_rc)
foreign import ccall "grn_plugin_register_by_path" c'grn_plugin_register_by_path
:: Ptr C'_grn_ctx -> CString -> IO C'grn_rc
foreign import ccall "&grn_plugin_register_by_path" p'grn_plugin_register_by_path
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO C'grn_rc)
foreign import ccall "grn_plugin_get_system_plugins_dir" c'grn_plugin_get_system_plugins_dir
:: IO CString
foreign import ccall "&grn_plugin_get_system_plugins_dir" p'grn_plugin_get_system_plugins_dir
:: FunPtr (IO CString)
foreign import ccall "grn_plugin_get_suffix" c'grn_plugin_get_suffix
:: IO CString
foreign import ccall "&grn_plugin_get_suffix" p'grn_plugin_get_suffix
:: FunPtr (IO CString)
data C'grn_expr_var = C'grn_expr_var{
c'grn_expr_var'name :: CString,
c'grn_expr_var'name_size :: CUInt,
c'grn_expr_var'value :: C'_grn_obj
} deriving (Eq,Show)
p'grn_expr_var'name p = plusPtr p 0
p'grn_expr_var'name :: Ptr (C'grn_expr_var) -> Ptr (CString)
p'grn_expr_var'name_size p = plusPtr p 8
p'grn_expr_var'name_size :: Ptr (C'grn_expr_var) -> Ptr (CUInt)
p'grn_expr_var'value p = plusPtr p 16
p'grn_expr_var'value :: Ptr (C'grn_expr_var) -> Ptr (C'_grn_obj)
instance Storable C'grn_expr_var where
sizeOf _ = 48
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 16
return $ C'grn_expr_var v0 v1 v2
poke p (C'grn_expr_var v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 16 v2
return ()
type C'grn_plugin_func = FunPtr (Ptr C'_grn_ctx -> IO C'grn_rc)
foreign import ccall "wrapper" mk'grn_plugin_func
:: (Ptr C'_grn_ctx -> IO C'grn_rc) -> IO C'grn_plugin_func
foreign import ccall "dynamic" mK'grn_plugin_func
:: C'grn_plugin_func -> (Ptr C'_grn_ctx -> IO C'grn_rc)
type C'grn_proc_type = CUInt
c'GRN_PROC_TOKENIZER = 1
c'GRN_PROC_TOKENIZER :: (Num a) => a
c'GRN_PROC_COMMAND = 2
c'GRN_PROC_COMMAND :: (Num a) => a
c'GRN_PROC_FUNCTION = 3
c'GRN_PROC_FUNCTION :: (Num a) => a
c'GRN_PROC_HOOK = 4
c'GRN_PROC_HOOK :: (Num a) => a
c'GRN_PROC_NORMALIZER = 5
c'GRN_PROC_NORMALIZER :: (Num a) => a
foreign import ccall "grn_proc_create" c'grn_proc_create
:: Ptr C'_grn_ctx -> CString -> CInt -> C'grn_proc_type -> Ptr C'grn_proc_func -> Ptr C'grn_proc_func -> Ptr C'grn_proc_func -> CUInt -> Ptr C'grn_expr_var -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_proc_create" p'grn_proc_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> C'grn_proc_type -> Ptr C'grn_proc_func -> Ptr C'grn_proc_func -> Ptr C'grn_proc_func -> CUInt -> Ptr C'grn_expr_var -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_proc_get_info" c'grn_proc_get_info
:: Ptr C'_grn_ctx -> Ptr C'grn_user_data -> Ptr (Ptr C'grn_expr_var) -> Ptr CUInt -> Ptr (Ptr C'_grn_obj) -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_proc_get_info" p'grn_proc_get_info
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_user_data -> Ptr (Ptr C'grn_expr_var) -> Ptr CUInt -> Ptr (Ptr C'_grn_obj) -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_proc_get_type" c'grn_proc_get_type
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_proc_type
foreign import ccall "&grn_proc_get_type" p'grn_proc_get_type
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_proc_type)
foreign import ccall "grn_table_create" c'grn_table_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CString -> CUShort -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_create" p'grn_table_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CString -> CUShort -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_table_add" c'grn_table_add
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr CInt -> IO CUInt
foreign import ccall "&grn_table_add" p'grn_table_add
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr CInt -> IO CUInt)
foreign import ccall "grn_table_get" c'grn_table_get
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO CUInt
foreign import ccall "&grn_table_get" p'grn_table_get
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO CUInt)
foreign import ccall "grn_table_at" c'grn_table_at
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO CUInt
foreign import ccall "&grn_table_at" p'grn_table_at
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO CUInt)
foreign import ccall "grn_table_lcp_search" c'grn_table_lcp_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO CUInt
foreign import ccall "&grn_table_lcp_search" p'grn_table_lcp_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO CUInt)
foreign import ccall "grn_table_get_key" c'grn_table_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CInt -> IO CInt
foreign import ccall "&grn_table_get_key" p'grn_table_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CInt -> IO CInt)
foreign import ccall "grn_table_delete" c'grn_table_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_delete" p'grn_table_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_delete_by_id" c'grn_table_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_delete_by_id" p'grn_table_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_update_by_id" c'grn_table_update_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_update_by_id" p'grn_table_update_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_update" c'grn_table_update
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_update" p'grn_table_update
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_truncate" c'grn_table_truncate
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_table_truncate" p'grn_table_truncate
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
type C'grn_table_cursor = C'_grn_obj
c'GRN_CURSOR_ASCENDING = 0
c'GRN_CURSOR_ASCENDING :: (Num a) => a
c'GRN_CURSOR_DESCENDING = 1
c'GRN_CURSOR_DESCENDING :: (Num a) => a
c'GRN_CURSOR_GE = 0
c'GRN_CURSOR_GE :: (Num a) => a
c'GRN_CURSOR_GT = 2
c'GRN_CURSOR_GT :: (Num a) => a
c'GRN_CURSOR_LE = 0
c'GRN_CURSOR_LE :: (Num a) => a
c'GRN_CURSOR_LT = 4
c'GRN_CURSOR_LT :: (Num a) => a
c'GRN_CURSOR_BY_KEY = 0
c'GRN_CURSOR_BY_KEY :: (Num a) => a
c'GRN_CURSOR_BY_ID = 8
c'GRN_CURSOR_BY_ID :: (Num a) => a
c'GRN_CURSOR_PREFIX = 16
c'GRN_CURSOR_PREFIX :: (Num a) => a
c'GRN_CURSOR_SIZE_BY_BIT = 32
c'GRN_CURSOR_SIZE_BY_BIT :: (Num a) => a
c'GRN_CURSOR_RK = 64
c'GRN_CURSOR_RK :: (Num a) => a
foreign import ccall "grn_table_cursor_open" c'grn_table_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_cursor_open" p'grn_table_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_table_cursor_close" c'grn_table_cursor_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_table_cursor_close" p'grn_table_cursor_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_table_cursor_next" c'grn_table_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_table_cursor_next" p'grn_table_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_table_cursor_get_key" c'grn_table_cursor_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_table_cursor_get_key" p'grn_table_cursor_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_table_cursor_get_value" c'grn_table_cursor_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_table_cursor_get_value" p'grn_table_cursor_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_table_cursor_set_value" c'grn_table_cursor_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_table_cursor_set_value" p'grn_table_cursor_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_table_cursor_delete" c'grn_table_cursor_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_table_cursor_delete" p'grn_table_cursor_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_table_cursor_table" c'grn_table_cursor_table
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_cursor_table" p'grn_table_cursor_table
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
data C'grn_posting = C'grn_posting{
c'grn_posting'rid :: CUInt,
c'grn_posting'sid :: CUInt,
c'grn_posting'pos :: CUInt,
c'grn_posting'tf :: CUInt,
c'grn_posting'weight :: CUInt,
c'grn_posting'rest :: CUInt
} deriving (Eq,Show)
p'grn_posting'rid p = plusPtr p 0
p'grn_posting'rid :: Ptr (C'grn_posting) -> Ptr (CUInt)
p'grn_posting'sid p = plusPtr p 4
p'grn_posting'sid :: Ptr (C'grn_posting) -> Ptr (CUInt)
p'grn_posting'pos p = plusPtr p 8
p'grn_posting'pos :: Ptr (C'grn_posting) -> Ptr (CUInt)
p'grn_posting'tf p = plusPtr p 12
p'grn_posting'tf :: Ptr (C'grn_posting) -> Ptr (CUInt)
p'grn_posting'weight p = plusPtr p 16
p'grn_posting'weight :: Ptr (C'grn_posting) -> Ptr (CUInt)
p'grn_posting'rest p = plusPtr p 20
p'grn_posting'rest :: Ptr (C'grn_posting) -> Ptr (CUInt)
instance Storable C'grn_posting where
sizeOf _ = 24
alignment _ = 4
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
return $ C'grn_posting v0 v1 v2 v3 v4 v5
poke p (C'grn_posting v0 v1 v2 v3 v4 v5) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
return ()
foreign import ccall "grn_index_cursor_open" c'grn_index_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> CUInt -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_index_cursor_open" p'grn_index_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> CUInt -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_index_cursor_next" c'grn_index_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CUInt -> IO (Ptr C'grn_posting)
foreign import ccall "&grn_index_cursor_next" p'grn_index_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CUInt -> IO (Ptr C'grn_posting))
type C'grn_table_sort_flags = CUChar
data C'_grn_table_sort_key = C'_grn_table_sort_key{
c'_grn_table_sort_key'key :: Ptr C'_grn_obj,
c'_grn_table_sort_key'flags :: CUChar,
c'_grn_table_sort_key'offset :: CInt
} deriving (Eq,Show)
p'_grn_table_sort_key'key p = plusPtr p 0
p'_grn_table_sort_key'key :: Ptr (C'_grn_table_sort_key) -> Ptr (Ptr C'_grn_obj)
p'_grn_table_sort_key'flags p = plusPtr p 8
p'_grn_table_sort_key'flags :: Ptr (C'_grn_table_sort_key) -> Ptr (CUChar)
p'_grn_table_sort_key'offset p = plusPtr p 12
p'_grn_table_sort_key'offset :: Ptr (C'_grn_table_sort_key) -> Ptr (CInt)
instance Storable C'_grn_table_sort_key where
sizeOf _ = 16
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 12
return $ C'_grn_table_sort_key v0 v1 v2
poke p (C'_grn_table_sort_key v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 12 v2
return ()
foreign import ccall "grn_table_sort" c'grn_table_sort
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CInt -> Ptr C'_grn_obj -> Ptr C'_grn_table_sort_key -> CInt -> IO CInt
foreign import ccall "&grn_table_sort" p'grn_table_sort
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CInt -> Ptr C'_grn_obj -> Ptr C'_grn_table_sort_key -> CInt -> IO CInt)
type C'grn_table_group_flags = CUInt
type C'grn_operator = CUInt
c'GRN_OP_PUSH = 0
c'GRN_OP_PUSH :: (Num a) => a
c'GRN_OP_POP = 1
c'GRN_OP_POP :: (Num a) => a
c'GRN_OP_NOP = 2
c'GRN_OP_NOP :: (Num a) => a
c'GRN_OP_CALL = 3
c'GRN_OP_CALL :: (Num a) => a
c'GRN_OP_INTERN = 4
c'GRN_OP_INTERN :: (Num a) => a
c'GRN_OP_GET_REF = 5
c'GRN_OP_GET_REF :: (Num a) => a
c'GRN_OP_GET_VALUE = 6
c'GRN_OP_GET_VALUE :: (Num a) => a
c'GRN_OP_AND = 7
c'GRN_OP_AND :: (Num a) => a
c'GRN_OP_AND_NOT = 8
c'GRN_OP_AND_NOT :: (Num a) => a
c'GRN_OP_OR = 9
c'GRN_OP_OR :: (Num a) => a
c'GRN_OP_ASSIGN = 10
c'GRN_OP_ASSIGN :: (Num a) => a
c'GRN_OP_STAR_ASSIGN = 11
c'GRN_OP_STAR_ASSIGN :: (Num a) => a
c'GRN_OP_SLASH_ASSIGN = 12
c'GRN_OP_SLASH_ASSIGN :: (Num a) => a
c'GRN_OP_MOD_ASSIGN = 13
c'GRN_OP_MOD_ASSIGN :: (Num a) => a
c'GRN_OP_PLUS_ASSIGN = 14
c'GRN_OP_PLUS_ASSIGN :: (Num a) => a
c'GRN_OP_MINUS_ASSIGN = 15
c'GRN_OP_MINUS_ASSIGN :: (Num a) => a
c'GRN_OP_SHIFTL_ASSIGN = 16
c'GRN_OP_SHIFTL_ASSIGN :: (Num a) => a
c'GRN_OP_SHIFTR_ASSIGN = 17
c'GRN_OP_SHIFTR_ASSIGN :: (Num a) => a
c'GRN_OP_SHIFTRR_ASSIGN = 18
c'GRN_OP_SHIFTRR_ASSIGN :: (Num a) => a
c'GRN_OP_AND_ASSIGN = 19
c'GRN_OP_AND_ASSIGN :: (Num a) => a
c'GRN_OP_XOR_ASSIGN = 20
c'GRN_OP_XOR_ASSIGN :: (Num a) => a
c'GRN_OP_OR_ASSIGN = 21
c'GRN_OP_OR_ASSIGN :: (Num a) => a
c'GRN_OP_JUMP = 22
c'GRN_OP_JUMP :: (Num a) => a
c'GRN_OP_CJUMP = 23
c'GRN_OP_CJUMP :: (Num a) => a
c'GRN_OP_COMMA = 24
c'GRN_OP_COMMA :: (Num a) => a
c'GRN_OP_BITWISE_OR = 25
c'GRN_OP_BITWISE_OR :: (Num a) => a
c'GRN_OP_BITWISE_XOR = 26
c'GRN_OP_BITWISE_XOR :: (Num a) => a
c'GRN_OP_BITWISE_AND = 27
c'GRN_OP_BITWISE_AND :: (Num a) => a
c'GRN_OP_BITWISE_NOT = 28
c'GRN_OP_BITWISE_NOT :: (Num a) => a
c'GRN_OP_EQUAL = 29
c'GRN_OP_EQUAL :: (Num a) => a
c'GRN_OP_NOT_EQUAL = 30
c'GRN_OP_NOT_EQUAL :: (Num a) => a
c'GRN_OP_LESS = 31
c'GRN_OP_LESS :: (Num a) => a
c'GRN_OP_GREATER = 32
c'GRN_OP_GREATER :: (Num a) => a
c'GRN_OP_LESS_EQUAL = 33
c'GRN_OP_LESS_EQUAL :: (Num a) => a
c'GRN_OP_GREATER_EQUAL = 34
c'GRN_OP_GREATER_EQUAL :: (Num a) => a
c'GRN_OP_IN = 35
c'GRN_OP_IN :: (Num a) => a
c'GRN_OP_MATCH = 36
c'GRN_OP_MATCH :: (Num a) => a
c'GRN_OP_NEAR = 37
c'GRN_OP_NEAR :: (Num a) => a
c'GRN_OP_NEAR2 = 38
c'GRN_OP_NEAR2 :: (Num a) => a
c'GRN_OP_SIMILAR = 39
c'GRN_OP_SIMILAR :: (Num a) => a
c'GRN_OP_TERM_EXTRACT = 40
c'GRN_OP_TERM_EXTRACT :: (Num a) => a
c'GRN_OP_SHIFTL = 41
c'GRN_OP_SHIFTL :: (Num a) => a
c'GRN_OP_SHIFTR = 42
c'GRN_OP_SHIFTR :: (Num a) => a
c'GRN_OP_SHIFTRR = 43
c'GRN_OP_SHIFTRR :: (Num a) => a
c'GRN_OP_PLUS = 44
c'GRN_OP_PLUS :: (Num a) => a
c'GRN_OP_MINUS = 45
c'GRN_OP_MINUS :: (Num a) => a
c'GRN_OP_STAR = 46
c'GRN_OP_STAR :: (Num a) => a
c'GRN_OP_SLASH = 47
c'GRN_OP_SLASH :: (Num a) => a
c'GRN_OP_MOD = 48
c'GRN_OP_MOD :: (Num a) => a
c'GRN_OP_DELETE = 49
c'GRN_OP_DELETE :: (Num a) => a
c'GRN_OP_INCR = 50
c'GRN_OP_INCR :: (Num a) => a
c'GRN_OP_DECR = 51
c'GRN_OP_DECR :: (Num a) => a
c'GRN_OP_INCR_POST = 52
c'GRN_OP_INCR_POST :: (Num a) => a
c'GRN_OP_DECR_POST = 53
c'GRN_OP_DECR_POST :: (Num a) => a
c'GRN_OP_NOT = 54
c'GRN_OP_NOT :: (Num a) => a
c'GRN_OP_ADJUST = 55
c'GRN_OP_ADJUST :: (Num a) => a
c'GRN_OP_EXACT = 56
c'GRN_OP_EXACT :: (Num a) => a
c'GRN_OP_LCP = 57
c'GRN_OP_LCP :: (Num a) => a
c'GRN_OP_PARTIAL = 58
c'GRN_OP_PARTIAL :: (Num a) => a
c'GRN_OP_UNSPLIT = 59
c'GRN_OP_UNSPLIT :: (Num a) => a
c'GRN_OP_PREFIX = 60
c'GRN_OP_PREFIX :: (Num a) => a
c'GRN_OP_SUFFIX = 61
c'GRN_OP_SUFFIX :: (Num a) => a
c'GRN_OP_GEO_DISTANCE1 = 62
c'GRN_OP_GEO_DISTANCE1 :: (Num a) => a
c'GRN_OP_GEO_DISTANCE2 = 63
c'GRN_OP_GEO_DISTANCE2 :: (Num a) => a
c'GRN_OP_GEO_DISTANCE3 = 64
c'GRN_OP_GEO_DISTANCE3 :: (Num a) => a
c'GRN_OP_GEO_DISTANCE4 = 65
c'GRN_OP_GEO_DISTANCE4 :: (Num a) => a
c'GRN_OP_GEO_WITHINP5 = 66
c'GRN_OP_GEO_WITHINP5 :: (Num a) => a
c'GRN_OP_GEO_WITHINP6 = 67
c'GRN_OP_GEO_WITHINP6 :: (Num a) => a
c'GRN_OP_GEO_WITHINP8 = 68
c'GRN_OP_GEO_WITHINP8 :: (Num a) => a
c'GRN_OP_OBJ_SEARCH = 69
c'GRN_OP_OBJ_SEARCH :: (Num a) => a
c'GRN_OP_EXPR_GET_VAR = 70
c'GRN_OP_EXPR_GET_VAR :: (Num a) => a
c'GRN_OP_TABLE_CREATE = 71
c'GRN_OP_TABLE_CREATE :: (Num a) => a
c'GRN_OP_TABLE_SELECT = 72
c'GRN_OP_TABLE_SELECT :: (Num a) => a
c'GRN_OP_TABLE_SORT = 73
c'GRN_OP_TABLE_SORT :: (Num a) => a
c'GRN_OP_TABLE_GROUP = 74
c'GRN_OP_TABLE_GROUP :: (Num a) => a
c'GRN_OP_JSON_PUT = 75
c'GRN_OP_JSON_PUT :: (Num a) => a
c'GRN_OP_GET_MEMBER = 76
c'GRN_OP_GET_MEMBER :: (Num a) => a
data C'_grn_table_group_result = C'_grn_table_group_result{
c'_grn_table_group_result'table :: Ptr C'_grn_obj,
c'_grn_table_group_result'key_begin :: CUChar,
c'_grn_table_group_result'key_end :: CUChar,
c'_grn_table_group_result'limit :: CInt,
c'_grn_table_group_result'flags :: CUInt,
c'_grn_table_group_result'op :: C'grn_operator
} deriving (Eq,Show)
p'_grn_table_group_result'table p = plusPtr p 0
p'_grn_table_group_result'table :: Ptr (C'_grn_table_group_result) -> Ptr (Ptr C'_grn_obj)
p'_grn_table_group_result'key_begin p = plusPtr p 8
p'_grn_table_group_result'key_begin :: Ptr (C'_grn_table_group_result) -> Ptr (CUChar)
p'_grn_table_group_result'key_end p = plusPtr p 9
p'_grn_table_group_result'key_end :: Ptr (C'_grn_table_group_result) -> Ptr (CUChar)
p'_grn_table_group_result'limit p = plusPtr p 12
p'_grn_table_group_result'limit :: Ptr (C'_grn_table_group_result) -> Ptr (CInt)
p'_grn_table_group_result'flags p = plusPtr p 16
p'_grn_table_group_result'flags :: Ptr (C'_grn_table_group_result) -> Ptr (CUInt)
p'_grn_table_group_result'op p = plusPtr p 20
p'_grn_table_group_result'op :: Ptr (C'_grn_table_group_result) -> Ptr (C'grn_operator)
instance Storable C'_grn_table_group_result where
sizeOf _ = 40
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 9
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
return $ C'_grn_table_group_result v0 v1 v2 v3 v4 v5
poke p (C'_grn_table_group_result v0 v1 v2 v3 v4 v5) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 9 v2
pokeByteOff p 12 v3
pokeByteOff p 16 v4
pokeByteOff p 20 v5
return ()
foreign import ccall "grn_table_group" c'grn_table_group
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_table_sort_key -> CInt -> Ptr C'_grn_table_group_result -> CInt -> IO C'grn_rc
foreign import ccall "&grn_table_group" p'grn_table_group
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_table_sort_key -> CInt -> Ptr C'_grn_table_group_result -> CInt -> IO C'grn_rc)
foreign import ccall "grn_table_setoperation" c'grn_table_setoperation
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc
foreign import ccall "&grn_table_setoperation" p'grn_table_setoperation
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc)
foreign import ccall "grn_table_difference" c'grn_table_difference
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_table_difference" p'grn_table_difference
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_table_columns" c'grn_table_columns
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_table_columns" p'grn_table_columns
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_obj_column" c'grn_obj_column
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_column" p'grn_obj_column
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_table_size" c'grn_table_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_table_size" p'grn_table_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_column_create" c'grn_column_create
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CString -> CUShort -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_column_create" p'grn_column_create
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CString -> CUShort -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_column_index_update" c'grn_column_index_update
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUInt -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_column_index_update" p'grn_column_index_update
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUInt -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_column_table" c'grn_column_table
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_column_table" p'grn_column_table
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
type C'grn_info_type = CUInt
c'GRN_INFO_ENCODING = 0
c'GRN_INFO_ENCODING :: (Num a) => a
c'GRN_INFO_SOURCE = 1
c'GRN_INFO_SOURCE :: (Num a) => a
c'GRN_INFO_DEFAULT_TOKENIZER = 2
c'GRN_INFO_DEFAULT_TOKENIZER :: (Num a) => a
c'GRN_INFO_ELEMENT_SIZE = 3
c'GRN_INFO_ELEMENT_SIZE :: (Num a) => a
c'GRN_INFO_CURR_MAX = 4
c'GRN_INFO_CURR_MAX :: (Num a) => a
c'GRN_INFO_MAX_ELEMENT_SIZE = 5
c'GRN_INFO_MAX_ELEMENT_SIZE :: (Num a) => a
c'GRN_INFO_SEG_SIZE = 6
c'GRN_INFO_SEG_SIZE :: (Num a) => a
c'GRN_INFO_CHUNK_SIZE = 7
c'GRN_INFO_CHUNK_SIZE :: (Num a) => a
c'GRN_INFO_MAX_SECTION = 8
c'GRN_INFO_MAX_SECTION :: (Num a) => a
c'GRN_INFO_HOOK_LOCAL_DATA = 9
c'GRN_INFO_HOOK_LOCAL_DATA :: (Num a) => a
c'GRN_INFO_ELEMENT_A = 10
c'GRN_INFO_ELEMENT_A :: (Num a) => a
c'GRN_INFO_ELEMENT_CHUNK = 11
c'GRN_INFO_ELEMENT_CHUNK :: (Num a) => a
c'GRN_INFO_ELEMENT_CHUNK_SIZE = 12
c'GRN_INFO_ELEMENT_CHUNK_SIZE :: (Num a) => a
c'GRN_INFO_ELEMENT_BUFFER_FREE = 13
c'GRN_INFO_ELEMENT_BUFFER_FREE :: (Num a) => a
c'GRN_INFO_ELEMENT_NTERMS = 14
c'GRN_INFO_ELEMENT_NTERMS :: (Num a) => a
c'GRN_INFO_ELEMENT_NTERMS_VOID = 15
c'GRN_INFO_ELEMENT_NTERMS_VOID :: (Num a) => a
c'GRN_INFO_ELEMENT_SIZE_IN_CHUNK = 16
c'GRN_INFO_ELEMENT_SIZE_IN_CHUNK :: (Num a) => a
c'GRN_INFO_ELEMENT_POS_IN_CHUNK = 17
c'GRN_INFO_ELEMENT_POS_IN_CHUNK :: (Num a) => a
c'GRN_INFO_ELEMENT_SIZE_IN_BUFFER = 18
c'GRN_INFO_ELEMENT_SIZE_IN_BUFFER :: (Num a) => a
c'GRN_INFO_ELEMENT_POS_IN_BUFFER = 19
c'GRN_INFO_ELEMENT_POS_IN_BUFFER :: (Num a) => a
c'GRN_INFO_ELEMENT_ESTIMATE_SIZE = 20
c'GRN_INFO_ELEMENT_ESTIMATE_SIZE :: (Num a) => a
c'GRN_INFO_NGRAM_UNIT_SIZE = 21
c'GRN_INFO_NGRAM_UNIT_SIZE :: (Num a) => a
c'GRN_INFO_PARTIAL_MATCH_THRESHOLD = 22
c'GRN_INFO_PARTIAL_MATCH_THRESHOLD :: (Num a) => a
c'GRN_INFO_II_SPLIT_THRESHOLD = 23
c'GRN_INFO_II_SPLIT_THRESHOLD :: (Num a) => a
c'GRN_INFO_SUPPORT_ZLIB = 24
c'GRN_INFO_SUPPORT_ZLIB :: (Num a) => a
c'GRN_INFO_SUPPORT_LZ4 = 25
c'GRN_INFO_SUPPORT_LZ4 :: (Num a) => a
c'GRN_INFO_NORMALIZER = 26
c'GRN_INFO_NORMALIZER :: (Num a) => a
c'GRN_INFO_TOKEN_FILTERS = 27
c'GRN_INFO_TOKEN_FILTERS :: (Num a) => a
foreign import ccall "grn_obj_get_info" c'grn_obj_get_info
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_info_type -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_get_info" p'grn_obj_get_info
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_info_type -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_set_info" c'grn_obj_set_info
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_info_type -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_set_info" p'grn_obj_set_info
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_info_type -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_get_element_info" c'grn_obj_get_element_info
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> C'grn_info_type -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_get_element_info" p'grn_obj_get_element_info
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> C'grn_info_type -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_set_element_info" c'grn_obj_set_element_info
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> C'grn_info_type -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_set_element_info" p'grn_obj_set_element_info
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> C'grn_info_type -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_is_builtin" c'grn_obj_is_builtin
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUChar
foreign import ccall "&grn_obj_is_builtin" p'grn_obj_is_builtin
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUChar)
foreign import ccall "grn_obj_get_value" c'grn_obj_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_get_value" p'grn_obj_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_get_values" c'grn_obj_get_values
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_obj_get_values" p'grn_obj_get_values
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_obj_set_value" c'grn_obj_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc
foreign import ccall "&grn_obj_set_value" p'grn_obj_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc)
foreign import ccall "grn_obj_remove" c'grn_obj_remove
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_remove" p'grn_obj_remove
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_rename" c'grn_obj_rename
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_obj_rename" p'grn_obj_rename
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_rename" c'grn_table_rename
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_rename" p'grn_table_rename
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_column_rename" c'grn_column_rename
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_column_rename" p'grn_column_rename
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_obj_close" c'grn_obj_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_close" p'grn_obj_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_reinit" c'grn_obj_reinit
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUChar -> IO C'grn_rc
foreign import ccall "&grn_obj_reinit" p'grn_obj_reinit
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUChar -> IO C'grn_rc)
foreign import ccall "grn_obj_unlink" c'grn_obj_unlink
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ()
foreign import ccall "&grn_obj_unlink" p'grn_obj_unlink
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ())
foreign import ccall "grn_obj_user_data" c'grn_obj_user_data
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'grn_user_data)
foreign import ccall "&grn_obj_user_data" p'grn_obj_user_data
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'grn_user_data))
foreign import ccall "grn_obj_set_finalizer" c'grn_obj_set_finalizer
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'grn_proc_func -> IO C'grn_rc
foreign import ccall "&grn_obj_set_finalizer" p'grn_obj_set_finalizer
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'grn_proc_func -> IO C'grn_rc)
foreign import ccall "grn_obj_path" c'grn_obj_path
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CString
foreign import ccall "&grn_obj_path" p'grn_obj_path
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CString)
foreign import ccall "grn_obj_name" c'grn_obj_name
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CInt -> IO CInt
foreign import ccall "&grn_obj_name" p'grn_obj_name
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CInt -> IO CInt)
foreign import ccall "grn_column_name" c'grn_column_name
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CInt -> IO CInt
foreign import ccall "&grn_column_name" p'grn_column_name
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CInt -> IO CInt)
foreign import ccall "grn_obj_get_range" c'grn_obj_get_range
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_obj_get_range" p'grn_obj_get_range
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_obj_expire" c'grn_obj_expire
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO CInt
foreign import ccall "&grn_obj_expire" p'grn_obj_expire
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO CInt)
foreign import ccall "grn_obj_check" c'grn_obj_check
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_obj_check" p'grn_obj_check
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_obj_lock" c'grn_obj_lock
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CInt -> IO C'grn_rc
foreign import ccall "&grn_obj_lock" p'grn_obj_lock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CInt -> IO C'grn_rc)
foreign import ccall "grn_obj_unlock" c'grn_obj_unlock
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_obj_unlock" p'grn_obj_unlock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_obj_clear_lock" c'grn_obj_clear_lock
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_clear_lock" p'grn_obj_clear_lock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_is_locked" c'grn_obj_is_locked
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_obj_is_locked" p'grn_obj_is_locked
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_obj_defrag" c'grn_obj_defrag
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO CInt
foreign import ccall "&grn_obj_defrag" p'grn_obj_defrag
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO CInt)
foreign import ccall "grn_obj_db" c'grn_obj_db
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_db" p'grn_obj_db
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_id" c'grn_obj_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_obj_id" p'grn_obj_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
data C'_grn_search_optarg = C'_grn_search_optarg{
c'_grn_search_optarg'mode :: C'grn_operator,
c'_grn_search_optarg'similarity_threshold :: CInt,
c'_grn_search_optarg'max_interval :: CInt,
c'_grn_search_optarg'weight_vector :: Ptr CInt,
c'_grn_search_optarg'vector_size :: CInt,
c'_grn_search_optarg'proc :: Ptr C'_grn_obj,
c'_grn_search_optarg'max_size :: CInt
} deriving (Eq,Show)
p'_grn_search_optarg'mode p = plusPtr p 0
p'_grn_search_optarg'mode :: Ptr (C'_grn_search_optarg) -> Ptr (C'grn_operator)
p'_grn_search_optarg'similarity_threshold p = plusPtr p 4
p'_grn_search_optarg'similarity_threshold :: Ptr (C'_grn_search_optarg) -> Ptr (CInt)
p'_grn_search_optarg'max_interval p = plusPtr p 8
p'_grn_search_optarg'max_interval :: Ptr (C'_grn_search_optarg) -> Ptr (CInt)
p'_grn_search_optarg'weight_vector p = plusPtr p 16
p'_grn_search_optarg'weight_vector :: Ptr (C'_grn_search_optarg) -> Ptr (Ptr CInt)
p'_grn_search_optarg'vector_size p = plusPtr p 24
p'_grn_search_optarg'vector_size :: Ptr (C'_grn_search_optarg) -> Ptr (CInt)
p'_grn_search_optarg'proc p = plusPtr p 32
p'_grn_search_optarg'proc :: Ptr (C'_grn_search_optarg) -> Ptr (Ptr C'_grn_obj)
p'_grn_search_optarg'max_size p = plusPtr p 40
p'_grn_search_optarg'max_size :: Ptr (C'_grn_search_optarg) -> Ptr (CInt)
instance Storable C'_grn_search_optarg where
sizeOf _ = 72
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 16
v4 <- peekByteOff p 24
v5 <- peekByteOff p 32
v6 <- peekByteOff p 40
return $ C'_grn_search_optarg v0 v1 v2 v3 v4 v5 v6
poke p (C'_grn_search_optarg v0 v1 v2 v3 v4 v5 v6) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 16 v3
pokeByteOff p 24 v4
pokeByteOff p 32 v5
pokeByteOff p 40 v6
return ()
foreign import ccall "grn_obj_search" c'grn_obj_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> Ptr C'_grn_search_optarg -> IO C'grn_rc
foreign import ccall "&grn_obj_search" p'grn_obj_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> Ptr C'_grn_search_optarg -> IO C'grn_rc)
type C'grn_selector_func = FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc)
foreign import ccall "wrapper" mk'grn_selector_func
:: (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc) -> IO C'grn_selector_func
foreign import ccall "dynamic" mK'grn_selector_func
:: C'grn_selector_func -> (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CInt -> Ptr (Ptr C'_grn_obj) -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc)
foreign import ccall "grn_proc_set_selector" c'grn_proc_set_selector
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_selector_func -> IO C'grn_rc
foreign import ccall "&grn_proc_set_selector" p'grn_proc_set_selector
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_selector_func -> IO C'grn_rc)
foreign import ccall "grn_vector_size" c'grn_vector_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_vector_size" p'grn_vector_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_vector_add_element" c'grn_vector_add_element
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_vector_add_element" p'grn_vector_add_element
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_vector_get_element" c'grn_vector_get_element
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CUInt -> IO CUInt
foreign import ccall "&grn_vector_get_element" p'grn_vector_get_element
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CUInt -> IO CUInt)
foreign import ccall "grn_uvector_size" c'grn_uvector_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_uvector_size" p'grn_uvector_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_uvector_element_size" c'grn_uvector_element_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_uvector_element_size" p'grn_uvector_element_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_uvector_add_element" c'grn_uvector_add_element
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_uvector_add_element" p'grn_uvector_add_element
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_uvector_get_element" c'grn_uvector_get_element
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CUInt -> IO CUInt
foreign import ccall "&grn_uvector_get_element" p'grn_uvector_get_element
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CUInt -> IO CUInt)
foreign import ccall "grn_proc_call_next" c'grn_proc_call_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_proc_call_next" p'grn_proc_call_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_proc_get_ctx_local_data" c'grn_proc_get_ctx_local_data
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr ())
foreign import ccall "&grn_proc_get_ctx_local_data" p'grn_proc_get_ctx_local_data
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr ()))
foreign import ccall "grn_proc_get_hook_local_data" c'grn_proc_get_hook_local_data
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr ())
foreign import ccall "&grn_proc_get_hook_local_data" p'grn_proc_get_hook_local_data
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr ()))
type C'grn_hook_entry = CUInt
c'GRN_HOOK_SET = 0
c'GRN_HOOK_SET :: (Num a) => a
c'GRN_HOOK_GET = 1
c'GRN_HOOK_GET :: (Num a) => a
c'GRN_HOOK_INSERT = 2
c'GRN_HOOK_INSERT :: (Num a) => a
c'GRN_HOOK_DELETE = 3
c'GRN_HOOK_DELETE :: (Num a) => a
c'GRN_HOOK_SELECT = 4
c'GRN_HOOK_SELECT :: (Num a) => a
foreign import ccall "grn_obj_add_hook" c'grn_obj_add_hook
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_obj_add_hook" p'grn_obj_add_hook
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_obj_get_nhooks" c'grn_obj_get_nhooks
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> IO CInt
foreign import ccall "&grn_obj_get_nhooks" p'grn_obj_get_nhooks
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> IO CInt)
foreign import ccall "grn_obj_get_hook" c'grn_obj_get_hook
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_get_hook" p'grn_obj_get_hook
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_delete_hook" c'grn_obj_delete_hook
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> IO C'grn_rc
foreign import ccall "&grn_obj_delete_hook" p'grn_obj_delete_hook
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_hook_entry -> CInt -> IO C'grn_rc)
foreign import ccall "grn_obj_open" c'grn_obj_open
:: Ptr C'_grn_ctx -> CUChar -> CUShort -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_obj_open" p'grn_obj_open
:: FunPtr (Ptr C'_grn_ctx -> CUChar -> CUShort -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_column_index" c'grn_column_index
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_operator -> Ptr (Ptr C'_grn_obj) -> CInt -> Ptr CInt -> IO CInt
foreign import ccall "&grn_column_index" p'grn_column_index
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_operator -> Ptr (Ptr C'_grn_obj) -> CInt -> Ptr CInt -> IO CInt)
foreign import ccall "grn_obj_delete_by_id" c'grn_obj_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUChar -> IO C'grn_rc
foreign import ccall "&grn_obj_delete_by_id" p'grn_obj_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUChar -> IO C'grn_rc)
foreign import ccall "grn_obj_path_by_id" c'grn_obj_path_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CString -> IO C'grn_rc
foreign import ccall "&grn_obj_path_by_id" p'grn_obj_path_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CString -> IO C'grn_rc)
data C'grn_geo_point = C'grn_geo_point{
c'grn_geo_point'latitude :: CInt,
c'grn_geo_point'longitude :: CInt
} deriving (Eq,Show)
p'grn_geo_point'latitude p = plusPtr p 0
p'grn_geo_point'latitude :: Ptr (C'grn_geo_point) -> Ptr (CInt)
p'grn_geo_point'longitude p = plusPtr p 4
p'grn_geo_point'longitude :: Ptr (C'grn_geo_point) -> Ptr (CInt)
instance Storable C'grn_geo_point where
sizeOf _ = 8
alignment _ = 4
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
return $ C'grn_geo_point v0 v1
poke p (C'grn_geo_point v0 v1) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
return ()
foreign import ccall "grn_geo_select_in_rectangle" c'grn_geo_select_in_rectangle
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc
foreign import ccall "&grn_geo_select_in_rectangle" p'grn_geo_select_in_rectangle
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO C'grn_rc)
foreign import ccall "grn_geo_estimate_in_rectangle" c'grn_geo_estimate_in_rectangle
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_geo_estimate_in_rectangle" p'grn_geo_estimate_in_rectangle
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_geo_cursor_open_in_rectangle" c'grn_geo_cursor_open_in_rectangle
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CInt -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_geo_cursor_open_in_rectangle" p'grn_geo_cursor_open_in_rectangle
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CInt -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_geo_cursor_next" c'grn_geo_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'grn_posting)
foreign import ccall "&grn_geo_cursor_next" p'grn_geo_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'grn_posting))
data C'_grn_snip = C'_grn_snip
type C'grn_snip = C'_grn_snip
data C'_grn_snip_mapping = C'_grn_snip_mapping{
c'_grn_snip_mapping'dummy :: Ptr ()
} deriving (Eq,Show)
p'_grn_snip_mapping'dummy p = plusPtr p 0
p'_grn_snip_mapping'dummy :: Ptr (C'_grn_snip_mapping) -> Ptr (Ptr ())
instance Storable C'_grn_snip_mapping where
sizeOf _ = 8
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
return $ C'_grn_snip_mapping v0
poke p (C'_grn_snip_mapping v0) = do
pokeByteOff p 0 v0
return ()
foreign import ccall "grn_snip_open" c'grn_snip_open
:: Ptr C'_grn_ctx -> CInt -> CUInt -> CUInt -> CString -> CUInt -> CString -> CUInt -> Ptr C'_grn_snip_mapping -> IO (Ptr C'_grn_snip)
foreign import ccall "&grn_snip_open" p'grn_snip_open
:: FunPtr (Ptr C'_grn_ctx -> CInt -> CUInt -> CUInt -> CString -> CUInt -> CString -> CUInt -> Ptr C'_grn_snip_mapping -> IO (Ptr C'_grn_snip))
foreign import ccall "grn_snip_add_cond" c'grn_snip_add_cond
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_snip_add_cond" p'grn_snip_add_cond
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_snip_set_normalizer" c'grn_snip_set_normalizer
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_snip_set_normalizer" p'grn_snip_set_normalizer
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_snip_get_normalizer" c'grn_snip_get_normalizer
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_snip_get_normalizer" p'grn_snip_get_normalizer
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_snip_exec" c'grn_snip_exec
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr CUInt -> Ptr CUInt -> IO C'grn_rc
foreign import ccall "&grn_snip_exec" p'grn_snip_exec
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr CUInt -> Ptr CUInt -> IO C'grn_rc)
foreign import ccall "grn_snip_get_result" c'grn_snip_get_result
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CString -> Ptr CUInt -> IO C'grn_rc
foreign import ccall "&grn_snip_get_result" p'grn_snip_get_result
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CString -> Ptr CUInt -> IO C'grn_rc)
data C'_grn_logger_info = C'_grn_logger_info{
c'_grn_logger_info'max_level :: C'grn_log_level,
c'_grn_logger_info'flags :: CInt,
c'_grn_logger_info'func :: FunPtr (CInt -> CString -> CString -> CString -> CString -> Ptr () -> IO ()),
c'_grn_logger_info'func_arg :: Ptr ()
} deriving (Eq,Show)
p'_grn_logger_info'max_level p = plusPtr p 0
p'_grn_logger_info'max_level :: Ptr (C'_grn_logger_info) -> Ptr (C'grn_log_level)
p'_grn_logger_info'flags p = plusPtr p 4
p'_grn_logger_info'flags :: Ptr (C'_grn_logger_info) -> Ptr (CInt)
p'_grn_logger_info'func p = plusPtr p 8
p'_grn_logger_info'func :: Ptr (C'_grn_logger_info) -> Ptr (FunPtr (CInt -> CString -> CString -> CString -> CString -> Ptr () -> IO ()))
p'_grn_logger_info'func_arg p = plusPtr p 16
p'_grn_logger_info'func_arg :: Ptr (C'_grn_logger_info) -> Ptr (Ptr ())
instance Storable C'_grn_logger_info where
sizeOf _ = 24
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 16
return $ C'_grn_logger_info v0 v1 v2 v3
poke p (C'_grn_logger_info v0 v1 v2 v3) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 16 v3
return ()
foreign import ccall "grn_logger_info_set" c'grn_logger_info_set
:: Ptr C'_grn_ctx -> Ptr C'_grn_logger_info -> IO C'grn_rc
foreign import ccall "&grn_logger_info_set" p'grn_logger_info_set
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_logger_info -> IO C'grn_rc)
data C'_grn_logger = C'_grn_logger{
c'_grn_logger'max_level :: C'grn_log_level,
c'_grn_logger'flags :: CInt,
c'_grn_logger'user_data :: Ptr (),
c'_grn_logger'log :: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> CString -> CString -> CString -> CString -> Ptr () -> IO ()),
c'_grn_logger'reopen :: FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()),
c'_grn_logger'fin :: FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ())
} deriving (Eq,Show)
p'_grn_logger'max_level p = plusPtr p 0
p'_grn_logger'max_level :: Ptr (C'_grn_logger) -> Ptr (C'grn_log_level)
p'_grn_logger'flags p = plusPtr p 4
p'_grn_logger'flags :: Ptr (C'_grn_logger) -> Ptr (CInt)
p'_grn_logger'user_data p = plusPtr p 8
p'_grn_logger'user_data :: Ptr (C'_grn_logger) -> Ptr (Ptr ())
p'_grn_logger'log p = plusPtr p 16
p'_grn_logger'log :: Ptr (C'_grn_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> CString -> CString -> CString -> CString -> Ptr () -> IO ()))
p'_grn_logger'reopen p = plusPtr p 24
p'_grn_logger'reopen :: Ptr (C'_grn_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()))
p'_grn_logger'fin p = plusPtr p 32
p'_grn_logger'fin :: Ptr (C'_grn_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()))
instance Storable C'_grn_logger where
sizeOf _ = 40
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 16
v4 <- peekByteOff p 24
v5 <- peekByteOff p 32
return $ C'_grn_logger v0 v1 v2 v3 v4 v5
poke p (C'_grn_logger v0 v1 v2 v3 v4 v5) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 16 v3
pokeByteOff p 24 v4
pokeByteOff p 32 v5
return ()
foreign import ccall "grn_logger_set" c'grn_logger_set
:: Ptr C'_grn_ctx -> Ptr C'_grn_logger -> IO C'grn_rc
foreign import ccall "&grn_logger_set" p'grn_logger_set
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_logger -> IO C'grn_rc)
foreign import ccall "grn_logger_set_max_level" c'grn_logger_set_max_level
:: Ptr C'_grn_ctx -> C'grn_log_level -> IO ()
foreign import ccall "&grn_logger_set_max_level" p'grn_logger_set_max_level
:: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> IO ())
foreign import ccall "grn_logger_get_max_level" c'grn_logger_get_max_level
:: Ptr C'_grn_ctx -> IO C'grn_log_level
foreign import ccall "&grn_logger_get_max_level" p'grn_logger_get_max_level
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_log_level)
foreign import ccall "grn_logger_put" c'grn_logger_put
:: Ptr C'_grn_ctx -> C'grn_log_level -> CString -> CInt -> CString -> CString -> IO ()
foreign import ccall "&grn_logger_put" p'grn_logger_put
:: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> CString -> CInt -> CString -> CString -> IO ())
foreign import ccall "grn_logger_reopen" c'grn_logger_reopen
:: Ptr C'_grn_ctx -> IO ()
foreign import ccall "&grn_logger_reopen" p'grn_logger_reopen
:: FunPtr (Ptr C'_grn_ctx -> IO ())
foreign import ccall "grn_logger_pass" c'grn_logger_pass
:: Ptr C'_grn_ctx -> C'grn_log_level -> IO CUChar
foreign import ccall "&grn_logger_pass" p'grn_logger_pass
:: FunPtr (Ptr C'_grn_ctx -> C'grn_log_level -> IO CUChar)
foreign import ccall "grn_default_logger_set_max_level" c'grn_default_logger_set_max_level
:: C'grn_log_level -> IO ()
foreign import ccall "&grn_default_logger_set_max_level" p'grn_default_logger_set_max_level
:: FunPtr (C'grn_log_level -> IO ())
foreign import ccall "grn_default_logger_get_max_level" c'grn_default_logger_get_max_level
:: IO C'grn_log_level
foreign import ccall "&grn_default_logger_get_max_level" p'grn_default_logger_get_max_level
:: FunPtr (IO C'grn_log_level)
foreign import ccall "grn_default_logger_set_path" c'grn_default_logger_set_path
:: CString -> IO ()
foreign import ccall "&grn_default_logger_set_path" p'grn_default_logger_set_path
:: FunPtr (CString -> IO ())
foreign import ccall "grn_default_logger_get_path" c'grn_default_logger_get_path
:: IO CString
foreign import ccall "&grn_default_logger_get_path" p'grn_default_logger_get_path
:: FunPtr (IO CString)
data C'_grn_query_logger = C'_grn_query_logger{
c'_grn_query_logger'flags :: CUInt,
c'_grn_query_logger'user_data :: Ptr (),
c'_grn_query_logger'log :: FunPtr (Ptr C'_grn_ctx -> CUInt -> CString -> CString -> CString -> Ptr () -> IO ()),
c'_grn_query_logger'reopen :: FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()),
c'_grn_query_logger'fin :: FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ())
} deriving (Eq,Show)
p'_grn_query_logger'flags p = plusPtr p 0
p'_grn_query_logger'flags :: Ptr (C'_grn_query_logger) -> Ptr (CUInt)
p'_grn_query_logger'user_data p = plusPtr p 8
p'_grn_query_logger'user_data :: Ptr (C'_grn_query_logger) -> Ptr (Ptr ())
p'_grn_query_logger'log p = plusPtr p 16
p'_grn_query_logger'log :: Ptr (C'_grn_query_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> CUInt -> CString -> CString -> CString -> Ptr () -> IO ()))
p'_grn_query_logger'reopen p = plusPtr p 24
p'_grn_query_logger'reopen :: Ptr (C'_grn_query_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()))
p'_grn_query_logger'fin p = plusPtr p 32
p'_grn_query_logger'fin :: Ptr (C'_grn_query_logger) -> Ptr (FunPtr (Ptr C'_grn_ctx -> Ptr () -> IO ()))
instance Storable C'_grn_query_logger where
sizeOf _ = 40
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 16
v3 <- peekByteOff p 24
v4 <- peekByteOff p 32
return $ C'_grn_query_logger v0 v1 v2 v3 v4
poke p (C'_grn_query_logger v0 v1 v2 v3 v4) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 16 v2
pokeByteOff p 24 v3
pokeByteOff p 32 v4
return ()
foreign import ccall "grn_query_logger_set" c'grn_query_logger_set
:: Ptr C'_grn_ctx -> Ptr C'_grn_query_logger -> IO C'grn_rc
foreign import ccall "&grn_query_logger_set" p'grn_query_logger_set
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_query_logger -> IO C'grn_rc)
foreign import ccall "grn_query_logger_put" c'grn_query_logger_put
:: Ptr C'_grn_ctx -> CUInt -> CString -> CString -> IO ()
foreign import ccall "&grn_query_logger_put" p'grn_query_logger_put
:: FunPtr (Ptr C'_grn_ctx -> CUInt -> CString -> CString -> IO ())
foreign import ccall "grn_query_logger_reopen" c'grn_query_logger_reopen
:: Ptr C'_grn_ctx -> IO ()
foreign import ccall "&grn_query_logger_reopen" p'grn_query_logger_reopen
:: FunPtr (Ptr C'_grn_ctx -> IO ())
foreign import ccall "grn_query_logger_pass" c'grn_query_logger_pass
:: Ptr C'_grn_ctx -> CUInt -> IO CUChar
foreign import ccall "&grn_query_logger_pass" p'grn_query_logger_pass
:: FunPtr (Ptr C'_grn_ctx -> CUInt -> IO CUChar)
foreign import ccall "grn_default_query_logger_set_flags" c'grn_default_query_logger_set_flags
:: CUInt -> IO ()
foreign import ccall "&grn_default_query_logger_set_flags" p'grn_default_query_logger_set_flags
:: FunPtr (CUInt -> IO ())
foreign import ccall "grn_default_query_logger_get_flags" c'grn_default_query_logger_get_flags
:: IO CUInt
foreign import ccall "&grn_default_query_logger_get_flags" p'grn_default_query_logger_get_flags
:: FunPtr (IO CUInt)
foreign import ccall "grn_default_query_logger_set_path" c'grn_default_query_logger_set_path
:: CString -> IO ()
foreign import ccall "&grn_default_query_logger_set_path" p'grn_default_query_logger_set_path
:: FunPtr (CString -> IO ())
foreign import ccall "grn_default_query_logger_get_path" c'grn_default_query_logger_get_path
:: IO CString
foreign import ccall "&grn_default_query_logger_get_path" p'grn_default_query_logger_get_path
:: FunPtr (IO CString)
foreign import ccall "grn_bulk_reinit" c'grn_bulk_reinit
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_reinit" p'grn_bulk_reinit
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_resize" c'grn_bulk_resize
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_resize" p'grn_bulk_resize
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_write" c'grn_bulk_write
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_write" p'grn_bulk_write
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_write_from" c'grn_bulk_write_from
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_write_from" p'grn_bulk_write_from
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_reserve" c'grn_bulk_reserve
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_reserve" p'grn_bulk_reserve
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_space" c'grn_bulk_space
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_space" p'grn_bulk_space
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_truncate" c'grn_bulk_truncate
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_bulk_truncate" p'grn_bulk_truncate
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_bulk_fin" c'grn_bulk_fin
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_bulk_fin" p'grn_bulk_fin
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_text_itoa" c'grn_text_itoa
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc
foreign import ccall "&grn_text_itoa" p'grn_text_itoa
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc)
foreign import ccall "grn_text_itoa_padded" c'grn_text_itoa_padded
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CChar -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_itoa_padded" p'grn_text_itoa_padded
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CChar -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_lltoa" c'grn_text_lltoa
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CLong -> IO C'grn_rc
foreign import ccall "&grn_text_lltoa" p'grn_text_lltoa
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CLong -> IO C'grn_rc)
foreign import ccall "grn_text_ftoa" c'grn_text_ftoa
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CDouble -> IO C'grn_rc
foreign import ccall "&grn_text_ftoa" p'grn_text_ftoa
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CDouble -> IO C'grn_rc)
foreign import ccall "grn_text_itoh" c'grn_text_itoh
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_itoh" p'grn_text_itoh
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_itob" c'grn_text_itob
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_itob" p'grn_text_itob
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_lltob32h" c'grn_text_lltob32h
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CLong -> IO C'grn_rc
foreign import ccall "&grn_text_lltob32h" p'grn_text_lltob32h
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CLong -> IO C'grn_rc)
foreign import ccall "grn_text_benc" c'grn_text_benc
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_benc" p'grn_text_benc
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_esc" c'grn_text_esc
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_esc" p'grn_text_esc
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_urlenc" c'grn_text_urlenc
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_urlenc" p'grn_text_urlenc
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_urldec" c'grn_text_urldec
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CString -> CChar -> IO CString
foreign import ccall "&grn_text_urldec" p'grn_text_urldec
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CString -> CChar -> IO CString)
foreign import ccall "grn_text_escape_xml" c'grn_text_escape_xml
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_text_escape_xml" p'grn_text_escape_xml
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_text_time2rfc1123" c'grn_text_time2rfc1123
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc
foreign import ccall "&grn_text_time2rfc1123" p'grn_text_time2rfc1123
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO C'grn_rc)
foreign import ccall "grn_text_printf" c'grn_text_printf
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> IO C'grn_rc
foreign import ccall "&grn_text_printf" p'grn_text_printf
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> IO C'grn_rc)
data C'_grn_obj_format = C'_grn_obj_format{
c'_grn_obj_format'columns :: C'_grn_obj,
c'_grn_obj_format'min :: Ptr (),
c'_grn_obj_format'max :: Ptr (),
c'_grn_obj_format'min_size :: CUInt,
c'_grn_obj_format'max_size :: CUInt,
c'_grn_obj_format'nhits :: CInt,
c'_grn_obj_format'offset :: CInt,
c'_grn_obj_format'limit :: CInt,
c'_grn_obj_format'hits_offset :: CInt,
c'_grn_obj_format'flags :: CInt,
c'_grn_obj_format'expression :: Ptr C'_grn_obj
} deriving (Eq,Show)
p'_grn_obj_format'columns p = plusPtr p 0
p'_grn_obj_format'columns :: Ptr (C'_grn_obj_format) -> Ptr (C'_grn_obj)
p'_grn_obj_format'min p = plusPtr p 32
p'_grn_obj_format'min :: Ptr (C'_grn_obj_format) -> Ptr (Ptr ())
p'_grn_obj_format'max p = plusPtr p 40
p'_grn_obj_format'max :: Ptr (C'_grn_obj_format) -> Ptr (Ptr ())
p'_grn_obj_format'min_size p = plusPtr p 48
p'_grn_obj_format'min_size :: Ptr (C'_grn_obj_format) -> Ptr (CUInt)
p'_grn_obj_format'max_size p = plusPtr p 52
p'_grn_obj_format'max_size :: Ptr (C'_grn_obj_format) -> Ptr (CUInt)
p'_grn_obj_format'nhits p = plusPtr p 56
p'_grn_obj_format'nhits :: Ptr (C'_grn_obj_format) -> Ptr (CInt)
p'_grn_obj_format'offset p = plusPtr p 60
p'_grn_obj_format'offset :: Ptr (C'_grn_obj_format) -> Ptr (CInt)
p'_grn_obj_format'limit p = plusPtr p 64
p'_grn_obj_format'limit :: Ptr (C'_grn_obj_format) -> Ptr (CInt)
p'_grn_obj_format'hits_offset p = plusPtr p 68
p'_grn_obj_format'hits_offset :: Ptr (C'_grn_obj_format) -> Ptr (CInt)
p'_grn_obj_format'flags p = plusPtr p 72
p'_grn_obj_format'flags :: Ptr (C'_grn_obj_format) -> Ptr (CInt)
p'_grn_obj_format'expression p = plusPtr p 80
p'_grn_obj_format'expression :: Ptr (C'_grn_obj_format) -> Ptr (Ptr C'_grn_obj)
instance Storable C'_grn_obj_format where
sizeOf _ = 88
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 32
v2 <- peekByteOff p 40
v3 <- peekByteOff p 48
v4 <- peekByteOff p 52
v5 <- peekByteOff p 56
v6 <- peekByteOff p 60
v7 <- peekByteOff p 64
v8 <- peekByteOff p 68
v9 <- peekByteOff p 72
v10 <- peekByteOff p 80
return $ C'_grn_obj_format v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
poke p (C'_grn_obj_format v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10) = do
pokeByteOff p 0 v0
pokeByteOff p 32 v1
pokeByteOff p 40 v2
pokeByteOff p 48 v3
pokeByteOff p 52 v4
pokeByteOff p 56 v5
pokeByteOff p 60 v6
pokeByteOff p 64 v7
pokeByteOff p 68 v8
pokeByteOff p 72 v9
pokeByteOff p 80 v10
return ()
foreign import ccall "grn_output_obj" c'grn_output_obj
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_content_type -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO ()
foreign import ccall "&grn_output_obj" p'grn_output_obj
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_content_type -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO ())
foreign import ccall "grn_output_envelope" c'grn_output_envelope
:: Ptr C'_grn_ctx -> C'grn_rc -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CString -> CInt -> IO ()
foreign import ccall "&grn_output_envelope" p'grn_output_envelope
:: FunPtr (Ptr C'_grn_ctx -> C'grn_rc -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CString -> CInt -> IO ())
foreign import ccall "grn_ctx_output_array_open" c'grn_ctx_output_array_open
:: Ptr C'_grn_ctx -> CString -> CInt -> IO ()
foreign import ccall "&grn_ctx_output_array_open" p'grn_ctx_output_array_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> IO ())
foreign import ccall "grn_ctx_output_array_close" c'grn_ctx_output_array_close
:: Ptr C'_grn_ctx -> IO ()
foreign import ccall "&grn_ctx_output_array_close" p'grn_ctx_output_array_close
:: FunPtr (Ptr C'_grn_ctx -> IO ())
foreign import ccall "grn_ctx_output_map_open" c'grn_ctx_output_map_open
:: Ptr C'_grn_ctx -> CString -> CInt -> IO ()
foreign import ccall "&grn_ctx_output_map_open" p'grn_ctx_output_map_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> IO ())
foreign import ccall "grn_ctx_output_map_close" c'grn_ctx_output_map_close
:: Ptr C'_grn_ctx -> IO ()
foreign import ccall "&grn_ctx_output_map_close" p'grn_ctx_output_map_close
:: FunPtr (Ptr C'_grn_ctx -> IO ())
foreign import ccall "grn_ctx_output_int32" c'grn_ctx_output_int32
:: Ptr C'_grn_ctx -> CInt -> IO ()
foreign import ccall "&grn_ctx_output_int32" p'grn_ctx_output_int32
:: FunPtr (Ptr C'_grn_ctx -> CInt -> IO ())
foreign import ccall "grn_ctx_output_int64" c'grn_ctx_output_int64
:: Ptr C'_grn_ctx -> CLong -> IO ()
foreign import ccall "&grn_ctx_output_int64" p'grn_ctx_output_int64
:: FunPtr (Ptr C'_grn_ctx -> CLong -> IO ())
foreign import ccall "grn_ctx_output_float" c'grn_ctx_output_float
:: Ptr C'_grn_ctx -> CDouble -> IO ()
foreign import ccall "&grn_ctx_output_float" p'grn_ctx_output_float
:: FunPtr (Ptr C'_grn_ctx -> CDouble -> IO ())
foreign import ccall "grn_ctx_output_cstr" c'grn_ctx_output_cstr
:: Ptr C'_grn_ctx -> CString -> IO ()
foreign import ccall "&grn_ctx_output_cstr" p'grn_ctx_output_cstr
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO ())
foreign import ccall "grn_ctx_output_str" c'grn_ctx_output_str
:: Ptr C'_grn_ctx -> CString -> CUInt -> IO ()
foreign import ccall "&grn_ctx_output_str" p'grn_ctx_output_str
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> IO ())
foreign import ccall "grn_ctx_output_bool" c'grn_ctx_output_bool
:: Ptr C'_grn_ctx -> CUChar -> IO ()
foreign import ccall "&grn_ctx_output_bool" p'grn_ctx_output_bool
:: FunPtr (Ptr C'_grn_ctx -> CUChar -> IO ())
foreign import ccall "grn_ctx_output_obj" c'grn_ctx_output_obj
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO ()
foreign import ccall "&grn_ctx_output_obj" p'grn_ctx_output_obj
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO ())
foreign import ccall "grn_ctx_get_output_type" c'grn_ctx_get_output_type
:: Ptr C'_grn_ctx -> IO C'grn_content_type
foreign import ccall "&grn_ctx_get_output_type" p'grn_ctx_get_output_type
:: FunPtr (Ptr C'_grn_ctx -> IO C'grn_content_type)
foreign import ccall "grn_ctx_set_output_type" c'grn_ctx_set_output_type
:: Ptr C'_grn_ctx -> C'grn_content_type -> IO C'grn_rc
foreign import ccall "&grn_ctx_set_output_type" p'grn_ctx_set_output_type
:: FunPtr (Ptr C'_grn_ctx -> C'grn_content_type -> IO C'grn_rc)
foreign import ccall "grn_ctx_get_mime_type" c'grn_ctx_get_mime_type
:: Ptr C'_grn_ctx -> IO CString
foreign import ccall "&grn_ctx_get_mime_type" p'grn_ctx_get_mime_type
:: FunPtr (Ptr C'_grn_ctx -> IO CString)
foreign import ccall "grn_ctx_recv_handler_set" c'grn_ctx_recv_handler_set
:: Ptr C'_grn_ctx -> FunPtr (Ptr C'_grn_ctx -> CInt -> Ptr () -> IO ()) -> Ptr () -> IO ()
foreign import ccall "&grn_ctx_recv_handler_set" p'grn_ctx_recv_handler_set
:: FunPtr (Ptr C'_grn_ctx -> FunPtr (Ptr C'_grn_ctx -> CInt -> Ptr () -> IO ()) -> Ptr () -> IO ())
foreign import ccall "grn_text_otoj" c'grn_text_otoj
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO C'grn_rc
foreign import ccall "&grn_text_otoj" p'grn_text_otoj
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj_format -> IO C'grn_rc)
foreign import ccall "grn_time_now" c'grn_time_now
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ()
foreign import ccall "&grn_time_now" p'grn_time_now
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO ())
data C'grn_str = C'grn_str{
c'grn_str'orig :: CString,
c'grn_str'norm :: CString,
c'grn_str'checks :: Ptr CShort,
c'grn_str'ctypes :: Ptr CUChar,
c'grn_str'flags :: CInt,
c'grn_str'orig_blen :: CUInt,
c'grn_str'norm_blen :: CUInt,
c'grn_str'length :: CUInt,
c'grn_str'encoding :: C'grn_encoding
} deriving (Eq,Show)
p'grn_str'orig p = plusPtr p 0
p'grn_str'orig :: Ptr (C'grn_str) -> Ptr (CString)
p'grn_str'norm p = plusPtr p 8
p'grn_str'norm :: Ptr (C'grn_str) -> Ptr (CString)
p'grn_str'checks p = plusPtr p 16
p'grn_str'checks :: Ptr (C'grn_str) -> Ptr (Ptr CShort)
p'grn_str'ctypes p = plusPtr p 24
p'grn_str'ctypes :: Ptr (C'grn_str) -> Ptr (Ptr CUChar)
p'grn_str'flags p = plusPtr p 32
p'grn_str'flags :: Ptr (C'grn_str) -> Ptr (CInt)
p'grn_str'orig_blen p = plusPtr p 36
p'grn_str'orig_blen :: Ptr (C'grn_str) -> Ptr (CUInt)
p'grn_str'norm_blen p = plusPtr p 40
p'grn_str'norm_blen :: Ptr (C'grn_str) -> Ptr (CUInt)
p'grn_str'length p = plusPtr p 44
p'grn_str'length :: Ptr (C'grn_str) -> Ptr (CUInt)
p'grn_str'encoding p = plusPtr p 48
p'grn_str'encoding :: Ptr (C'grn_str) -> Ptr (C'grn_encoding)
instance Storable C'grn_str where
sizeOf _ = 56
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 16
v3 <- peekByteOff p 24
v4 <- peekByteOff p 32
v5 <- peekByteOff p 36
v6 <- peekByteOff p 40
v7 <- peekByteOff p 44
v8 <- peekByteOff p 48
return $ C'grn_str v0 v1 v2 v3 v4 v5 v6 v7 v8
poke p (C'grn_str v0 v1 v2 v3 v4 v5 v6 v7 v8) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 16 v2
pokeByteOff p 24 v3
pokeByteOff p 32 v4
pokeByteOff p 36 v5
pokeByteOff p 40 v6
pokeByteOff p 44 v7
pokeByteOff p 48 v8
return ()
foreign import ccall "grn_str_open" c'grn_str_open
:: Ptr C'_grn_ctx -> CString -> CUInt -> CInt -> IO (Ptr C'grn_str)
foreign import ccall "&grn_str_open" p'grn_str_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CInt -> IO (Ptr C'grn_str))
foreign import ccall "grn_str_close" c'grn_str_close
:: Ptr C'_grn_ctx -> Ptr C'grn_str -> IO C'grn_rc
foreign import ccall "&grn_str_close" p'grn_str_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'grn_str -> IO C'grn_rc)
type C'grn_char_type = CUInt
c'GRN_CHAR_NULL = 0
c'GRN_CHAR_NULL :: (Num a) => a
c'GRN_CHAR_ALPHA = 1
c'GRN_CHAR_ALPHA :: (Num a) => a
c'GRN_CHAR_DIGIT = 2
c'GRN_CHAR_DIGIT :: (Num a) => a
c'GRN_CHAR_SYMBOL = 3
c'GRN_CHAR_SYMBOL :: (Num a) => a
c'GRN_CHAR_HIRAGANA = 4
c'GRN_CHAR_HIRAGANA :: (Num a) => a
c'GRN_CHAR_KATAKANA = 5
c'GRN_CHAR_KATAKANA :: (Num a) => a
c'GRN_CHAR_KANJI = 6
c'GRN_CHAR_KANJI :: (Num a) => a
c'GRN_CHAR_OTHERS = 7
c'GRN_CHAR_OTHERS :: (Num a) => a
foreign import ccall "grn_string_open" c'grn_string_open
:: Ptr C'_grn_ctx -> CString -> CUInt -> Ptr C'_grn_obj -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_string_open" p'grn_string_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> Ptr C'_grn_obj -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_string_get_original" c'grn_string_get_original
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CString -> Ptr CUInt -> IO C'grn_rc
foreign import ccall "&grn_string_get_original" p'grn_string_get_original
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CString -> Ptr CUInt -> IO C'grn_rc)
foreign import ccall "grn_string_get_flags" c'grn_string_get_flags
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_string_get_flags" p'grn_string_get_flags
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_string_get_normalized" c'grn_string_get_normalized
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CString -> Ptr CUInt -> Ptr CUInt -> IO C'grn_rc
foreign import ccall "&grn_string_get_normalized" p'grn_string_get_normalized
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CString -> Ptr CUInt -> Ptr CUInt -> IO C'grn_rc)
foreign import ccall "grn_string_set_normalized" c'grn_string_set_normalized
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_string_set_normalized" p'grn_string_set_normalized
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_string_get_checks" c'grn_string_get_checks
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr CShort)
foreign import ccall "&grn_string_get_checks" p'grn_string_get_checks
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr CShort))
foreign import ccall "grn_string_set_checks" c'grn_string_set_checks
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CShort -> IO C'grn_rc
foreign import ccall "&grn_string_set_checks" p'grn_string_set_checks
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CShort -> IO C'grn_rc)
foreign import ccall "grn_string_get_types" c'grn_string_get_types
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr CUChar)
foreign import ccall "&grn_string_get_types" p'grn_string_get_types
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO (Ptr CUChar))
foreign import ccall "grn_string_set_types" c'grn_string_set_types
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CUChar -> IO C'grn_rc
foreign import ccall "&grn_string_set_types" p'grn_string_set_types
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr CUChar -> IO C'grn_rc)
foreign import ccall "grn_string_get_encoding" c'grn_string_get_encoding
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_encoding
foreign import ccall "&grn_string_get_encoding" p'grn_string_get_encoding
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_encoding)
foreign import ccall "grn_charlen" c'grn_charlen
:: Ptr C'_grn_ctx -> CString -> CString -> IO CInt
foreign import ccall "&grn_charlen" p'grn_charlen
:: FunPtr (Ptr C'_grn_ctx -> CString -> CString -> IO CInt)
foreign import ccall "grn_expr_create" c'grn_expr_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_create" p'grn_expr_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_close" c'grn_expr_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_expr_close" p'grn_expr_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_expr_add_var" c'grn_expr_add_var
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_add_var" p'grn_expr_add_var
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_get_var" c'grn_expr_get_var
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_get_var" p'grn_expr_get_var
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_get_var_by_offset" c'grn_expr_get_var_by_offset
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_get_var_by_offset" p'grn_expr_get_var_by_offset
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_append_obj" c'grn_expr_append_obj
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_append_obj" p'grn_expr_append_obj
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_append_const" c'grn_expr_append_const
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_append_const" p'grn_expr_append_const
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_append_const_str" c'grn_expr_append_const_str
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_append_const_str" p'grn_expr_append_const_str
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_append_const_int" c'grn_expr_append_const_int
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_append_const_int" p'grn_expr_append_const_int
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> C'grn_operator -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_append_op" c'grn_expr_append_op
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO C'grn_rc
foreign import ccall "&grn_expr_append_op" p'grn_expr_append_op
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> C'grn_operator -> CInt -> IO C'grn_rc)
foreign import ccall "grn_expr_syntax_escape" c'grn_expr_syntax_escape
:: Ptr C'_grn_ctx -> CString -> CInt -> CString -> CChar -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_expr_syntax_escape" p'grn_expr_syntax_escape
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> CString -> CChar -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_expr_syntax_escape_query" c'grn_expr_syntax_escape_query
:: Ptr C'_grn_ctx -> CString -> CInt -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_expr_syntax_escape_query" p'grn_expr_syntax_escape_query
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_expr_compile" c'grn_expr_compile
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_expr_compile" p'grn_expr_compile
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_expr_exec" c'grn_expr_exec
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_exec" p'grn_expr_exec
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_ctx_push" c'grn_ctx_push
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_ctx_push" p'grn_ctx_push
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_ctx_pop" c'grn_ctx_pop
:: Ptr C'_grn_ctx -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_ctx_pop" p'grn_ctx_pop
:: FunPtr (Ptr C'_grn_ctx -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_alloc" c'grn_expr_alloc
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUShort -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_alloc" p'grn_expr_alloc
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> CUShort -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_table_select" c'grn_table_select
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_select" p'grn_table_select
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> C'grn_operator -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_obj_columns" c'grn_obj_columns
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_obj_columns" p'grn_obj_columns
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> IO CInt)
type C'grn_expr_flags = CUInt
foreign import ccall "grn_expr_parse" c'grn_expr_parse
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> C'grn_operator -> C'grn_operator -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_expr_parse" p'grn_expr_parse
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> C'grn_operator -> C'grn_operator -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_expr_snip" c'grn_expr_snip
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CUInt -> CUInt -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CString -> Ptr CUInt -> Ptr C'_grn_snip_mapping -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_expr_snip" p'grn_expr_snip
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CInt -> CUInt -> CUInt -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CString -> Ptr CUInt -> Ptr C'_grn_snip_mapping -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_expr_snip_add_conditions" c'grn_expr_snip_add_conditions
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CString -> Ptr CUInt -> IO C'grn_rc
foreign import ccall "&grn_expr_snip_add_conditions" p'grn_expr_snip_add_conditions
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> Ptr CString -> Ptr CUInt -> Ptr CString -> Ptr CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_sort_key_from_str" c'grn_table_sort_key_from_str
:: Ptr C'_grn_ctx -> CString -> CUInt -> Ptr C'_grn_obj -> Ptr CUInt -> IO (Ptr C'_grn_table_sort_key)
foreign import ccall "&grn_table_sort_key_from_str" p'grn_table_sort_key_from_str
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> Ptr C'_grn_obj -> Ptr CUInt -> IO (Ptr C'_grn_table_sort_key))
foreign import ccall "grn_table_sort_key_close" c'grn_table_sort_key_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_table_sort_key -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_table_sort_key_close" p'grn_table_sort_key_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_table_sort_key -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_table_is_grouped" c'grn_table_is_grouped
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUChar
foreign import ccall "&grn_table_is_grouped" p'grn_table_is_grouped
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUChar)
foreign import ccall "grn_table_max_n_subrecs" c'grn_table_max_n_subrecs
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt
foreign import ccall "&grn_table_max_n_subrecs" p'grn_table_max_n_subrecs
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> IO CUInt)
foreign import ccall "grn_table_create_for_group" c'grn_table_create_for_group
:: Ptr C'_grn_ctx -> CString -> CUInt -> CString -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_create_for_group" p'grn_table_create_for_group
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CString -> Ptr C'_grn_obj -> Ptr C'_grn_obj -> CUInt -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_table_get_subrecs" c'grn_table_get_subrecs
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CUInt -> Ptr CInt -> CInt -> IO CUInt
foreign import ccall "&grn_table_get_subrecs" p'grn_table_get_subrecs
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr CUInt -> Ptr CInt -> CInt -> IO CUInt)
foreign import ccall "grn_table_tokenize" c'grn_table_tokenize
:: Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> CUChar -> IO (Ptr C'_grn_obj)
foreign import ccall "&grn_table_tokenize" p'grn_table_tokenize
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CString -> CUInt -> Ptr C'_grn_obj -> CUChar -> IO (Ptr C'_grn_obj))
foreign import ccall "grn_load" c'grn_load
:: Ptr C'_grn_ctx -> C'grn_content_type -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_load" p'grn_load
:: FunPtr (Ptr C'_grn_ctx -> C'grn_content_type -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> CString -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_ctx_connect" c'grn_ctx_connect
:: Ptr C'_grn_ctx -> CString -> CInt -> CInt -> IO C'grn_rc
foreign import ccall "&grn_ctx_connect" p'grn_ctx_connect
:: FunPtr (Ptr C'_grn_ctx -> CString -> CInt -> CInt -> IO C'grn_rc)
foreign import ccall "grn_ctx_send" c'grn_ctx_send
:: Ptr C'_grn_ctx -> CString -> CUInt -> CInt -> IO CUInt
foreign import ccall "&grn_ctx_send" p'grn_ctx_send
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CInt -> IO CUInt)
foreign import ccall "grn_ctx_recv" c'grn_ctx_recv
:: Ptr C'_grn_ctx -> Ptr CString -> Ptr CUInt -> Ptr CInt -> IO CUInt
foreign import ccall "&grn_ctx_recv" p'grn_ctx_recv
:: FunPtr (Ptr C'_grn_ctx -> Ptr CString -> Ptr CUInt -> Ptr CInt -> IO CUInt)
type C'grn_ctx_info = C'_grn_ctx_info
data C'_grn_ctx_info = C'_grn_ctx_info{
c'_grn_ctx_info'fd :: CInt,
c'_grn_ctx_info'com_status :: CUInt,
c'_grn_ctx_info'outbuf :: Ptr C'_grn_obj,
c'_grn_ctx_info'stat :: CUChar
} deriving (Eq,Show)
p'_grn_ctx_info'fd p = plusPtr p 0
p'_grn_ctx_info'fd :: Ptr (C'_grn_ctx_info) -> Ptr (CInt)
p'_grn_ctx_info'com_status p = plusPtr p 4
p'_grn_ctx_info'com_status :: Ptr (C'_grn_ctx_info) -> Ptr (CUInt)
p'_grn_ctx_info'outbuf p = plusPtr p 8
p'_grn_ctx_info'outbuf :: Ptr (C'_grn_ctx_info) -> Ptr (Ptr C'_grn_obj)
p'_grn_ctx_info'stat p = plusPtr p 16
p'_grn_ctx_info'stat :: Ptr (C'_grn_ctx_info) -> Ptr (CUChar)
instance Storable C'_grn_ctx_info where
sizeOf _ = 24
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 16
return $ C'_grn_ctx_info v0 v1 v2 v3
poke p (C'_grn_ctx_info v0 v1 v2 v3) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 16 v3
return ()
foreign import ccall "grn_ctx_info_get" c'grn_ctx_info_get
:: Ptr C'_grn_ctx -> Ptr C'_grn_ctx_info -> IO C'grn_rc
foreign import ccall "&grn_ctx_info_get" p'grn_ctx_info_get
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_ctx_info -> IO C'grn_rc)
foreign import ccall "grn_set_segv_handler" c'grn_set_segv_handler
:: IO C'grn_rc
foreign import ccall "&grn_set_segv_handler" p'grn_set_segv_handler
:: FunPtr (IO C'grn_rc)
foreign import ccall "grn_set_int_handler" c'grn_set_int_handler
:: IO C'grn_rc
foreign import ccall "&grn_set_int_handler" p'grn_set_int_handler
:: FunPtr (IO C'grn_rc)
foreign import ccall "grn_set_term_handler" c'grn_set_term_handler
:: IO C'grn_rc
foreign import ccall "&grn_set_term_handler" p'grn_set_term_handler
:: FunPtr (IO C'grn_rc)
data C'_grn_hash = C'_grn_hash
type C'grn_hash = C'_grn_hash
data C'_grn_hash_cursor = C'_grn_hash_cursor
type C'grn_hash_cursor = C'_grn_hash_cursor
foreign import ccall "grn_hash_create" c'grn_hash_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_hash)
foreign import ccall "&grn_hash_create" p'grn_hash_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_hash))
foreign import ccall "grn_hash_open" c'grn_hash_open
:: Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_hash)
foreign import ccall "&grn_hash_open" p'grn_hash_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_hash))
foreign import ccall "grn_hash_close" c'grn_hash_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> IO C'grn_rc
foreign import ccall "&grn_hash_close" p'grn_hash_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> IO C'grn_rc)
foreign import ccall "grn_hash_add" c'grn_hash_add
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt
foreign import ccall "&grn_hash_add" p'grn_hash_add
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt)
foreign import ccall "grn_hash_get" c'grn_hash_get
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt
foreign import ccall "&grn_hash_get" p'grn_hash_get
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt)
foreign import ccall "grn_hash_get_key" c'grn_hash_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> CInt -> IO CInt
foreign import ccall "&grn_hash_get_key" p'grn_hash_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> CInt -> IO CInt)
foreign import ccall "grn_hash_get_key2" c'grn_hash_get_key2
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_hash_get_key2" p'grn_hash_get_key2
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_hash_get_value" c'grn_hash_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> IO CInt
foreign import ccall "&grn_hash_get_value" p'grn_hash_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> IO CInt)
foreign import ccall "grn_hash_set_value" c'grn_hash_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_hash_set_value" p'grn_hash_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr () -> CInt -> IO C'grn_rc)
data C'_grn_table_delete_optarg = C'_grn_table_delete_optarg{
c'_grn_table_delete_optarg'flags :: CInt,
c'_grn_table_delete_optarg'func :: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CInt),
c'_grn_table_delete_optarg'func_arg :: Ptr ()
} deriving (Eq,Show)
p'_grn_table_delete_optarg'flags p = plusPtr p 0
p'_grn_table_delete_optarg'flags :: Ptr (C'_grn_table_delete_optarg) -> Ptr (CInt)
p'_grn_table_delete_optarg'func p = plusPtr p 8
p'_grn_table_delete_optarg'func :: Ptr (C'_grn_table_delete_optarg) -> Ptr (FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_obj -> CUInt -> Ptr () -> CInt))
p'_grn_table_delete_optarg'func_arg p = plusPtr p 16
p'_grn_table_delete_optarg'func_arg :: Ptr (C'_grn_table_delete_optarg) -> Ptr (Ptr ())
instance Storable C'_grn_table_delete_optarg where
sizeOf _ = 24
alignment _ = 8
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 8
v2 <- peekByteOff p 16
return $ C'_grn_table_delete_optarg v0 v1 v2
poke p (C'_grn_table_delete_optarg v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 8 v1
pokeByteOff p 16 v2
return ()
foreign import ccall "grn_hash_delete_by_id" c'grn_hash_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_hash_delete_by_id" p'grn_hash_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_hash_delete" c'grn_hash_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_hash_delete" p'grn_hash_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_hash_cursor_open" c'grn_hash_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_hash_cursor)
foreign import ccall "&grn_hash_cursor_open" p'grn_hash_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_hash_cursor))
foreign import ccall "grn_hash_cursor_next" c'grn_hash_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> IO CUInt
foreign import ccall "&grn_hash_cursor_next" p'grn_hash_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> IO CUInt)
foreign import ccall "grn_hash_cursor_close" c'grn_hash_cursor_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> IO ()
foreign import ccall "&grn_hash_cursor_close" p'grn_hash_cursor_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> IO ())
foreign import ccall "grn_hash_cursor_get_key" c'grn_hash_cursor_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_hash_cursor_get_key" p'grn_hash_cursor_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_hash_cursor_get_value" c'grn_hash_cursor_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_hash_cursor_get_value" p'grn_hash_cursor_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_hash_cursor_set_value" c'grn_hash_cursor_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_hash_cursor_set_value" p'grn_hash_cursor_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_hash_cursor_get_key_value" c'grn_hash_cursor_get_key_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> Ptr CUInt -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_hash_cursor_get_key_value" p'grn_hash_cursor_get_key_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr (Ptr ()) -> Ptr CUInt -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_hash_cursor_delete" c'grn_hash_cursor_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_hash_cursor_delete" p'grn_hash_cursor_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_hash_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
data C'_grn_array = C'_grn_array
type C'grn_array = C'_grn_array
data C'_grn_array_cursor = C'_grn_array_cursor
type C'grn_array_cursor = C'_grn_array_cursor
foreign import ccall "grn_array_create" c'grn_array_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> IO (Ptr C'_grn_array)
foreign import ccall "&grn_array_create" p'grn_array_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> IO (Ptr C'_grn_array))
foreign import ccall "grn_array_open" c'grn_array_open
:: Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_array)
foreign import ccall "&grn_array_open" p'grn_array_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_array))
foreign import ccall "grn_array_close" c'grn_array_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> IO C'grn_rc
foreign import ccall "&grn_array_close" p'grn_array_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> IO C'grn_rc)
foreign import ccall "grn_array_add" c'grn_array_add
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> Ptr (Ptr ()) -> IO CUInt
foreign import ccall "&grn_array_add" p'grn_array_add
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> Ptr (Ptr ()) -> IO CUInt)
foreign import ccall "grn_array_push" c'grn_array_push
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO ()) -> Ptr () -> IO CUInt
foreign import ccall "&grn_array_push" p'grn_array_push
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO ()) -> Ptr () -> IO CUInt)
foreign import ccall "grn_array_pull" c'grn_array_pull
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUChar -> FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO ()) -> Ptr () -> IO CUInt
foreign import ccall "&grn_array_pull" p'grn_array_pull
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUChar -> FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO ()) -> Ptr () -> IO CUInt)
foreign import ccall "grn_array_unblock" c'grn_array_unblock
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> IO ()
foreign import ccall "&grn_array_unblock" p'grn_array_unblock
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> IO ())
foreign import ccall "grn_array_get_value" c'grn_array_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO CInt
foreign import ccall "&grn_array_get_value" p'grn_array_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> IO CInt)
foreign import ccall "grn_array_set_value" c'grn_array_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_array_set_value" p'grn_array_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_array_cursor_open" c'grn_array_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_array_cursor)
foreign import ccall "&grn_array_cursor_open" p'grn_array_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_array_cursor))
foreign import ccall "grn_array_cursor_next" c'grn_array_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> IO CUInt
foreign import ccall "&grn_array_cursor_next" p'grn_array_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> IO CUInt)
foreign import ccall "grn_array_cursor_get_value" c'grn_array_cursor_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_array_cursor_get_value" p'grn_array_cursor_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_array_cursor_set_value" c'grn_array_cursor_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_array_cursor_set_value" p'grn_array_cursor_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_array_cursor_delete" c'grn_array_cursor_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_array_cursor_delete" p'grn_array_cursor_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_array_cursor_close" c'grn_array_cursor_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> IO ()
foreign import ccall "&grn_array_cursor_close" p'grn_array_cursor_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array_cursor -> IO ())
foreign import ccall "grn_array_delete_by_id" c'grn_array_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_array_delete_by_id" p'grn_array_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_array_next" c'grn_array_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> IO CUInt
foreign import ccall "&grn_array_next" p'grn_array_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> IO CUInt)
foreign import ccall "_grn_array_get_value" c'_grn_array_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> IO (Ptr ())
foreign import ccall "&_grn_array_get_value" p'_grn_array_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_array -> CUInt -> IO (Ptr ()))
data C'_grn_pat = C'_grn_pat
type C'grn_pat = C'_grn_pat
data C'_grn_pat_cursor = C'_grn_pat_cursor
type C'grn_pat_cursor = C'_grn_pat_cursor
foreign import ccall "grn_pat_create" c'grn_pat_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_pat)
foreign import ccall "&grn_pat_create" p'grn_pat_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_pat))
foreign import ccall "grn_pat_open" c'grn_pat_open
:: Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_pat)
foreign import ccall "&grn_pat_open" p'grn_pat_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_pat))
foreign import ccall "grn_pat_close" c'grn_pat_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> IO C'grn_rc
foreign import ccall "&grn_pat_close" p'grn_pat_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> IO C'grn_rc)
foreign import ccall "grn_pat_remove" c'grn_pat_remove
:: Ptr C'_grn_ctx -> CString -> IO C'grn_rc
foreign import ccall "&grn_pat_remove" p'grn_pat_remove
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO C'grn_rc)
foreign import ccall "grn_pat_get" c'grn_pat_get
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt
foreign import ccall "&grn_pat_get" p'grn_pat_get
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt)
foreign import ccall "grn_pat_add" c'grn_pat_add
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt
foreign import ccall "&grn_pat_add" p'grn_pat_add
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt)
foreign import ccall "grn_pat_get_key" c'grn_pat_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> CInt -> IO CInt
foreign import ccall "&grn_pat_get_key" p'grn_pat_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> CInt -> IO CInt)
foreign import ccall "grn_pat_get_key2" c'grn_pat_get_key2
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_pat_get_key2" p'grn_pat_get_key2
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_pat_get_value" c'grn_pat_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> IO CInt
foreign import ccall "&grn_pat_get_value" p'grn_pat_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> IO CInt)
foreign import ccall "grn_pat_set_value" c'grn_pat_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_pat_set_value" p'grn_pat_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_pat_delete_by_id" c'grn_pat_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_pat_delete_by_id" p'grn_pat_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_pat_delete" c'grn_pat_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_pat_delete" p'grn_pat_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_pat_delete_with_sis" c'grn_pat_delete_with_sis
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO CInt
foreign import ccall "&grn_pat_delete_with_sis" p'grn_pat_delete_with_sis
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO CInt)
data C'_grn_table_scan_hit = C'_grn_table_scan_hit{
c'_grn_table_scan_hit'id :: CUInt,
c'_grn_table_scan_hit'offset :: CUInt,
c'_grn_table_scan_hit'length :: CUInt
} deriving (Eq,Show)
p'_grn_table_scan_hit'id p = plusPtr p 0
p'_grn_table_scan_hit'id :: Ptr (C'_grn_table_scan_hit) -> Ptr (CUInt)
p'_grn_table_scan_hit'offset p = plusPtr p 4
p'_grn_table_scan_hit'offset :: Ptr (C'_grn_table_scan_hit) -> Ptr (CUInt)
p'_grn_table_scan_hit'length p = plusPtr p 8
p'_grn_table_scan_hit'length :: Ptr (C'_grn_table_scan_hit) -> Ptr (CUInt)
instance Storable C'_grn_table_scan_hit where
sizeOf _ = 12
alignment _ = 4
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
return $ C'_grn_table_scan_hit v0 v1 v2
poke p (C'_grn_table_scan_hit v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
return ()
foreign import ccall "grn_pat_scan" c'grn_pat_scan
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CString -> CUInt -> Ptr C'_grn_table_scan_hit -> CUInt -> Ptr CString -> IO CInt
foreign import ccall "&grn_pat_scan" p'grn_pat_scan
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> CString -> CUInt -> Ptr C'_grn_table_scan_hit -> CUInt -> Ptr CString -> IO CInt)
foreign import ccall "grn_pat_prefix_search" c'grn_pat_prefix_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_hash -> IO C'grn_rc
foreign import ccall "&grn_pat_prefix_search" p'grn_pat_prefix_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_hash -> IO C'grn_rc)
foreign import ccall "grn_pat_suffix_search" c'grn_pat_suffix_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_hash -> IO C'grn_rc
foreign import ccall "&grn_pat_suffix_search" p'grn_pat_suffix_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr C'_grn_hash -> IO C'grn_rc)
foreign import ccall "grn_pat_lcp_search" c'grn_pat_lcp_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> IO CUInt
foreign import ccall "&grn_pat_lcp_search" p'grn_pat_lcp_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> IO CUInt)
foreign import ccall "grn_pat_size" c'grn_pat_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> IO CUInt
foreign import ccall "&grn_pat_size" p'grn_pat_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> IO CUInt)
foreign import ccall "grn_pat_cursor_open" c'grn_pat_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_pat_cursor)
foreign import ccall "&grn_pat_cursor_open" p'grn_pat_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_pat_cursor))
foreign import ccall "grn_pat_cursor_next" c'grn_pat_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> IO CUInt
foreign import ccall "&grn_pat_cursor_next" p'grn_pat_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> IO CUInt)
foreign import ccall "grn_pat_cursor_close" c'grn_pat_cursor_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> IO ()
foreign import ccall "&grn_pat_cursor_close" p'grn_pat_cursor_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> IO ())
foreign import ccall "grn_pat_cursor_get_key" c'grn_pat_cursor_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_pat_cursor_get_key" p'grn_pat_cursor_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_pat_cursor_get_value" c'grn_pat_cursor_get_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_pat_cursor_get_value" p'grn_pat_cursor_get_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_pat_cursor_get_key_value" c'grn_pat_cursor_get_key_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> Ptr CUInt -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_pat_cursor_get_key_value" p'grn_pat_cursor_get_key_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr (Ptr ()) -> Ptr CUInt -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_pat_cursor_set_value" c'grn_pat_cursor_set_value
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr () -> CInt -> IO C'grn_rc
foreign import ccall "&grn_pat_cursor_set_value" p'grn_pat_cursor_set_value
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr () -> CInt -> IO C'grn_rc)
foreign import ccall "grn_pat_cursor_delete" c'grn_pat_cursor_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_pat_cursor_delete" p'grn_pat_cursor_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_pat_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
data C'_grn_dat = C'_grn_dat
type C'grn_dat = C'_grn_dat
data C'_grn_dat_cursor = C'_grn_dat_cursor
type C'grn_dat_cursor = C'_grn_dat_cursor
foreign import ccall "grn_dat_scan" c'grn_dat_scan
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CString -> CUInt -> Ptr C'_grn_table_scan_hit -> CUInt -> Ptr CString -> IO CInt
foreign import ccall "&grn_dat_scan" p'grn_dat_scan
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CString -> CUInt -> Ptr C'_grn_table_scan_hit -> CUInt -> Ptr CString -> IO CInt)
foreign import ccall "grn_dat_lcp_search" c'grn_dat_lcp_search
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> IO CUInt
foreign import ccall "&grn_dat_lcp_search" p'grn_dat_lcp_search
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> IO CUInt)
foreign import ccall "grn_dat_create" c'grn_dat_create
:: Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_dat)
foreign import ccall "&grn_dat_create" p'grn_dat_create
:: FunPtr (Ptr C'_grn_ctx -> CString -> CUInt -> CUInt -> CUInt -> IO (Ptr C'_grn_dat))
foreign import ccall "grn_dat_open" c'grn_dat_open
:: Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_dat)
foreign import ccall "&grn_dat_open" p'grn_dat_open
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO (Ptr C'_grn_dat))
foreign import ccall "grn_dat_close" c'grn_dat_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> IO C'grn_rc
foreign import ccall "&grn_dat_close" p'grn_dat_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> IO C'grn_rc)
foreign import ccall "grn_dat_remove" c'grn_dat_remove
:: Ptr C'_grn_ctx -> CString -> IO C'grn_rc
foreign import ccall "&grn_dat_remove" p'grn_dat_remove
:: FunPtr (Ptr C'_grn_ctx -> CString -> IO C'grn_rc)
foreign import ccall "grn_dat_get" c'grn_dat_get
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt
foreign import ccall "&grn_dat_get" p'grn_dat_get
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> IO CUInt)
foreign import ccall "grn_dat_add" c'grn_dat_add
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt
foreign import ccall "&grn_dat_add" p'grn_dat_add
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr (Ptr ()) -> Ptr CInt -> IO CUInt)
foreign import ccall "grn_dat_get_key" c'grn_dat_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr () -> CInt -> IO CInt
foreign import ccall "&grn_dat_get_key" p'grn_dat_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr () -> CInt -> IO CInt)
foreign import ccall "grn_dat_get_key2" c'grn_dat_get_key2
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr C'_grn_obj -> IO CInt
foreign import ccall "&grn_dat_get_key2" p'grn_dat_get_key2
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr C'_grn_obj -> IO CInt)
foreign import ccall "grn_dat_delete_by_id" c'grn_dat_delete_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_dat_delete_by_id" p'grn_dat_delete_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_dat_delete" c'grn_dat_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_dat_delete" p'grn_dat_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
foreign import ccall "grn_dat_update_by_id" c'grn_dat_update_by_id
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_dat_update_by_id" p'grn_dat_update_by_id
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_dat_update" c'grn_dat_update
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc
foreign import ccall "&grn_dat_update" p'grn_dat_update
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr () -> CUInt -> IO C'grn_rc)
foreign import ccall "grn_dat_size" c'grn_dat_size
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> IO CUInt
foreign import ccall "&grn_dat_size" p'grn_dat_size
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> IO CUInt)
foreign import ccall "grn_dat_cursor_open" c'grn_dat_cursor_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_dat_cursor)
foreign import ccall "&grn_dat_cursor_open" p'grn_dat_cursor_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat -> Ptr () -> CUInt -> Ptr () -> CUInt -> CInt -> CInt -> CInt -> IO (Ptr C'_grn_dat_cursor))
foreign import ccall "grn_dat_cursor_next" c'grn_dat_cursor_next
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> IO CUInt
foreign import ccall "&grn_dat_cursor_next" p'grn_dat_cursor_next
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> IO CUInt)
foreign import ccall "grn_dat_cursor_close" c'grn_dat_cursor_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> IO ()
foreign import ccall "&grn_dat_cursor_close" p'grn_dat_cursor_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> IO ())
foreign import ccall "grn_dat_cursor_get_key" c'grn_dat_cursor_get_key
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> Ptr (Ptr ()) -> IO CInt
foreign import ccall "&grn_dat_cursor_get_key" p'grn_dat_cursor_get_key
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> Ptr (Ptr ()) -> IO CInt)
foreign import ccall "grn_dat_cursor_delete" c'grn_dat_cursor_delete
:: Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc
foreign import ccall "&grn_dat_cursor_delete" p'grn_dat_cursor_delete
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_dat_cursor -> Ptr C'_grn_table_delete_optarg -> IO C'grn_rc)
data C'_grn_ii = C'_grn_ii
type C'grn_ii = C'_grn_ii
data C'_grn_ii_buffer = C'_grn_ii_buffer
type C'grn_ii_buffer = C'_grn_ii_buffer
foreign import ccall "grn_ii_buffer_open" c'grn_ii_buffer_open
:: Ptr C'_grn_ctx -> Ptr C'_grn_ii -> CLong -> IO (Ptr C'_grn_ii_buffer)
foreign import ccall "&grn_ii_buffer_open" p'grn_ii_buffer_open
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_ii -> CLong -> IO (Ptr C'_grn_ii_buffer))
foreign import ccall "grn_ii_buffer_append" c'grn_ii_buffer_append
:: Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> CUInt -> CUInt -> Ptr C'_grn_obj -> IO C'grn_rc
foreign import ccall "&grn_ii_buffer_append" p'grn_ii_buffer_append
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> CUInt -> CUInt -> Ptr C'_grn_obj -> IO C'grn_rc)
foreign import ccall "grn_ii_buffer_commit" c'grn_ii_buffer_commit
:: Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> IO C'grn_rc
foreign import ccall "&grn_ii_buffer_commit" p'grn_ii_buffer_commit
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> IO C'grn_rc)
foreign import ccall "grn_ii_buffer_close" c'grn_ii_buffer_close
:: Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> IO C'grn_rc
foreign import ccall "&grn_ii_buffer_close" p'grn_ii_buffer_close
:: FunPtr (Ptr C'_grn_ctx -> Ptr C'_grn_ii_buffer -> IO C'grn_rc)