summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/include/sys/io.h
diff options
context:
space:
mode:
authorGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-02-18 16:48:11 +0000
committerGwenolé Beauchesne <gbeauchesne@mandriva.org>2003-02-18 16:48:11 +0000
commit8182e7cfe7d9c60567e48b876282594395062530 (patch)
treebb743948c6e926539b030102b804b5708222e8d4 /mdk-stage1/dietlibc/include/sys/io.h
parentc93f95560d3fde9eaefcc62c454c67b8b5626fa7 (diff)
downloaddrakx-8182e7cfe7d9c60567e48b876282594395062530.tar
drakx-8182e7cfe7d9c60567e48b876282594395062530.tar.gz
drakx-8182e7cfe7d9c60567e48b876282594395062530.tar.bz2
drakx-8182e7cfe7d9c60567e48b876282594395062530.tar.xz
drakx-8182e7cfe7d9c60567e48b876282594395062530.zip
Merge in CVS dietlibc 0.21 for IA-64 and X86-64 support. However, drop the
following architectures we currently don't support: arm, mips, mipsel, parisc, s390, sparc64.
Diffstat (limited to 'mdk-stage1/dietlibc/include/sys/io.h')
-rw-r--r--mdk-stage1/dietlibc/include/sys/io.h47
1 files changed, 25 insertions, 22 deletions
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h
index cce841735..5edf33a57 100644
--- a/mdk-stage1/dietlibc/include/sys/io.h
+++ b/mdk-stage1/dietlibc/include/sys/io.h
@@ -1,41 +1,44 @@
-#ifndef _IO_H
-#define _IO_H
+#ifndef _SYS_IO_H
+#define _SYS_IO_H
-int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
+#include <sys/cdefs.h>
-#ifdef __i386__
-
-static __inline void
-outb (unsigned char value, unsigned short int port)
-{
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
+extern int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
+extern int iopl(int level) __THROW;
-static __inline unsigned char
-inb (unsigned short int port)
-{
+#ifndef __STRICT_ANSI__
+/* anyone have a cleaner solution for this mess? */
+#ifdef __i386__
+static inline unsigned char inb (unsigned short int port) {
unsigned char _v;
-
__asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
return _v;
}
-static __inline unsigned short int
-inw (unsigned short int port)
-{
+static inline unsigned short inw (unsigned short int port) {
unsigned short _v;
-
__asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
return _v;
}
-static __inline void
-outw (unsigned short int value, unsigned short int port)
-{
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
+static inline unsigned int inl (unsigned short int port) {
+ unsigned int _v;
+ __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
+ return _v;
+}
+
+static inline void outb (unsigned char value, unsigned short int port) {
+ __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
+}
+static inline void outw (unsigned short value, unsigned short int port) {
+ __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
}
+static inline void outl (unsigned int value, unsigned short int port) {
+ __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
+}
+#endif
#endif
#endif