00001
00012
00013
00014
00015
00020 #ifdef __GNUC__
00021 #define __sane_unused__ __attribute__((unused))
00022 #else
00023 #define __sane_unused__
00024 #endif
00025
00029 #include <sane/sanei_debug.h>
00030
00031 #ifdef HAVE_SYS_HW_H
00032
00033 # define inb(p) _inp8 (p)
00034 # define outb(v,p) _outp8 ((p),(v))
00035 # define ioperm(b,l,o) _portaccess ((b),(b)+(l)-1)
00036 # define HAVE_IOPERM 1
00037 #endif
00038
00039 #ifndef HAVE_OS2_H
00040 #include <fcntl.h>
00041 #ifndef O_NONBLOCK
00042 # ifdef O_NDELAY
00043 # define O_NONBLOCK O_NDELAY
00044 # else
00045 # define O_NONBLOCK FNDELAY
00046 # endif
00047 #endif
00048 #endif
00049
00050 #include <limits.h>
00051 #ifndef PATH_MAX
00052 # define PATH_MAX 1024
00053 #endif
00054
00055 #ifndef M_PI
00056 #define M_PI 3.14159265358979323846
00057 #endif
00058
00059 #ifndef MM_PER_INCH
00060 #define MM_PER_INCH 25.4
00061 #endif
00062
00063 #ifdef HAVE_SIGPROCMASK
00064 # define SIGACTION sigaction
00065 #else
00066
00067
00068
00069 # ifdef sigset_t
00070 # undef sigset_t
00071 # endif
00072 # ifdef sigemptyset
00073 # undef sigemptyset
00074 # endif
00075 # ifdef sigfillset
00076 # undef sigfillset
00077 # endif
00078 # ifdef sigaddset
00079 # undef sigaddset
00080 # endif
00081 # ifdef sigdelset
00082 # undef sigdelset
00083 # endif
00084 # ifdef sigprocmask
00085 # undef sigprocmask
00086 # endif
00087 # ifdef SIG_BLOCK
00088 # undef SIG_BLOCK
00089 # endif
00090 # ifdef SIG_UNBLOCK
00091 # undef SIG_UNBLOCK
00092 # endif
00093 # ifdef SIG_SETMASK
00094 # undef SIG_SETMASK
00095 # endif
00096
00097 # define sigset_t int
00098 # define sigemptyset(set) do { *(set) = 0; } while (0)
00099 # define sigfillset(set) do { *(set) = ~0; } while (0)
00100 # define sigaddset(set,signal) do { *(set) |= sigmask (signal); } while (0)
00101 # define sigdelset(set,signal) do { *(set) &= ~sigmask (signal); } while (0)
00102 # define sigaction(sig,new,old) sigvec (sig,new,old)
00103
00104
00105
00106
00107 # define SIGACTION sigvec
00108 # define SIG_BLOCK 1
00109 # define SIG_UNBLOCK 2
00110 # define SIG_SETMASK 3
00111 #endif
00112
00113
00114
00118 extern SANE_Status ENTRY(init) (SANE_Int *, SANE_Auth_Callback);
00119 extern SANE_Status ENTRY(get_devices) (const SANE_Device ***, SANE_Bool);
00120 extern SANE_Status ENTRY(open) (SANE_String_Const, SANE_Handle *);
00121 extern const SANE_Option_Descriptor *
00122 ENTRY(get_option_descriptor) (SANE_Handle, SANE_Int);
00123 extern SANE_Status ENTRY(control_option) (SANE_Handle, SANE_Int, SANE_Action,
00124 void *, SANE_Word *);
00125 extern SANE_Status ENTRY(get_parameters) (SANE_Handle, SANE_Parameters *);
00126 extern SANE_Status ENTRY(start) (SANE_Handle);
00127 extern SANE_Status ENTRY(read) (SANE_Handle, SANE_Byte *, SANE_Int,
00128 SANE_Int *);
00129 extern SANE_Status ENTRY(set_io_mode) (SANE_Handle, SANE_Bool);
00130 extern SANE_Status ENTRY(get_select_fd) (SANE_Handle, SANE_Int *);
00131 extern void ENTRY(cancel) (SANE_Handle);
00132 extern void ENTRY(close) (SANE_Handle);
00133 extern void ENTRY(exit) (void);
00134
00135 #ifndef STUBS
00136
00137
00138 #define sane_init(a,b) ENTRY(init) (a,b)
00139 #define sane_get_devices(a,b) ENTRY(get_devices) (a,b)
00140 #define sane_open(a,b) ENTRY(open) (a,b)
00141 #define sane_get_option_descriptor(a,b) ENTRY(get_option_descriptor) (a,b)
00142 #define sane_control_option(a,b,c,d,e) ENTRY(control_option) (a,b,c,d,e)
00143 #define sane_get_parameters(a,b) ENTRY(get_parameters) (a,b)
00144 #define sane_start(a) ENTRY(start) (a)
00145 #define sane_read(a,b,c,d) ENTRY(read) (a,b,c,d)
00146 #define sane_set_io_mode(a,b) ENTRY(set_io_mode) (a,b)
00147 #define sane_get_select_fd(a,b) ENTRY(get_select_fd) (a,b)
00148 #define sane_cancel(a) ENTRY(cancel) (a)
00149 #define sane_close(a) ENTRY(close) (a)
00150 #define sane_exit(a) ENTRY(exit) (a)
00151 #endif
00152
00153
00159 #ifndef SANE_I18N
00160 #define SANE_I18N(text) text
00161 #endif
00162
00167 #ifndef SANE_OPTION
00168 typedef union
00169 {
00170 SANE_Bool b;
00171 SANE_Word w;
00172 SANE_Word *wa;
00173 SANE_String s;
00174 }
00175 Option_Value;
00176 #define SANE_OPTION 1
00177 #endif