/* Orion Lawlor's Short UNIX Examples, olawlor@acm.org 2003/11/13

Shows how to use the POSIX opendir/readdir routines 
to examine the list of files in a directory.
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <dirent.h>

void printFiles(const char *dirName) 
{
	DIR *dir=opendir(dirName);
	struct dirent *ent;
	while (0!=(ent=readdir(dir)))
	{
		printf("%s\t\t(inode %d)\n",ent->d_name,ent->d_ino);
	}
	closedir(dir);
}

int main() {
	printFiles(".");
	return 0;
}
/*<@>
<@> ******** Program output: ********
<@> curses_noecho.disabled		(inode 4194823)
<@> setuid.c		(inode 4194569)
<@> large_file_stdio_o.c		(inode 4194556)
<@> signal.o		(inode 4194810)
<@> nan_signal.c		(inode 4194561)
<@> setitimer_pc.c		(inode 4194567)
<@> profil.c		(inode 4194562)
<@> signal_info.c		(inode 4194571)
<@> setitimer_pthreads.c		(inode 4194568)
<@> longjmp.c		(inode 4194558)
<@> large_file_unix.c		(inode 4194557)
<@> index_head.html		(inode 4194807)
<@> asctime_windows.c		(inode 4194573)
<@> .		(inode 4194796)
<@> socketpair.c		(inode 4194809)
<@> dlopen_libc.c		(inode 4194550)
<@> run		(inode 4194552)
<@> signal_info_mprotect.c		(inode 4194572)
<@> dlopen_gcc.c		(inode 4194383)
<@> signal.c		(inode 4194570)
<@> stdout_pipe.c		(inode 4194813)
<@> asctime.c		(inode 4194574)
<@> large_file_stdio.c		(inode 4194555)
<@> tmp		(inode 4194564)
<@> readdir.c		(inode 4194565)
<@> memory_map.c		(inode 4194559)
<@> mmap.c		(inode 4194560)
<@> pthread.c		(inode 4194563)
<@> fork.c		(inode 4194553)
<@> ..		(inode 4194785)
<@> signal_info_x86.disabled		(inode 4194826)
<@> osl_unix.zip		(inode 4194814)
<@> a.out		(inode 4194575)
<@> fork_exec.c		(inode 4194554)
<@> setitimer.c		(inode 4194566)
<@> dlopen_self.c		(inode 4194551)
<@> index.html		(inode 4194549)
<@> */
