#include #include #include #include int main(int argc, char **argv) { DIR *dir; struct dirent *ent; off_t offset = 0; if (argc < 2) return 1; dir = opendir(argv[1]); if (dir == NULL) { perror("opendir"); goto err; } while (1) { seekdir(dir, offset); /* Would be okay if "if(offset)..." is used */ ent = readdir(dir); if (ent == NULL) break; offset = telldir(dir); printf("%08llx: %s\n", (unsigned long long) offset, ent->d_name); } return 0; err: return 1; }