summaryrefslogtreecommitdiffstats
path: root/man2/getdents.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/getdents.2')
-rw-r--r--man2/getdents.216
1 files changed, 8 insertions, 8 deletions
diff --git a/man2/getdents.2 b/man2/getdents.2
index 38024c33a..5d373d916 100644
--- a/man2/getdents.2
+++ b/man2/getdents.2
@@ -259,16 +259,16 @@ inode# file type d_reclen d_off d_name
#include <stdlib.h>
#include <sys/syscall.h>
#include <unistd.h>
-
+\&
struct linux_dirent {
unsigned long d_ino;
off_t d_off;
unsigned short d_reclen;
char d_name[];
};
-
+\&
#define BUF_SIZE 1024
-
+\&
int
main(int argc, char *argv[])
{
@@ -277,19 +277,19 @@ main(int argc, char *argv[])
char buf[BUF_SIZE];
long nread;
struct linux_dirent *d;
-
+\&
fd = open(argc > 1 ? argv[1] : ".", O_RDONLY | O_DIRECTORY);
if (fd == \-1)
err(EXIT_FAILURE, "open");
-
+\&
for (;;) {
nread = syscall(SYS_getdents, fd, buf, BUF_SIZE);
if (nread == \-1)
err(EXIT_FAILURE, "getdents");
-
+\&
if (nread == 0)
break;
-
+\&
printf("\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- nread=%ld \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\en", nread);
printf("inode# file type d_reclen d_off d_name\en");
for (size_t bpos = 0; bpos < nread;) {
@@ -308,7 +308,7 @@ main(int argc, char *argv[])
bpos += d\->d_reclen;
}
}
-
+\&
exit(EXIT_SUCCESS);
}
.EE