Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <sys/stat.h>
- #include <sys/statvfs.h>
- #include <dirent.h>
- #include <stdlib.h> // exit
- void rm_test_runStat(const char *name){
- struct stat fileStat;
- struct statvfs fileStatvfs;
- if(stat(name, &fileStat)!=0){
- perror(name);
- exit(1);
- };
- statvfs(name, &fileStatvfs);
- printf("Failas: %s\n", name);
- printf("Savininko ID: \t\t%i\n", fileStat.st_uid);
- printf("Failo dydis: \t\t%d bytes\n", fileStat.st_size);
- printf("Link skaicius: \t\t%d\n", fileStat.st_nlink);
- printf("Failo inode: \t\t%d\n", fileStat.st_ino);
- printf("Failo bloku dydis: \t%d\n", fileStatvfs.f_bsize);
- printf("Laisvu bloku skaicius: \t%d\n", fileStatvfs.f_bfree);
- printf("Laisvi blokai neprivilegijuotiems naudotojams: %d\n", fileStatvfs.f_bavail);
- printf("i-node'ai: \t\t%d\n", fileStatvfs.f_files);
- printf("Failo sistemos ID: \t%lu\n", fileStatvfs.f_fsid);
- printf("Veliaveles: \t\t%d\n", fileStatvfs.f_flag);
- printf("Didziausias failo vardo ilgis: \t%d\n", fileStatvfs.f_namemax);
- printf("Leidimai: \t\t%lo\n", fileStat.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO));
- printf("File Permissions: \t");
- if(S_ISDIR(fileStat.st_mode))
- printf("d");
- else if(S_ISREG(fileStat.st_mode))
- printf("f");
- else
- printf("-");
- //printf( (S_ISDIR(fileStat.st_mode)) ? "d" : "-");
- //printf( (S_ISREG(fileStat.st_mode)) ? "f" : "-");
- printf( (fileStat.st_mode & S_IRUSR) ? "r" : "-");
- printf( (fileStat.st_mode & S_IWUSR) ? "w" : "-");
- printf( (fileStat.st_mode & S_IXUSR) ? "x" : "-");
- printf( (fileStat.st_mode & S_IRGRP) ? "r" : "-");
- printf( (fileStat.st_mode & S_IWGRP) ? "w" : "-");
- printf( (fileStat.st_mode & S_IXGRP) ? "x" : "-");
- printf( (fileStat.st_mode & S_IROTH) ? "r" : "-");
- printf( (fileStat.st_mode & S_IWOTH) ? "w" : "-");
- printf( (fileStat.st_mode & S_IXOTH) ? "x" : "-");
- printf("\n\n");
- /* TIKRINIMAS VEIKIMO PERMISSIONS */
- printf( "%lo\n", fileStat.st_mode & S_IRUSR);
- printf( "%lo\n",fileStat.st_mode & S_IWUSR);
- printf( "%lo\n",fileStat.st_mode & S_IXUSR);
- }
- int main( int argc, char * argv[] ){
- rm_test_runStat(argv[1]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement