#include #include #include #include #include #include int main() { int source_desc; struct stat sb; char* src_name = "/dev/stdin"; source_desc = open(src_name, (O_RDONLY)); if (source_desc < 0) { printf("cannot open %s for reading\n", src_name); return 1; } if (fstat (source_desc, &sb) != 0) { printf("cannot fstat %s\n", src_name); return 2; } printf("fstat results:\n"); printf("fd: %d\n", source_desc); printf("ino: %lu, dev: %lu\n", sb.st_ino, sb.st_dev); /* Get the same info from stat */ if (stat(src_name, &sb) != 0) { printf("cannot fstat %s\n", src_name); return 3; } printf("Stat results:\n"); printf("ino: %lu, dev: %lu\n", sb.st_ino, sb.st_dev); return 0; }