diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2020-04-11 01:01:47 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-04-11 01:01:47 +0000 |
commit | 48ee2b32b1c799a1d44a809e6566d6f0515d586f (patch) | |
tree | 1def545c678be9e60719bf38f9632e93f0f0919e | |
parent | 41f4d8942449992cf950f3f00e19b32e87d440b7 (diff) | |
download | strace-48ee2b32b1c799a1d44a809e6566d6f0515d586f.tar.gz |
Move kernel_dirent64 definition to kernel_dirent.h
... and rename kernel_dirent64 type to kernel_dirent64_t
* tests/getdents64.c: Include "kernel_dirent.h", rename kernel_dirent64
to kernel_dirent64_t.
(kernel_dirent64_t): Move ...
* kernel_dirent.h: ... here.
-rw-r--r-- | kernel_dirent.h | 8 | ||||
-rw-r--r-- | tests/getdents64.c | 17 |
2 files changed, 13 insertions, 12 deletions
diff --git a/kernel_dirent.h b/kernel_dirent.h index 49487592c..0c0ad762c 100644 --- a/kernel_dirent.h +++ b/kernel_dirent.h @@ -18,4 +18,12 @@ typedef struct { char d_name[1]; } kernel_dirent_t; +typedef struct { + uint64_t d_ino; + uint64_t d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[1]; +} kernel_dirent64_t; + #endif /* !STRACE_KERNEL_DIRENT_H */ diff --git a/tests/getdents64.c b/tests/getdents64.c index 4e0a524ca..85c645372 100644 --- a/tests/getdents64.c +++ b/tests/getdents64.c @@ -19,6 +19,7 @@ # include <stdio.h> # include <sys/stat.h> # include <unistd.h> +# include "kernel_dirent.h" static const char fname[] = "A\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\n" @@ -39,14 +40,6 @@ static const char qname[] = "A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\n" "A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nZ"; -typedef struct { - uint64_t d_ino; - uint64_t d_off; - unsigned short d_reclen; - unsigned char d_type; - char d_name[256]; -} kernel_dirent64; - static char buf[8192]; static const char * @@ -62,9 +55,9 @@ str_d_type(const unsigned char d_type) } } static void -print_dirent(const kernel_dirent64 *d) +print_dirent(const kernel_dirent64_t *d) { - const unsigned int d_name_offset = offsetof(kernel_dirent64, d_name); + const unsigned int d_name_offset = offsetof(kernel_dirent64_t, d_name); int d_name_len = d->d_reclen - d_name_offset; assert(d_name_len > 0); @@ -98,14 +91,14 @@ main(void) count = (unsigned long) 0xfacefeed00000000ULL | sizeof(buf); while ((rc = syscall(__NR_getdents64, 0, buf, count))) { - kernel_dirent64 *d; + kernel_dirent64_t *d; long i; if (rc < 0) perror_msg_and_skip("getdents64"); printf("getdents64(0, ["); for (i = 0; i < rc; i += d->d_reclen) { - d = (kernel_dirent64 *) &buf[i]; + d = (kernel_dirent64_t *) &buf[i]; if (i) printf(", "); print_dirent(d); |