1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
|
{-# LANGUAGE ForeignFunctionInterface #-}
-- Copyright © 2012 Clint Adams
-- This program is free software: you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation, either
-- version 3 of the License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with this program. If not, see
-- <http://www.gnu.org/licenses/>.
#include <bindings.dsl.h>
#include <sane/sane.h>
module Bindings.SANE where
#strict_import
#num SANE_CURRENT_MAJOR
#num SANE_CURRENT_MINOR
#cinline SANE_VERSION_CODE , <SANE_Int> -> <SANE_Int> -> <SANE_Int> -> <SANE_Int>
#cinline SANE_VERSION_MAJOR , <SANE_Int> -> <SANE_Int>
#cinline SANE_VERSION_MINOR , <SANE_Int> -> <SANE_Int>
#cinline SANE_VERSION_BUILD , <SANE_Int> -> <SANE_Int>
#num SANE_FALSE
#num SANE_TRUE
#integral_t SANE_Byte
#integral_t SANE_Word
#integral_t SANE_Bool
#integral_t SANE_Int
#synonym_t SANE_Char , CChar
#synonym_t SANE_String , CString
#synonym_t SANE_String_Const , CString
#synonym_t SANE_Handle, Ptr ()
#integral_t SANE_Fixed
#num SANE_FIXED_SCALE_SHIFT
#cinline SANE_FIX , CDouble -> <SANE_Fixed>
#cinline SANE_UNFIX , <SANE_Fixed> -> CDouble
#integral_t SANE_Status
#num SANE_STATUS_GOOD
#num SANE_STATUS_UNSUPPORTED
#num SANE_STATUS_CANCELLED
#num SANE_STATUS_DEVICE_BUSY
#num SANE_STATUS_INVAL
#num SANE_STATUS_EOF
#num SANE_STATUS_JAMMED
#num SANE_STATUS_NO_DOCS
#num SANE_STATUS_COVER_OPEN
#num SANE_STATUS_IO_ERROR
#num SANE_STATUS_NO_MEM
#num SANE_STATUS_ACCESS_DENIED
#integral_t SANE_Value_Type
#num SANE_TYPE_BOOL
#num SANE_TYPE_INT
#num SANE_TYPE_FIXED
#num SANE_TYPE_STRING
#num SANE_TYPE_BUTTON
#num SANE_TYPE_GROUP
#integral_t SANE_Unit
#num SANE_UNIT_NONE
#num SANE_UNIT_PIXEL
#num SANE_UNIT_BIT
#num SANE_UNIT_MM
#num SANE_UNIT_DPI
#num SANE_UNIT_PERCENT
#num SANE_UNIT_MICROSECOND
#starttype SANE_Device
#field name , <SANE_String_Const>
#field vendor , <SANE_String_Const>
#field model , <SANE_String_Const>
#field type , <SANE_String_Const>
#stoptype
#num SANE_CAP_SOFT_SELECT
#num SANE_CAP_HARD_SELECT
#num SANE_CAP_SOFT_DETECT
#num SANE_CAP_EMULATED
#num SANE_CAP_AUTOMATIC
#num SANE_CAP_INACTIVE
#num SANE_CAP_ADVANCED
#cinline SANE_OPTION_IS_ACTIVE , CInt -> CInt
#cinline SANE_OPTION_IS_SETTABLE , CInt -> CInt
#num SANE_INFO_INEXACT
#num SANE_INFO_RELOAD_OPTIONS
#num SANE_INFO_RELOAD_PARAMS
#integral_t SANE_Constraint_Type
#num SANE_CONSTRAINT_NONE
#num SANE_CONSTRAINT_RANGE
#num SANE_CONSTRAINT_WORD_LIST
#num SANE_CONSTRAINT_STRING_LIST
#starttype SANE_Range
#field min , <SANE_Word>
#field max , <SANE_Word>
#field quant , <SANE_Word>
#stoptype
#starttype SANE_Option_Descriptor
#field name , <SANE_String_Const>
#field title , <SANE_String_Const>
#field desc , <SANE_String_Const>
#field type , <SANE_Value_Type>
#field unit , <SANE_Unit>
#field size , <SANE_Int>
#field cap , <SANE_Int>
#field constraint_type , <SANE_Constraint_Type>
#union_field constraint.string_list , Ptr <SANE_String_Const>
#union_field constraint.word_list , Ptr <SANE_Word>
#union_field constraint.range , Ptr <SANE_Range>
#stoptype
#integral_t SANE_Action
#num SANE_ACTION_GET_VALUE
#num SANE_ACTION_SET_VALUE
#num SANE_ACTION_SET_AUTO
#integral_t SANE_Frame
#num SANE_FRAME_GRAY
#num SANE_FRAME_RGB
#num SANE_FRAME_RED
#num SANE_FRAME_GREEN
#num SANE_FRAME_BLUE
#starttype SANE_Parameters
#field format , <SANE_Frame>
#field last_frame , <SANE_Bool>
#field bytes_per_line , <SANE_Int>
#field pixels_per_line , <SANE_Int>
#field lines , <SANE_Int>
#field depth , <SANE_Int>
#stoptype
#opaque_t struct SANE_Auth_Data
#num SANE_MAX_USERNAME_LEN
#num SANE_MAX_PASSWORD_LEN
#callback SANE_Auth_Callback , <SANE_String_Const> -> Ptr <SANE_Char> -> Ptr <SANE_Char> -> IO ()
#ccall sane_init , Ptr <SANE_Int> -> <SANE_Auth_Callback> -> IO <SANE_Status>
#ccall sane_exit , IO ()
#ccall sane_get_devices , Ptr (Ptr (Ptr <SANE_Device>)) -> <SANE_Bool> -> IO <SANE_Status>
#ccall sane_open , <SANE_String_Const> -> Ptr <SANE_Handle> -> IO <SANE_Status>
#ccall sane_close , <SANE_Handle> -> IO ()
#ccall sane_get_option_descriptor , <SANE_Handle> -> <SANE_Int> -> IO (Ptr <SANE_Option_Descriptor>)
#ccall sane_control_option , <SANE_Handle> -> <SANE_Int> -> <SANE_Action> -> Ptr () -> Ptr <SANE_Int> -> IO <SANE_Status>
#ccall sane_get_parameters , <SANE_Handle> -> Ptr <SANE_Parameters> -> IO <SANE_Status>
#ccall sane_start , <SANE_Handle> -> IO <SANE_Status>
#ccall sane_read , <SANE_Handle> -> Ptr <SANE_Byte> -> <SANE_Int> -> Ptr <SANE_Int> -> IO <SANE_Status>
#ccall sane_cancel , <SANE_Handle> -> IO ()
#ccall sane_set_io_mode , <SANE_Handle> -> <SANE_Bool> -> IO <SANE_Status>
#ccall sane_get_select_fd , <SANE_Handle> -> Ptr <SANE_Int> -> IO <SANE_Status>
#ccall sane_strstatus , <SANE_Status> -> IO <SANE_String_Const>
|