X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/270869139db617e29a35bb9ded41087bb702f9ac..b1644f824d7f4989a94b8a752aadee26cae25069:/lunaix-os/usr/stat.c diff --git a/lunaix-os/usr/stat.c b/lunaix-os/usr/stat.c index ea40200..3e782e9 100644 --- a/lunaix-os/usr/stat.c +++ b/lunaix-os/usr/stat.c @@ -2,6 +2,7 @@ #include #include #include +#include static char buf[256]; @@ -28,7 +29,7 @@ main(int argc, char* argv[]) printf("File: %s ", argv[1]); char* ftype = "directory"; - int mode = stat.mode; + int mode = stat.st_mode >> 16; if ((mode & F_DEV)) { ftype = "mappable (sequential) device"; @@ -53,16 +54,25 @@ main(int argc, char* argv[]) stat.st_blocks, stat.st_blksize, stat.st_ioblksize); - printf("Inode: %d; ", stat.st_ino); dev_t* dev; - if (!(stat.mode & F_DEV)) { + if (!(mode & F_DEV)) { dev = &stat.st_dev; } else { dev = &stat.st_rdev; } + printf("Device: %xh:%xh@%d; Inode: %d; Links: %d\n", + dev->meta, dev->unique, dev->index, + stat.st_ino, stat.st_nlink); - printf("Device: %xh:%xh@%d;\n", dev->meta, dev->unique, dev->index); + printf("Access: 0%o; Uid: %d; Gid: %d\n", + stat.st_mode & 0xffff, + stat.st_uid, + stat.st_gid); + + printf("Access: %lu\n", stat.st_atim); + printf("Modify: %lu\n", stat.st_mtim); + printf("Create: %lu\n", stat.st_ctim); close(fd); return 0;