From 84357741a6a6e6430f199b2c3f7498e0e97da9ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 12 Feb 2023 17:35:53 +0100 Subject: New upstream version 1.2.1 --- include/sane/sanei_directio.h | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 include/sane/sanei_directio.h (limited to 'include/sane/sanei_directio.h') diff --git a/include/sane/sanei_directio.h b/include/sane/sanei_directio.h new file mode 100644 index 0000000..944605d --- /dev/null +++ b/include/sane/sanei_directio.h @@ -0,0 +1,71 @@ +#ifndef __SANEI_DIRECTIO_H__ +#define __SANEI_DIRECTIO_H__ + +#ifdef HAVE_SYS_IO_H +#include +#endif + +#ifdef ENABLE_PARPORT_DIRECTIO + +#if (! defined SANE_INB ) && ( defined HAVE_SYS_HW_H ) /* OS/2 EMX case */ +#define SANE_INB 1 +#endif /* OS/2 EMX case */ + + + +#if (! defined SANE_INB ) && ( defined HAVE_MACHINE_CPUFUNC_H ) /* FreeBSD case */ +#define SANE_INB 2 +#endif /* FreeBSD case */ + + +/* linux GCC on i386 */ +#if ( ! defined SANE_INB ) && ( defined HAVE_SYS_IO_H ) && ( defined __GNUC__ ) && ( defined __i386__ ) +#define SANE_INB 3 +#endif /* linux GCC on i386 */ + + +/* linux GCC non i386 */ +#if ( ! defined SANE_INB ) && ( defined HAVE_SYS_IO_H ) && ( defined __GNUC__ ) && ( ! defined __i386__ ) +#define SANE_INB 4 +#endif /* linux GCC non i386 */ + + +/* ICC on i386 */ +#if ( ! defined SANE_INB ) && ( defined __INTEL_COMPILER ) && ( defined __i386__ ) +#define SANE_INB 5 +#endif /* ICC on i386 */ + +/* direct io requested, but no valid inb/oub */ +#if ( ! defined SANE_INB) && ( defined ENABLE_PARPORT_DIRECTIO ) +#warning "ENABLE_PARPORT_DIRECTIO cannot be used du to lack of inb/out definition" +#undef ENABLE_PARPORT_DIRECTIO +#endif + +#endif /* ENABLE_PARPORT_DIRECTIO */ + +/* + * no inb/outb without --enable-parport-directio * + */ +#ifndef ENABLE_PARPORT_DIRECTIO +#define SANE_INB 0 +#endif /* ENABLE_PARPORT_DIRECTIO is not defined */ + +/* we need either direct io or ppdev */ +#if ! defined ENABLE_PARPORT_DIRECTIO && ! defined HAVE_LINUX_PPDEV_H && ! defined HAVE_DEV_PPBUS_PPI_H +#define IO_SUPPORT_MISSING +#endif + + +extern int sanei_ioperm (int start, int length, int enable); +extern unsigned char sanei_inb (unsigned int port); +extern void sanei_outb (unsigned int port, unsigned char value); +extern void sanei_insb (unsigned int port, unsigned char *addr, + unsigned long count); +extern void sanei_insl (unsigned int port, unsigned char *addr, + unsigned long count); +extern void sanei_outsb (unsigned int port, const unsigned char *addr, + unsigned long count); +extern void sanei_outsl (unsigned int port, const unsigned char *addr, + unsigned long count); + +#endif // __SANEI_DIRECTIO_H__ -- cgit v1.2.3