fstat(): Fix to convert between the NaCl and glibc struct layouts
[glibc/nacl-glibc.git] / sysdeps / nacl / nacl_stat.h
blob94f8873f9032ac5e6d87b1aa4f75b92e150f6a52
2 #ifndef _NACL_STAT_H
3 #define _NACL_STAT_H
6 /* From service_runtime/include/machine/_types.h */
8 #include <stdint.h>
10 #ifndef nacl_abi___dev_t_defined
11 #define nacl_abi___dev_t_defined
12 typedef int64_t nacl_abi___dev_t;
13 typedef nacl_abi___dev_t nacl_abi_dev_t;
14 #endif
16 #ifndef nacl_abi___ino_t_defined
17 #define nacl_abi___ino_t_defined
18 typedef unsigned long nacl_abi___ino_t;
19 typedef nacl_abi___ino_t nacl_abi_ino_t;
20 #endif
22 #ifndef nacl_abi___mode_t_defined
23 #define nacl_abi___mode_t_defined
24 typedef uint32_t nacl_abi___mode_t;
25 typedef nacl_abi___mode_t nacl_abi_mode_t;
26 #endif
28 #ifndef nacl_abi___nlink_t_defined
29 #define nacl_abi___nlink_t_defined
30 typedef unsigned int nacl_abi___nlink_t;
31 typedef nacl_abi___nlink_t nacl_abi_nlink_t;
32 #endif
34 #ifndef nacl_abi___uid_t_defined
35 #define nacl_abi___uid_t_defined
36 typedef uint32_t nacl_abi___uid_t;
37 typedef nacl_abi___uid_t nacl_abi_uid_t;
38 #endif
40 #ifndef nacl_abi___gid_t_defined
41 #define nacl_abi___gid_t_defined
42 typedef uint32_t nacl_abi___gid_t;
43 typedef nacl_abi___gid_t nacl_abi_gid_t;
44 #endif
46 #ifndef nacl_abi___off_t_defined
47 #define nacl_abi___off_t_defined
48 typedef long int nacl_abi__off_t;
49 typedef nacl_abi__off_t nacl_abi_off_t;
50 #endif
52 #ifndef nacl_abi___blksize_t_defined
53 #define nacl_abi___blksize_t_defined
54 typedef long int nacl_abi___blksize_t;
55 typedef nacl_abi___blksize_t nacl_abi_blksize_t;
56 #endif
58 #ifndef nacl_abi___blkcnt_t_defined
59 #define nacl_abi___blkcnt_t_defined
60 typedef long int nacl_abi___blkcnt_t;
61 typedef nacl_abi___blkcnt_t nacl_abi_blkcnt_t;
62 #endif
64 #ifndef nacl_abi___time_t_defined
65 #define nacl_abi___time_t_defined
66 typedef int32_t nacl_abi___time_t;
67 typedef nacl_abi___time_t nacl_abi_time_t;
68 #endif
71 /* From service_runtime/fs/fs.h */
73 struct nacl_abi_stat { /* must be renamed when ABI is exported */
74 nacl_abi_dev_t nacl_abi_st_dev; /* not implemented */
75 nacl_abi_ino_t nacl_abi_st_ino; /* not implemented */
76 nacl_abi_mode_t nacl_abi_st_mode; /* partially implemented. */
77 nacl_abi_nlink_t nacl_abi_st_nlink; /* link count */
78 nacl_abi_uid_t nacl_abi_st_uid; /* not implemented */
79 nacl_abi_gid_t nacl_abi_st_gid; /* not implemented */
80 int __padding; /* needed to align st_rdev */
81 nacl_abi_dev_t nacl_abi_st_rdev; /* not implemented */
82 nacl_abi_off_t nacl_abi_st_size; /* object size */
83 nacl_abi_blksize_t nacl_abi_st_blksize; /* not implemented */
84 nacl_abi_blkcnt_t nacl_abi_st_blocks; /* not implemented */
85 nacl_abi_time_t nacl_abi_st_atime; /* access time */
86 nacl_abi_time_t nacl_abi_st_mtime; /* modification time */
87 nacl_abi_time_t nacl_abi_st_ctime; /* inode change time */
91 #endif