struct stat file_stats;
fd = open(filename, O_RDONLY);
if (fd == -1) {
exit(-1);
}
if (fstat(fd, &file_stats) < 0) {
exit(-1);
}
if (S_ISDIR(file_stats.st_mode)) {
printf("It is dir\n");
} else {
snprintf(msg, PATH_MAX, "%lld, %ld, %o, %d, %d, %d, %lld, %ld, %ld, %ld, %ld, %ld,
%ld\n",
file_stats.st_dev,
file_stats.st_ino,
file_stats.st_mode,
file_stats.st_nlink,
file_stats.st_uid,
file_stats.st_gid,
file_stats.st_rdev,
file_stats.st_size,
file_stats.st_blksize,
file_stats.st_blocks,
file_stats.st_atime,
file_stats.st_mtime,
file_stats.st_ctime);
}