Uses kref in the FS, fixes up refcount bugs
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.11.1-ros / sysdeps / ros / ros_stat.h
1 #ifndef _ROS_CONVERT_STAT_H
2 #define _ROS_CONVERT_STAT_H
3
4 #include <ros/stat.h>
5
6 #define __stat_copy_field(field) \
7   st->st_##field = (typeof(st->st_##field))nst->st_##field
8
9 static void __convert_stat(const struct ros_stat* nst, struct stat* st)
10 {
11   __stat_copy_field(dev);
12   __stat_copy_field(ino);
13   __stat_copy_field(mode);
14   __stat_copy_field(nlink);
15   __stat_copy_field(uid);
16   __stat_copy_field(gid);
17   __stat_copy_field(size);
18   __stat_copy_field(atime);
19   __stat_copy_field(mtime);
20   __stat_copy_field(ctime);
21 }
22
23 static void __convert_stat64(const struct stat* nst, struct stat64* st)
24 {
25   __stat_copy_field(dev);
26   __stat_copy_field(ino);
27   __stat_copy_field(mode);
28   __stat_copy_field(nlink);
29   __stat_copy_field(uid);
30   __stat_copy_field(gid);
31   __stat_copy_field(size);
32   __stat_copy_field(atime);
33   __stat_copy_field(mtime);
34   __stat_copy_field(ctime);
35 }
36
37 #endif