summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen LaHaise <bcrl@kvack.org>2002-09-12 19:34:22 +0000
committerBen LaHaise <bcrl@kvack.org>2002-09-12 19:34:22 +0000
commitc7369692ac11bc59b5d94c24452b858e728fcabe (patch)
treecbf8b7ac37999b10e3595789b6a322201f18ae79
parent6edda9f659be1ef43809b239d0dd30d809e57cfe (diff)
downloadlibaio-c7369692ac11bc59b5d94c24452b858e728fcabe.tar.gz
more ia64 compile fixes
-rw-r--r--ChangeLog1
-rw-r--r--src/libaio.h21
-rw-r--r--src/syscall.h2
3 files changed, 15 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index e9e250a..800fea2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
- add rough outline for man pages
- make the compiled io_getevents() add the extra parameter and
pass the timeout for updating as per 2.5
+ - fixes for ia64
0.3.15
- use real syscall interface, but don't break source compatibility
diff --git a/src/libaio.h b/src/libaio.h
index 3f14b43..aead882 100644
--- a/src/libaio.h
+++ b/src/libaio.h
@@ -44,14 +44,19 @@ typedef enum io_iocb_cmd {
} io_iocb_cmd_t;
#if defined(__i386__) /* little endian, 32 bits */
-#define PADDED(x, y) x, y
+#define PADDED(x, y) x; unsigned y
#define PADDEDptr(x, y) x; unsigned y
+#define PADDEDul(x, y) unsigned long x; unsigned y
+#elif defined(__ia64__)
+#define PADDED(x, y) x, y
+#define PADDEDptr(x, y) x
+#define PADDEDul(x, y) unsigned long x
#else
#error endian?
#endif
struct io_iocb_poll {
- int PADDED(events, __pad1);
+ PADDED(int events, __pad1);
}; /* result code is the set of result flags or -'ve errno */
struct io_iocb_sockaddr {
@@ -75,8 +80,8 @@ struct io_iocb_vector {
}; /* result code is the amount read or -'ve errno */
struct iocb {
- void PADDEDptr(*data, __pad1); /* Return in the io completion event */
- unsigned PADDED(key, __pad2); /* For use in identifying io requests */
+ PADDEDptr(void *data, __pad1); /* Return in the io completion event */
+ PADDED(unsigned key, __pad2); /* For use in identifying io requests */
short aio_lio_opcode;
short aio_reqprio;
@@ -91,10 +96,10 @@ struct iocb {
};
struct io_event {
- unsigned PADDED(data, __pad1);
- unsigned PADDED(obj, __pad2);
- unsigned PADDED(res, __pad3);
- unsigned PADDED(res2, __pad4);
+ PADDEDul(data, __pad1);
+ PADDEDul(obj, __pad2);
+ PADDEDul(res, __pad3);
+ PADDEDul(res2, __pad4);
};
#undef PADDED
diff --git a/src/syscall.h b/src/syscall.h
index fd15245..7ca2cd5 100644
--- a/src/syscall.h
+++ b/src/syscall.h
@@ -1,6 +1,6 @@
#if defined(__i386__)
#include "syscall-i386.h"
-#elif defined(__itanium__)
+#elif defined(__ia64__)
#include "syscall-ia64.h"
#else
#error "add syscall-arch.h"