#include #include #include #include int main(void) { struct stat infos; if(fstat(STDIN_FILENO,&infos)!=-1) { if(S_ISBLK(infos.st_mode)) fprintf(stderr,"BLOCK DEVICE\n"); else if(S_ISCHR(infos.st_mode)) fprintf(stderr,"CHARACTER DEVICE\n"); else if(S_ISDIR(infos.st_mode)) fprintf(stderr,"DIRECTORY\n"); else if(S_ISFIFO(infos.st_mode)) fprintf(stderr,"FIFO\n"); else if(S_ISLNK(infos.st_mode)) fprintf(stderr,"SYMBOLIC LINK\n"); else if(S_ISREG(infos.st_mode)) fprintf(stderr,"REGULAR FILE\n"); else if(S_ISSOCK(infos.st_mode)) fprintf(stderr,"SOCKET\n"); else fprintf(stderr,"???\n"); } else fprintf(stderr,"???\n"); return(0); }