-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | FFI bindings to libsane
--   
--   These are FFI bindings to the SANE API (version 1.0)
@package bindings-sane
@version 0.0.1

module Bindings.SANE
c'SANE_CURRENT_MAJOR :: Num a => a
c'SANE_CURRENT_MINOR :: Num a => a
c'SANE_VERSION_CODE :: C'SANE_Int -> C'SANE_Int -> C'SANE_Int -> C'SANE_Int
c'SANE_VERSION_MAJOR :: C'SANE_Int -> C'SANE_Int
c'SANE_VERSION_MINOR :: C'SANE_Int -> C'SANE_Int
c'SANE_VERSION_BUILD :: C'SANE_Int -> C'SANE_Int
c'SANE_FALSE :: Num a => a
c'SANE_TRUE :: Num a => a
type C'SANE_Byte = CUChar
type C'SANE_Word = CInt
type C'SANE_Bool = CInt
type C'SANE_Int = CInt
type C'SANE_Char = CChar
type C'SANE_String = CString
type C'SANE_String_Const = CString
type C'SANE_Handle = Ptr ()
type C'SANE_Fixed = CInt
c'SANE_FIXED_SCALE_SHIFT :: Num a => a
c'SANE_FIX :: CDouble -> C'SANE_Fixed
c'SANE_UNFIX :: C'SANE_Fixed -> CDouble
type C'SANE_Status = CUInt
c'SANE_STATUS_GOOD :: Num a => a
c'SANE_STATUS_UNSUPPORTED :: Num a => a
c'SANE_STATUS_CANCELLED :: Num a => a
c'SANE_STATUS_DEVICE_BUSY :: Num a => a
c'SANE_STATUS_INVAL :: Num a => a
c'SANE_STATUS_EOF :: Num a => a
c'SANE_STATUS_JAMMED :: Num a => a
c'SANE_STATUS_NO_DOCS :: Num a => a
c'SANE_STATUS_COVER_OPEN :: Num a => a
c'SANE_STATUS_IO_ERROR :: Num a => a
c'SANE_STATUS_NO_MEM :: Num a => a
c'SANE_STATUS_ACCESS_DENIED :: Num a => a
type C'SANE_Value_Type = CUInt
c'SANE_TYPE_BOOL :: Num a => a
c'SANE_TYPE_INT :: Num a => a
c'SANE_TYPE_FIXED :: Num a => a
c'SANE_TYPE_STRING :: Num a => a
c'SANE_TYPE_BUTTON :: Num a => a
c'SANE_TYPE_GROUP :: Num a => a
type C'SANE_Unit = CUInt
c'SANE_UNIT_NONE :: Num a => a
c'SANE_UNIT_PIXEL :: Num a => a
c'SANE_UNIT_BIT :: Num a => a
c'SANE_UNIT_MM :: Num a => a
c'SANE_UNIT_DPI :: Num a => a
c'SANE_UNIT_PERCENT :: Num a => a
c'SANE_UNIT_MICROSECOND :: Num a => a
data C'SANE_Device
C'SANE_Device :: C'SANE_String_Const -> C'SANE_String_Const -> C'SANE_String_Const -> C'SANE_String_Const -> C'SANE_Device
[c'SANE_Device'name] :: C'SANE_Device -> C'SANE_String_Const
[c'SANE_Device'vendor] :: C'SANE_Device -> C'SANE_String_Const
[c'SANE_Device'model] :: C'SANE_Device -> C'SANE_String_Const
[c'SANE_Device'type] :: C'SANE_Device -> C'SANE_String_Const
c'SANE_CAP_SOFT_SELECT :: Num a => a
c'SANE_CAP_HARD_SELECT :: Num a => a
c'SANE_CAP_SOFT_DETECT :: Num a => a
c'SANE_CAP_EMULATED :: Num a => a
c'SANE_CAP_AUTOMATIC :: Num a => a
p'SANE_Device'name :: Ptr C'SANE_Device -> Ptr C'SANE_String_Const
c'SANE_CAP_INACTIVE :: Num a => a
c'SANE_CAP_ADVANCED :: Num a => a
p'SANE_Device'vendor :: Ptr C'SANE_Device -> Ptr C'SANE_String_Const
c'SANE_OPTION_IS_ACTIVE :: CInt -> CInt
p'SANE_Device'model :: Ptr C'SANE_Device -> Ptr C'SANE_String_Const
c'SANE_OPTION_IS_SETTABLE :: CInt -> CInt
p'SANE_Device'type :: Ptr C'SANE_Device -> Ptr C'SANE_String_Const
c'SANE_INFO_INEXACT :: Num a => a
c'SANE_INFO_RELOAD_OPTIONS :: Num a => a
c'SANE_INFO_RELOAD_PARAMS :: Num a => a
type C'SANE_Constraint_Type = CUInt
c'SANE_CONSTRAINT_NONE :: Num a => a
c'SANE_CONSTRAINT_RANGE :: Num a => a
c'SANE_CONSTRAINT_WORD_LIST :: Num a => a
c'SANE_CONSTRAINT_STRING_LIST :: Num a => a
data C'SANE_Range
C'SANE_Range :: C'SANE_Word -> C'SANE_Word -> C'SANE_Word -> C'SANE_Range
[c'SANE_Range'min] :: C'SANE_Range -> C'SANE_Word
[c'SANE_Range'max] :: C'SANE_Range -> C'SANE_Word
[c'SANE_Range'quant] :: C'SANE_Range -> C'SANE_Word
p'SANE_Range'min :: Ptr C'SANE_Range -> Ptr C'SANE_Word
p'SANE_Range'max :: Ptr C'SANE_Range -> Ptr C'SANE_Word
p'SANE_Range'quant :: Ptr C'SANE_Range -> Ptr C'SANE_Word
data C'SANE_Option_Descriptor
C'SANE_Option_Descriptor :: C'SANE_String_Const -> C'SANE_String_Const -> C'SANE_String_Const -> C'SANE_Value_Type -> C'SANE_Unit -> C'SANE_Int -> C'SANE_Int -> C'SANE_Constraint_Type -> Ptr C'SANE_String_Const -> Ptr C'SANE_Word -> Ptr C'SANE_Range -> C'SANE_Option_Descriptor
[c'SANE_Option_Descriptor'name] :: C'SANE_Option_Descriptor -> C'SANE_String_Const
[c'SANE_Option_Descriptor'title] :: C'SANE_Option_Descriptor -> C'SANE_String_Const
[c'SANE_Option_Descriptor'desc] :: C'SANE_Option_Descriptor -> C'SANE_String_Const
[c'SANE_Option_Descriptor'type] :: C'SANE_Option_Descriptor -> C'SANE_Value_Type
[c'SANE_Option_Descriptor'unit] :: C'SANE_Option_Descriptor -> C'SANE_Unit
[c'SANE_Option_Descriptor'size] :: C'SANE_Option_Descriptor -> C'SANE_Int
[c'SANE_Option_Descriptor'cap] :: C'SANE_Option_Descriptor -> C'SANE_Int
[c'SANE_Option_Descriptor'constraint_type] :: C'SANE_Option_Descriptor -> C'SANE_Constraint_Type
[c'SANE_Option_Descriptor'constraint'string_list] :: C'SANE_Option_Descriptor -> Ptr C'SANE_String_Const
[c'SANE_Option_Descriptor'constraint'word_list] :: C'SANE_Option_Descriptor -> Ptr C'SANE_Word
[c'SANE_Option_Descriptor'constraint'range] :: C'SANE_Option_Descriptor -> Ptr C'SANE_Range
type C'SANE_Action = CUInt
c'SANE_ACTION_GET_VALUE :: Num a => a
c'SANE_ACTION_SET_VALUE :: Num a => a
c'SANE_ACTION_SET_AUTO :: Num a => a
type C'SANE_Frame = CUInt
c'SANE_FRAME_GRAY :: Num a => a
c'SANE_FRAME_RGB :: Num a => a
c'SANE_FRAME_RED :: Num a => a
c'SANE_FRAME_GREEN :: Num a => a
c'SANE_FRAME_BLUE :: Num a => a
p'SANE_Option_Descriptor'name :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_String_Const
p'SANE_Option_Descriptor'title :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_String_Const
p'SANE_Option_Descriptor'desc :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_String_Const
p'SANE_Option_Descriptor'type :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_Value_Type
data C'SANE_Parameters
C'SANE_Parameters :: C'SANE_Frame -> C'SANE_Bool -> C'SANE_Int -> C'SANE_Int -> C'SANE_Int -> C'SANE_Int -> C'SANE_Parameters
[c'SANE_Parameters'format] :: C'SANE_Parameters -> C'SANE_Frame
[c'SANE_Parameters'last_frame] :: C'SANE_Parameters -> C'SANE_Bool
[c'SANE_Parameters'bytes_per_line] :: C'SANE_Parameters -> C'SANE_Int
[c'SANE_Parameters'pixels_per_line] :: C'SANE_Parameters -> C'SANE_Int
[c'SANE_Parameters'lines] :: C'SANE_Parameters -> C'SANE_Int
[c'SANE_Parameters'depth] :: C'SANE_Parameters -> C'SANE_Int
p'SANE_Option_Descriptor'unit :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_Unit
data C'SANE_Auth_Data
C'SANE_Auth_Data :: C'SANE_Auth_Data
p'SANE_Option_Descriptor'size :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_Int
c'SANE_MAX_USERNAME_LEN :: Num a => a
p'SANE_Option_Descriptor'cap :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_Int
c'SANE_MAX_PASSWORD_LEN :: Num a => a
type C'SANE_Auth_Callback = FunPtr (C'SANE_String_Const -> Ptr C'SANE_Char -> Ptr C'SANE_Char -> IO ())
p'SANE_Option_Descriptor'constraint_type :: Ptr C'SANE_Option_Descriptor -> Ptr C'SANE_Constraint_Type
mk'SANE_Auth_Callback :: (C'SANE_String_Const -> Ptr C'SANE_Char -> Ptr C'SANE_Char -> IO ()) -> IO C'SANE_Auth_Callback
p'SANE_Parameters'format :: Ptr C'SANE_Parameters -> Ptr C'SANE_Frame
p'SANE_Option_Descriptor'constraint'string_list :: Ptr C'SANE_Option_Descriptor -> Ptr (Ptr C'SANE_String_Const)
c'sane_init :: Ptr C'SANE_Int -> C'SANE_Auth_Callback -> IO C'SANE_Status
c'sane_exit :: IO ()
mK'SANE_Auth_Callback :: C'SANE_Auth_Callback -> C'SANE_String_Const -> Ptr C'SANE_Char -> Ptr C'SANE_Char -> IO ()
p'SANE_Parameters'last_frame :: Ptr C'SANE_Parameters -> Ptr C'SANE_Bool
p'SANE_Option_Descriptor'constraint'word_list :: Ptr C'SANE_Option_Descriptor -> Ptr (Ptr C'SANE_Word)
c'sane_get_devices :: Ptr (Ptr (Ptr C'SANE_Device)) -> C'SANE_Bool -> IO C'SANE_Status
p'sane_init :: FunPtr (Ptr C'SANE_Int -> C'SANE_Auth_Callback -> IO C'SANE_Status)
p'sane_exit :: FunPtr (IO ())
c'sane_open :: C'SANE_String_Const -> Ptr C'SANE_Handle -> IO C'SANE_Status
p'SANE_Parameters'bytes_per_line :: Ptr C'SANE_Parameters -> Ptr C'SANE_Int
p'SANE_Option_Descriptor'constraint'range :: Ptr C'SANE_Option_Descriptor -> Ptr (Ptr C'SANE_Range)
c'sane_close :: C'SANE_Handle -> IO ()
p'sane_get_devices :: FunPtr (Ptr (Ptr (Ptr C'SANE_Device)) -> C'SANE_Bool -> IO C'SANE_Status)
u'SANE_Option_Descriptor'constraint'string_list :: C'SANE_Option_Descriptor -> Ptr C'SANE_String_Const -> IO C'SANE_Option_Descriptor
c'sane_get_option_descriptor :: C'SANE_Handle -> C'SANE_Int -> IO (Ptr C'SANE_Option_Descriptor)
p'sane_open :: FunPtr (C'SANE_String_Const -> Ptr C'SANE_Handle -> IO C'SANE_Status)
p'SANE_Parameters'pixels_per_line :: Ptr C'SANE_Parameters -> Ptr C'SANE_Int
p'sane_close :: FunPtr (C'SANE_Handle -> IO ())
c'sane_control_option :: C'SANE_Handle -> C'SANE_Int -> C'SANE_Action -> Ptr () -> Ptr C'SANE_Int -> IO C'SANE_Status
c'sane_get_parameters :: C'SANE_Handle -> Ptr C'SANE_Parameters -> IO C'SANE_Status
p'sane_get_option_descriptor :: FunPtr (C'SANE_Handle -> C'SANE_Int -> IO (Ptr C'SANE_Option_Descriptor))
p'SANE_Parameters'lines :: Ptr C'SANE_Parameters -> Ptr C'SANE_Int
c'sane_start :: C'SANE_Handle -> IO C'SANE_Status
p'sane_control_option :: FunPtr (C'SANE_Handle -> C'SANE_Int -> C'SANE_Action -> Ptr () -> Ptr C'SANE_Int -> IO C'SANE_Status)
p'sane_get_parameters :: FunPtr (C'SANE_Handle -> Ptr C'SANE_Parameters -> IO C'SANE_Status)
c'sane_read :: C'SANE_Handle -> Ptr C'SANE_Byte -> C'SANE_Int -> Ptr C'SANE_Int -> IO C'SANE_Status
p'SANE_Parameters'depth :: Ptr C'SANE_Parameters -> Ptr C'SANE_Int
c'sane_cancel :: C'SANE_Handle -> IO ()
p'sane_start :: FunPtr (C'SANE_Handle -> IO C'SANE_Status)
c'sane_set_io_mode :: C'SANE_Handle -> C'SANE_Bool -> IO C'SANE_Status
p'sane_read :: FunPtr (C'SANE_Handle -> Ptr C'SANE_Byte -> C'SANE_Int -> Ptr C'SANE_Int -> IO C'SANE_Status)
p'sane_cancel :: FunPtr (C'SANE_Handle -> IO ())
c'sane_get_select_fd :: C'SANE_Handle -> Ptr C'SANE_Int -> IO C'SANE_Status
c'sane_strstatus :: C'SANE_Status -> IO C'SANE_String_Const
p'sane_set_io_mode :: FunPtr (C'SANE_Handle -> C'SANE_Bool -> IO C'SANE_Status)
u'SANE_Option_Descriptor'constraint'word_list :: C'SANE_Option_Descriptor -> Ptr C'SANE_Word -> IO C'SANE_Option_Descriptor
p'sane_get_select_fd :: FunPtr (C'SANE_Handle -> Ptr C'SANE_Int -> IO C'SANE_Status)
p'sane_strstatus :: FunPtr (C'SANE_Status -> IO C'SANE_String_Const)
u'SANE_Option_Descriptor'constraint'range :: C'SANE_Option_Descriptor -> Ptr C'SANE_Range -> IO C'SANE_Option_Descriptor
instance GHC.Show.Show Bindings.SANE.C'SANE_Parameters
instance GHC.Classes.Eq Bindings.SANE.C'SANE_Parameters
instance GHC.Show.Show Bindings.SANE.C'SANE_Option_Descriptor
instance GHC.Classes.Eq Bindings.SANE.C'SANE_Option_Descriptor
instance GHC.Show.Show Bindings.SANE.C'SANE_Range
instance GHC.Classes.Eq Bindings.SANE.C'SANE_Range
instance GHC.Show.Show Bindings.SANE.C'SANE_Device
instance GHC.Classes.Eq Bindings.SANE.C'SANE_Device
instance Foreign.Storable.Storable Bindings.SANE.C'SANE_Parameters
instance Foreign.Storable.Storable Bindings.SANE.C'SANE_Option_Descriptor
instance Foreign.Storable.Storable Bindings.SANE.C'SANE_Range
instance Foreign.Storable.Storable Bindings.SANE.C'SANE_Device
