lua-2.0.0: src/Lua/Ersatz/Auxiliary.hs
{-|
Module : Lua.Ersatz.Auxiliary
Copyright : © 2007–2012 Gracjan Polak;
© 2012–2016 Ömer Sinan Ağacan;
© 2017-2021 Albert Krewinkel
License : MIT
Maintainer : Albert Krewinkel <tarleb+hslua@zeitkraut.de>
Stability : beta
Portability : non-portable (depends on GHC)
Raw bindings to ersatz functions of the auxiliary library.
-}
module Lua.Ersatz.Auxiliary
( -- * Auxiliary Library
hsluaL_newstate
, hsluaL_tolstring
) where
import Foreign.C (CChar, CInt (CInt), CSize)
import Lua.Types (StackIndex)
import Foreign.Ptr (Ptr)
import qualified Lua.Types as Lua
-- | Creates a new Lua state and set extra registry values for error
-- bookkeeping.
foreign import ccall unsafe "hslauxlib.h hsluaL_newstate"
hsluaL_newstate :: IO Lua.State
-- | Converts object to string, respecting any metamethods; returns
-- @NULL@ if an error occurs.
foreign import ccall safe "hslauxlib.h hsluaL_tolstring"
hsluaL_tolstring :: Lua.State -> StackIndex -> Ptr CSize -> IO (Ptr CChar)