|
|
| version 1.1.2.6, 2012/08/02 00:44:54 | version 1.2.14.1, 2013/01/17 13:50:21 |
|---|---|
| Line 2 | Line 2 |
| #include <string.h> | #include <string.h> |
| #include <unistd.h> | #include <unistd.h> |
| #include <fcntl.h> | #include <fcntl.h> |
| #include <elwix.h> | |
| #include <aitio.h> | #include <aitio.h> |
| Line 13 main(int argc, char **argv) | Line 14 main(int argc, char **argv) |
| struct iovec iv[3]; | struct iovec iv[3]; |
| iv[0].iov_len = 10; | iv[0].iov_len = 10; |
| iv[0].iov_base = io_malloc(iv[0].iov_len); | iv[0].iov_base = e_malloc(iv[0].iov_len); |
| iv[0].iov_len--; | iv[0].iov_len--; |
| iv[1].iov_len = 2; | iv[1].iov_len = 2; |
| iv[1].iov_base = io_malloc(iv[1].iov_len); | iv[1].iov_base = e_malloc(iv[1].iov_len); |
| iv[1].iov_len--; | iv[1].iov_len--; |
| iv[2].iov_len = 20; | iv[2].iov_len = 20; |
| iv[2].iov_base = io_malloc(iv[2].iov_len); | iv[2].iov_base = e_malloc(iv[2].iov_len); |
| iv[2].iov_len--; | iv[2].iov_len--; |
| f = open("test_aio.dat", O_CREAT | O_RDWR | O_TRUNC, 0644); | f = open("test_aio.dat", O_CREAT | O_RDWR | O_TRUNC, 0644); |
| Line 33 main(int argc, char **argv) | Line 34 main(int argc, char **argv) |
| fgets(buf, sizeof buf, stdin); | fgets(buf, sizeof buf, stdin); |
| printf("io_write=%d\n", (ret = io_write(f, buf, strlen(buf)))); | printf("io_write=%d\n", (ret = io_write(f, buf, strlen(buf)))); |
| if (ret == -1) { | if (ret == -1) { |
| ioLIBERR(io); | ELIBERR(io); |
| return 2; | return 2; |
| } | } |
| } | } |
| Line 41 main(int argc, char **argv) | Line 42 main(int argc, char **argv) |
| memset(buf, 0, sizeof buf); | memset(buf, 0, sizeof buf); |
| printf("io_read=%d\n", (ret = io_rread(f, buf, sizeof buf, 0, 0))); | printf("io_read=%d\n", (ret = io_rread(f, buf, sizeof buf, 0, 0))); |
| if (ret == -1) { | if (ret == -1) { |
| ioLIBERR(io); | ELIBERR(io); |
| return 3; | return 3; |
| } | } |
| printf("\n\n%s\n", buf); | printf("\n\n%s\n", buf); |
| Line 49 main(int argc, char **argv) | Line 50 main(int argc, char **argv) |
| printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, (off_t) 0, 1))); | printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, (off_t) 0, 1))); |
| for (i = 0; i < 3; i++) { | for (i = 0; i < 3; i++) { |
| printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base); | printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base); |
| io_free(iv[i].iov_base); | e_free(iv[i].iov_base); |
| } | } |
| iv[0].iov_base = io_strdup("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"); | iv[0].iov_base = e_strdup("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"); |
| iv[0].iov_len = strlen(iv[0].iov_base) + 1; | iv[0].iov_len = strlen(iv[0].iov_base) + 1; |
| iv[1].iov_base = io_strdup("bbbbbbbbbbbbbbbb\n"); | iv[1].iov_base = e_strdup("bbbbbbbbbbbbbbbb\n"); |
| iv[1].iov_len = strlen(iv[1].iov_base) + 1; | iv[1].iov_len = strlen(iv[1].iov_base) + 1; |
| iv[2].iov_base = io_strdup("sdgnsjkfgbfgbfjhbjjjjjjjjjjjjjjjj\n"); | iv[2].iov_base = e_strdup("sdgnsjkfgbfgbfjhbjjjjjjjjjjjjjjjj\n"); |
| iv[2].iov_len = strlen(iv[2].iov_base) + 1; | iv[2].iov_len = strlen(iv[2].iov_base) + 1; |
| printf("io_writev=%d\n", (ret = io_rwritev(f, iv, 3, 0, 1))); | printf("io_writev=%d\n", (ret = io_rwritev(f, iv, 3, 0, 1))); |
| for (i = 0; i < 3; i++) | for (i = 0; i < 3; i++) |
| Line 65 main(int argc, char **argv) | Line 66 main(int argc, char **argv) |
| printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, 0, 1))); | printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, 0, 1))); |
| for (i = 0; i < 3; i++) { | for (i = 0; i < 3; i++) { |
| printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base); | printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base); |
| io_free(iv[i].iov_base); | e_free(iv[i].iov_base); |
| } | } |
| close(f); | close(f); |
| /* | /* |
| for (i = 0; i < 3; i++) | for (i = 0; i < 3; i++) |
| io_free(iv[i].iov_base); | e_free(iv[i].iov_base); |
| */ | */ |
| return 0; | return 0; |
| } | } |