#include <stdio.h> #include <sys/types.h> #include <dirent.h> static char types[13][20]={ "unknown", "named pipe (FIFO)", "character device", "", "directory", "", "block device", "", "regular file", "", "symbolic link", "", "Unix domain socket" }; int main(int argc, char **argv) { DIR *dir; struct dirent *dirent; if(argc!=2) { printf("Usage: ssp_ls file/n"); return 1; } if((dir=opendir(argv[1]))==NULL) { printf("%s: opendir failed/n",argv[1]); return 2; } while((dirent=readdir(dir))!=NULL) printf("%30s%20s%10d/n",dirent->d_name,types[dirent->d_type],dirent->d_reclen); closedir(dir); return 0; }