diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2023-02-12 17:36:10 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2023-02-12 17:36:10 +0100 |
commit | e0d94cf4d39395df1e2c6bb4d967200298c13881 (patch) | |
tree | be5c7cace6697afc753c152d13ad5145d0884a42 /include/sane/sanei_directio.h | |
parent | 527bedac30eb120915718eb7997e6dacd583512e (diff) | |
parent | 84357741a6a6e6430f199b2c3f7498e0e97da9ad (diff) |
Update upstream source from tag 'upstream/1.2.1'
Update to upstream version '1.2.1'
with Debian dir a9bb43f754a5c9a361b076af3635cc767b7e652e
Diffstat (limited to 'include/sane/sanei_directio.h')
-rw-r--r-- | include/sane/sanei_directio.h | 71 |
1 files changed, 71 insertions, 0 deletions
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 <sys/io.h> +#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__ |