module Bindings.Stemmer.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
data C'sb_stemmer = C'sb_stemmer
type C'sb_symbol = CUChar
foreign import ccall "sb_stemmer_list" c'sb_stemmer_list
:: IO (Ptr CString)
foreign import ccall "&sb_stemmer_list" p'sb_stemmer_list
:: FunPtr (IO (Ptr CString))
foreign import ccall "sb_stemmer_new" c'sb_stemmer_new
:: CString -> CString -> IO (Ptr C'sb_stemmer)
foreign import ccall "&sb_stemmer_new" p'sb_stemmer_new
:: FunPtr (CString -> CString -> IO (Ptr C'sb_stemmer))
foreign import ccall "sb_stemmer_delete" c'sb_stemmer_delete
:: Ptr C'sb_stemmer -> IO ()
foreign import ccall "&sb_stemmer_delete" p'sb_stemmer_delete
:: FunPtr (Ptr C'sb_stemmer -> IO ())
foreign import ccall "sb_stemmer_stem" c'sb_stemmer_stem
:: Ptr C'sb_stemmer -> CString -> CInt -> IO CString
foreign import ccall "&sb_stemmer_stem" p'sb_stemmer_stem
:: FunPtr (Ptr C'sb_stemmer -> CString -> CInt -> IO CString)
foreign import ccall "sb_stemmer_length" c'sb_stemmer_length
:: Ptr C'sb_stemmer -> IO CInt
foreign import ccall "&sb_stemmer_length" p'sb_stemmer_length
:: FunPtr (Ptr C'sb_stemmer -> IO CInt)