Fix a Mono.Posix test to avoid failing if readlinkat() is not available.
[mono.git] / support / map.h
index 77d75db3ad41fe077fb0d1ea0bc5b01a75b6e443..233c2b113148075a1a03e3ebf5dc99a4d3723801 100644 (file)
@@ -1452,7 +1452,6 @@ struct Mono_Unix_UnixSignal_SignalInfo;
 struct flock;
 struct iovec;
 struct pollfd;
-struct stat;
 struct timespec;
 struct timeval;
 struct timezone;
@@ -1506,28 +1505,25 @@ Mono_Posix_ToPollfd (struct pollfd *from, struct Mono_Posix_Pollfd* to);
 
 
 struct Mono_Posix_Stat {
-       guint64      st_dev;      /* dev_t     */
-       guint64      st_ino;      /* ino_t     */
+       guint64      st_dev;         /* dev_t     */
+       guint64      st_ino;         /* ino_t     */
        unsigned int st_mode;
        unsigned int _padding_;
-       guint64      st_nlink;    /* nlink_t   */
-       unsigned int st_uid;      /* uid_t     */
-       unsigned int st_gid;      /* gid_t     */
-       guint64      st_rdev;     /* dev_t     */
-       gint64       st_size;     /* off_t     */
-       gint64       st_blksize;  /* blksize_t */
-       gint64       st_blocks;   /* blkcnt_t  */
-       gint64       st_atime_;   /* time_t    */
-       gint64       st_mtime_;   /* time_t    */
-       gint64       st_ctime_;   /* time_t    */
+       guint64      st_nlink;       /* nlink_t   */
+       unsigned int st_uid;         /* uid_t     */
+       unsigned int st_gid;         /* gid_t     */
+       guint64      st_rdev;        /* dev_t     */
+       gint64       st_size;        /* off_t     */
+       gint64       st_blksize;     /* blksize_t */
+       gint64       st_blocks;      /* blkcnt_t  */
+       gint64       st_atime_;      /* time_t    */
+       gint64       st_mtime_;      /* time_t    */
+       gint64       st_ctime_;      /* time_t    */
+       gint64       st_atime_nsec;
+       gint64       st_mtime_nsec;
+       gint64       st_ctime_nsec;
 };
 
-int
-Mono_Posix_FromStat (struct Mono_Posix_Stat* from, struct stat *to);
-int
-Mono_Posix_ToStat (struct stat *from, struct Mono_Posix_Stat* to);
-
-
 struct Mono_Posix_Statvfs {
        guint64 f_bsize;
        guint64 f_frsize;
@@ -1658,6 +1654,7 @@ int map_Mono_Posix_FileMode (int mode);
 int map_Mono_Posix_OpenFlags (int flags);
 int map_Mono_Posix_WaitOptions (int wait_options);
 int Mono_Posix_FromRealTimeSignum (int offset, int* rval);
+int Mono_Posix_FromStat (struct Mono_Posix_Stat* source, void* destination);
 int Mono_Posix_FromStatvfs (struct Mono_Posix_Statvfs* source, void* destination);
 int Mono_Posix_SIGRTMAX (void);
 int Mono_Posix_SIGRTMIN (void);
@@ -1783,8 +1780,8 @@ gint64 Mono_Posix_Syscall_pwritev (int fd, struct Mono_Posix_Iovec* iov, int iov
 gint64 Mono_Posix_Syscall_read (int fd, void* buf, guint64 count);
 int Mono_Posix_Syscall_readdir (void* dir, struct Mono_Posix_Syscall__Dirent* dentry);
 int Mono_Posix_Syscall_readdir_r (void* dirp, struct Mono_Posix_Syscall__Dirent* entry, void** result);
-int Mono_Posix_Syscall_readlink (const char* path, char* buf, guint64 bufsiz);
-int Mono_Posix_Syscall_readlinkat (int dirfd, const char* pathname, char* buf, guint64 bufsiz);
+gint64 Mono_Posix_Syscall_readlink (const char* path, unsigned char* buf, guint64 bufsiz);
+gint64 Mono_Posix_Syscall_readlinkat (int dirfd, const char* pathname, unsigned char* buf, guint64 bufsiz);
 gint64 Mono_Posix_Syscall_readv (int fd, struct Mono_Posix_Iovec* iov, int iovcnt);
 int Mono_Posix_Syscall_remap_file_pages (void* start, guint64 size, int prot, gint64 pgoff, int flags);
 int Mono_Posix_Syscall_removexattr (const char* path, const char* name);
@@ -1825,6 +1822,7 @@ gint64 Mono_Posix_Syscall_write (int fd, void* buf, guint64 count);
 gint64 Mono_Posix_Syscall_writev (int fd, struct Mono_Posix_Iovec* iov, int iovcnt);
 int Mono_Posix_Syscall_WSTOPSIG (int status);
 int Mono_Posix_Syscall_WTERMSIG (int status);
+int Mono_Posix_ToStat (void* source, struct Mono_Posix_Stat* destination);
 int Mono_Posix_ToStatvfs (void* source, struct Mono_Posix_Statvfs* destination);
 void* Mono_Unix_UnixSignal_install (int signum);
 int Mono_Unix_UnixSignal_uninstall (void* info);