#include <stdio.h> 
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]) 
{ 
	int retval;
	if (argc < 2) {
		printf("Prints out stats for a file\n");
		printf("Usage: stat FILENAME\n");
		return -1;
	}
	struct stat st = {0};
	retval = stat(argv[1], &st);
	if (retval < 0) {
		perror("Stat failed");
	} else {
		printf("STAT RESULTS\n---------------------\n");
		printf("dev       : %d\n", st.st_dev);
		printf("ino       : %d\n", st.st_ino);
		printf("mode      : %o(oct)\n", st.st_mode);
		printf("nlink     : %d\n", st.st_nlink);
		printf("uid       : %d\n", st.st_uid);
		printf("gid       : %d\n", st.st_gid);
		printf("rdev      : %d\n", st.st_rdev);
		printf("size      : %d\n", st.st_size);
		printf("blksize   : %d\n", st.st_blksize);
		printf("blocks    : %d\n", st.st_blocks);
		printf("atime     : %d\n", st.st_atime);
		printf("mtime     : %d\n", st.st_mtime);
		printf("ctime     : %d\n", st.st_ctime);
	}
}
