{-# LINE 1 "Bindings/Groonga/Raw.hsc" #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LINE 2 "Bindings/Groonga/Raw.hsc" #-}
{- generated by c2hsc with groonga.h of groonga 3.1.1. -}

{-# LINE 4 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 5 "Bindings/Groonga/Raw.hsc" #-}
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

{-# LINE 8 "Bindings/Groonga/Raw.hsc" #-}

{- typedef unsigned int grn_id; -}
type C'grn_id = CUInt

{-# LINE 11 "Bindings/Groonga/Raw.hsc" #-}
{- typedef unsigned char grn_bool; -}
type C'grn_bool = CUChar

{-# LINE 13 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_SUCCESS = 0,
            GRN_END_OF_DATA = 1,
            GRN_UNKNOWN_ERROR = -1,
            GRN_OPERATION_NOT_PERMITTED = -2,
            GRN_NO_SUCH_FILE_OR_DIRECTORY = -3,
            GRN_NO_SUCH_PROCESS = -4,
            GRN_INTERRUPTED_FUNCTION_CALL = -5,
            GRN_INPUT_OUTPUT_ERROR = -6,
            GRN_NO_SUCH_DEVICE_OR_ADDRESS = -7,
            GRN_ARG_LIST_TOO_LONG = -8,
            GRN_EXEC_FORMAT_ERROR = -9,
            GRN_BAD_FILE_DESCRIPTOR = -10,
            GRN_NO_CHILD_PROCESSES = -11,
            GRN_RESOURCE_TEMPORARILY_UNAVAILABLE = -12,
            GRN_NOT_ENOUGH_SPACE = -13,
            GRN_PERMISSION_DENIED = -14,
            GRN_BAD_ADDRESS = -15,
            GRN_RESOURCE_BUSY = -16,
            GRN_FILE_EXISTS = -17,
            GRN_IMPROPER_LINK = -18,
            GRN_NO_SUCH_DEVICE = -19,
            GRN_NOT_A_DIRECTORY = -20,
            GRN_IS_A_DIRECTORY = -21,
            GRN_INVALID_ARGUMENT = -22,
            GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM = -23,
            GRN_TOO_MANY_OPEN_FILES = -24,
            GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION = -25,
            GRN_FILE_TOO_LARGE = -26,
            GRN_NO_SPACE_LEFT_ON_DEVICE = -27,
            GRN_INVALID_SEEK = -28,
            GRN_READ_ONLY_FILE_SYSTEM = -29,
            GRN_TOO_MANY_LINKS = -30,
            GRN_BROKEN_PIPE = -31,
            GRN_DOMAIN_ERROR = -32,
            GRN_RESULT_TOO_LARGE = -33,
            GRN_RESOURCE_DEADLOCK_AVOIDED = -34,
            GRN_NO_MEMORY_AVAILABLE = -35,
            GRN_FILENAME_TOO_LONG = -36,
            GRN_NO_LOCKS_AVAILABLE = -37,
            GRN_FUNCTION_NOT_IMPLEMENTED = -38,
            GRN_DIRECTORY_NOT_EMPTY = -39,
            GRN_ILLEGAL_BYTE_SEQUENCE = -40,
            GRN_SOCKET_NOT_INITIALIZED = -41,
            GRN_OPERATION_WOULD_BLOCK = -42,
            GRN_ADDRESS_IS_NOT_AVAILABLE = -43,
            GRN_NETWORK_IS_DOWN = -44,
            GRN_NO_BUFFER = -45,
            GRN_SOCKET_IS_ALREADY_CONNECTED = -46,
            GRN_SOCKET_IS_NOT_CONNECTED = -47,
            GRN_SOCKET_IS_ALREADY_SHUTDOWNED = -48,
            GRN_OPERATION_TIMEOUT = -49,
            GRN_CONNECTION_REFUSED = -50,
            GRN_RANGE_ERROR = -51,
            GRN_TOKENIZER_ERROR = -52,
            GRN_FILE_CORRUPT = -53,
            GRN_INVALID_FORMAT = -54,
            GRN_OBJECT_CORRUPT = -55,
            GRN_TOO_MANY_SYMBOLIC_LINKS = -56,
            GRN_NOT_SOCKET = -57,
            GRN_OPERATION_NOT_SUPPORTED = -58,
            GRN_ADDRESS_IS_IN_USE = -59,
            GRN_ZLIB_ERROR = -60,
            GRN_LZ4_ERROR = -61,
            GRN_STACK_OVER_FLOW = -62,
            GRN_SYNTAX_ERROR = -63,
            GRN_RETRY_MAX = -64,
            GRN_INCOMPATIBLE_FILE_FORMAT = -65,
            GRN_UPDATE_NOT_ALLOWED = -66,
            GRN_TOO_SMALL_OFFSET = -67,
            GRN_TOO_LARGE_OFFSET = -68,
            GRN_TOO_SMALL_LIMIT = -69,
            GRN_CAS_ERROR = -70,
            GRN_UNSUPPORTED_COMMAND_VERSION = -71,
            GRN_NORMALIZER_ERROR = -72
        } grn_rc; -}
type C'grn_rc = CInt

{-# LINE 90 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SUCCESS = 0
c'GRN_SUCCESS :: (Num a) => a

{-# LINE 91 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_END_OF_DATA = 1
c'GRN_END_OF_DATA :: (Num a) => a

{-# LINE 92 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_UNKNOWN_ERROR = -1
c'GRN_UNKNOWN_ERROR :: (Num a) => a

{-# LINE 93 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OPERATION_NOT_PERMITTED = -2
c'GRN_OPERATION_NOT_PERMITTED :: (Num a) => a

{-# LINE 94 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_SUCH_FILE_OR_DIRECTORY = -3
c'GRN_NO_SUCH_FILE_OR_DIRECTORY :: (Num a) => a

{-# LINE 95 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_SUCH_PROCESS = -4
c'GRN_NO_SUCH_PROCESS :: (Num a) => a

{-# LINE 96 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INTERRUPTED_FUNCTION_CALL = -5
c'GRN_INTERRUPTED_FUNCTION_CALL :: (Num a) => a

{-# LINE 97 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INPUT_OUTPUT_ERROR = -6
c'GRN_INPUT_OUTPUT_ERROR :: (Num a) => a

{-# LINE 98 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_SUCH_DEVICE_OR_ADDRESS = -7
c'GRN_NO_SUCH_DEVICE_OR_ADDRESS :: (Num a) => a

{-# LINE 99 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ARG_LIST_TOO_LONG = -8
c'GRN_ARG_LIST_TOO_LONG :: (Num a) => a

{-# LINE 100 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_EXEC_FORMAT_ERROR = -9
c'GRN_EXEC_FORMAT_ERROR :: (Num a) => a

{-# LINE 101 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_BAD_FILE_DESCRIPTOR = -10
c'GRN_BAD_FILE_DESCRIPTOR :: (Num a) => a

{-# LINE 102 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_CHILD_PROCESSES = -11
c'GRN_NO_CHILD_PROCESSES :: (Num a) => a

{-# LINE 103 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RESOURCE_TEMPORARILY_UNAVAILABLE = -12
c'GRN_RESOURCE_TEMPORARILY_UNAVAILABLE :: (Num a) => a

{-# LINE 104 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NOT_ENOUGH_SPACE = -13
c'GRN_NOT_ENOUGH_SPACE :: (Num a) => a

{-# LINE 105 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PERMISSION_DENIED = -14
c'GRN_PERMISSION_DENIED :: (Num a) => a

{-# LINE 106 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_BAD_ADDRESS = -15
c'GRN_BAD_ADDRESS :: (Num a) => a

{-# LINE 107 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RESOURCE_BUSY = -16
c'GRN_RESOURCE_BUSY :: (Num a) => a

{-# LINE 108 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_FILE_EXISTS = -17
c'GRN_FILE_EXISTS :: (Num a) => a

{-# LINE 109 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_IMPROPER_LINK = -18
c'GRN_IMPROPER_LINK :: (Num a) => a

{-# LINE 110 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_SUCH_DEVICE = -19
c'GRN_NO_SUCH_DEVICE :: (Num a) => a

{-# LINE 111 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NOT_A_DIRECTORY = -20
c'GRN_NOT_A_DIRECTORY :: (Num a) => a

{-# LINE 112 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_IS_A_DIRECTORY = -21
c'GRN_IS_A_DIRECTORY :: (Num a) => a

{-# LINE 113 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INVALID_ARGUMENT = -22
c'GRN_INVALID_ARGUMENT :: (Num a) => a

{-# LINE 114 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM = -23
c'GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM :: (Num a) => a

{-# LINE 115 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_MANY_OPEN_FILES = -24
c'GRN_TOO_MANY_OPEN_FILES :: (Num a) => a

{-# LINE 116 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION = -25
c'GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION :: (Num a) => a

{-# LINE 117 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_FILE_TOO_LARGE = -26
c'GRN_FILE_TOO_LARGE :: (Num a) => a

{-# LINE 118 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_SPACE_LEFT_ON_DEVICE = -27
c'GRN_NO_SPACE_LEFT_ON_DEVICE :: (Num a) => a

{-# LINE 119 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INVALID_SEEK = -28
c'GRN_INVALID_SEEK :: (Num a) => a

{-# LINE 120 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_READ_ONLY_FILE_SYSTEM = -29
c'GRN_READ_ONLY_FILE_SYSTEM :: (Num a) => a

{-# LINE 121 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_MANY_LINKS = -30
c'GRN_TOO_MANY_LINKS :: (Num a) => a

{-# LINE 122 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_BROKEN_PIPE = -31
c'GRN_BROKEN_PIPE :: (Num a) => a

{-# LINE 123 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DOMAIN_ERROR = -32
c'GRN_DOMAIN_ERROR :: (Num a) => a

{-# LINE 124 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RESULT_TOO_LARGE = -33
c'GRN_RESULT_TOO_LARGE :: (Num a) => a

{-# LINE 125 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RESOURCE_DEADLOCK_AVOIDED = -34
c'GRN_RESOURCE_DEADLOCK_AVOIDED :: (Num a) => a

{-# LINE 126 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_MEMORY_AVAILABLE = -35
c'GRN_NO_MEMORY_AVAILABLE :: (Num a) => a

{-# LINE 127 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_FILENAME_TOO_LONG = -36
c'GRN_FILENAME_TOO_LONG :: (Num a) => a

{-# LINE 128 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_LOCKS_AVAILABLE = -37
c'GRN_NO_LOCKS_AVAILABLE :: (Num a) => a

{-# LINE 129 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_FUNCTION_NOT_IMPLEMENTED = -38
c'GRN_FUNCTION_NOT_IMPLEMENTED :: (Num a) => a

{-# LINE 130 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DIRECTORY_NOT_EMPTY = -39
c'GRN_DIRECTORY_NOT_EMPTY :: (Num a) => a

{-# LINE 131 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ILLEGAL_BYTE_SEQUENCE = -40
c'GRN_ILLEGAL_BYTE_SEQUENCE :: (Num a) => a

{-# LINE 132 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SOCKET_NOT_INITIALIZED = -41
c'GRN_SOCKET_NOT_INITIALIZED :: (Num a) => a

{-# LINE 133 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OPERATION_WOULD_BLOCK = -42
c'GRN_OPERATION_WOULD_BLOCK :: (Num a) => a

{-# LINE 134 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ADDRESS_IS_NOT_AVAILABLE = -43
c'GRN_ADDRESS_IS_NOT_AVAILABLE :: (Num a) => a

{-# LINE 135 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NETWORK_IS_DOWN = -44
c'GRN_NETWORK_IS_DOWN :: (Num a) => a

{-# LINE 136 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NO_BUFFER = -45
c'GRN_NO_BUFFER :: (Num a) => a

{-# LINE 137 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SOCKET_IS_ALREADY_CONNECTED = -46
c'GRN_SOCKET_IS_ALREADY_CONNECTED :: (Num a) => a

{-# LINE 138 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SOCKET_IS_NOT_CONNECTED = -47
c'GRN_SOCKET_IS_NOT_CONNECTED :: (Num a) => a

{-# LINE 139 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SOCKET_IS_ALREADY_SHUTDOWNED = -48
c'GRN_SOCKET_IS_ALREADY_SHUTDOWNED :: (Num a) => a

{-# LINE 140 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OPERATION_TIMEOUT = -49
c'GRN_OPERATION_TIMEOUT :: (Num a) => a

{-# LINE 141 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONNECTION_REFUSED = -50
c'GRN_CONNECTION_REFUSED :: (Num a) => a

{-# LINE 142 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RANGE_ERROR = -51
c'GRN_RANGE_ERROR :: (Num a) => a

{-# LINE 143 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOKENIZER_ERROR = -52
c'GRN_TOKENIZER_ERROR :: (Num a) => a

{-# LINE 144 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_FILE_CORRUPT = -53
c'GRN_FILE_CORRUPT :: (Num a) => a

{-# LINE 145 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INVALID_FORMAT = -54
c'GRN_INVALID_FORMAT :: (Num a) => a

{-# LINE 146 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJECT_CORRUPT = -55
c'GRN_OBJECT_CORRUPT :: (Num a) => a

{-# LINE 147 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_MANY_SYMBOLIC_LINKS = -56
c'GRN_TOO_MANY_SYMBOLIC_LINKS :: (Num a) => a

{-# LINE 148 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NOT_SOCKET = -57
c'GRN_NOT_SOCKET :: (Num a) => a

{-# LINE 149 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OPERATION_NOT_SUPPORTED = -58
c'GRN_OPERATION_NOT_SUPPORTED :: (Num a) => a

{-# LINE 150 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ADDRESS_IS_IN_USE = -59
c'GRN_ADDRESS_IS_IN_USE :: (Num a) => a

{-# LINE 151 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ZLIB_ERROR = -60
c'GRN_ZLIB_ERROR :: (Num a) => a

{-# LINE 152 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LZ4_ERROR = -61
c'GRN_LZ4_ERROR :: (Num a) => a

{-# LINE 153 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_STACK_OVER_FLOW = -62
c'GRN_STACK_OVER_FLOW :: (Num a) => a

{-# LINE 154 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SYNTAX_ERROR = -63
c'GRN_SYNTAX_ERROR :: (Num a) => a

{-# LINE 155 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_RETRY_MAX = -64
c'GRN_RETRY_MAX :: (Num a) => a

{-# LINE 156 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INCOMPATIBLE_FILE_FORMAT = -65
c'GRN_INCOMPATIBLE_FILE_FORMAT :: (Num a) => a

{-# LINE 157 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_UPDATE_NOT_ALLOWED = -66
c'GRN_UPDATE_NOT_ALLOWED :: (Num a) => a

{-# LINE 158 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_SMALL_OFFSET = -67
c'GRN_TOO_SMALL_OFFSET :: (Num a) => a

{-# LINE 159 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_LARGE_OFFSET = -68
c'GRN_TOO_LARGE_OFFSET :: (Num a) => a

{-# LINE 160 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOO_SMALL_LIMIT = -69
c'GRN_TOO_SMALL_LIMIT :: (Num a) => a

{-# LINE 161 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CAS_ERROR = -70
c'GRN_CAS_ERROR :: (Num a) => a

{-# LINE 162 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_UNSUPPORTED_COMMAND_VERSION = -71
c'GRN_UNSUPPORTED_COMMAND_VERSION :: (Num a) => a

{-# LINE 163 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_NORMALIZER_ERROR = -72
c'GRN_NORMALIZER_ERROR :: (Num a) => a

{-# LINE 164 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TOKEN_FILTER_ERROR = -73
c'GRN_TOKEN_FILTER_ERROR :: (Num a) => a

{-# LINE 165 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 166 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 167 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_ENC_DEFAULT = 0,
            GRN_ENC_NONE,
            GRN_ENC_EUC_JP,
            GRN_ENC_UTF8,
            GRN_ENC_SJIS,
            GRN_ENC_LATIN1,
            GRN_ENC_KOI8R
        } grn_encoding; -}
type C'grn_encoding = CUInt

{-# LINE 177 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_DEFAULT = 0
c'GRN_ENC_DEFAULT :: (Num a) => a

{-# LINE 178 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_NONE = 1
c'GRN_ENC_NONE :: (Num a) => a

{-# LINE 179 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_EUC_JP = 2
c'GRN_ENC_EUC_JP :: (Num a) => a

{-# LINE 180 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_UTF8 = 3
c'GRN_ENC_UTF8 :: (Num a) => a

{-# LINE 181 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_SJIS = 4
c'GRN_ENC_SJIS :: (Num a) => a

{-# LINE 182 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_LATIN1 = 5
c'GRN_ENC_LATIN1 :: (Num a) => a

{-# LINE 183 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ENC_KOI8R = 6
c'GRN_ENC_KOI8R :: (Num a) => a

{-# LINE 184 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_COMMAND_VERSION_DEFAULT = 0,
            GRN_COMMAND_VERSION_1,
            GRN_COMMAND_VERSION_2
        } grn_command_version; -}
type C'grn_command_version = CUInt

{-# LINE 190 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COMMAND_VERSION_DEFAULT = 0
c'GRN_COMMAND_VERSION_DEFAULT :: (Num a) => a

{-# LINE 191 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COMMAND_VERSION_1 = 1
c'GRN_COMMAND_VERSION_1 :: (Num a) => a

{-# LINE 192 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COMMAND_VERSION_2 = 2
c'GRN_COMMAND_VERSION_2 :: (Num a) => a

{-# LINE 193 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_LOG_NONE = 0,
            GRN_LOG_EMERG,
            GRN_LOG_ALERT,
            GRN_LOG_CRIT,
            GRN_LOG_ERROR,
            GRN_LOG_WARNING,
            GRN_LOG_NOTICE,
            GRN_LOG_INFO,
            GRN_LOG_DEBUG,
            GRN_LOG_DUMP
        } grn_log_level; -}
type C'grn_log_level = CUInt

{-# LINE 206 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_NONE = 0
c'GRN_LOG_NONE :: (Num a) => a

{-# LINE 207 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_EMERG = 1
c'GRN_LOG_EMERG :: (Num a) => a

{-# LINE 208 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_ALERT = 2
c'GRN_LOG_ALERT :: (Num a) => a

{-# LINE 209 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_CRIT = 3
c'GRN_LOG_CRIT :: (Num a) => a

{-# LINE 210 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_ERROR = 4
c'GRN_LOG_ERROR :: (Num a) => a

{-# LINE 211 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_WARNING = 5
c'GRN_LOG_WARNING :: (Num a) => a

{-# LINE 212 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_NOTICE = 6
c'GRN_LOG_NOTICE :: (Num a) => a

{-# LINE 213 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_INFO = 7
c'GRN_LOG_INFO :: (Num a) => a

{-# LINE 214 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_DEBUG = 8
c'GRN_LOG_DEBUG :: (Num a) => a

{-# LINE 215 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_LOG_DUMP = 9
c'GRN_LOG_DUMP :: (Num a) => a

{-# LINE 216 "Bindings/Groonga/Raw.hsc" #-}
{- log flags -}
c'GRN_QUERY_LOG_NONE = 0
c'GRN_QUERY_LOG_NONE :: (Num a) => a

{-# LINE 218 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_COMMAND = 1
c'GRN_QUERY_LOG_COMMAND :: (Num a) => a

{-# LINE 219 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_RESULT_CODE = 2
c'GRN_QUERY_LOG_RESULT_CODE :: (Num a) => a

{-# LINE 220 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_DESTINATION = 4
c'GRN_QUERY_LOG_DESTINATION :: (Num a) => a

{-# LINE 221 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_CACHE = 8
c'GRN_QUERY_LOG_CACHE :: (Num a) => a

{-# LINE 222 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_SIZE = 16
c'GRN_QUERY_LOG_SIZE :: (Num a) => a

{-# LINE 223 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_SCORE = 32
c'GRN_QUERY_LOG_SCORE :: (Num a) => a

{-# LINE 224 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_ALL = 63
c'GRN_QUERY_LOG_ALL :: (Num a) => a

{-# LINE 225 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY_LOG_DEFAULT = 63
c'GRN_QUERY_LOG_DEFAULT :: (Num a) => a

{-# LINE 226 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_CONTENT_NONE = 0,
            GRN_CONTENT_TSV,
            GRN_CONTENT_JSON,
            GRN_CONTENT_XML,
            GRN_CONTENT_MSGPACK
        } grn_content_type; -}
type C'grn_content_type = CUInt

{-# LINE 234 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONTENT_NONE = 0
c'GRN_CONTENT_NONE :: (Num a) => a

{-# LINE 235 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONTENT_TSV = 1
c'GRN_CONTENT_TSV :: (Num a) => a

{-# LINE 236 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONTENT_JSON = 2
c'GRN_CONTENT_JSON :: (Num a) => a

{-# LINE 237 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONTENT_XML = 3
c'GRN_CONTENT_XML :: (Num a) => a

{-# LINE 238 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CONTENT_MSGPACK = 4
c'GRN_CONTENT_MSGPACK :: (Num a) => a

{-# LINE 239 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_obj grn_obj; -}
-- #opaque_t _grn_obj
-- #synonym_t grn_obj , <_grn_obj>
{- typedef struct _grn_ctx grn_ctx; -}
-- #opaque_t _grn_ctx
-- #synonym_t grn_ctx , <_grn_ctx>
c'GRN_CTX_MSGSIZE = 128
c'GRN_CTX_MSGSIZE :: (Num a) => a

{-# LINE 246 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CTX_FIN = 255
c'GRN_CTX_FIN :: (Num a) => a

{-# LINE 247 "Bindings/Groonga/Raw.hsc" #-}
{- typedef union {
            int int_value; grn_id id; void * ptr;
        } grn_user_data; -}

{-# LINE 251 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 252 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 253 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 254 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 255 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 256 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_ctx {
    grn_rc rc;
    int flags;
    grn_encoding encoding;
    unsigned char ntrace;
    unsigned char errlvl;
    unsigned char stat;
    unsigned int seqno;
    unsigned int subno;
    unsigned int seqno2;
    unsigned int errline;
    grn_user_data user_data;
    grn_ctx * prev;
    grn_ctx * next;
    const char * errfile;
    const char * errfunc;
    struct _grn_ctx_impl * impl;
    void * trace[16];
    char errbuf[0x80];
}; -}
data C'_grn_ctx_impl = C'_grn_ctx_impl

{-# LINE 277 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 278 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 279 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 280 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 281 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 282 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 283 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 284 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 285 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 286 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 287 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 288 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 289 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 290 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 291 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 292 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 293 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 294 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 295 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 296 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 297 "Bindings/Groonga/Raw.hsc" #-}
-- deprecated
c'GRN_CTX_USE_QL = 3
c'GRN_CTX_USE_QL :: (Num a) => a

{-# LINE 299 "Bindings/Groonga/Raw.hsc" #-}
-- deprecated
c'GRN_CTX_BATCH_MODE = 4
c'GRN_CTX_BATCH_MODE :: (Num a) => a

{-# LINE 301 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CTX_PER_DB = 8
c'GRN_CTX_PER_DB :: (Num a) => a

{-# LINE 302 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 303 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 304 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 305 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 306 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 307 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 308 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 309 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 310 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 311 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 312 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 313 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 314 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 315 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 316 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 317 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 318 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 319 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 320 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 321 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_cache grn_cache; -}
data C'_grn_cache = C'_grn_cache

{-# LINE 323 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_cache = C'_grn_cache

{-# LINE 324 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 325 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 326 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 327 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 328 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 329 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 330 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 331 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 332 "Bindings/Groonga/Raw.hsc" #-}
{- typedef unsigned short int grn_obj_flags; -}
type C'grn_obj_flags = CUShort

{-# LINE 334 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_section grn_section; -}
-- #opaque_t _grn_section
-- #synonym_t grn_section , <_grn_section>
{- typedef struct _grn_obj_header grn_obj_header; -}
-- #opaque_t _grn_obj_header
-- #synonym_t grn_obj_header , <_grn_obj_header>
{- struct _grn_section {
    unsigned int offset;
    unsigned int length;
    unsigned int weight;
    grn_id domain;
}; -}
{- obj macros -}
c'GRN_OBJ_TABLE_TYPE_MASK = 7
c'GRN_OBJ_TABLE_TYPE_MASK :: (Num a) => a

{-# LINE 348 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_TABLE_HASH_KEY = 0
c'GRN_OBJ_TABLE_HASH_KEY :: (Num a) => a

{-# LINE 349 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_TABLE_PAT_KEY = 1
c'GRN_OBJ_TABLE_PAT_KEY :: (Num a) => a

{-# LINE 350 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_TABLE_DAT_KEY = 2
c'GRN_OBJ_TABLE_DAT_KEY :: (Num a) => a

{-# LINE 351 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_TABLE_NO_KEY = 3
c'GRN_OBJ_TABLE_NO_KEY :: (Num a) => a

{-# LINE 352 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_KEY_MASK = 56
c'GRN_OBJ_KEY_MASK :: (Num a) => a

{-# LINE 354 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_KEY_UINT = 0
c'GRN_OBJ_KEY_UINT :: (Num a) => a

{-# LINE 355 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_KEY_INT = 8
c'GRN_OBJ_KEY_INT :: (Num a) => a

{-# LINE 356 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_KEY_FLOAT = 16
c'GRN_OBJ_KEY_FLOAT :: (Num a) => a

{-# LINE 357 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_KEY_GEO_POINT = 24
c'GRN_OBJ_KEY_GEO_POINT :: (Num a) => a

{-# LINE 358 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_KEY_WITH_SIS = 64
c'GRN_OBJ_KEY_WITH_SIS :: (Num a) => a

{-# LINE 360 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_KEY_NORMALIZE = 128
c'GRN_OBJ_KEY_NORMALIZE :: (Num a) => a

{-# LINE 361 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_COLUMN_TYPE_MASK = 7
c'GRN_OBJ_COLUMN_TYPE_MASK :: (Num a) => a

{-# LINE 363 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COLUMN_SCALAR = 0
c'GRN_OBJ_COLUMN_SCALAR :: (Num a) => a

{-# LINE 364 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COLUMN_VECTOR = 1
c'GRN_OBJ_COLUMN_VECTOR :: (Num a) => a

{-# LINE 365 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COLUMN_INDEX = 2
c'GRN_OBJ_COLUMN_INDEX :: (Num a) => a

{-# LINE 366 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_COMPRESS_MASK = 112
c'GRN_OBJ_COMPRESS_MASK :: (Num a) => a

{-# LINE 368 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COMPRESS_NONE = 0
c'GRN_OBJ_COMPRESS_NONE :: (Num a) => a

{-# LINE 369 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COMPRESS_ZLIB = 16
c'GRN_OBJ_COMPRESS_ZLIB :: (Num a) => a

{-# LINE 370 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_COMPRESS_LZ4 = 32
c'GRN_OBJ_COMPRESS_LZ4 :: (Num a) => a

{-# LINE 371 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_WITH_SECTION = 128
c'GRN_OBJ_WITH_SECTION :: (Num a) => a

{-# LINE 373 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_WITH_WEIGHT = 256
c'GRN_OBJ_WITH_WEIGHT :: (Num a) => a

{-# LINE 374 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_WITH_POSITION = 512
c'GRN_OBJ_WITH_POSITION :: (Num a) => a

{-# LINE 375 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_RING_BUFFER = 1024
c'GRN_OBJ_RING_BUFFER :: (Num a) => a

{-# LINE 376 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_UNIT_MASK = 3840
c'GRN_OBJ_UNIT_MASK :: (Num a) => a

{-# LINE 378 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_DOCUMENT_NONE = 0
c'GRN_OBJ_UNIT_DOCUMENT_NONE :: (Num a) => a

{-# LINE 379 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_DOCUMENT_SECTION = 256
c'GRN_OBJ_UNIT_DOCUMENT_SECTION :: (Num a) => a

{-# LINE 380 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_DOCUMENT_POSITION = 512
c'GRN_OBJ_UNIT_DOCUMENT_POSITION :: (Num a) => a

{-# LINE 381 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_SECTION_NONE = 768
c'GRN_OBJ_UNIT_SECTION_NONE :: (Num a) => a

{-# LINE 382 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_SECTION_POSITION = 1024
c'GRN_OBJ_UNIT_SECTION_POSITION :: (Num a) => a

{-# LINE 383 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_POSITION_NONE = 1280
c'GRN_OBJ_UNIT_POSITION_NONE :: (Num a) => a

{-# LINE 384 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_USERDEF_DOCUMENT = 1536
c'GRN_OBJ_UNIT_USERDEF_DOCUMENT :: (Num a) => a

{-# LINE 385 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_USERDEF_SECTION = 1792
c'GRN_OBJ_UNIT_USERDEF_SECTION :: (Num a) => a

{-# LINE 386 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_UNIT_USERDEF_POSITION = 2048
c'GRN_OBJ_UNIT_USERDEF_POSITION :: (Num a) => a

{-# LINE 387 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_NO_SUBREC = 0
c'GRN_OBJ_NO_SUBREC :: (Num a) => a

{-# LINE 389 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_WITH_SUBREC = 8192
c'GRN_OBJ_WITH_SUBREC :: (Num a) => a

{-# LINE 390 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_KEY_VAR_SIZE = 16384
c'GRN_OBJ_KEY_VAR_SIZE :: (Num a) => a

{-# LINE 392 "Bindings/Groonga/Raw.hsc" #-}

c'GRN_OBJ_TEMPORARY = 0
c'GRN_OBJ_TEMPORARY :: (Num a) => a

{-# LINE 394 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OBJ_PERSISTENT = 32768
c'GRN_OBJ_PERSISTENT :: (Num a) => a

{-# LINE 395 "Bindings/Groonga/Raw.hsc" #-}

{- obj types -}

c'GRN_VOID = 0
c'GRN_VOID :: (Num a) => a

{-# LINE 399 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_BULK = 2
c'GRN_BULK :: (Num a) => a

{-# LINE 400 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PTR = 3
c'GRN_PTR :: (Num a) => a

{-# LINE 401 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_UVECTOR = 4
c'GRN_UVECTOR :: (Num a) => a

{-# LINE 402 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PVECTOR = 5
c'GRN_PVECTOR :: (Num a) => a

{-# LINE 403 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_VECTOR = 6
c'GRN_VECTOR :: (Num a) => a

{-# LINE 404 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_MSG = 7
c'GRN_MSG :: (Num a) => a

{-# LINE 405 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_QUERY = 8
c'GRN_QUERY :: (Num a) => a

{-# LINE 406 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_ACCESSOR = 9
c'GRN_ACCESSOR :: (Num a) => a

{-# LINE 407 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_SNIP = 11
c'GRN_SNIP :: (Num a) => a

{-# LINE 408 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PATSNIP = 12
c'GRN_PATSNIP :: (Num a) => a

{-# LINE 409 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_STRING = 13
c'GRN_STRING :: (Num a) => a

{-# LINE 410 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_TABLE_HASH_KEY = 16
c'GRN_CURSOR_TABLE_HASH_KEY :: (Num a) => a

{-# LINE 411 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_TABLE_PAT_KEY = 17
c'GRN_CURSOR_TABLE_PAT_KEY :: (Num a) => a

{-# LINE 412 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_TABLE_DAT_KEY = 18
c'GRN_CURSOR_TABLE_DAT_KEY :: (Num a) => a

{-# LINE 413 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_TABLE_NO_KEY = 19
c'GRN_CURSOR_TABLE_NO_KEY :: (Num a) => a

{-# LINE 414 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_COLUMN_INDEX = 24
c'GRN_CURSOR_COLUMN_INDEX :: (Num a) => a

{-# LINE 415 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_COLUMN_GEO_INDEX = 26
c'GRN_CURSOR_COLUMN_GEO_INDEX :: (Num a) => a

{-# LINE 416 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TYPE = 32
c'GRN_TYPE :: (Num a) => a

{-# LINE 417 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC = 33
c'GRN_PROC :: (Num a) => a

{-# LINE 418 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_EXPR = 34
c'GRN_EXPR :: (Num a) => a

{-# LINE 419 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TABLE_HASH_KEY = 48
c'GRN_TABLE_HASH_KEY :: (Num a) => a

{-# LINE 420 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TABLE_PAT_KEY = 49
c'GRN_TABLE_PAT_KEY :: (Num a) => a

{-# LINE 421 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TABLE_DAT_KEY = 50
c'GRN_TABLE_DAT_KEY :: (Num a) => a

{-# LINE 422 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_TABLE_NO_KEY = 51
c'GRN_TABLE_NO_KEY :: (Num a) => a

{-# LINE 423 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB = 55
c'GRN_DB :: (Num a) => a

{-# LINE 424 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COLUMN_FIX_SIZE = 64
c'GRN_COLUMN_FIX_SIZE :: (Num a) => a

{-# LINE 425 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COLUMN_VAR_SIZE = 65
c'GRN_COLUMN_VAR_SIZE :: (Num a) => a

{-# LINE 426 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_COLUMN_INDEX = 72
c'GRN_COLUMN_INDEX :: (Num a) => a

{-# LINE 427 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 428 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 429 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 430 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 431 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 432 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 433 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_obj_header {
    unsigned char type;
    unsigned char impl_flags;
    grn_obj_flags flags;
    grn_id domain;
}; -}

{-# LINE 440 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 441 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 442 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 443 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 444 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 445 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_obj {
    grn_obj_header header;
    union {
        struct {
            char * head; char * curr; char * tail;
        } b;
        struct {
            grn_obj * body; grn_section * sections; int n_sections;
        } v;
    } u;
}; -}
{- FIXME?: perhaps, /struct _grn_obj/'s field don't need to reach. -}

{-# LINE 458 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 459 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_db_create_optarg grn_db_create_optarg; -}
{- typedef struct _grn_db_create_optarg grn_db_create_optarg; -}
-- #opaque_t _grn_db_create_optarg
-- #synonym_t grn_db_create_optarg , <_grn_db_create_optarg>
{- struct _grn_db_create_optarg {
    char ** builtin_type_names; int n_builtin_type_names;
}; -}

{-# LINE 467 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 468 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 469 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 470 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 471 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 472 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 473 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 474 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 475 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 476 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_DB_VOID = 0,
            GRN_DB_DB,
            GRN_DB_OBJECT,
            GRN_DB_BOOL,
            GRN_DB_INT8,
            GRN_DB_UINT8,
            GRN_DB_INT16,
            GRN_DB_UINT16,
            GRN_DB_INT32,
            GRN_DB_UINT32,
            GRN_DB_INT64,
            GRN_DB_UINT64,
            GRN_DB_FLOAT,
            GRN_DB_TIME,
            GRN_DB_SHORT_TEXT,
            GRN_DB_TEXT,
            GRN_DB_LONG_TEXT,
            GRN_DB_TOKYO_GEO_POINT,
            GRN_DB_WGS84_GEO_POINT
        } grn_builtin_type; -}
type C'grn_builtin_type = CUInt

{-# LINE 498 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_VOID = 0
c'GRN_DB_VOID :: (Num a) => a

{-# LINE 499 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_DB = 1
c'GRN_DB_DB :: (Num a) => a

{-# LINE 500 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_OBJECT = 2
c'GRN_DB_OBJECT :: (Num a) => a

{-# LINE 501 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_BOOL = 3
c'GRN_DB_BOOL :: (Num a) => a

{-# LINE 502 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_INT8 = 4
c'GRN_DB_INT8 :: (Num a) => a

{-# LINE 503 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_UINT8 = 5
c'GRN_DB_UINT8 :: (Num a) => a

{-# LINE 504 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_INT16 = 6
c'GRN_DB_INT16 :: (Num a) => a

{-# LINE 505 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_UINT16 = 7
c'GRN_DB_UINT16 :: (Num a) => a

{-# LINE 506 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_INT32 = 8
c'GRN_DB_INT32 :: (Num a) => a

{-# LINE 507 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_UINT32 = 9
c'GRN_DB_UINT32 :: (Num a) => a

{-# LINE 508 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_INT64 = 10
c'GRN_DB_INT64 :: (Num a) => a

{-# LINE 509 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_UINT64 = 11
c'GRN_DB_UINT64 :: (Num a) => a

{-# LINE 510 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_FLOAT = 12
c'GRN_DB_FLOAT :: (Num a) => a

{-# LINE 511 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_TIME = 13
c'GRN_DB_TIME :: (Num a) => a

{-# LINE 512 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_SHORT_TEXT = 14
c'GRN_DB_SHORT_TEXT :: (Num a) => a

{-# LINE 513 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_TEXT = 15
c'GRN_DB_TEXT :: (Num a) => a

{-# LINE 514 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_LONG_TEXT = 16
c'GRN_DB_LONG_TEXT :: (Num a) => a

{-# LINE 515 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_TOKYO_GEO_POINT = 17
c'GRN_DB_TOKYO_GEO_POINT :: (Num a) => a

{-# LINE 516 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_WGS84_GEO_POINT = 18
c'GRN_DB_WGS84_GEO_POINT :: (Num a) => a

{-# LINE 517 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_DB_MECAB = 64,
            GRN_DB_DELIMIT,
            GRN_DB_UNIGRAM,
            GRN_DB_BIGRAM,
            GRN_DB_TRIGRAM
        } grn_builtin_tokenizer; -}
type C'grn_builtin_tokenizer = CUInt

{-# LINE 525 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_MECAB = 64
c'GRN_DB_MECAB :: (Num a) => a

{-# LINE 526 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_DELIMIT = 65
c'GRN_DB_DELIMIT :: (Num a) => a

{-# LINE 527 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_UNIGRAM = 66
c'GRN_DB_UNIGRAM :: (Num a) => a

{-# LINE 528 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_BIGRAM = 67
c'GRN_DB_BIGRAM :: (Num a) => a

{-# LINE 529 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_DB_TRIGRAM = 68
c'GRN_DB_TRIGRAM :: (Num a) => a

{-# LINE 530 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 531 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 532 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 533 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 534 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 535 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 536 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct {
            const char * name; unsigned int name_size; grn_obj value;
        } grn_expr_var; -}

{-# LINE 540 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 541 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 542 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 543 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 544 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 545 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            RN_PROC_INVALID = 0,
            GRN_PROC_TOKENIZER,
            GRN_PROC_COMMAND,
            GRN_PROC_FUNCTION,
            GRN_PROC_HOOK,
            GRN_PROC_NORMALIZER
        } grn_proc_type; -}
type C'grn_proc_type = CUInt

{-# LINE 554 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC_TOKENIZER = 1
c'GRN_PROC_TOKENIZER :: (Num a) => a

{-# LINE 555 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC_COMMAND = 2
c'GRN_PROC_COMMAND :: (Num a) => a

{-# LINE 556 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC_FUNCTION = 3
c'GRN_PROC_FUNCTION :: (Num a) => a

{-# LINE 557 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC_HOOK = 4
c'GRN_PROC_HOOK :: (Num a) => a

{-# LINE 558 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_PROC_NORMALIZER = 5
c'GRN_PROC_NORMALIZER :: (Num a) => a

{-# LINE 559 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 560 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 561 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 562 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 563 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 564 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 565 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 566 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 567 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 568 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 569 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 570 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 571 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 572 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 573 "Bindings/Groonga/Raw.hsc" #-}
{- typedef grn_obj grn_table_cursor; -}
type C'grn_table_cursor = C'_grn_obj

{-# LINE 575 "Bindings/Groonga/Raw.hsc" #-}
{- grn cursor -}
c'GRN_CURSOR_ASCENDING = 0
c'GRN_CURSOR_ASCENDING :: (Num a) => a

{-# LINE 577 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_DESCENDING = 1
c'GRN_CURSOR_DESCENDING :: (Num a) => a

{-# LINE 578 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_GE = 0
c'GRN_CURSOR_GE :: (Num a) => a

{-# LINE 579 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_GT = 2
c'GRN_CURSOR_GT :: (Num a) => a

{-# LINE 580 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_LE = 0
c'GRN_CURSOR_LE :: (Num a) => a

{-# LINE 581 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_LT = 4
c'GRN_CURSOR_LT :: (Num a) => a

{-# LINE 582 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_BY_KEY = 0
c'GRN_CURSOR_BY_KEY :: (Num a) => a

{-# LINE 583 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_BY_ID = 8
c'GRN_CURSOR_BY_ID :: (Num a) => a

{-# LINE 584 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_PREFIX = 16
c'GRN_CURSOR_PREFIX :: (Num a) => a

{-# LINE 585 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_SIZE_BY_BIT = 32
c'GRN_CURSOR_SIZE_BY_BIT :: (Num a) => a

{-# LINE 586 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CURSOR_RK = 64
c'GRN_CURSOR_RK :: (Num a) => a

{-# LINE 587 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 588 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 589 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 590 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 591 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 592 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 593 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 594 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 595 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct {
            grn_id rid;
            grn_id sid;
            unsigned int pos;
            unsigned int tf;
            unsigned int weight;
            unsigned int rest;
        } grn_posting; -}

{-# LINE 604 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 605 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 606 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 607 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 608 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 609 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 610 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 611 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 612 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 613 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_table_sort_key grn_table_sort_key; -}
-- #opaque_t _grn_table_sort_key
-- #synonym_t grn_table_sort_key , <_grn_table_sort_key>
{- typedef unsigned char grn_table_sort_flags; -}
type C'grn_table_sort_flags = CUChar

{-# LINE 618 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_table_sort_key {
    grn_obj * key; grn_table_sort_flags flags; int offset;
}; -}

{-# LINE 622 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 623 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 624 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 625 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 626 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 627 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_table_group_result grn_table_group_result; -}
-- #opaque_t _grn_table_group_result
-- #synonym_t grn_table_group_result , <_grn_table_group_result>
{- typedef unsigned int grn_table_group_flags; -}
type C'grn_table_group_flags = CUInt

{-# LINE 632 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_OP_PUSH = 0,
            GRN_OP_POP,
            GRN_OP_NOP,
            GRN_OP_CALL,
            GRN_OP_INTERN,
            GRN_OP_GET_REF,
            GRN_OP_GET_VALUE,
            GRN_OP_AND,
            GRN_OP_AND_NOT,
            GRN_OP_OR,
            GRN_OP_ASSIGN,
            GRN_OP_STAR_ASSIGN,
            GRN_OP_SLASH_ASSIGN,
            GRN_OP_MOD_ASSIGN,
            GRN_OP_PLUS_ASSIGN,
            GRN_OP_MINUS_ASSIGN,
            GRN_OP_SHIFTL_ASSIGN,
            GRN_OP_SHIFTR_ASSIGN,
            GRN_OP_SHIFTRR_ASSIGN,
            GRN_OP_AND_ASSIGN,
            GRN_OP_XOR_ASSIGN,
            GRN_OP_OR_ASSIGN,
            GRN_OP_JUMP,
            GRN_OP_CJUMP,
            GRN_OP_COMMA,
            GRN_OP_BITWISE_OR,
            GRN_OP_BITWISE_XOR,
            GRN_OP_BITWISE_AND,
            GRN_OP_BITWISE_NOT,
            GRN_OP_EQUAL,
            GRN_OP_NOT_EQUAL,
            GRN_OP_LESS,
            GRN_OP_GREATER,
            GRN_OP_LESS_EQUAL,
            GRN_OP_GREATER_EQUAL,
            GRN_OP_IN,
            GRN_OP_MATCH,
            GRN_OP_NEAR,
            GRN_OP_NEAR2,
            GRN_OP_SIMILAR,
            GRN_OP_TERM_EXTRACT,
            GRN_OP_SHIFTL,
            GRN_OP_SHIFTR,
            GRN_OP_SHIFTRR,
            GRN_OP_PLUS,
            GRN_OP_MINUS,
            GRN_OP_STAR,
            GRN_OP_SLASH,
            GRN_OP_MOD,
            GRN_OP_DELETE,
            GRN_OP_INCR,
            GRN_OP_DECR,
            GRN_OP_INCR_POST,
            GRN_OP_DECR_POST,
            GRN_OP_NOT,
            GRN_OP_ADJUST,
            GRN_OP_EXACT,
            GRN_OP_LCP,
            GRN_OP_PARTIAL,
            GRN_OP_UNSPLIT,
            GRN_OP_PREFIX,
            GRN_OP_SUFFIX,
            GRN_OP_GEO_DISTANCE1,
            GRN_OP_GEO_DISTANCE2,
            GRN_OP_GEO_DISTANCE3,
            GRN_OP_GEO_DISTANCE4,
            GRN_OP_GEO_WITHINP5,
            GRN_OP_GEO_WITHINP6,
            GRN_OP_GEO_WITHINP8,
            GRN_OP_OBJ_SEARCH,
            GRN_OP_EXPR_GET_VAR,
            GRN_OP_TABLE_CREATE,
            GRN_OP_TABLE_SELECT,
            GRN_OP_TABLE_SORT,
            GRN_OP_TABLE_GROUP,
            GRN_OP_JSON_PUT,
            GRN_OP_GET_MEMBER
        } grn_operator; -}
type C'grn_operator = CUInt

{-# LINE 712 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_PUSH = 0
c'GRN_OP_PUSH :: (Num a) => a

{-# LINE 713 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_POP = 1
c'GRN_OP_POP :: (Num a) => a

{-# LINE 714 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_NOP = 2
c'GRN_OP_NOP :: (Num a) => a

{-# LINE 715 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_CALL = 3
c'GRN_OP_CALL :: (Num a) => a

{-# LINE 716 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_INTERN = 4
c'GRN_OP_INTERN :: (Num a) => a

{-# LINE 717 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GET_REF = 5
c'GRN_OP_GET_REF :: (Num a) => a

{-# LINE 718 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GET_VALUE = 6
c'GRN_OP_GET_VALUE :: (Num a) => a

{-# LINE 719 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_AND = 7
c'GRN_OP_AND :: (Num a) => a

{-# LINE 720 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_AND_NOT = 8
c'GRN_OP_AND_NOT :: (Num a) => a

{-# LINE 721 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_OR = 9
c'GRN_OP_OR :: (Num a) => a

{-# LINE 722 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_ASSIGN = 10
c'GRN_OP_ASSIGN :: (Num a) => a

{-# LINE 723 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_STAR_ASSIGN = 11
c'GRN_OP_STAR_ASSIGN :: (Num a) => a

{-# LINE 724 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SLASH_ASSIGN = 12
c'GRN_OP_SLASH_ASSIGN :: (Num a) => a

{-# LINE 725 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_MOD_ASSIGN = 13
c'GRN_OP_MOD_ASSIGN :: (Num a) => a

{-# LINE 726 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_PLUS_ASSIGN = 14
c'GRN_OP_PLUS_ASSIGN :: (Num a) => a

{-# LINE 727 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_MINUS_ASSIGN = 15
c'GRN_OP_MINUS_ASSIGN :: (Num a) => a

{-# LINE 728 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTL_ASSIGN = 16
c'GRN_OP_SHIFTL_ASSIGN :: (Num a) => a

{-# LINE 729 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTR_ASSIGN = 17
c'GRN_OP_SHIFTR_ASSIGN :: (Num a) => a

{-# LINE 730 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTRR_ASSIGN = 18
c'GRN_OP_SHIFTRR_ASSIGN :: (Num a) => a

{-# LINE 731 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_AND_ASSIGN = 19
c'GRN_OP_AND_ASSIGN :: (Num a) => a

{-# LINE 732 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_XOR_ASSIGN = 20
c'GRN_OP_XOR_ASSIGN :: (Num a) => a

{-# LINE 733 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_OR_ASSIGN = 21
c'GRN_OP_OR_ASSIGN :: (Num a) => a

{-# LINE 734 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_JUMP = 22
c'GRN_OP_JUMP :: (Num a) => a

{-# LINE 735 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_CJUMP = 23
c'GRN_OP_CJUMP :: (Num a) => a

{-# LINE 736 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_COMMA = 24
c'GRN_OP_COMMA :: (Num a) => a

{-# LINE 737 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_BITWISE_OR = 25
c'GRN_OP_BITWISE_OR :: (Num a) => a

{-# LINE 738 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_BITWISE_XOR = 26
c'GRN_OP_BITWISE_XOR :: (Num a) => a

{-# LINE 739 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_BITWISE_AND = 27
c'GRN_OP_BITWISE_AND :: (Num a) => a

{-# LINE 740 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_BITWISE_NOT = 28
c'GRN_OP_BITWISE_NOT :: (Num a) => a

{-# LINE 741 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_EQUAL = 29
c'GRN_OP_EQUAL :: (Num a) => a

{-# LINE 742 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_NOT_EQUAL = 30
c'GRN_OP_NOT_EQUAL :: (Num a) => a

{-# LINE 743 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_LESS = 31
c'GRN_OP_LESS :: (Num a) => a

{-# LINE 744 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GREATER = 32
c'GRN_OP_GREATER :: (Num a) => a

{-# LINE 745 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_LESS_EQUAL = 33
c'GRN_OP_LESS_EQUAL :: (Num a) => a

{-# LINE 746 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GREATER_EQUAL = 34
c'GRN_OP_GREATER_EQUAL :: (Num a) => a

{-# LINE 747 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_IN = 35
c'GRN_OP_IN :: (Num a) => a

{-# LINE 748 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_MATCH = 36
c'GRN_OP_MATCH :: (Num a) => a

{-# LINE 749 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_NEAR = 37
c'GRN_OP_NEAR :: (Num a) => a

{-# LINE 750 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_NEAR2 = 38
c'GRN_OP_NEAR2 :: (Num a) => a

{-# LINE 751 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SIMILAR = 39
c'GRN_OP_SIMILAR :: (Num a) => a

{-# LINE 752 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_TERM_EXTRACT = 40
c'GRN_OP_TERM_EXTRACT :: (Num a) => a

{-# LINE 753 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTL = 41
c'GRN_OP_SHIFTL :: (Num a) => a

{-# LINE 754 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTR = 42
c'GRN_OP_SHIFTR :: (Num a) => a

{-# LINE 755 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SHIFTRR = 43
c'GRN_OP_SHIFTRR :: (Num a) => a

{-# LINE 756 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_PLUS = 44
c'GRN_OP_PLUS :: (Num a) => a

{-# LINE 757 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_MINUS = 45
c'GRN_OP_MINUS :: (Num a) => a

{-# LINE 758 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_STAR = 46
c'GRN_OP_STAR :: (Num a) => a

{-# LINE 759 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SLASH = 47
c'GRN_OP_SLASH :: (Num a) => a

{-# LINE 760 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_MOD = 48
c'GRN_OP_MOD :: (Num a) => a

{-# LINE 761 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_DELETE = 49
c'GRN_OP_DELETE :: (Num a) => a

{-# LINE 762 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_INCR = 50
c'GRN_OP_INCR :: (Num a) => a

{-# LINE 763 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_DECR = 51
c'GRN_OP_DECR :: (Num a) => a

{-# LINE 764 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_INCR_POST = 52
c'GRN_OP_INCR_POST :: (Num a) => a

{-# LINE 765 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_DECR_POST = 53
c'GRN_OP_DECR_POST :: (Num a) => a

{-# LINE 766 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_NOT = 54
c'GRN_OP_NOT :: (Num a) => a

{-# LINE 767 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_ADJUST = 55
c'GRN_OP_ADJUST :: (Num a) => a

{-# LINE 768 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_EXACT = 56
c'GRN_OP_EXACT :: (Num a) => a

{-# LINE 769 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_LCP = 57
c'GRN_OP_LCP :: (Num a) => a

{-# LINE 770 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_PARTIAL = 58
c'GRN_OP_PARTIAL :: (Num a) => a

{-# LINE 771 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_UNSPLIT = 59
c'GRN_OP_UNSPLIT :: (Num a) => a

{-# LINE 772 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_PREFIX = 60
c'GRN_OP_PREFIX :: (Num a) => a

{-# LINE 773 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_SUFFIX = 61
c'GRN_OP_SUFFIX :: (Num a) => a

{-# LINE 774 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_DISTANCE1 = 62
c'GRN_OP_GEO_DISTANCE1 :: (Num a) => a

{-# LINE 775 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_DISTANCE2 = 63
c'GRN_OP_GEO_DISTANCE2 :: (Num a) => a

{-# LINE 776 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_DISTANCE3 = 64
c'GRN_OP_GEO_DISTANCE3 :: (Num a) => a

{-# LINE 777 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_DISTANCE4 = 65
c'GRN_OP_GEO_DISTANCE4 :: (Num a) => a

{-# LINE 778 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_WITHINP5 = 66
c'GRN_OP_GEO_WITHINP5 :: (Num a) => a

{-# LINE 779 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_WITHINP6 = 67
c'GRN_OP_GEO_WITHINP6 :: (Num a) => a

{-# LINE 780 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GEO_WITHINP8 = 68
c'GRN_OP_GEO_WITHINP8 :: (Num a) => a

{-# LINE 781 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_OBJ_SEARCH = 69
c'GRN_OP_OBJ_SEARCH :: (Num a) => a

{-# LINE 782 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_EXPR_GET_VAR = 70
c'GRN_OP_EXPR_GET_VAR :: (Num a) => a

{-# LINE 783 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_TABLE_CREATE = 71
c'GRN_OP_TABLE_CREATE :: (Num a) => a

{-# LINE 784 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_TABLE_SELECT = 72
c'GRN_OP_TABLE_SELECT :: (Num a) => a

{-# LINE 785 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_TABLE_SORT = 73
c'GRN_OP_TABLE_SORT :: (Num a) => a

{-# LINE 786 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_TABLE_GROUP = 74
c'GRN_OP_TABLE_GROUP :: (Num a) => a

{-# LINE 787 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_JSON_PUT = 75
c'GRN_OP_JSON_PUT :: (Num a) => a

{-# LINE 788 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_OP_GET_MEMBER = 76
c'GRN_OP_GET_MEMBER :: (Num a) => a

{-# LINE 789 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_table_group_result {
    grn_obj * table;
    unsigned char key_begin;
    unsigned char key_end;
    int limit;
    grn_table_group_flags flags;
    grn_operator op;
}; -}

{-# LINE 798 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 799 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 800 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 801 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 802 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 803 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 804 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 805 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 806 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 807 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 808 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 809 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 810 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 811 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 812 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 813 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 814 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_INFO_ENCODING = 0,
            GRN_INFO_SOURCE,
            GRN_INFO_DEFAULT_TOKENIZER,
            GRN_INFO_ELEMENT_SIZE,
            GRN_INFO_CURR_MAX,
            GRN_INFO_MAX_ELEMENT_SIZE,
            GRN_INFO_SEG_SIZE,
            GRN_INFO_CHUNK_SIZE,
            GRN_INFO_MAX_SECTION,
            GRN_INFO_HOOK_LOCAL_DATA,
            GRN_INFO_ELEMENT_A,
            GRN_INFO_ELEMENT_CHUNK,
            GRN_INFO_ELEMENT_CHUNK_SIZE,
            GRN_INFO_ELEMENT_BUFFER_FREE,
            GRN_INFO_ELEMENT_NTERMS,
            GRN_INFO_ELEMENT_NTERMS_VOID,
            GRN_INFO_ELEMENT_SIZE_IN_CHUNK,
            GRN_INFO_ELEMENT_POS_IN_CHUNK,
            GRN_INFO_ELEMENT_SIZE_IN_BUFFER,
            GRN_INFO_ELEMENT_POS_IN_BUFFER,
            GRN_INFO_ELEMENT_ESTIMATE_SIZE,
            GRN_INFO_NGRAM_UNIT_SIZE,
            GRN_INFO_PARTIAL_MATCH_THRESHOLD,
            GRN_INFO_II_SPLIT_THRESHOLD,
            GRN_INFO_SUPPORT_ZLIB,
            GRN_INFO_SUPPORT_LZ4,
            GRN_INFO_NORMALIZER
        } grn_info_type; -}
type C'grn_info_type = CUInt

{-# LINE 844 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ENCODING = 0
c'GRN_INFO_ENCODING :: (Num a) => a

{-# LINE 845 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_SOURCE = 1
c'GRN_INFO_SOURCE :: (Num a) => a

{-# LINE 846 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_DEFAULT_TOKENIZER = 2
c'GRN_INFO_DEFAULT_TOKENIZER :: (Num a) => a

{-# LINE 847 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_SIZE = 3
c'GRN_INFO_ELEMENT_SIZE :: (Num a) => a

{-# LINE 848 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_CURR_MAX = 4
c'GRN_INFO_CURR_MAX :: (Num a) => a

{-# LINE 849 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_MAX_ELEMENT_SIZE = 5
c'GRN_INFO_MAX_ELEMENT_SIZE :: (Num a) => a

{-# LINE 850 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_SEG_SIZE = 6
c'GRN_INFO_SEG_SIZE :: (Num a) => a

{-# LINE 851 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_CHUNK_SIZE = 7
c'GRN_INFO_CHUNK_SIZE :: (Num a) => a

{-# LINE 852 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_MAX_SECTION = 8
c'GRN_INFO_MAX_SECTION :: (Num a) => a

{-# LINE 853 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_HOOK_LOCAL_DATA = 9
c'GRN_INFO_HOOK_LOCAL_DATA :: (Num a) => a

{-# LINE 854 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_A = 10
c'GRN_INFO_ELEMENT_A :: (Num a) => a

{-# LINE 855 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_CHUNK = 11
c'GRN_INFO_ELEMENT_CHUNK :: (Num a) => a

{-# LINE 856 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_CHUNK_SIZE = 12
c'GRN_INFO_ELEMENT_CHUNK_SIZE :: (Num a) => a

{-# LINE 857 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_BUFFER_FREE = 13
c'GRN_INFO_ELEMENT_BUFFER_FREE :: (Num a) => a

{-# LINE 858 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_NTERMS = 14
c'GRN_INFO_ELEMENT_NTERMS :: (Num a) => a

{-# LINE 859 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_NTERMS_VOID = 15
c'GRN_INFO_ELEMENT_NTERMS_VOID :: (Num a) => a

{-# LINE 860 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_SIZE_IN_CHUNK = 16
c'GRN_INFO_ELEMENT_SIZE_IN_CHUNK :: (Num a) => a

{-# LINE 861 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_POS_IN_CHUNK = 17
c'GRN_INFO_ELEMENT_POS_IN_CHUNK :: (Num a) => a

{-# LINE 862 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_SIZE_IN_BUFFER = 18
c'GRN_INFO_ELEMENT_SIZE_IN_BUFFER :: (Num a) => a

{-# LINE 863 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_POS_IN_BUFFER = 19
c'GRN_INFO_ELEMENT_POS_IN_BUFFER :: (Num a) => a

{-# LINE 864 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_ELEMENT_ESTIMATE_SIZE = 20
c'GRN_INFO_ELEMENT_ESTIMATE_SIZE :: (Num a) => a

{-# LINE 865 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_NGRAM_UNIT_SIZE = 21
c'GRN_INFO_NGRAM_UNIT_SIZE :: (Num a) => a

{-# LINE 866 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_PARTIAL_MATCH_THRESHOLD = 22
c'GRN_INFO_PARTIAL_MATCH_THRESHOLD :: (Num a) => a

{-# LINE 867 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_II_SPLIT_THRESHOLD = 23
c'GRN_INFO_II_SPLIT_THRESHOLD :: (Num a) => a

{-# LINE 868 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_SUPPORT_ZLIB = 24
c'GRN_INFO_SUPPORT_ZLIB :: (Num a) => a

{-# LINE 869 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_SUPPORT_LZ4 = 25
c'GRN_INFO_SUPPORT_LZ4 :: (Num a) => a

{-# LINE 870 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_NORMALIZER = 26
c'GRN_INFO_NORMALIZER :: (Num a) => a

{-# LINE 871 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_INFO_TOKEN_FILTERS = 27
c'GRN_INFO_TOKEN_FILTERS :: (Num a) => a

{-# LINE 872 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 873 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 874 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 875 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 876 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 877 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 878 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 879 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 880 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 881 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 882 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 883 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 884 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 885 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 886 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 887 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 888 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 889 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 890 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 891 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 892 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 893 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 894 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 895 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 896 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 897 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 898 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 899 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 900 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 901 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 902 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_search_optarg grn_search_optarg; -}
-- #opaque_t _grn_search_optarg
-- #synonym_t grn_search_optarg , <_grn_search_optarg>
{- struct _grn_search_optarg {
    grn_operator mode;
    int similarity_threshold;
    int max_interval;
    int * weight_vector;
    int vector_size;
    grn_obj * proc;
    int max_size;
}; -}

{-# LINE 915 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 916 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 917 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 918 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 919 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 920 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 921 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 922 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 923 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 924 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 925 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 926 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 927 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 928 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 929 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 930 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 931 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 932 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 933 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 934 "Bindings/Groonga/Raw.hsc" #-}
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 ()))

{-# LINE 935 "Bindings/Groonga/Raw.hsc" #-}
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 ()))

{-# LINE 936 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_HOOK_SET = 0,
            GRN_HOOK_GET,
            GRN_HOOK_INSERT,
            GRN_HOOK_DELETE,
            GRN_HOOK_SELECT
        } grn_hook_entry; -}
type C'grn_hook_entry = CUInt

{-# LINE 944 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_HOOK_SET = 0
c'GRN_HOOK_SET :: (Num a) => a

{-# LINE 945 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_HOOK_GET = 1
c'GRN_HOOK_GET :: (Num a) => a

{-# LINE 946 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_HOOK_INSERT = 2
c'GRN_HOOK_INSERT :: (Num a) => a

{-# LINE 947 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_HOOK_DELETE = 3
c'GRN_HOOK_DELETE :: (Num a) => a

{-# LINE 948 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_HOOK_SELECT = 4
c'GRN_HOOK_SELECT :: (Num a) => a

{-# LINE 949 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 950 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 951 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 952 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 953 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 954 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 955 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 956 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 957 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct {
            int latitude; int longitude;
        } grn_geo_point; -}

{-# LINE 961 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 962 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 963 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 964 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 965 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 966 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 967 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 968 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_snip grn_snip; -}
data C'_grn_snip = C'_grn_snip

{-# LINE 970 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_snip = C'_grn_snip

{-# LINE 971 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_snip_mapping grn_snip_mapping; -}
-- #opaque_t _grn_snip_mapping
-- #synonym_t grn_snip_mapping , <_grn_snip_mapping>
{- struct _grn_snip_mapping {
    void * dummy;
}; -}

{-# LINE 978 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 979 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 980 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 981 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 982 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 983 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 984 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 985 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 986 "Bindings/Groonga/Raw.hsc" #-}

{- typedef struct _grn_logger_info grn_logger_info; -}
-- #opaque_t _grn_logger_info
-- #synonym_t grn_logger_info , <_grn_logger_info>
{- struct _grn_logger_info {
    grn_log_level max_level;
    int flags;
    void (* func)(int,
                  const char *,
                  const char *,
                  const char *,
                  const char *,
                  void *);
    void * func_arg;
}; -}

{-# LINE 1002 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1003 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1004 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1005 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1006 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1007 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1008 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_logger grn_logger; -}
-- #opaque_t _grn_logger
-- #synonym_t grn_logger , <_grn_logger>
{- struct _grn_logger {
    grn_log_level max_level;
    int flags;
    void * user_data;
    void (* log)(grn_ctx * ctx,
                 grn_log_level level,
                 const char * timestamp,
                 const char * title,
                 const char * message,
                 const char * location,
                 void * user_data);
    void (* reopen)(grn_ctx * ctx, void * user_data);
    void (* fin)(grn_ctx * ctx, void * user_data);
}; -}

{-# LINE 1026 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1027 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1028 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1029 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1030 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1031 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1032 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1033 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1034 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1035 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1036 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1037 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1038 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1039 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1040 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1041 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1042 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1043 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_query_logger grn_query_logger; -}
-- #opaque_t _grn_query_logger
-- #synonym_t grn_query_logger , <_grn_query_logger>
{- struct _grn_query_logger {
    unsigned int flags;
    void * user_data;
    void (* log)(grn_ctx * ctx,
                 unsigned int flag,
                 const char * timestamp,
                 const char * info,
                 const char * message,
                 void * user_data);
    void (* reopen)(grn_ctx * ctx, void * user_data);
    void (* fin)(grn_ctx * ctx, void * user_data);
}; -}

{-# LINE 1059 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1060 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1061 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1062 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1063 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1064 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1065 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1066 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1067 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1068 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1069 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1070 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1071 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1072 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1073 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1074 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1075 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1076 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1077 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1078 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1079 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1080 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1081 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1082 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1083 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1084 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1085 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1086 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1087 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1088 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1089 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1090 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1091 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1092 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1093 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1094 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1095 "Bindings/Groonga/Raw.hsc" #-}
-- #ccall grn_text_vprintf , Ptr <struct _grn_ctx> -> Ptr <struct _grn_obj> -> CString -> <__builtin_va_list> -> IO <grn_rc>
{- typedef struct _grn_obj_format grn_obj_format; -}
-- #opaque_t _grn_obj_format
-- #synonym_t grn_obj_format , <_grn_obj_format>
{- struct _grn_obj_format {
    grn_obj columns;
    const void * min;
    const void * max;
    unsigned int min_size;
    unsigned int max_size;
    int nhits;
    int offset;
    int limit;
    int hits_offset;
    int flags;
    grn_obj * expression;
}; -}

{-# LINE 1113 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1114 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1115 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1116 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1117 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1118 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1119 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1120 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1121 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1122 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1123 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1124 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1125 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1126 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1127 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1128 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1129 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1130 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1131 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1132 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1133 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1134 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1135 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1136 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1137 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1138 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1139 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1140 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1141 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1142 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1143 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1144 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct {
            const char * orig;
            char * norm;
            short * checks;
            unsigned char * ctypes;
            int flags;
            unsigned int orig_blen;
            unsigned int norm_blen;
            unsigned int length;
            grn_encoding encoding;
        } grn_str; -}

{-# LINE 1156 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1157 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1158 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1159 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1160 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1161 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1162 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1163 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1164 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1165 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1166 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1167 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1168 "Bindings/Groonga/Raw.hsc" #-}
{- typedef enum {
            GRN_CHAR_NULL = 0,
            GRN_CHAR_ALPHA,
            GRN_CHAR_DIGIT,
            GRN_CHAR_SYMBOL,
            GRN_CHAR_HIRAGANA,
            GRN_CHAR_KATAKANA,
            GRN_CHAR_KANJI,
            GRN_CHAR_OTHERS
        } grn_char_type; -}
type C'grn_char_type = CUInt

{-# LINE 1179 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_NULL = 0
c'GRN_CHAR_NULL :: (Num a) => a

{-# LINE 1180 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_ALPHA = 1
c'GRN_CHAR_ALPHA :: (Num a) => a

{-# LINE 1181 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_DIGIT = 2
c'GRN_CHAR_DIGIT :: (Num a) => a

{-# LINE 1182 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_SYMBOL = 3
c'GRN_CHAR_SYMBOL :: (Num a) => a

{-# LINE 1183 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_HIRAGANA = 4
c'GRN_CHAR_HIRAGANA :: (Num a) => a

{-# LINE 1184 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_KATAKANA = 5
c'GRN_CHAR_KATAKANA :: (Num a) => a

{-# LINE 1185 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_KANJI = 6
c'GRN_CHAR_KANJI :: (Num a) => a

{-# LINE 1186 "Bindings/Groonga/Raw.hsc" #-}
c'GRN_CHAR_OTHERS = 7
c'GRN_CHAR_OTHERS :: (Num a) => a

{-# LINE 1187 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1188 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1189 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1190 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1191 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1192 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1193 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1194 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1195 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1196 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1197 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1198 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1199 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1200 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1201 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1202 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1203 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1204 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1205 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1206 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1207 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1208 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1209 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1210 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1211 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1212 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1213 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1214 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1215 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1216 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1217 "Bindings/Groonga/Raw.hsc" #-}
{- typedef unsigned int grn_expr_flags; -}
type C'grn_expr_flags = CUInt

{-# LINE 1219 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1220 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1221 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1222 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1223 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1224 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1225 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1226 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1227 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1228 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1229 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1230 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1231 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1232 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1233 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_ctx_info grn_ctx_info; -}
-- #opaque_t _grn_ctx_info
type C'grn_ctx_info = C'_grn_ctx_info

{-# LINE 1236 "Bindings/Groonga/Raw.hsc" #-}
{- struct _grn_ctx_info {
    int fd;
    unsigned int com_status;
    grn_obj * outbuf;
    unsigned char stat;
}; -}

{-# LINE 1243 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1244 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1245 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1246 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1247 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1248 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1249 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1250 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1251 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1252 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_hash grn_hash; -}
data C'_grn_hash = C'_grn_hash

{-# LINE 1254 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_hash = C'_grn_hash

{-# LINE 1255 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_hash_cursor grn_hash_cursor; -}
data C'_grn_hash_cursor = C'_grn_hash_cursor

{-# LINE 1257 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_hash_cursor = C'_grn_hash_cursor

{-# LINE 1258 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1259 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1260 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1261 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1262 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1263 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1264 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1265 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1266 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1267 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_table_delete_optarg grn_table_delete_optarg; -}
-- #opaque_t _grn_table_delete_optarg
-- #synonym_t grn_table_delete_optarg , <_grn_table_delete_optarg>
{- struct _grn_table_delete_optarg {
    int flags;
    int (* func)(grn_ctx * ctx, grn_obj *, grn_id, void *);
    void * func_arg;
}; -}

{-# LINE 1276 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1277 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1278 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1279 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1280 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1281 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1282 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1283 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1284 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1285 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1286 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1287 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1288 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1289 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1290 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_array grn_array; -}
data C'_grn_array = C'_grn_array

{-# LINE 1292 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_array = C'_grn_array

{-# LINE 1293 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_array_cursor grn_array_cursor; -}
data C'_grn_array_cursor = C'_grn_array_cursor

{-# LINE 1295 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_array_cursor = C'_grn_array_cursor

{-# LINE 1296 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1297 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1298 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1299 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1300 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1301 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1302 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1303 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1304 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1305 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1306 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1307 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1308 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1309 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1310 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1311 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1312 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1313 "Bindings/Groonga/Raw.hsc" #-}
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 ()))

{-# LINE 1314 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_pat grn_pat; -}
data C'_grn_pat = C'_grn_pat

{-# LINE 1316 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_pat = C'_grn_pat

{-# LINE 1317 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_pat_cursor grn_pat_cursor; -}
data C'_grn_pat_cursor = C'_grn_pat_cursor

{-# LINE 1319 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_pat_cursor = C'_grn_pat_cursor

{-# LINE 1320 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1321 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1322 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1323 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1324 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1325 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1326 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1327 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1328 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1329 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1330 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1331 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1332 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1333 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_pat_scan_hit grn_pat_scan_hit; -}
-- #opaque_t _grn_pat_scan_hit
-- #synonym_t grn_pat_scan_hit , <_grn_pat_scan_hit>
{- struct _grn_pat_scan_hit {
    grn_id id; unsigned int offset; unsigned int length;
}; -}

{-# LINE 1340 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1341 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1342 "Bindings/Groonga/Raw.hsc" #-}

{-# LINE 1343 "Bindings/Groonga/Raw.hsc" #-}
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 ()

{-# LINE 1344 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1345 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1346 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1347 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1348 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1349 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1350 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1351 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1352 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1353 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1354 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1355 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1356 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1357 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_dat grn_dat; -}
data C'_grn_dat = C'_grn_dat

{-# LINE 1359 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_dat = C'_grn_dat

{-# LINE 1360 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_dat_cursor grn_dat_cursor; -}
data C'_grn_dat_cursor = C'_grn_dat_cursor

{-# LINE 1362 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_dat_cursor = C'_grn_dat_cursor

{-# LINE 1363 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1364 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1365 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1366 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1367 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1368 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1369 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1370 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1371 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1372 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1373 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1374 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1375 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1376 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1377 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1378 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1379 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1380 "Bindings/Groonga/Raw.hsc" #-}
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 ())

{-# LINE 1381 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1382 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1383 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_ii grn_ii; -}
data C'_grn_ii = C'_grn_ii

{-# LINE 1385 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_ii = C'_grn_ii

{-# LINE 1386 "Bindings/Groonga/Raw.hsc" #-}
{- typedef struct _grn_ii_buffer grn_ii_buffer; -}
data C'_grn_ii_buffer = C'_grn_ii_buffer

{-# LINE 1388 "Bindings/Groonga/Raw.hsc" #-}
type C'grn_ii_buffer = C'_grn_ii_buffer

{-# LINE 1389 "Bindings/Groonga/Raw.hsc" #-}
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))

{-# LINE 1390 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1391 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1392 "Bindings/Groonga/Raw.hsc" #-}
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)

{-# LINE 1393 "Bindings/Groonga/Raw.hsc" #-}