#include <sys/types.h>
#include <sys/stat.h>
#include <sys/unistd.h>
#include <dirent.h>

main ()
{
  DIR *dirp;
  struct dirent *dp;

  dirp = opendir (".");
  if (!dirp) exit(11);

  while ((dp = readdir (dirp)) != 0)
   {
     struct stat sb;

     printf ("name: '%s' - ", dp->d_name);
     stat (dp->d_name, &sb);
     printf ("%s\n", S_ISDIR(sb.st_mode) ? "dir" : "file");
   }
}