Skip to content

Commit 6c09ad5

Browse files
committed
Remove e2e tests dependency on linux/aio_abi.h header
1 parent 399265e commit 6c09ad5

File tree

2 files changed

+73
-7
lines changed

2 files changed

+73
-7
lines changed

tests/e2e/aio_rw/aio_rw.c

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <linux/aio_abi.h>
21
#include <sys/syscall.h>
32
#include <fcntl.h>
43
#include <stdio.h>
@@ -7,6 +6,40 @@
76
#include <errno.h>
87
#include <stdint.h>
98

9+
typedef uint64_t aio_context_t;
10+
11+
enum {
12+
IOCB_CMD_PREAD = 0,
13+
IOCB_CMD_PWRITE = 1,
14+
IOCB_CMD_FSYNC = 2,
15+
IOCB_CMD_FDSYNC = 3,
16+
IOCB_CMD_NOOP = 6,
17+
IOCB_CMD_PREADV = 7,
18+
IOCB_CMD_PWRITEV = 8,
19+
};
20+
21+
struct iocb {
22+
uint64_t aio_data;
23+
uint32_t aio_key;
24+
uint32_t aio_rw_flags;
25+
uint16_t aio_lio_opcode;
26+
int16_t aio_reqprio;
27+
uint32_t aio_fildes;
28+
uint64_t aio_buf;
29+
uint64_t aio_nbytes;
30+
int64_t aio_offset;
31+
uint64_t aio_reserved2;
32+
uint32_t aio_flags;
33+
uint32_t aio_resfd;
34+
};
35+
36+
struct io_event {
37+
uint64_t data;
38+
uint64_t obj;
39+
int64_t res;
40+
int64_t res2;
41+
};
42+
1043
const char* info = "Welcome to ASYNC world!";
1144

1245
void main() {
@@ -69,7 +102,7 @@ void main() {
69102
printf("evt.obj matches &req\n");
70103
} else {
71104
printf("evt.obj does NOT match &req, 0x%llX given\n", evt.obj);
72-
printf("(&req is 0x%llX)\n", (__u64)(uintptr_t)&req);
105+
printf("(&req is 0x%llX)\n", (uint64_t)(uintptr_t)&req);
73106
}
74107

75108
printf("evt.res: %lld\n", evt.res);
@@ -106,11 +139,11 @@ void main() {
106139
printf("io_getevents success: %d\n", err);
107140
printf("evt.data: 0x%llX\n", evt.data);
108141

109-
if (evt.obj == (__u32)&req) {
142+
if (evt.obj == (uint32_t)&req) {
110143
printf("evt.obj matches &req\n");
111144
} else {
112145
printf("evt.obj does NOT match &req, 0x%llX given\n", evt.obj);
113-
printf("(&req is 0x%llX)\n", (__u64)(__u32)&req);
146+
printf("(&req is 0x%llX)\n", (uint64_t)(uint32_t)&req);
114147
}
115148

116149
printf("evt.res: %lld\n", evt.res);

tests/e2e/aio_rw_vectored/aio_rw_vectored.c

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <linux/aio_abi.h>
21
#include <sys/syscall.h>
32
#include <sys/uio.h>
43
#include <fcntl.h>
@@ -8,6 +7,40 @@
87
#include <errno.h>
98
#include <stdint.h>
109

10+
typedef uint64_t aio_context_t;
11+
12+
enum {
13+
IOCB_CMD_PREAD = 0,
14+
IOCB_CMD_PWRITE = 1,
15+
IOCB_CMD_FSYNC = 2,
16+
IOCB_CMD_FDSYNC = 3,
17+
IOCB_CMD_NOOP = 6,
18+
IOCB_CMD_PREADV = 7,
19+
IOCB_CMD_PWRITEV = 8,
20+
};
21+
22+
struct iocb {
23+
uint64_t aio_data;
24+
uint32_t aio_key;
25+
uint32_t aio_rw_flags;
26+
uint16_t aio_lio_opcode;
27+
int16_t aio_reqprio;
28+
uint32_t aio_fildes;
29+
uint64_t aio_buf;
30+
uint64_t aio_nbytes;
31+
int64_t aio_offset;
32+
uint64_t aio_reserved2;
33+
uint32_t aio_flags;
34+
uint32_t aio_resfd;
35+
};
36+
37+
struct io_event {
38+
uint64_t data;
39+
uint64_t obj;
40+
int64_t res;
41+
int64_t res2;
42+
};
43+
1144
const char* info0 = "Welcome to ASYNC world - ";
1245
const char* info1 = "now you're writing with vectors";
1346

@@ -77,7 +110,7 @@ void main() {
77110
printf("evt.obj matches &req\n");
78111
} else {
79112
printf("evt.obj does NOT match &req, 0x%llX given\n", evt.obj);
80-
printf("(&req is 0x%llX)\n", (__u64)(uintptr_t)&req);
113+
printf("(&req is 0x%llX)\n", (uint64_t)(uintptr_t)&req);
81114
}
82115

83116
printf("evt.res: %lld\n", evt.res);
@@ -126,7 +159,7 @@ void main() {
126159
printf("evt.obj matches &req\n");
127160
} else {
128161
printf("evt.obj does NOT match &req, 0x%llX given\n", evt.obj);
129-
printf("(&req is 0x%llX)\n", (__u64)(uintptr_t)&req);
162+
printf("(&req is 0x%llX)\n", (uint64_t)(uintptr_t)&req);
130163
}
131164

132165
printf("evt.res: %lld\n", evt.res);

0 commit comments

Comments
 (0)