-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstat.c
More file actions
40 lines (36 loc) · 2.25 KB
/
stat.c
File metadata and controls
40 lines (36 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stddef.h>
int main() {
struct stat stat;
printf("macro sizeof(stat) %zu end\n", sizeof(stat));
printf("macro stat.st_dev %zu + end\n", offsetof(struct stat, st_dev));
printf("macro stat.st_ino %zu + end\n", offsetof(struct stat, st_ino));
printf("macro stat.st_mode %zu + end\n", offsetof(struct stat, st_mode));
printf("macro stat.st_nlink %zu + end\n", offsetof(struct stat, st_nlink));
printf("macro stat.st_uid %zu + end\n", offsetof(struct stat, st_uid));
printf("macro stat.st_gid %zu + end\n", offsetof(struct stat, st_gid));
printf("macro stat.st_rdev %zu + end\n", offsetof(struct stat, st_rdev));
printf("macro stat.st_size %zu + end\n", offsetof(struct stat, st_size));
printf("macro stat.st_blksize %zu + end\n", offsetof(struct stat, st_blksize));
printf("macro stat.st_blocks %zu + end\n", offsetof(struct stat, st_blocks));
printf("macro stat.st_atim %zu + end\n", offsetof(struct stat, st_atim));
printf("macro stat.st_mtim %zu + end\n", offsetof(struct stat, st_mtim));
printf("macro stat.st_ctim %zu + end\n", offsetof(struct stat, st_ctim));
printf("macro sizeof(stat.st_dev) %zu end\n", sizeof(stat.st_dev));
printf("macro sizeof(stat.st_ino) %zu end\n", sizeof(stat.st_ino));
printf("macro sizeof(stat.st_mode) %zu end\n", sizeof(stat.st_mode));
printf("macro sizeof(stat.st_nlink) %zu end\n", sizeof(stat.st_nlink));
printf("macro sizeof(stat.st_uid) %zu end\n", sizeof(stat.st_uid));
printf("macro sizeof(stat.st_gid) %zu end\n", sizeof(stat.st_gid));
printf("macro sizeof(stat.st_rdev) %zu end\n", sizeof(stat.st_rdev));
printf("macro sizeof(stat.st_size) %zu end\n", sizeof(stat.st_size));
printf("macro sizeof(stat.st_blksize) %zu end\n", sizeof(stat.st_blksize));
printf("macro sizeof(stat.st_blocks) %zu end\n", sizeof(stat.st_blocks));
printf("macro sizeof(stat.st_atim) %zu end\n", sizeof(stat.st_atim));
printf("macro sizeof(stat.st_mtim) %zu end\n", sizeof(stat.st_mtim));
printf("macro sizeof(stat.st_ctim) %zu end\n", sizeof(stat.st_ctim));
return 0;
}